Plugin Directory

Changeset 3776421


Ignore:
Timestamp:
10/31/2026 07:15:00 AM (3 hours ago)
Author:
pluginsshop
Message:

Release ClickClue 1.1.6: replay fixes, pluginsshop ownership and clearer listing

  • Reject oversized privacy rules without truncating saved exclusions.
  • Prevent embedded documents recording into the parent visit.
  • Reload saved settings on Refresh while protecting unsaved edits.
  • Distinguish verified public pages using plain WordPress permalinks.
  • Improve mobile replay actions, setup guidance and test diagnostics.
  • Set pluginsshop ownership and ​https://plugins.shop/ author metadata.
  • Use the ClickClue – Session Replay listing title and five relevant tags.
  • Explain Free benefits, local storage, limits and separate paid Pro features.
  • Add practical FAQs and accurate 1.1.6 consent/upgrade guidance.
  • Preserve complete release history in changelog.txt.

Update Free before matching Pro 1.1.6. The revised notice requires fresh
positive visitor consent; existing valid refusals keep their original expiry.
WordPress.org receives Free only: trunk, tags/1.1.6 and assets.

Location:
clickclue
Files:
84 added
25 edited

Legend:

Unmodified
Added
Removed
  • clickclue/trunk/assets/capture-engine.js

    r3775799 r3776421  
    1 "use strict";(()=>{var Bn=Object.defineProperty,zn=(e,t,s)=>t in e?Bn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,A=(e,t,s)=>zn(e,typeof t!="symbol"?t+"":t,s),ps,Wn=Object.defineProperty,jn=(e,t,s)=>t in e?Wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ms=(e,t,s)=>jn(e,typeof t!="symbol"?t+"":t,s),re=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(re||{}),gs={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},ys={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},He={},Ui={},Vn=()=>!!globalThis.Zone;function Yr(e){if(He[e])return He[e];let t=globalThis[e],s=t.prototype,i=e in gs?gs[e]:void 0,r=!!(i&&i.every(p=>{var o,h;return!!((h=(o=Object.getOwnPropertyDescriptor(s,p))==null?void 0:o.get)!=null&&h.toString().includes("[native code]"))})),u=e in ys?ys[e]:void 0,f=!!(u&&u.every(p=>{var o;return typeof s[p]=="function"&&((o=s[p])==null?void 0:o.toString().includes("[native code]"))}));if(r&&f&&!Vn())return He[e]=t.prototype,t.prototype;try{let p=document.createElement("iframe");p.style.display="none",document.body.appendChild(p);let o=p.contentWindow;if(!o)return t.prototype;let h=o[e].prototype;if(!h)return p.remove(),s;let n=navigator.userAgent;return n.includes("Safari")&&!n.includes("Chrome")?(p.classList.add("rr-block"),p.setAttribute("__rrwebUntaintedMutationObserver",""),Ui[e]=()=>p.remove()):p.remove(),He[e]=h}catch{return s}}var It={};function we(e,t,s){var i;let r=`${e}.${String(s)}`;if(It[r])return It[r].call(t);let u=Yr(e),f=(i=Object.getOwnPropertyDescriptor(u,s))==null?void 0:i.get;return f?(It[r]=f,f.call(t)):t[s]}var At={};function $i(e,t,s){let i=`${e}.${String(s)}`;if(At[i])return At[i].bind(t);let u=Yr(e)[s];return typeof u!="function"?t[s]:(At[i]=u,u.bind(t))}function qn(e){return we("Node",e,"ownerDocument")}function Gn(e){return we("Node",e,"childNodes")}function Hn(e){return we("Node",e,"parentNode")}function Yn(e){return we("Node",e,"parentElement")}function Xn(e){return we("Node",e,"textContent")}function Jn(e,t){return $i("Node",e,"contains")(t)}function Qn(e){return $i("Node",e,"getRootNode")()}function Zn(e){return!e||!("host"in e)?null:we("ShadowRoot",e,"host")}function Kn(e){return e.styleSheets}function eo(e){return!e||!("shadowRoot"in e)?null:we("Element",e,"shadowRoot")}function to(e,t){return we("Element",e,"querySelector")(t)}function ro(e,t){return we("Element",e,"querySelectorAll")(t)}function so(){return[Yr("MutationObserver").constructor,Ui.MutationObserver??(()=>{})]}var Bi=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Bi=()=>new Date().getTime());function io(e,t,s){try{if(!(t in e))return()=>{};let i=e[t],r=s(i);return typeof r=="function"&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__rrweb_original__:{enumerable:!1,value:i}})),e[t]=r,()=>{e[t]=i}}catch{return()=>{}}}var se={ownerDocument:qn,childNodes:Gn,parentNode:Hn,parentElement:Yn,textContent:Xn,contains:Jn,getRootNode:Qn,host:Zn,styleSheets:Kn,shadowRoot:eo,querySelector:to,querySelectorAll:ro,nowTimestamp:Bi,mutationObserverCtor:so,patch:io};function zi(e){return e.nodeType===e.ELEMENT_NODE}function Ue(e){let t=e&&"host"in e&&"mode"in e&&se.host(e)||null;return!!(t&&"shadowRoot"in t&&se.shadowRoot(t)===e)}function $e(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function no(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function oo(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let s=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?s.push("layer"):e.layerName&&s.push(`layer(${e.layerName})`),e.supportsText&&s.push(`supports(${e.supportsText})`),e.media.length&&s.push(e.media.mediaText),s.join(" ")+";"}function Lr(e){try{let t=e.rules||e.cssRules;if(!t)return null;let s=e.href;!s&&e.ownerNode&&(s=e.ownerNode.baseURI);let i=Array.from(t,r=>Wi(r,s)).join("");return no(i)}catch{return null}}function Wi(e,t){if(lo(e)){let s;try{s=Lr(e.styleSheet)||oo(e)}catch{s=e.cssText}return e.styleSheet.href?at(s,e.styleSheet.href):s}else{let s=e.cssText;return uo(e)&&e.selectorText.includes(":")&&(s=ao(s)),t?at(s,t):s}}function ao(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function lo(e){return"styleSheet"in e}function uo(e){return"selectorText"in e}var it=class{constructor(){ms(this,"idNodeMap",new Map),ms(this,"nodeMetaMap",new WeakMap)}getId(t){var s;return t?((s=this.getMeta(t))==null?void 0:s.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let s=this.getId(t);this.idNodeMap.delete(s),t.childNodes&&t.childNodes.forEach(i=>this.removeNodeFromMap(i))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,s){let i=s.id;this.idNodeMap.set(i,t),this.nodeMetaMap.set(t,s)}replace(t,s){let i=this.getNode(t);if(i){let r=this.nodeMetaMap.get(i);r&&this.nodeMetaMap.set(s,r)}this.idNodeMap.set(t,s)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new it}function nt({element:e,maskInputOptions:t,tagName:s,type:i,value:r,maskInputFn:u}){let f=r||"",p=i&&Ce(i);return(t[s.toLowerCase()]||p&&t[p])&&(u?f=u(f,e):f="*".repeat(f.length)),f}function Ce(e){return e.toLowerCase()}var ws="__rrweb_original__";function fo(e){let t=e.getContext("2d");if(!t)return!0;let s=50;for(let i=0;i<e.width;i+=s)for(let r=0;r<e.height;r+=s){let u=t.getImageData,f=ws in u?u[ws]:u;if(new Uint32Array(f.call(t,i,r,Math.min(s,e.width-i),Math.min(s,e.height-r)).data.buffer).some(o=>o!==0))return!1}return!0}function ot(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Ce(t):null}function ji(e,t){let s;try{s=new URL(e,t??window.location.href)}catch{return null}let i=/\.([0-9a-z]+)(?:$)/i,r=s.pathname.match(i);return r?.[1]??null}function ho(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var po=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,mo=/^(?:[a-z+]+:)?\/\//i,go=/^www\..*/i,yo=/^(data:)([^,]*),(.*)/i;function at(e,t){return(e||"").replace(po,(s,i,r,u,f,p)=>{let o=r||f||p,h=i||u||"";if(!o)return s;if(mo.test(o)||go.test(o))return`url(${h}${o}${h})`;if(yo.test(o))return`url(${h}${o}${h})`;if(o[0]==="/")return`url(${h}${ho(t)+o}${h})`;let n=o.split("#")[0],d=o.substring(n.length),l=t.split("#")[0].split("/"),a=n.split("/");l.pop();for(let m of a)m!=="."&&(m===".."?l.pop():l.push(m));return`url(${h}${l.join("/")}${d}${h})`})}function Ye(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function wo(e,t,s=!1){let i=Array.from(t.childNodes),r=[],u=0;if(i.length>1&&e&&typeof e=="string"){let f=Ye(e,s),p=f.length/e.length;for(let o=1;o<i.length;o++)if(i[o].textContent&&typeof i[o].textContent=="string"){let h=Ye(i[o].textContent,s),n=100,d=3;for(;d<h.length&&(h[d].match(/[a-zA-Z0-9]/)||h.indexOf(h.substring(0,d),1)!==-1);d++);for(;d<h.length;d++){let l=h.substring(0,d),a=f.split(l),m=-1;if(a.length===2)m=a[0].length;else if(a.length>2&&a[0]===""&&i[o-1].textContent!=="")m=f.indexOf(l,1);else if(a.length===1){if(l=l.substring(0,l.length-1),a=f.split(l),a.length<=1)return r.push(e),r;d=n+1}else d===h.length-1&&(m=f.indexOf(l));if(a.length>=2&&d>n){let c=i[o-1].textContent;if(c&&typeof c=="string"){let g=Ye(c).length;m=f.indexOf(l,g)}m===-1&&(m=a[0].length)}if(m!==-1){let c=Math.floor(m/p);for(;c>0&&c<e.length;){if(u+=1,u>50*i.length)return r.push(e),r;let g=Ye(e.substring(0,c),s);if(g.length===m){r.push(e.substring(0,c)),e=e.substring(c),f=f.substring(m);break}else g.length<m?c+=Math.max(1,Math.floor((m-g.length)/p)):c-=Math.max(1,Math.floor((g.length-m)*p))}break}}}}return r.push(e),r}function bo(e,t){return wo(e,t).join("/* rr_split */")}var vo=1,So=new RegExp("[^a-z0-9-_:]"),ze=-2;function Vi(){return vo++}function Co(e){if(e instanceof HTMLFormElement)return"form";let t=Ce(e.tagName);return So.test(t)?"div":t}var Ae,bs,xo=/^[^ \t\n\r\u000c]+/,Eo=/^[, \t\n\r\u000c]+/;function Mo(e,t){if(t.trim()==="")return t;let s=0;function i(u){let f,p=u.exec(t.substring(s));return p?(f=p[0],s+=f.length,f):""}let r=[];for(;i(Eo),!(s>=t.length);){let u=i(xo);if(u.slice(-1)===",")u=_e(e,u.substring(0,u.length-1)),r.push(u);else{let f="";u=_e(e,u);let p=!1;for(;;){let o=t.charAt(s);if(o===""){r.push((u+f).trim());break}else if(p)o===")"&&(p=!1);else if(o===","){s+=1,r.push((u+f).trim());break}else o==="("&&(p=!0);f+=o,s+=1}}}return r.join(", ")}var vs=new WeakMap;function _e(e,t){return!t||t.trim()===""?t:Xr(e,t)}function Ro(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Xr(e,t){let s=vs.get(e);if(s||(s=e.createElement("a"),vs.set(e,s)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return s.setAttribute("href",t),s.href}function qi(e,t,s,i){return i&&(s==="src"||s==="href"&&!(t==="use"&&i[0]==="#")||s==="xlink:href"&&i[0]!=="#"||s==="background"&&["table","td","th"].includes(t)?_e(e,i):s==="srcset"?Mo(e,i):s==="style"?at(i,Xr(e)):t==="object"&&s==="data"?_e(e,i):i)}function Gi(e,t,s){return["video","audio"].includes(e)&&Ce(t)==="autoplay"}function No(e,t,s){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let i=e.classList.length;i--;){let r=e.classList[i];if(t.test(r))return!0}if(s)return e.matches(s)}catch{}return!1}function lt(e,t,s){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return s?lt(se.parentNode(e),t,s):!1;for(let i=e.classList.length;i--;){let r=e.classList[i];if(t.test(r))return!0}return s?lt(se.parentNode(e),t,s):!1}function Hi(e,t,s,i){let r;if(zi(e)){if(r=e,!se.childNodes(r).length)return!1}else{if(se.parentElement(e)===null)return!1;r=se.parentElement(e)}try{if(typeof t=="string"){if(i){if(r.closest(`.${t}`))return!0}else if(r.classList.contains(t))return!0}else if(lt(r,t,i))return!0;if(s){if(i){if(r.closest(s))return!0}else if(r.matches(s))return!0}}catch{}return!1}function Oo(e,t,s){let i=e.contentWindow;if(!i)return;let r=!1,u;try{u=i.document.readyState}catch{return}if(u!=="complete"){let p=setTimeout(()=>{r||(t(),r=!0)},s);e.addEventListener("load",()=>{clearTimeout(p),r=!0,t()});return}let f="about:blank";if(i.location.href!==f||e.src===f||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function Io(e,t,s){let i=!1,r;try{r=e.sheet}catch{return}if(r)return;let u=setTimeout(()=>{i||(t(),i=!0)},s);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()})}function Ao(e,t){let{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:f,inlineStylesheet:p,maskInputOptions:o={},maskTextFn:h,maskInputFn:n,dataURLOptions:d={},inlineImages:l,recordCanvas:a,keepIframeSrcFn:m,newlyAddedElement:c=!1,cssCaptured:g=!1}=t,S=Do(s,i);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:re.Document,childNodes:[],compatMode:e.compatMode}:{type:re.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:re.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:S};case e.ELEMENT_NODE:return _o(e,{doc:s,blockClass:r,blockSelector:u,inlineStylesheet:p,maskInputOptions:o,maskInputFn:n,dataURLOptions:d,inlineImages:l,recordCanvas:a,keepIframeSrcFn:m,newlyAddedElement:c,rootId:S});case e.TEXT_NODE:return To(e,{doc:s,needsMask:f,maskTextFn:h,rootId:S,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:re.CDATA,textContent:"",rootId:S};case e.COMMENT_NODE:return{type:re.Comment,textContent:se.textContent(e)||"",rootId:S};default:return!1}}function Do(e,t){if(!t.hasNode(e))return;let s=t.getId(e);return s===1?void 0:s}function To(e,t){let{needsMask:s,maskTextFn:i,rootId:r,cssCaptured:u}=t,f=se.parentNode(e),p=f&&f.tagName,o="",h=p==="STYLE"?!0:void 0,n=p==="SCRIPT"?!0:void 0;return n?o="SCRIPT_PLACEHOLDER":u||(o=se.textContent(e),h&&o&&(o=at(o,Xr(t.doc)))),!h&&!n&&o&&s&&(o=i?i(o,se.parentElement(e)):o.replace(/[\S]/g,"*")),{type:re.Text,textContent:o||"",rootId:r}}function _o(e,t){let{doc:s,blockClass:i,blockSelector:r,inlineStylesheet:u,maskInputOptions:f={},maskInputFn:p,dataURLOptions:o={},inlineImages:h,recordCanvas:n,keepIframeSrcFn:d,newlyAddedElement:l=!1,rootId:a}=t,m=No(e,i,r),c=Co(e),g={},S=e.attributes.length;for(let v=0;v<S;v++){let E=e.attributes[v];Gi(c,E.name,E.value)||(g[E.name]=qi(s,c,Ce(E.name),E.value))}if(c==="link"&&u){let v=Array.from(s.styleSheets).find(w=>w.href===e.href),E=null;v&&(E=Lr(v)),E&&(delete g.rel,delete g.href,g._cssText=E)}if(c==="style"&&e.sheet){let v=Lr(e.sheet);v&&(e.childNodes.length>1&&(v=bo(v,e)),g._cssText=v)}if(["input","textarea","select"].includes(c)){let v=e.value,E=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&v?g.value=nt({element:e,type:ot(e),tagName:c,value:v,maskInputOptions:f,maskInputFn:p}):E&&(g.checked=E)}if(c==="option"&&(e.selected&&!f.select?g.selected=!0:delete g.selected),c==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),c==="canvas"&&n){if(e.__context==="2d")fo(e)||(g.rr_dataURL=e.toDataURL(o.type,o.quality));else if(!("__context"in e)){let v=e.toDataURL(o.type,o.quality),E=s.createElement("canvas");E.width=e.width,E.height=e.height;let w=E.toDataURL(o.type,o.quality);v!==w&&(g.rr_dataURL=v)}}if(c==="img"&&h){Ae||(Ae=s.createElement("canvas"),bs=Ae.getContext("2d"));let v=e,E=v.currentSrc||v.getAttribute("src")||"<unknown-src>",w=v.crossOrigin,y=()=>{v.removeEventListener("load",y);try{Ae.width=v.naturalWidth,Ae.height=v.naturalHeight,bs.drawImage(v,0,0),g.rr_dataURL=Ae.toDataURL(o.type,o.quality)}catch(x){if(v.crossOrigin!=="anonymous"){v.crossOrigin="anonymous",v.complete&&v.naturalWidth!==0?y():v.addEventListener("load",y);return}else console.warn(`Cannot inline img src=${E}! Error: ${x}`)}v.crossOrigin==="anonymous"&&(w?g.crossOrigin=w:v.removeAttribute("crossorigin"))};v.complete&&v.naturalWidth!==0?y():v.addEventListener("load",y)}if(["audio","video"].includes(c)){let v=g;v.rr_mediaState=e.paused?"paused":"played",v.rr_mediaCurrentTime=e.currentTime,v.rr_mediaPlaybackRate=e.playbackRate,v.rr_mediaMuted=e.muted,v.rr_mediaLoop=e.loop,v.rr_mediaVolume=e.volume}if(l||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:v,height:E}=e.getBoundingClientRect();g={class:g.class,rr_width:`${v}px`,rr_height:`${E}px`}}c==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let b;try{customElements.get(c)&&(b=!0)}catch{}return{type:re.Element,tagName:c,attributes:g,childNodes:[],isSVG:Ro(e)||void 0,needBlock:m,rootId:a,isCustom:b}}function H(e){return e==null?"":e.toLowerCase()}function Yi(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function ko(e,t){if(t.comment&&e.type===re.Comment)return!0;if(e.type===re.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&ji(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(H(e.attributes.name).match(/^msapplication-tile(image|color)$/)||H(e.attributes.name)==="application-name"||H(e.attributes.rel)==="icon"||H(e.attributes.rel)==="apple-touch-icon"||H(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&H(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(H(e.attributes.property).match(/^(og|twitter|fb):/)||H(e.attributes.name).match(/^(og|twitter):/)||H(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(H(e.attributes.name)==="robots"||H(e.attributes.name)==="googlebot"||H(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(H(e.attributes.name)==="author"||H(e.attributes.name)==="generator"||H(e.attributes.name)==="framework"||H(e.attributes.name)==="publisher"||H(e.attributes.name)==="progid"||H(e.attributes.property).match(/^article:/)||H(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(H(e.attributes.name)==="google-site-verification"||H(e.attributes.name)==="yandex-verification"||H(e.attributes.name)==="csrf-token"||H(e.attributes.name)==="p:domain_verify"||H(e.attributes.name)==="verify-v1"||H(e.attributes.name)==="verification"||H(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function ke(e,t){let{doc:s,mirror:i,blockClass:r,blockSelector:u,maskTextClass:f,maskTextSelector:p,skipChild:o=!1,inlineStylesheet:h=!0,maskInputOptions:n={},maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m={},inlineImages:c=!1,recordCanvas:g=!1,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v=5e3,onStylesheetLoad:E,stylesheetLoadTimeout:w=5e3,keepIframeSrcFn:y=()=>!1,newlyAddedElement:x=!1,cssCaptured:R=!1}=t,{needsMask:M}=t,{preserveWhiteSpace:C=!0}=t;M||(M=Hi(e,f,p,M===void 0));let I=Ao(e,{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,dataURLOptions:m,inlineImages:c,recordCanvas:g,keepIframeSrcFn:y,newlyAddedElement:x,cssCaptured:R});if(!I)return console.warn(e,"not serialized"),null;let _;i.hasNode(e)?_=i.getId(e):ko(I,a)||!C&&I.type===re.Text&&!I.textContent.replace(/^\s+|\s+$/gm,"").length?_=ze:_=Vi();let N=Object.assign(I,{id:_});if(i.add(e,N),_===ze)return null;S&&S(e);let ie=!o;if(N.type===re.Element){ie=ie&&!N.needBlock,delete N.needBlock;let F=se.shadowRoot(e);F&&$e(F)&&(N.isShadowHost=!0)}if((N.type===re.Document||N.type===re.Element)&&ie){a.headWhitespace&&N.type===re.Element&&N.tagName==="head"&&(C=!1);let F={doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:f,maskTextSelector:p,skipChild:o,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:c,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y,cssCaptured:!1};if(!(N.type===re.Element&&N.tagName==="textarea"&&N.attributes.value!==void 0)){N.type===re.Element&&N.attributes._cssText!==void 0&&typeof N.attributes._cssText=="string"&&(F.cssCaptured=!0);for(let q of Array.from(se.childNodes(e))){let J=ke(q,F);J&&N.childNodes.push(J)}}let z=null;if(zi(e)&&(z=se.shadowRoot(e)))for(let q of Array.from(se.childNodes(z))){let J=ke(q,F);J&&($e(z)&&(J.isShadow=!0),N.childNodes.push(J))}}let ne=se.parentNode(e);return ne&&Ue(ne)&&$e(ne)&&(N.isShadow=!0),N.type===re.Element&&N.tagName==="iframe"&&Oo(e,()=>{let F=e.contentDocument;if(F&&b){let z=ke(F,{doc:F,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:f,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:c,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y});z&&b(e,z)}},v),N.type===re.Element&&N.tagName==="link"&&typeof N.attributes.rel=="string"&&(N.attributes.rel==="stylesheet"||N.attributes.rel==="preload"&&typeof N.attributes.href=="string"&&ji(N.attributes.href)==="css")&&Io(e,()=>{if(E){let F=ke(e,{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:f,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:c,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y});F&&E(e,F)}},w),N}function Lo(e,t){let{mirror:s=new it,blockClass:i="rr-block",blockSelector:r=null,maskTextClass:u="rr-mask",maskTextSelector:f=null,inlineStylesheet:p=!0,inlineImages:o=!1,recordCanvas:h=!1,maskAllInputs:n=!1,maskTextFn:d,maskInputFn:l,slimDOM:a=!1,dataURLOptions:m,preserveWhiteSpace:c,onSerialize:g,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:v,stylesheetLoadTimeout:E,keepIframeSrcFn:w=()=>!1}=t,y=n===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:n===!1?{password:!0}:n,x=Yi(a);return ke(e,{doc:e,mirror:s,blockClass:i,blockSelector:r,maskTextClass:u,maskTextSelector:f,skipChild:!1,inlineStylesheet:p,maskInputOptions:y,maskTextFn:d,maskInputFn:l,slimDOMOptions:x,dataURLOptions:m,inlineImages:o,recordCanvas:h,preserveWhiteSpace:c,onSerialize:g,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:v,stylesheetLoadTimeout:E,keepIframeSrcFn:w,newlyAddedElement:!1})}var Po=/(max|min)-device-(width|height)/,cl=new RegExp(Po.source,"g");function Fo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Uo(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}),s}var Xe={exports:{}},Ss;function $o(){if(Ss)return Xe.exports;Ss=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Xe.exports=t(),Xe.exports.createColors=t,Xe.exports}var Bo={},zo=Object.freeze(Object.defineProperty({__proto__:null,default:Bo},Symbol.toStringTag,{value:"Module"})),me=Uo(zo),Dt,Cs;function Jr(){if(Cs)return Dt;Cs=1;let e=$o(),t=me;class s extends Error{constructor(r,u,f,p,o,h){super(r),this.name="CssSyntaxError",this.reason=r,o&&(this.file=o),p&&(this.source=p),h&&(this.plugin=h),typeof u<"u"&&typeof f<"u"&&(typeof u=="number"?(this.line=u,this.column=f):(this.line=u.line,this.column=u.column,this.endLine=f.line,this.endColumn=f.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(r){if(!this.source)return"";let u=this.source;r==null&&(r=e.isColorSupported),t&&r&&(u=t(u));let f=u.split(/\r?\n/),p=Math.max(this.line-3,0),o=Math.min(this.line+2,f.length),h=String(o).length,n,d;if(r){let{bold:l,gray:a,red:m}=e.createColors(!0);n=c=>l(m(c)),d=c=>a(c)}else n=d=l=>l;return f.slice(p,o).map((l,a)=>{let m=p+1+a,c=" "+(" "+m).slice(-h)+" | ";if(m===this.line){let g=d(c.replace(/\d/g," "))+l.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+d(c)+l+`
    2  `+g+n("^")}return" "+d(c)+l}).join(`
     1"use strict";(()=>{var zn=Object.defineProperty,Wn=(e,t,s)=>t in e?zn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,A=(e,t,s)=>Wn(e,typeof t!="symbol"?t+"":t,s),ps,jn=Object.defineProperty,Vn=(e,t,s)=>t in e?jn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ms=(e,t,s)=>Vn(e,typeof t!="symbol"?t+"":t,s),re=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(re||{}),gs={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},ys={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},He={},Ui={},qn=()=>!!globalThis.Zone;function Yr(e){if(He[e])return He[e];let t=globalThis[e],s=t.prototype,i=e in gs?gs[e]:void 0,r=!!(i&&i.every(p=>{var o,h;return!!((h=(o=Object.getOwnPropertyDescriptor(s,p))==null?void 0:o.get)!=null&&h.toString().includes("[native code]"))})),u=e in ys?ys[e]:void 0,c=!!(u&&u.every(p=>{var o;return typeof s[p]=="function"&&((o=s[p])==null?void 0:o.toString().includes("[native code]"))}));if(r&&c&&!qn())return He[e]=t.prototype,t.prototype;try{let p=document.createElement("iframe");p.style.display="none",document.body.appendChild(p);let o=p.contentWindow;if(!o)return t.prototype;let h=o[e].prototype;if(!h)return p.remove(),s;let n=navigator.userAgent;return n.includes("Safari")&&!n.includes("Chrome")?(p.classList.add("rr-block"),p.setAttribute("__rrwebUntaintedMutationObserver",""),Ui[e]=()=>p.remove()):p.remove(),He[e]=h}catch{return s}}var It={};function we(e,t,s){var i;let r=`${e}.${String(s)}`;if(It[r])return It[r].call(t);let u=Yr(e),c=(i=Object.getOwnPropertyDescriptor(u,s))==null?void 0:i.get;return c?(It[r]=c,c.call(t)):t[s]}var At={};function $i(e,t,s){let i=`${e}.${String(s)}`;if(At[i])return At[i].bind(t);let u=Yr(e)[s];return typeof u!="function"?t[s]:(At[i]=u,u.bind(t))}function Gn(e){return we("Node",e,"ownerDocument")}function Hn(e){return we("Node",e,"childNodes")}function Yn(e){return we("Node",e,"parentNode")}function Xn(e){return we("Node",e,"parentElement")}function Jn(e){return we("Node",e,"textContent")}function Qn(e,t){return $i("Node",e,"contains")(t)}function Zn(e){return $i("Node",e,"getRootNode")()}function Kn(e){return!e||!("host"in e)?null:we("ShadowRoot",e,"host")}function eo(e){return e.styleSheets}function to(e){return!e||!("shadowRoot"in e)?null:we("Element",e,"shadowRoot")}function ro(e,t){return we("Element",e,"querySelector")(t)}function so(e,t){return we("Element",e,"querySelectorAll")(t)}function io(){return[Yr("MutationObserver").constructor,Ui.MutationObserver??(()=>{})]}var Bi=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Bi=()=>new Date().getTime());function no(e,t,s){try{if(!(t in e))return()=>{};let i=e[t],r=s(i);return typeof r=="function"&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__rrweb_original__:{enumerable:!1,value:i}})),e[t]=r,()=>{e[t]=i}}catch{return()=>{}}}var se={ownerDocument:Gn,childNodes:Hn,parentNode:Yn,parentElement:Xn,textContent:Jn,contains:Qn,getRootNode:Zn,host:Kn,styleSheets:eo,shadowRoot:to,querySelector:ro,querySelectorAll:so,nowTimestamp:Bi,mutationObserverCtor:io,patch:no};function zi(e){return e.nodeType===e.ELEMENT_NODE}function Ue(e){let t=e&&"host"in e&&"mode"in e&&se.host(e)||null;return!!(t&&"shadowRoot"in t&&se.shadowRoot(t)===e)}function $e(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function oo(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function ao(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let s=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?s.push("layer"):e.layerName&&s.push(`layer(${e.layerName})`),e.supportsText&&s.push(`supports(${e.supportsText})`),e.media.length&&s.push(e.media.mediaText),s.join(" ")+";"}function Lr(e){try{let t=e.rules||e.cssRules;if(!t)return null;let s=e.href;!s&&e.ownerNode&&(s=e.ownerNode.baseURI);let i=Array.from(t,r=>Wi(r,s)).join("");return oo(i)}catch{return null}}function Wi(e,t){if(uo(e)){let s;try{s=Lr(e.styleSheet)||ao(e)}catch{s=e.cssText}return e.styleSheet.href?at(s,e.styleSheet.href):s}else{let s=e.cssText;return co(e)&&e.selectorText.includes(":")&&(s=lo(s)),t?at(s,t):s}}function lo(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function uo(e){return"styleSheet"in e}function co(e){return"selectorText"in e}var it=class{constructor(){ms(this,"idNodeMap",new Map),ms(this,"nodeMetaMap",new WeakMap)}getId(t){var s;return t?((s=this.getMeta(t))==null?void 0:s.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let s=this.getId(t);this.idNodeMap.delete(s),t.childNodes&&t.childNodes.forEach(i=>this.removeNodeFromMap(i))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,s){let i=s.id;this.idNodeMap.set(i,t),this.nodeMetaMap.set(t,s)}replace(t,s){let i=this.getNode(t);if(i){let r=this.nodeMetaMap.get(i);r&&this.nodeMetaMap.set(s,r)}this.idNodeMap.set(t,s)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function fo(){return new it}function nt({element:e,maskInputOptions:t,tagName:s,type:i,value:r,maskInputFn:u}){let c=r||"",p=i&&Ce(i);return(t[s.toLowerCase()]||p&&t[p])&&(u?c=u(c,e):c="*".repeat(c.length)),c}function Ce(e){return e.toLowerCase()}var ws="__rrweb_original__";function ho(e){let t=e.getContext("2d");if(!t)return!0;let s=50;for(let i=0;i<e.width;i+=s)for(let r=0;r<e.height;r+=s){let u=t.getImageData,c=ws in u?u[ws]:u;if(new Uint32Array(c.call(t,i,r,Math.min(s,e.width-i),Math.min(s,e.height-r)).data.buffer).some(o=>o!==0))return!1}return!0}function ot(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Ce(t):null}function ji(e,t){let s;try{s=new URL(e,t??window.location.href)}catch{return null}let i=/\.([0-9a-z]+)(?:$)/i,r=s.pathname.match(i);return r?.[1]??null}function po(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var mo=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,go=/^(?:[a-z+]+:)?\/\//i,yo=/^www\..*/i,wo=/^(data:)([^,]*),(.*)/i;function at(e,t){return(e||"").replace(mo,(s,i,r,u,c,p)=>{let o=r||c||p,h=i||u||"";if(!o)return s;if(go.test(o)||yo.test(o))return`url(${h}${o}${h})`;if(wo.test(o))return`url(${h}${o}${h})`;if(o[0]==="/")return`url(${h}${po(t)+o}${h})`;let n=o.split("#")[0],d=o.substring(n.length),l=t.split("#")[0].split("/"),a=n.split("/");l.pop();for(let m of a)m!=="."&&(m===".."?l.pop():l.push(m));return`url(${h}${l.join("/")}${d}${h})`})}function Ye(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function bo(e,t,s=!1){let i=Array.from(t.childNodes),r=[],u=0;if(i.length>1&&e&&typeof e=="string"){let c=Ye(e,s),p=c.length/e.length;for(let o=1;o<i.length;o++)if(i[o].textContent&&typeof i[o].textContent=="string"){let h=Ye(i[o].textContent,s),n=100,d=3;for(;d<h.length&&(h[d].match(/[a-zA-Z0-9]/)||h.indexOf(h.substring(0,d),1)!==-1);d++);for(;d<h.length;d++){let l=h.substring(0,d),a=c.split(l),m=-1;if(a.length===2)m=a[0].length;else if(a.length>2&&a[0]===""&&i[o-1].textContent!=="")m=c.indexOf(l,1);else if(a.length===1){if(l=l.substring(0,l.length-1),a=c.split(l),a.length<=1)return r.push(e),r;d=n+1}else d===h.length-1&&(m=c.indexOf(l));if(a.length>=2&&d>n){let f=i[o-1].textContent;if(f&&typeof f=="string"){let g=Ye(f).length;m=c.indexOf(l,g)}m===-1&&(m=a[0].length)}if(m!==-1){let f=Math.floor(m/p);for(;f>0&&f<e.length;){if(u+=1,u>50*i.length)return r.push(e),r;let g=Ye(e.substring(0,f),s);if(g.length===m){r.push(e.substring(0,f)),e=e.substring(f),c=c.substring(m);break}else g.length<m?f+=Math.max(1,Math.floor((m-g.length)/p)):f-=Math.max(1,Math.floor((g.length-m)*p))}break}}}}return r.push(e),r}function vo(e,t){return bo(e,t).join("/* rr_split */")}var So=1,Co=new RegExp("[^a-z0-9-_:]"),ze=-2;function Vi(){return So++}function xo(e){if(e instanceof HTMLFormElement)return"form";let t=Ce(e.tagName);return Co.test(t)?"div":t}var Ae,bs,Eo=/^[^ \t\n\r\u000c]+/,Mo=/^[, \t\n\r\u000c]+/;function Ro(e,t){if(t.trim()==="")return t;let s=0;function i(u){let c,p=u.exec(t.substring(s));return p?(c=p[0],s+=c.length,c):""}let r=[];for(;i(Mo),!(s>=t.length);){let u=i(Eo);if(u.slice(-1)===",")u=_e(e,u.substring(0,u.length-1)),r.push(u);else{let c="";u=_e(e,u);let p=!1;for(;;){let o=t.charAt(s);if(o===""){r.push((u+c).trim());break}else if(p)o===")"&&(p=!1);else if(o===","){s+=1,r.push((u+c).trim());break}else o==="("&&(p=!0);c+=o,s+=1}}}return r.join(", ")}var vs=new WeakMap;function _e(e,t){return!t||t.trim()===""?t:Xr(e,t)}function No(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Xr(e,t){let s=vs.get(e);if(s||(s=e.createElement("a"),vs.set(e,s)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return s.setAttribute("href",t),s.href}function qi(e,t,s,i){return i&&(s==="src"||s==="href"&&!(t==="use"&&i[0]==="#")||s==="xlink:href"&&i[0]!=="#"||s==="background"&&["table","td","th"].includes(t)?_e(e,i):s==="srcset"?Ro(e,i):s==="style"?at(i,Xr(e)):t==="object"&&s==="data"?_e(e,i):i)}function Gi(e,t,s){return["video","audio"].includes(e)&&Ce(t)==="autoplay"}function Oo(e,t,s){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let i=e.classList.length;i--;){let r=e.classList[i];if(t.test(r))return!0}if(s)return e.matches(s)}catch{}return!1}function lt(e,t,s){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return s?lt(se.parentNode(e),t,s):!1;for(let i=e.classList.length;i--;){let r=e.classList[i];if(t.test(r))return!0}return s?lt(se.parentNode(e),t,s):!1}function Hi(e,t,s,i){let r;if(zi(e)){if(r=e,!se.childNodes(r).length)return!1}else{if(se.parentElement(e)===null)return!1;r=se.parentElement(e)}try{if(typeof t=="string"){if(i){if(r.closest(`.${t}`))return!0}else if(r.classList.contains(t))return!0}else if(lt(r,t,i))return!0;if(s){if(i){if(r.closest(s))return!0}else if(r.matches(s))return!0}}catch{}return!1}function Io(e,t,s){let i=e.contentWindow;if(!i)return;let r=!1,u;try{u=i.document.readyState}catch{return}if(u!=="complete"){let p=setTimeout(()=>{r||(t(),r=!0)},s);e.addEventListener("load",()=>{clearTimeout(p),r=!0,t()});return}let c="about:blank";if(i.location.href!==c||e.src===c||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function Ao(e,t,s){let i=!1,r;try{r=e.sheet}catch{return}if(r)return;let u=setTimeout(()=>{i||(t(),i=!0)},s);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()})}function Do(e,t){let{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:c,inlineStylesheet:p,maskInputOptions:o={},maskTextFn:h,maskInputFn:n,dataURLOptions:d={},inlineImages:l,recordCanvas:a,keepIframeSrcFn:m,newlyAddedElement:f=!1,cssCaptured:g=!1}=t,S=To(s,i);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:re.Document,childNodes:[],compatMode:e.compatMode}:{type:re.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:re.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:S};case e.ELEMENT_NODE:return ko(e,{doc:s,blockClass:r,blockSelector:u,inlineStylesheet:p,maskInputOptions:o,maskInputFn:n,dataURLOptions:d,inlineImages:l,recordCanvas:a,keepIframeSrcFn:m,newlyAddedElement:f,rootId:S});case e.TEXT_NODE:return _o(e,{doc:s,needsMask:c,maskTextFn:h,rootId:S,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:re.CDATA,textContent:"",rootId:S};case e.COMMENT_NODE:return{type:re.Comment,textContent:se.textContent(e)||"",rootId:S};default:return!1}}function To(e,t){if(!t.hasNode(e))return;let s=t.getId(e);return s===1?void 0:s}function _o(e,t){let{needsMask:s,maskTextFn:i,rootId:r,cssCaptured:u}=t,c=se.parentNode(e),p=c&&c.tagName,o="",h=p==="STYLE"?!0:void 0,n=p==="SCRIPT"?!0:void 0;return n?o="SCRIPT_PLACEHOLDER":u||(o=se.textContent(e),h&&o&&(o=at(o,Xr(t.doc)))),!h&&!n&&o&&s&&(o=i?i(o,se.parentElement(e)):o.replace(/[\S]/g,"*")),{type:re.Text,textContent:o||"",rootId:r}}function ko(e,t){let{doc:s,blockClass:i,blockSelector:r,inlineStylesheet:u,maskInputOptions:c={},maskInputFn:p,dataURLOptions:o={},inlineImages:h,recordCanvas:n,keepIframeSrcFn:d,newlyAddedElement:l=!1,rootId:a}=t,m=Oo(e,i,r),f=xo(e),g={},S=e.attributes.length;for(let v=0;v<S;v++){let E=e.attributes[v];Gi(f,E.name,E.value)||(g[E.name]=qi(s,f,Ce(E.name),E.value))}if(f==="link"&&u){let v=Array.from(s.styleSheets).find(w=>w.href===e.href),E=null;v&&(E=Lr(v)),E&&(delete g.rel,delete g.href,g._cssText=E)}if(f==="style"&&e.sheet){let v=Lr(e.sheet);v&&(e.childNodes.length>1&&(v=vo(v,e)),g._cssText=v)}if(["input","textarea","select"].includes(f)){let v=e.value,E=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&v?g.value=nt({element:e,type:ot(e),tagName:f,value:v,maskInputOptions:c,maskInputFn:p}):E&&(g.checked=E)}if(f==="option"&&(e.selected&&!c.select?g.selected=!0:delete g.selected),f==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),f==="canvas"&&n){if(e.__context==="2d")ho(e)||(g.rr_dataURL=e.toDataURL(o.type,o.quality));else if(!("__context"in e)){let v=e.toDataURL(o.type,o.quality),E=s.createElement("canvas");E.width=e.width,E.height=e.height;let w=E.toDataURL(o.type,o.quality);v!==w&&(g.rr_dataURL=v)}}if(f==="img"&&h){Ae||(Ae=s.createElement("canvas"),bs=Ae.getContext("2d"));let v=e,E=v.currentSrc||v.getAttribute("src")||"<unknown-src>",w=v.crossOrigin,y=()=>{v.removeEventListener("load",y);try{Ae.width=v.naturalWidth,Ae.height=v.naturalHeight,bs.drawImage(v,0,0),g.rr_dataURL=Ae.toDataURL(o.type,o.quality)}catch(x){if(v.crossOrigin!=="anonymous"){v.crossOrigin="anonymous",v.complete&&v.naturalWidth!==0?y():v.addEventListener("load",y);return}else console.warn(`Cannot inline img src=${E}! Error: ${x}`)}v.crossOrigin==="anonymous"&&(w?g.crossOrigin=w:v.removeAttribute("crossorigin"))};v.complete&&v.naturalWidth!==0?y():v.addEventListener("load",y)}if(["audio","video"].includes(f)){let v=g;v.rr_mediaState=e.paused?"paused":"played",v.rr_mediaCurrentTime=e.currentTime,v.rr_mediaPlaybackRate=e.playbackRate,v.rr_mediaMuted=e.muted,v.rr_mediaLoop=e.loop,v.rr_mediaVolume=e.volume}if(l||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:v,height:E}=e.getBoundingClientRect();g={class:g.class,rr_width:`${v}px`,rr_height:`${E}px`}}f==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let b;try{customElements.get(f)&&(b=!0)}catch{}return{type:re.Element,tagName:f,attributes:g,childNodes:[],isSVG:No(e)||void 0,needBlock:m,rootId:a,isCustom:b}}function H(e){return e==null?"":e.toLowerCase()}function Yi(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function Lo(e,t){if(t.comment&&e.type===re.Comment)return!0;if(e.type===re.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&ji(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(H(e.attributes.name).match(/^msapplication-tile(image|color)$/)||H(e.attributes.name)==="application-name"||H(e.attributes.rel)==="icon"||H(e.attributes.rel)==="apple-touch-icon"||H(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&H(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(H(e.attributes.property).match(/^(og|twitter|fb):/)||H(e.attributes.name).match(/^(og|twitter):/)||H(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(H(e.attributes.name)==="robots"||H(e.attributes.name)==="googlebot"||H(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(H(e.attributes.name)==="author"||H(e.attributes.name)==="generator"||H(e.attributes.name)==="framework"||H(e.attributes.name)==="publisher"||H(e.attributes.name)==="progid"||H(e.attributes.property).match(/^article:/)||H(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(H(e.attributes.name)==="google-site-verification"||H(e.attributes.name)==="yandex-verification"||H(e.attributes.name)==="csrf-token"||H(e.attributes.name)==="p:domain_verify"||H(e.attributes.name)==="verify-v1"||H(e.attributes.name)==="verification"||H(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function ke(e,t){let{doc:s,mirror:i,blockClass:r,blockSelector:u,maskTextClass:c,maskTextSelector:p,skipChild:o=!1,inlineStylesheet:h=!0,maskInputOptions:n={},maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m={},inlineImages:f=!1,recordCanvas:g=!1,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v=5e3,onStylesheetLoad:E,stylesheetLoadTimeout:w=5e3,keepIframeSrcFn:y=()=>!1,newlyAddedElement:x=!1,cssCaptured:R=!1}=t,{needsMask:M}=t,{preserveWhiteSpace:C=!0}=t;M||(M=Hi(e,c,p,M===void 0));let I=Do(e,{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,dataURLOptions:m,inlineImages:f,recordCanvas:g,keepIframeSrcFn:y,newlyAddedElement:x,cssCaptured:R});if(!I)return console.warn(e,"not serialized"),null;let _;i.hasNode(e)?_=i.getId(e):Lo(I,a)||!C&&I.type===re.Text&&!I.textContent.replace(/^\s+|\s+$/gm,"").length?_=ze:_=Vi();let N=Object.assign(I,{id:_});if(i.add(e,N),_===ze)return null;S&&S(e);let ie=!o;if(N.type===re.Element){ie=ie&&!N.needBlock,delete N.needBlock;let F=se.shadowRoot(e);F&&$e(F)&&(N.isShadowHost=!0)}if((N.type===re.Document||N.type===re.Element)&&ie){a.headWhitespace&&N.type===re.Element&&N.tagName==="head"&&(C=!1);let F={doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:c,maskTextSelector:p,skipChild:o,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:f,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y,cssCaptured:!1};if(!(N.type===re.Element&&N.tagName==="textarea"&&N.attributes.value!==void 0)){N.type===re.Element&&N.attributes._cssText!==void 0&&typeof N.attributes._cssText=="string"&&(F.cssCaptured=!0);for(let q of Array.from(se.childNodes(e))){let J=ke(q,F);J&&N.childNodes.push(J)}}let z=null;if(zi(e)&&(z=se.shadowRoot(e)))for(let q of Array.from(se.childNodes(z))){let J=ke(q,F);J&&($e(z)&&(J.isShadow=!0),N.childNodes.push(J))}}let ne=se.parentNode(e);return ne&&Ue(ne)&&$e(ne)&&(N.isShadow=!0),N.type===re.Element&&N.tagName==="iframe"&&Io(e,()=>{let F=e.contentDocument;if(F&&b){let z=ke(F,{doc:F,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:c,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:f,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y});z&&b(e,z)}},v),N.type===re.Element&&N.tagName==="link"&&typeof N.attributes.rel=="string"&&(N.attributes.rel==="stylesheet"||N.attributes.rel==="preload"&&typeof N.attributes.href=="string"&&ji(N.attributes.href)==="css")&&Ao(e,()=>{if(E){let F=ke(e,{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:c,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:f,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y});F&&E(e,F)}},w),N}function Po(e,t){let{mirror:s=new it,blockClass:i="rr-block",blockSelector:r=null,maskTextClass:u="rr-mask",maskTextSelector:c=null,inlineStylesheet:p=!0,inlineImages:o=!1,recordCanvas:h=!1,maskAllInputs:n=!1,maskTextFn:d,maskInputFn:l,slimDOM:a=!1,dataURLOptions:m,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:v,stylesheetLoadTimeout:E,keepIframeSrcFn:w=()=>!1}=t,y=n===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:n===!1?{password:!0}:n,x=Yi(a);return ke(e,{doc:e,mirror:s,blockClass:i,blockSelector:r,maskTextClass:u,maskTextSelector:c,skipChild:!1,inlineStylesheet:p,maskInputOptions:y,maskTextFn:d,maskInputFn:l,slimDOMOptions:x,dataURLOptions:m,inlineImages:o,recordCanvas:h,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:v,stylesheetLoadTimeout:E,keepIframeSrcFn:w,newlyAddedElement:!1})}var Fo=/(max|min)-device-(width|height)/,hl=new RegExp(Fo.source,"g");function Uo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function $o(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}),s}var Xe={exports:{}},Ss;function Bo(){if(Ss)return Xe.exports;Ss=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Xe.exports=t(),Xe.exports.createColors=t,Xe.exports}var zo={},Wo=Object.freeze(Object.defineProperty({__proto__:null,default:zo},Symbol.toStringTag,{value:"Module"})),me=$o(Wo),Dt,Cs;function Jr(){if(Cs)return Dt;Cs=1;let e=Bo(),t=me;class s extends Error{constructor(r,u,c,p,o,h){super(r),this.name="CssSyntaxError",this.reason=r,o&&(this.file=o),p&&(this.source=p),h&&(this.plugin=h),typeof u<"u"&&typeof c<"u"&&(typeof u=="number"?(this.line=u,this.column=c):(this.line=u.line,this.column=u.column,this.endLine=c.line,this.endColumn=c.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(r){if(!this.source)return"";let u=this.source;r==null&&(r=e.isColorSupported),t&&r&&(u=t(u));let c=u.split(/\r?\n/),p=Math.max(this.line-3,0),o=Math.min(this.line+2,c.length),h=String(o).length,n,d;if(r){let{bold:l,gray:a,red:m}=e.createColors(!0);n=f=>l(m(f)),d=f=>a(f)}else n=d=l=>l;return c.slice(p,o).map((l,a)=>{let m=p+1+a,f=" "+(" "+m).slice(-h)+" | ";if(m===this.line){let g=d(f.replace(/\d/g," "))+l.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+d(f)+l+`
     2 `+g+n("^")}return" "+d(f)+l}).join(`
    33`)}toString(){let r=this.showSourceCode();return r&&(r=`
    44
    … …  
    99`,beforeDecl:`
    1010`,beforeOpen:" ",beforeRule:`
    11 `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:"    ",semicolon:!1};function t(i){return i[0].toUpperCase()+i.slice(1)}class s{constructor(r){this.builder=r}atrule(r,u){let f="@"+r.name,p=r.params?this.rawValue(r,"params"):"";if(typeof r.raws.afterName<"u"?f+=r.raws.afterName:p&&(f+=" "),r.nodes)this.block(r,f+p);else{let o=(r.raws.between||"")+(u?";":"");this.builder(f+p+o,r)}}beforeAfter(r,u){let f;r.type==="decl"?f=this.raw(r,null,"beforeDecl"):r.type==="comment"?f=this.raw(r,null,"beforeComment"):u==="before"?f=this.raw(r,null,"beforeRule"):f=this.raw(r,null,"beforeClose");let p=r.parent,o=0;for(;p&&p.type!=="root";)o+=1,p=p.parent;if(f.includes(`
    12 `)){let h=this.raw(r,null,"indent");if(h.length)for(let n=0;n<o;n++)f+=h}return f}block(r,u){let f=this.raw(r,"between","beforeOpen");this.builder(u+f+"{",r,"start");let p;r.nodes&&r.nodes.length?(this.body(r),p=this.raw(r,"after")):p=this.raw(r,"after","emptyBody"),p&&this.builder(p),this.builder("}",r,"end")}body(r){let u=r.nodes.length-1;for(;u>0&&r.nodes[u].type==="comment";)u-=1;let f=this.raw(r,"semicolon");for(let p=0;p<r.nodes.length;p++){let o=r.nodes[p],h=this.raw(o,"before");h&&this.builder(h),this.stringify(o,u!==p||f)}}comment(r){let u=this.raw(r,"left","commentLeft"),f=this.raw(r,"right","commentRight");this.builder("/*"+u+r.text+f+"*/",r)}decl(r,u){let f=this.raw(r,"between","colon"),p=r.prop+f+this.rawValue(r,"value");r.important&&(p+=r.raws.important||" !important"),u&&(p+=";"),this.builder(p,r)}document(r){this.body(r)}raw(r,u,f){let p;if(f||(f=u),u&&(p=r.raws[u],typeof p<"u"))return p;let o=r.parent;if(f==="before"&&(!o||o.type==="root"&&o.first===r||o&&o.type==="document"))return"";if(!o)return e[f];let h=r.root();if(h.rawCache||(h.rawCache={}),typeof h.rawCache[f]<"u")return h.rawCache[f];if(f==="before"||f==="after")return this.beforeAfter(r,f);{let n="raw"+t(f);this[n]?p=this[n](h,r):h.walk(d=>{if(p=d.raws[u],typeof p<"u")return!1})}return typeof p>"u"&&(p=e[f]),h.rawCache[f]=p,p}rawBeforeClose(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length>0&&typeof f.raws.after<"u")return u=f.raws.after,u.includes(`
    13 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawBeforeComment(r,u){let f;return r.walkComments(p=>{if(typeof p.raws.before<"u")return f=p.raws.before,f.includes(`
    14 `)&&(f=f.replace(/[^\n]+$/,"")),!1}),typeof f>"u"?f=this.raw(u,null,"beforeDecl"):f&&(f=f.replace(/\S/g,"")),f}rawBeforeDecl(r,u){let f;return r.walkDecls(p=>{if(typeof p.raws.before<"u")return f=p.raws.before,f.includes(`
    15 `)&&(f=f.replace(/[^\n]+$/,"")),!1}),typeof f>"u"?f=this.raw(u,null,"beforeRule"):f&&(f=f.replace(/\S/g,"")),f}rawBeforeOpen(r){let u;return r.walk(f=>{if(f.type!=="decl"&&(u=f.raws.between,typeof u<"u"))return!1}),u}rawBeforeRule(r){let u;return r.walk(f=>{if(f.nodes&&(f.parent!==r||r.first!==f)&&typeof f.raws.before<"u")return u=f.raws.before,u.includes(`
    16 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawColon(r){let u;return r.walkDecls(f=>{if(typeof f.raws.between<"u")return u=f.raws.between.replace(/[^\s:]/g,""),!1}),u}rawEmptyBody(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length===0&&(u=f.raws.after,typeof u<"u"))return!1}),u}rawIndent(r){if(r.raws.indent)return r.raws.indent;let u;return r.walk(f=>{let p=f.parent;if(p&&p!==r&&p.parent&&p.parent===r&&typeof f.raws.before<"u"){let o=f.raws.before.split(`
    17 `);return u=o[o.length-1],u=u.replace(/\S/g,""),!1}}),u}rawSemicolon(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length&&f.last.type==="decl"&&(u=f.raws.semicolon,typeof u<"u"))return!1}),u}rawValue(r,u){let f=r[u],p=r.raws[u];return p&&p.value===f?p.raw:f}root(r){this.body(r),r.raws.after&&this.builder(r.raws.after)}rule(r){this.block(r,this.rawValue(r,"selector")),r.raws.ownSemicolon&&this.builder(r.raws.ownSemicolon,r,"end")}stringify(r,u){if(!this[r.type])throw new Error("Unknown AST node type "+r.type+". Maybe you need to change PostCSS stringifier.");this[r.type](r,u)}}return Tt=s,s.default=s,Tt}var _t,Ms;function ht(){if(Ms)return _t;Ms=1;let e=Xi();function t(s,i){new e(i).stringify(s)}return _t=t,t.default=t,_t}var kt,Rs;function dt(){if(Rs)return kt;Rs=1;let{isClean:e,my:t}=Qr(),s=Jr(),i=Xi(),r=ht();function u(p,o){let h=new p.constructor;for(let n in p){if(!Object.prototype.hasOwnProperty.call(p,n)||n==="proxyCache")continue;let d=p[n],l=typeof d;n==="parent"&&l==="object"?o&&(h[n]=o):n==="source"?h[n]=d:Array.isArray(d)?h[n]=d.map(a=>u(a,h)):(l==="object"&&d!==null&&(d=u(d)),h[n]=d)}return h}class f{constructor(o={}){this.raws={},this[e]=!1,this[t]=!0;for(let h in o)if(h==="nodes"){this.nodes=[];for(let n of o[h])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[h]=o[h]}addToError(o){if(o.postcssNode=this,o.stack&&this.source&&/\n\s{4}at /.test(o.stack)){let h=this.source;o.stack=o.stack.replace(/\n\s{4}at /,`$&${h.input.from}:${h.start.line}:${h.start.column}$&`)}return o}after(o){return this.parent.insertAfter(this,o),this}assign(o={}){for(let h in o)this[h]=o[h];return this}before(o){return this.parent.insertBefore(this,o),this}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}clone(o={}){let h=u(this);for(let n in o)h[n]=o[n];return h}cloneAfter(o={}){let h=this.clone(o);return this.parent.insertAfter(this,h),h}cloneBefore(o={}){let h=this.clone(o);return this.parent.insertBefore(this,h),h}error(o,h={}){if(this.source){let{end:n,start:d}=this.rangeBy(h);return this.source.input.error(o,{column:d.column,line:d.line},{column:n.column,line:n.line},h)}return new s(o)}getProxyProcessor(){return{get(o,h){return h==="proxyOf"?o:h==="root"?()=>o.root().toProxy():o[h]},set(o,h,n){return o[h]===n||(o[h]=n,(h==="prop"||h==="value"||h==="name"||h==="params"||h==="important"||h==="text")&&o.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let o=this;for(;o=o.parent;)o[e]=!1}}next(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o+1]}positionBy(o,h){let n=this.source.start;if(o.index)n=this.positionInside(o.index,h);else if(o.word){h=this.toString();let d=h.indexOf(o.word);d!==-1&&(n=this.positionInside(d,h))}return n}positionInside(o,h){let n=h||this.toString(),d=this.source.start.column,l=this.source.start.line;for(let a=0;a<o;a++)n[a]===`
    18 `?(d=1,l+=1):d+=1;return{column:d,line:l}}prev(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o-1]}rangeBy(o){let h={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:h.column+1,line:h.line};if(o.word){let d=this.toString(),l=d.indexOf(o.word);l!==-1&&(h=this.positionInside(l,d),n=this.positionInside(l+o.word.length,d))}else o.start?h={column:o.start.column,line:o.start.line}:o.index&&(h=this.positionInside(o.index)),o.end?n={column:o.end.column,line:o.end.line}:typeof o.endIndex=="number"?n=this.positionInside(o.endIndex):o.index&&(n=this.positionInside(o.index+1));return(n.line<h.line||n.line===h.line&&n.column<=h.column)&&(n={column:h.column+1,line:h.line}),{end:n,start:h}}raw(o,h){return new i().raw(this,o,h)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...o){if(this.parent){let h=this,n=!1;for(let d of o)d===this?n=!0:n?(this.parent.insertAfter(h,d),h=d):this.parent.insertBefore(h,d);n||this.remove()}return this}root(){let o=this;for(;o.parent&&o.parent.type!=="document";)o=o.parent;return o}toJSON(o,h){let n={},d=h==null;h=h||new Map;let l=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let m=this[a];if(Array.isArray(m))n[a]=m.map(c=>typeof c=="object"&&c.toJSON?c.toJSON(null,h):c);else if(typeof m=="object"&&m.toJSON)n[a]=m.toJSON(null,h);else if(a==="source"){let c=h.get(m.input);c==null&&(c=l,h.set(m.input,l),l++),n[a]={end:m.end,inputId:c,start:m.start}}else n[a]=m}return d&&(n.inputs=[...h.keys()].map(a=>a.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(o=r){o.stringify&&(o=o.stringify);let h="";return o(this,n=>{h+=n}),h}warn(o,h,n){let d={node:this};for(let l in n)d[l]=n[l];return o.warn(h,d)}get proxyOf(){return this}}return kt=f,f.default=f,kt}var Lt,Ns;function pt(){if(Ns)return Lt;Ns=1;let e=dt();class t extends e{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Lt=t,t.default=t,Lt}var Pt,Os;function Wo(){if(Os)return Pt;Os=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return Pt={nanoid:(i=21)=>{let r="",u=i;for(;u--;)r+=e[Math.random()*64|0];return r},customAlphabet:(i,r=21)=>(u=r)=>{let f="",p=u;for(;p--;)f+=i[Math.random()*i.length|0];return f}},Pt}var Ft,Is;function Ji(){if(Is)return Ft;Is=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{existsSync:s,readFileSync:i}=me,{dirname:r,join:u}=me;function f(o){return Buffer?Buffer.from(o,"base64").toString():window.atob(o)}class p{constructor(h,n){if(n.map===!1)return;this.loadAnnotation(h),this.inline=this.startWith(this.annotation,"data:");let d=n.map?n.map.prev:void 0,l=this.loadMap(n.from,d);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=r(this.mapFile)),l&&(this.text=l)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(h){let n=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,l=/^data:application\/json;charset=utf-?8,/,a=/^data:application\/json,/;if(l.test(h)||a.test(h))return decodeURIComponent(h.substr(RegExp.lastMatch.length));if(n.test(h)||d.test(h))return f(h.substr(RegExp.lastMatch.length));let m=h.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(h){return h.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(h){return typeof h!="object"?!1:typeof h.mappings=="string"||typeof h._mappings=="string"||Array.isArray(h.sections)}loadAnnotation(h){let n=h.match(/\/\*\s*# sourceMappingURL=/gm);if(!n)return;let d=h.lastIndexOf(n.pop()),l=h.indexOf("*/",d);d>-1&&l>-1&&(this.annotation=this.getAnnotationURL(h.substring(d,l)))}loadFile(h){if(this.root=r(h),s(h))return this.mapFile=h,i(h,"utf-8").toString().trim()}loadMap(h,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let d=n(h);if(d){let l=this.loadFile(d);if(!l)throw new Error("Unable to load previous source map: "+d.toString());return l}}else{if(n instanceof e)return t.fromSourceMap(n).toString();if(n instanceof t)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return h&&(d=u(r(h),d)),this.loadFile(d)}}}startWith(h,n){return h?h.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Ft=p,p.default=p,Ft}var Ut,As;function mt(){if(As)return Ut;As=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{fileURLToPath:s,pathToFileURL:i}=me,{isAbsolute:r,resolve:u}=me,{nanoid:f}=Wo(),p=me,o=Jr(),h=Ji(),n=Symbol("fromOffsetCache"),d=!!(e&&t),l=!!(u&&r);class a{constructor(c,g={}){if(c===null||typeof c>"u"||typeof c=="object"&&!c.toString)throw new Error(`PostCSS received ${c} instead of CSS string`);if(this.css=c.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!l||/^\w+:\/\//.test(g.from)||r(g.from)?this.file=g.from:this.file=u(g.from)),l&&d){let S=new h(this.css,g);if(S.text){this.map=S;let b=S.consumer().file;!this.file&&b&&(this.file=this.mapResolve(b))}}this.file||(this.id="<input css "+f(6)+">"),this.map&&(this.map.file=this.from)}error(c,g,S,b={}){let v,E,w;if(g&&typeof g=="object"){let x=g,R=S;if(typeof x.offset=="number"){let M=this.fromOffset(x.offset);g=M.line,S=M.col}else g=x.line,S=x.column;if(typeof R.offset=="number"){let M=this.fromOffset(R.offset);E=M.line,w=M.col}else E=R.line,w=R.column}else if(!S){let x=this.fromOffset(g);g=x.line,S=x.col}let y=this.origin(g,S,E,w);return y?v=new o(c,y.endLine===void 0?y.line:{column:y.column,line:y.line},y.endLine===void 0?y.column:{column:y.endColumn,line:y.endLine},y.source,y.file,b.plugin):v=new o(c,E===void 0?g:{column:S,line:g},E===void 0?S:{column:w,line:E},this.css,this.file,b.plugin),v.input={column:S,endColumn:w,endLine:E,line:g,source:this.css},this.file&&(i&&(v.input.url=i(this.file).toString()),v.input.file=this.file),v}fromOffset(c){let g,S;if(this[n])S=this[n];else{let v=this.css.split(`
    19 `);S=new Array(v.length);let E=0;for(let w=0,y=v.length;w<y;w++)S[w]=E,E+=v[w].length+1;this[n]=S}g=S[S.length-1];let b=0;if(c>=g)b=S.length-1;else{let v=S.length-2,E;for(;b<v;)if(E=b+(v-b>>1),c<S[E])v=E-1;else if(c>=S[E+1])b=E+1;else{b=E;break}}return{col:c-S[b]+1,line:b+1}}mapResolve(c){return/^\w+:\/\//.test(c)?c:u(this.map.consumer().sourceRoot||this.map.root||".",c)}origin(c,g,S,b){if(!this.map)return!1;let v=this.map.consumer(),E=v.originalPositionFor({column:g,line:c});if(!E.source)return!1;let w;typeof S=="number"&&(w=v.originalPositionFor({column:b,line:S}));let y;r(E.source)?y=i(E.source):y=new URL(E.source,this.map.consumer().sourceRoot||i(this.map.mapFile));let x={column:E.column,endColumn:w&&w.column,endLine:w&&w.line,line:E.line,url:y.toString()};if(y.protocol==="file:")if(s)x.file=s(y);else throw new Error("file: protocol is not available in this PostCSS build");let R=v.sourceContentFor(E.source);return R&&(x.source=R),x}toJSON(){let c={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(c[g]=this[g]);return this.map&&(c.map={...this.map},c.map.consumerCache&&(c.map.consumerCache=void 0)),c}get from(){return this.file||this.id}}return Ut=a,a.default=a,p&&p.registerInput&&p.registerInput(a),Ut}var $t,Ds;function Qi(){if(Ds)return $t;Ds=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{dirname:s,relative:i,resolve:r,sep:u}=me,{pathToFileURL:f}=me,p=mt(),o=!!(e&&t),h=!!(s&&r&&i&&u);class n{constructor(l,a,m,c){this.stringify=l,this.mapOpts=m.map||{},this.root=a,this.opts=m,this.css=c,this.originalCSS=c,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let l;this.isInline()?l="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?l=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?l=this.mapOpts.annotation(this.opts.to,this.root):l=this.outputFile()+".map";let a=`
     11`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:"    ",semicolon:!1};function t(i){return i[0].toUpperCase()+i.slice(1)}class s{constructor(r){this.builder=r}atrule(r,u){let c="@"+r.name,p=r.params?this.rawValue(r,"params"):"";if(typeof r.raws.afterName<"u"?c+=r.raws.afterName:p&&(c+=" "),r.nodes)this.block(r,c+p);else{let o=(r.raws.between||"")+(u?";":"");this.builder(c+p+o,r)}}beforeAfter(r,u){let c;r.type==="decl"?c=this.raw(r,null,"beforeDecl"):r.type==="comment"?c=this.raw(r,null,"beforeComment"):u==="before"?c=this.raw(r,null,"beforeRule"):c=this.raw(r,null,"beforeClose");let p=r.parent,o=0;for(;p&&p.type!=="root";)o+=1,p=p.parent;if(c.includes(`
     12`)){let h=this.raw(r,null,"indent");if(h.length)for(let n=0;n<o;n++)c+=h}return c}block(r,u){let c=this.raw(r,"between","beforeOpen");this.builder(u+c+"{",r,"start");let p;r.nodes&&r.nodes.length?(this.body(r),p=this.raw(r,"after")):p=this.raw(r,"after","emptyBody"),p&&this.builder(p),this.builder("}",r,"end")}body(r){let u=r.nodes.length-1;for(;u>0&&r.nodes[u].type==="comment";)u-=1;let c=this.raw(r,"semicolon");for(let p=0;p<r.nodes.length;p++){let o=r.nodes[p],h=this.raw(o,"before");h&&this.builder(h),this.stringify(o,u!==p||c)}}comment(r){let u=this.raw(r,"left","commentLeft"),c=this.raw(r,"right","commentRight");this.builder("/*"+u+r.text+c+"*/",r)}decl(r,u){let c=this.raw(r,"between","colon"),p=r.prop+c+this.rawValue(r,"value");r.important&&(p+=r.raws.important||" !important"),u&&(p+=";"),this.builder(p,r)}document(r){this.body(r)}raw(r,u,c){let p;if(c||(c=u),u&&(p=r.raws[u],typeof p<"u"))return p;let o=r.parent;if(c==="before"&&(!o||o.type==="root"&&o.first===r||o&&o.type==="document"))return"";if(!o)return e[c];let h=r.root();if(h.rawCache||(h.rawCache={}),typeof h.rawCache[c]<"u")return h.rawCache[c];if(c==="before"||c==="after")return this.beforeAfter(r,c);{let n="raw"+t(c);this[n]?p=this[n](h,r):h.walk(d=>{if(p=d.raws[u],typeof p<"u")return!1})}return typeof p>"u"&&(p=e[c]),h.rawCache[c]=p,p}rawBeforeClose(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length>0&&typeof c.raws.after<"u")return u=c.raws.after,u.includes(`
     13`)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawBeforeComment(r,u){let c;return r.walkComments(p=>{if(typeof p.raws.before<"u")return c=p.raws.before,c.includes(`
     14`)&&(c=c.replace(/[^\n]+$/,"")),!1}),typeof c>"u"?c=this.raw(u,null,"beforeDecl"):c&&(c=c.replace(/\S/g,"")),c}rawBeforeDecl(r,u){let c;return r.walkDecls(p=>{if(typeof p.raws.before<"u")return c=p.raws.before,c.includes(`
     15`)&&(c=c.replace(/[^\n]+$/,"")),!1}),typeof c>"u"?c=this.raw(u,null,"beforeRule"):c&&(c=c.replace(/\S/g,"")),c}rawBeforeOpen(r){let u;return r.walk(c=>{if(c.type!=="decl"&&(u=c.raws.between,typeof u<"u"))return!1}),u}rawBeforeRule(r){let u;return r.walk(c=>{if(c.nodes&&(c.parent!==r||r.first!==c)&&typeof c.raws.before<"u")return u=c.raws.before,u.includes(`
     16`)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawColon(r){let u;return r.walkDecls(c=>{if(typeof c.raws.between<"u")return u=c.raws.between.replace(/[^\s:]/g,""),!1}),u}rawEmptyBody(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length===0&&(u=c.raws.after,typeof u<"u"))return!1}),u}rawIndent(r){if(r.raws.indent)return r.raws.indent;let u;return r.walk(c=>{let p=c.parent;if(p&&p!==r&&p.parent&&p.parent===r&&typeof c.raws.before<"u"){let o=c.raws.before.split(`
     17`);return u=o[o.length-1],u=u.replace(/\S/g,""),!1}}),u}rawSemicolon(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length&&c.last.type==="decl"&&(u=c.raws.semicolon,typeof u<"u"))return!1}),u}rawValue(r,u){let c=r[u],p=r.raws[u];return p&&p.value===c?p.raw:c}root(r){this.body(r),r.raws.after&&this.builder(r.raws.after)}rule(r){this.block(r,this.rawValue(r,"selector")),r.raws.ownSemicolon&&this.builder(r.raws.ownSemicolon,r,"end")}stringify(r,u){if(!this[r.type])throw new Error("Unknown AST node type "+r.type+". Maybe you need to change PostCSS stringifier.");this[r.type](r,u)}}return Tt=s,s.default=s,Tt}var _t,Ms;function ht(){if(Ms)return _t;Ms=1;let e=Xi();function t(s,i){new e(i).stringify(s)}return _t=t,t.default=t,_t}var kt,Rs;function dt(){if(Rs)return kt;Rs=1;let{isClean:e,my:t}=Qr(),s=Jr(),i=Xi(),r=ht();function u(p,o){let h=new p.constructor;for(let n in p){if(!Object.prototype.hasOwnProperty.call(p,n)||n==="proxyCache")continue;let d=p[n],l=typeof d;n==="parent"&&l==="object"?o&&(h[n]=o):n==="source"?h[n]=d:Array.isArray(d)?h[n]=d.map(a=>u(a,h)):(l==="object"&&d!==null&&(d=u(d)),h[n]=d)}return h}class c{constructor(o={}){this.raws={},this[e]=!1,this[t]=!0;for(let h in o)if(h==="nodes"){this.nodes=[];for(let n of o[h])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[h]=o[h]}addToError(o){if(o.postcssNode=this,o.stack&&this.source&&/\n\s{4}at /.test(o.stack)){let h=this.source;o.stack=o.stack.replace(/\n\s{4}at /,`$&${h.input.from}:${h.start.line}:${h.start.column}$&`)}return o}after(o){return this.parent.insertAfter(this,o),this}assign(o={}){for(let h in o)this[h]=o[h];return this}before(o){return this.parent.insertBefore(this,o),this}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}clone(o={}){let h=u(this);for(let n in o)h[n]=o[n];return h}cloneAfter(o={}){let h=this.clone(o);return this.parent.insertAfter(this,h),h}cloneBefore(o={}){let h=this.clone(o);return this.parent.insertBefore(this,h),h}error(o,h={}){if(this.source){let{end:n,start:d}=this.rangeBy(h);return this.source.input.error(o,{column:d.column,line:d.line},{column:n.column,line:n.line},h)}return new s(o)}getProxyProcessor(){return{get(o,h){return h==="proxyOf"?o:h==="root"?()=>o.root().toProxy():o[h]},set(o,h,n){return o[h]===n||(o[h]=n,(h==="prop"||h==="value"||h==="name"||h==="params"||h==="important"||h==="text")&&o.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let o=this;for(;o=o.parent;)o[e]=!1}}next(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o+1]}positionBy(o,h){let n=this.source.start;if(o.index)n=this.positionInside(o.index,h);else if(o.word){h=this.toString();let d=h.indexOf(o.word);d!==-1&&(n=this.positionInside(d,h))}return n}positionInside(o,h){let n=h||this.toString(),d=this.source.start.column,l=this.source.start.line;for(let a=0;a<o;a++)n[a]===`
     18`?(d=1,l+=1):d+=1;return{column:d,line:l}}prev(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o-1]}rangeBy(o){let h={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:h.column+1,line:h.line};if(o.word){let d=this.toString(),l=d.indexOf(o.word);l!==-1&&(h=this.positionInside(l,d),n=this.positionInside(l+o.word.length,d))}else o.start?h={column:o.start.column,line:o.start.line}:o.index&&(h=this.positionInside(o.index)),o.end?n={column:o.end.column,line:o.end.line}:typeof o.endIndex=="number"?n=this.positionInside(o.endIndex):o.index&&(n=this.positionInside(o.index+1));return(n.line<h.line||n.line===h.line&&n.column<=h.column)&&(n={column:h.column+1,line:h.line}),{end:n,start:h}}raw(o,h){return new i().raw(this,o,h)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...o){if(this.parent){let h=this,n=!1;for(let d of o)d===this?n=!0:n?(this.parent.insertAfter(h,d),h=d):this.parent.insertBefore(h,d);n||this.remove()}return this}root(){let o=this;for(;o.parent&&o.parent.type!=="document";)o=o.parent;return o}toJSON(o,h){let n={},d=h==null;h=h||new Map;let l=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let m=this[a];if(Array.isArray(m))n[a]=m.map(f=>typeof f=="object"&&f.toJSON?f.toJSON(null,h):f);else if(typeof m=="object"&&m.toJSON)n[a]=m.toJSON(null,h);else if(a==="source"){let f=h.get(m.input);f==null&&(f=l,h.set(m.input,l),l++),n[a]={end:m.end,inputId:f,start:m.start}}else n[a]=m}return d&&(n.inputs=[...h.keys()].map(a=>a.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(o=r){o.stringify&&(o=o.stringify);let h="";return o(this,n=>{h+=n}),h}warn(o,h,n){let d={node:this};for(let l in n)d[l]=n[l];return o.warn(h,d)}get proxyOf(){return this}}return kt=c,c.default=c,kt}var Lt,Ns;function pt(){if(Ns)return Lt;Ns=1;let e=dt();class t extends e{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Lt=t,t.default=t,Lt}var Pt,Os;function jo(){if(Os)return Pt;Os=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return Pt={nanoid:(i=21)=>{let r="",u=i;for(;u--;)r+=e[Math.random()*64|0];return r},customAlphabet:(i,r=21)=>(u=r)=>{let c="",p=u;for(;p--;)c+=i[Math.random()*i.length|0];return c}},Pt}var Ft,Is;function Ji(){if(Is)return Ft;Is=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{existsSync:s,readFileSync:i}=me,{dirname:r,join:u}=me;function c(o){return Buffer?Buffer.from(o,"base64").toString():window.atob(o)}class p{constructor(h,n){if(n.map===!1)return;this.loadAnnotation(h),this.inline=this.startWith(this.annotation,"data:");let d=n.map?n.map.prev:void 0,l=this.loadMap(n.from,d);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=r(this.mapFile)),l&&(this.text=l)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(h){let n=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,l=/^data:application\/json;charset=utf-?8,/,a=/^data:application\/json,/;if(l.test(h)||a.test(h))return decodeURIComponent(h.substr(RegExp.lastMatch.length));if(n.test(h)||d.test(h))return c(h.substr(RegExp.lastMatch.length));let m=h.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(h){return h.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(h){return typeof h!="object"?!1:typeof h.mappings=="string"||typeof h._mappings=="string"||Array.isArray(h.sections)}loadAnnotation(h){let n=h.match(/\/\*\s*# sourceMappingURL=/gm);if(!n)return;let d=h.lastIndexOf(n.pop()),l=h.indexOf("*/",d);d>-1&&l>-1&&(this.annotation=this.getAnnotationURL(h.substring(d,l)))}loadFile(h){if(this.root=r(h),s(h))return this.mapFile=h,i(h,"utf-8").toString().trim()}loadMap(h,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let d=n(h);if(d){let l=this.loadFile(d);if(!l)throw new Error("Unable to load previous source map: "+d.toString());return l}}else{if(n instanceof e)return t.fromSourceMap(n).toString();if(n instanceof t)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return h&&(d=u(r(h),d)),this.loadFile(d)}}}startWith(h,n){return h?h.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Ft=p,p.default=p,Ft}var Ut,As;function mt(){if(As)return Ut;As=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{fileURLToPath:s,pathToFileURL:i}=me,{isAbsolute:r,resolve:u}=me,{nanoid:c}=jo(),p=me,o=Jr(),h=Ji(),n=Symbol("fromOffsetCache"),d=!!(e&&t),l=!!(u&&r);class a{constructor(f,g={}){if(f===null||typeof f>"u"||typeof f=="object"&&!f.toString)throw new Error(`PostCSS received ${f} instead of CSS string`);if(this.css=f.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!l||/^\w+:\/\//.test(g.from)||r(g.from)?this.file=g.from:this.file=u(g.from)),l&&d){let S=new h(this.css,g);if(S.text){this.map=S;let b=S.consumer().file;!this.file&&b&&(this.file=this.mapResolve(b))}}this.file||(this.id="<input css "+c(6)+">"),this.map&&(this.map.file=this.from)}error(f,g,S,b={}){let v,E,w;if(g&&typeof g=="object"){let x=g,R=S;if(typeof x.offset=="number"){let M=this.fromOffset(x.offset);g=M.line,S=M.col}else g=x.line,S=x.column;if(typeof R.offset=="number"){let M=this.fromOffset(R.offset);E=M.line,w=M.col}else E=R.line,w=R.column}else if(!S){let x=this.fromOffset(g);g=x.line,S=x.col}let y=this.origin(g,S,E,w);return y?v=new o(f,y.endLine===void 0?y.line:{column:y.column,line:y.line},y.endLine===void 0?y.column:{column:y.endColumn,line:y.endLine},y.source,y.file,b.plugin):v=new o(f,E===void 0?g:{column:S,line:g},E===void 0?S:{column:w,line:E},this.css,this.file,b.plugin),v.input={column:S,endColumn:w,endLine:E,line:g,source:this.css},this.file&&(i&&(v.input.url=i(this.file).toString()),v.input.file=this.file),v}fromOffset(f){let g,S;if(this[n])S=this[n];else{let v=this.css.split(`
     19`);S=new Array(v.length);let E=0;for(let w=0,y=v.length;w<y;w++)S[w]=E,E+=v[w].length+1;this[n]=S}g=S[S.length-1];let b=0;if(f>=g)b=S.length-1;else{let v=S.length-2,E;for(;b<v;)if(E=b+(v-b>>1),f<S[E])v=E-1;else if(f>=S[E+1])b=E+1;else{b=E;break}}return{col:f-S[b]+1,line:b+1}}mapResolve(f){return/^\w+:\/\//.test(f)?f:u(this.map.consumer().sourceRoot||this.map.root||".",f)}origin(f,g,S,b){if(!this.map)return!1;let v=this.map.consumer(),E=v.originalPositionFor({column:g,line:f});if(!E.source)return!1;let w;typeof S=="number"&&(w=v.originalPositionFor({column:b,line:S}));let y;r(E.source)?y=i(E.source):y=new URL(E.source,this.map.consumer().sourceRoot||i(this.map.mapFile));let x={column:E.column,endColumn:w&&w.column,endLine:w&&w.line,line:E.line,url:y.toString()};if(y.protocol==="file:")if(s)x.file=s(y);else throw new Error("file: protocol is not available in this PostCSS build");let R=v.sourceContentFor(E.source);return R&&(x.source=R),x}toJSON(){let f={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(f[g]=this[g]);return this.map&&(f.map={...this.map},f.map.consumerCache&&(f.map.consumerCache=void 0)),f}get from(){return this.file||this.id}}return Ut=a,a.default=a,p&&p.registerInput&&p.registerInput(a),Ut}var $t,Ds;function Qi(){if(Ds)return $t;Ds=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{dirname:s,relative:i,resolve:r,sep:u}=me,{pathToFileURL:c}=me,p=mt(),o=!!(e&&t),h=!!(s&&r&&i&&u);class n{constructor(l,a,m,f){this.stringify=l,this.mapOpts=m.map||{},this.root=a,this.opts=m,this.css=f,this.originalCSS=f,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let l;this.isInline()?l="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?l=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?l=this.mapOpts.annotation(this.opts.to,this.root):l=this.outputFile()+".map";let a=`
    2020`;this.css.includes(`\r
    2121`)&&(a=`\r
    22 `),this.css+=a+"/*# sourceMappingURL="+l+" */"}applyPrevMaps(){for(let l of this.previous()){let a=this.toUrl(this.path(l.file)),m=l.root||s(l.file),c;this.mapOpts.sourcesContent===!1?(c=new e(l.text),c.sourcesContent&&(c.sourcesContent=null)):c=l.consumer(),this.map.applySourceMap(c,a,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let l;for(let a=this.root.nodes.length-1;a>=0;a--)l=this.root.nodes[a],l.type==="comment"&&l.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(a)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),h&&o&&this.isMap())return this.generateMap();{let l="";return this.stringify(this.root,a=>{l+=a}),[l]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let l=this.previous()[0].consumer();l.file=this.outputFile(),this.map=t.fromSourceMap(l,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let l=1,a=1,m="<no source>",c={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,S;this.stringify(this.root,(b,v,E)=>{if(this.css+=b,v&&E!=="end"&&(c.generated.line=l,c.generated.column=a-1,v.source&&v.source.start?(c.source=this.sourcePath(v),c.original.line=v.source.start.line,c.original.column=v.source.start.column-1,this.map.addMapping(c)):(c.source=m,c.original.line=1,c.original.column=0,this.map.addMapping(c))),g=b.match(/\n/g),g?(l+=g.length,S=b.lastIndexOf(`
    23 `),a=b.length-S):a+=b.length,v&&E!=="start"){let w=v.parent||{raws:{}};(!(v.type==="decl"||v.type==="atrule"&&!v.nodes)||v!==w.last||w.raws.semicolon)&&(v.source&&v.source.end?(c.source=this.sourcePath(v),c.original.line=v.source.end.line,c.original.column=v.source.end.column-1,c.generated.line=l,c.generated.column=a-2,this.map.addMapping(c)):(c.source=m,c.original.line=1,c.original.column=0,c.generated.line=l,c.generated.column=a-1,this.map.addMapping(c)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(l=>l.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let l=this.mapOpts.annotation;return typeof l<"u"&&l!==!0?!1:this.previous().length?this.previous().some(a=>a.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(l=>l.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(l){if(this.mapOpts.absolute||l.charCodeAt(0)===60||/^\w+:\/\//.test(l))return l;let a=this.memoizedPaths.get(l);if(a)return a;let m=this.opts.to?s(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=s(r(m,this.mapOpts.annotation)));let c=i(m,l);return this.memoizedPaths.set(l,c),c}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(l=>{if(l.source&&l.source.input.map){let a=l.source.input.map;this.previousMaps.includes(a)||this.previousMaps.push(a)}});else{let l=new p(this.originalCSS,this.opts);l.map&&this.previousMaps.push(l.map)}return this.previousMaps}setSourcesContent(){let l={};if(this.root)this.root.walk(a=>{if(a.source){let m=a.source.input.from;if(m&&!l[m]){l[m]=!0;let c=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(c,a.source.input.css)}}});else if(this.css){let a=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(a,this.css)}}sourcePath(l){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(l.source.input.from):this.toUrl(this.path(l.source.input.from))}toBase64(l){return Buffer?Buffer.from(l).toString("base64"):window.btoa(unescape(encodeURIComponent(l)))}toFileUrl(l){let a=this.memoizedFileURLs.get(l);if(a)return a;if(f){let m=f(l).toString();return this.memoizedFileURLs.set(l,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(l){let a=this.memoizedURLs.get(l);if(a)return a;u==="\\"&&(l=l.replace(/\\/g,"/"));let m=encodeURI(l).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(l,m),m}}return $t=n,$t}var Bt,Ts;function gt(){if(Ts)return Bt;Ts=1;let e=dt();class t extends e{constructor(i){super(i),this.type="comment"}}return Bt=t,t.default=t,Bt}var zt,_s;function Me(){if(_s)return zt;_s=1;let{isClean:e,my:t}=Qr(),s=pt(),i=gt(),r=dt(),u,f,p,o;function h(l){return l.map(a=>(a.nodes&&(a.nodes=h(a.nodes)),delete a.source,a))}function n(l){if(l[e]=!1,l.proxyOf.nodes)for(let a of l.proxyOf.nodes)n(a)}class d extends r{append(...a){for(let m of a){let c=this.normalize(m,this.last);for(let g of c)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(a){if(super.cleanRaws(a),this.nodes)for(let m of this.nodes)m.cleanRaws(a)}each(a){if(!this.proxyOf.nodes)return;let m=this.getIterator(),c,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(c=this.indexes[m],g=a(this.proxyOf.nodes[c],c),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(a){return this.nodes.every(a)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let a=this.lastEach;return this.indexes[a]=0,a}getProxyProcessor(){return{get(a,m){return m==="proxyOf"?a:a[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...c)=>a[m](...c.map(g=>typeof g=="function"?(S,b)=>g(S.toProxy(),b):g)):m==="every"||m==="some"?c=>a[m]((g,...S)=>c(g.toProxy(),...S)):m==="root"?()=>a.root().toProxy():m==="nodes"?a.nodes.map(c=>c.toProxy()):m==="first"||m==="last"?a[m].toProxy():a[m]:a[m]},set(a,m,c){return a[m]===c||(a[m]=c,(m==="name"||m==="params"||m==="selector")&&a.markDirty()),!0}}}index(a){return typeof a=="number"?a:(a.proxyOf&&(a=a.proxyOf),this.proxyOf.nodes.indexOf(a))}insertAfter(a,m){let c=this.index(a),g=this.normalize(m,this.proxyOf.nodes[c]).reverse();c=this.index(a);for(let b of g)this.proxyOf.nodes.splice(c+1,0,b);let S;for(let b in this.indexes)S=this.indexes[b],c<S&&(this.indexes[b]=S+g.length);return this.markDirty(),this}insertBefore(a,m){let c=this.index(a),g=c===0?"prepend":!1,S=this.normalize(m,this.proxyOf.nodes[c],g).reverse();c=this.index(a);for(let v of S)this.proxyOf.nodes.splice(c,0,v);let b;for(let v in this.indexes)b=this.indexes[v],c<=b&&(this.indexes[v]=b+S.length);return this.markDirty(),this}normalize(a,m){if(typeof a=="string")a=h(u(a).nodes);else if(typeof a>"u")a=[];else if(Array.isArray(a)){a=a.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type==="root"&&this.type!=="document"){a=a.nodes.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type)a=[a];else if(a.prop){if(typeof a.value>"u")throw new Error("Value field is missed in node creation");typeof a.value!="string"&&(a.value=String(a.value)),a=[new s(a)]}else if(a.selector)a=[new f(a)];else if(a.name)a=[new p(a)];else if(a.text)a=[new i(a)];else throw new Error("Unknown node type in node creation");return a.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&n(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...a){a=a.reverse();for(let m of a){let c=this.normalize(m,this.first,"prepend").reverse();for(let g of c)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+c.length}return this.markDirty(),this}push(a){return a.parent=this,this.proxyOf.nodes.push(a),this}removeAll(){for(let a of this.proxyOf.nodes)a.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(a){a=this.index(a),this.proxyOf.nodes[a].parent=void 0,this.proxyOf.nodes.splice(a,1);let m;for(let c in this.indexes)m=this.indexes[c],m>=a&&(this.indexes[c]=m-1);return this.markDirty(),this}replaceValues(a,m,c){return c||(c=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(a,c))}),this.markDirty(),this}some(a){return this.nodes.some(a)}walk(a){return this.each((m,c)=>{let g;try{g=a(m,c)}catch(S){throw m.addToError(S)}return g!==!1&&m.walk&&(g=m.walk(a)),g})}walkAtRules(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="atrule"&&a.test(c.name))return m(c,g)}):this.walk((c,g)=>{if(c.type==="atrule"&&c.name===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="atrule")return m(c,g)}))}walkComments(a){return this.walk((m,c)=>{if(m.type==="comment")return a(m,c)})}walkDecls(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="decl"&&a.test(c.prop))return m(c,g)}):this.walk((c,g)=>{if(c.type==="decl"&&c.prop===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="decl")return m(c,g)}))}walkRules(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="rule"&&a.test(c.selector))return m(c,g)}):this.walk((c,g)=>{if(c.type==="rule"&&c.selector===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="rule")return m(c,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=l=>{u=l},d.registerRule=l=>{f=l},d.registerAtRule=l=>{p=l},d.registerRoot=l=>{o=l},zt=d,d.default=d,d.rebuild=l=>{l.type==="atrule"?Object.setPrototypeOf(l,p.prototype):l.type==="rule"?Object.setPrototypeOf(l,f.prototype):l.type==="decl"?Object.setPrototypeOf(l,s.prototype):l.type==="comment"?Object.setPrototypeOf(l,i.prototype):l.type==="root"&&Object.setPrototypeOf(l,o.prototype),l[t]=!0,l.nodes&&l.nodes.forEach(a=>{d.rebuild(a)})},zt}var Wt,ks;function Zr(){if(ks)return Wt;ks=1;let e=Me(),t,s;class i extends e{constructor(u){super({type:"document",...u}),this.nodes||(this.nodes=[])}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Wt=i,i.default=i,Wt}var jt,Ls;function Zi(){if(Ls)return jt;Ls=1;let e={};return jt=function(s){e[s]||(e[s]=!0,typeof console<"u"&&console.warn&&console.warn(s))},jt}var Vt,Ps;function Ki(){if(Ps)return Vt;Ps=1;class e{constructor(s,i={}){if(this.type="warning",this.text=s,i.node&&i.node.source){let r=i.node.rangeBy(i);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in i)this[r]=i[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Vt=e,e.default=e,Vt}var qt,Fs;function Kr(){if(Fs)return qt;Fs=1;let e=Ki();class t{constructor(i,r,u){this.processor=i,this.messages=[],this.root=r,this.opts=u,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let u=new e(i,r);return this.messages.push(u),u}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}}return qt=t,t.default=t,qt}var Gt,Us;function jo(){if(Us)return Gt;Us=1;let e=39,t=34,s=92,i=47,r=10,u=32,f=12,p=9,o=13,h=91,n=93,d=40,l=41,a=123,m=125,c=59,g=42,S=58,b=64,v=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,y=/[\da-f]/i;return Gt=function(R,M={}){let C=R.css.valueOf(),I=M.ignoreErrors,_,N,ie,ne,F,z,q,J,D,T,U=C.length,O=0,G=[],k=[];function Q(){return O}function Z(L){throw R.error("Unclosed "+L,O)}function ue(){return k.length===0&&O>=U}function xe(L){if(k.length)return k.pop();if(O>=U)return;let te=L?L.ignoreUnclosed:!1;switch(_=C.charCodeAt(O),_){case r:case u:case p:case o:case f:{N=O;do N+=1,_=C.charCodeAt(N);while(_===u||_===r||_===p||_===o||_===f);T=["space",C.slice(O,N)],O=N-1;break}case h:case n:case a:case m:case S:case c:case l:{let j=String.fromCharCode(_);T=[j,j,O];break}case d:{if(J=G.length?G.pop()[1]:"",D=C.charCodeAt(O+1),J==="url"&&D!==e&&D!==t&&D!==u&&D!==r&&D!==p&&D!==f&&D!==o){N=O;do{if(z=!1,N=C.indexOf(")",N+1),N===-1)if(I||te){N=O;break}else Z("bracket");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["brackets",C.slice(O,N+1),O,N],O=N}else N=C.indexOf(")",O+1),ne=C.slice(O,N+1),N===-1||w.test(ne)?T=["(","(",O]:(T=["brackets",ne,O,N],O=N);break}case e:case t:{ie=_===e?"'":'"',N=O;do{if(z=!1,N=C.indexOf(ie,N+1),N===-1)if(I||te){N=O+1;break}else Z("string");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["string",C.slice(O,N+1),O,N],O=N;break}case b:{v.lastIndex=O+1,v.test(C),v.lastIndex===0?N=C.length-1:N=v.lastIndex-2,T=["at-word",C.slice(O,N+1),O,N],O=N;break}case s:{for(N=O,F=!0;C.charCodeAt(N+1)===s;)N+=1,F=!F;if(_=C.charCodeAt(N+1),F&&_!==i&&_!==u&&_!==r&&_!==p&&_!==o&&_!==f&&(N+=1,y.test(C.charAt(N)))){for(;y.test(C.charAt(N+1));)N+=1;C.charCodeAt(N+1)===u&&(N+=1)}T=["word",C.slice(O,N+1),O,N],O=N;break}default:{_===i&&C.charCodeAt(O+1)===g?(N=C.indexOf("*/",O+2)+1,N===0&&(I||te?N=C.length:Z("comment")),T=["comment",C.slice(O,N+1),O,N],O=N):(E.lastIndex=O+1,E.test(C),E.lastIndex===0?N=C.length-1:N=E.lastIndex-2,T=["word",C.slice(O,N+1),O,N],G.push(T),O=N);break}}return O++,T}function ve(L){k.push(L)}return{back:ve,endOfFile:ue,nextToken:xe,position:Q}},Gt}var Ht,$s;function es(){if($s)return Ht;$s=1;let e=Me();class t extends e{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}}return Ht=t,t.default=t,e.registerAtRule(t),Ht}var Yt,Bs;function Ve(){if(Bs)return Yt;Bs=1;let e=Me(),t,s;class i extends e{constructor(u){super(u),this.type="root",this.nodes||(this.nodes=[])}normalize(u,f,p){let o=super.normalize(u);if(f){if(p==="prepend")this.nodes.length>1?f.raws.before=this.nodes[1].raws.before:delete f.raws.before;else if(this.first!==f)for(let h of o)h.raws.before=f.raws.before}return o}removeChild(u,f){let p=this.index(u);return!f&&p===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[p].raws.before),super.removeChild(u)}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Yt=i,i.default=i,e.registerRoot(i),Yt}var Xt,zs;function en(){if(zs)return Xt;zs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let s=[" ",`
    24 `,"     "];return e.split(t,s)},split(t,s,i){let r=[],u="",f=!1,p=0,o=!1,h="",n=!1;for(let d of t)n?n=!1:d==="\\"?n=!0:o?d===h&&(o=!1):d==='"'||d==="'"?(o=!0,h=d):d==="("?p+=1:d===")"?p>0&&(p-=1):p===0&&s.includes(d)&&(f=!0),f?(u!==""&&r.push(u.trim()),u="",f=!1):u+=d;return(i||u!=="")&&r.push(u.trim()),r}};return Xt=e,e.default=e,Xt}var Jt,Ws;function ts(){if(Ws)return Jt;Ws=1;let e=Me(),t=en();class s extends e{constructor(r){super(r),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(r){let u=this.selector?this.selector.match(/,\s*/):null,f=u?u[0]:","+this.raw("between","beforeOpen");this.selector=r.join(f)}}return Jt=s,s.default=s,e.registerRule(s),Jt}var Qt,js;function Vo(){if(js)return Qt;js=1;let e=pt(),t=jo(),s=gt(),i=es(),r=Ve(),u=ts(),f={empty:!0,space:!0};function p(h){for(let n=h.length-1;n>=0;n--){let d=h[n],l=d[3]||d[2];if(l)return l}}class o{constructor(n){this.input=n,this.root=new r,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:n,start:{column:1,line:1,offset:0}}}atrule(n){let d=new i;d.name=n[1].slice(1),d.name===""&&this.unnamedAtrule(d,n),this.init(d,n[2]);let l,a,m,c=!1,g=!1,S=[],b=[];for(;!this.tokenizer.endOfFile();){if(n=this.tokenizer.nextToken(),l=n[0],l==="("||l==="["?b.push(l==="("?")":"]"):l==="{"&&b.length>0?b.push("}"):l===b[b.length-1]&&b.pop(),b.length===0)if(l===";"){d.source.end=this.getPosition(n[2]),d.source.end.offset++,this.semicolon=!0;break}else if(l==="{"){g=!0;break}else if(l==="}"){if(S.length>0){for(m=S.length-1,a=S[m];a&&a[0]==="space";)a=S[--m];a&&(d.source.end=this.getPosition(a[3]||a[2]),d.source.end.offset++)}this.end(n);break}else S.push(n);else S.push(n);if(this.tokenizer.endOfFile()){c=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(S),S.length?(d.raws.afterName=this.spacesAndCommentsFromStart(S),this.raw(d,"params",S),c&&(n=S[S.length-1],d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(n){let d=this.colon(n);if(d===!1)return;let l=0,a;for(let m=d-1;m>=0&&(a=n[m],!(a[0]!=="space"&&(l+=1,l===2)));m--);throw this.input.error("Missed semicolon",a[0]==="word"?a[3]+1:a[2])}colon(n){let d=0,l,a,m;for(let[c,g]of n.entries()){if(l=g,a=l[0],a==="("&&(d+=1),a===")"&&(d-=1),d===0&&a===":")if(!m)this.doubleColon(l);else{if(m[0]==="word"&&m[1]==="progid")continue;return c}m=l}return!1}comment(n){let d=new s;this.init(d,n[2]),d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++;let l=n[1].slice(2,-2);if(/^\s*$/.test(l))d.text="",d.raws.left=l,d.raws.right="";else{let a=l.match(/^(\s*)([^]*\S)(\s*)$/);d.text=a[2],d.raws.left=a[1],d.raws.right=a[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(n,d){let l=new e;this.init(l,n[0][2]);let a=n[n.length-1];for(a[0]===";"&&(this.semicolon=!0,n.pop()),l.source.end=this.getPosition(a[3]||a[2]||p(n)),l.source.end.offset++;n[0][0]!=="word";)n.length===1&&this.unknownWord(n),l.raws.before+=n.shift()[1];for(l.source.start=this.getPosition(n[0][2]),l.prop="";n.length;){let b=n[0][0];if(b===":"||b==="space"||b==="comment")break;l.prop+=n.shift()[1]}l.raws.between="";let m;for(;n.length;)if(m=n.shift(),m[0]===":"){l.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),l.raws.between+=m[1];(l.prop[0]==="_"||l.prop[0]==="*")&&(l.raws.before+=l.prop[0],l.prop=l.prop.slice(1));let c=[],g;for(;n.length&&(g=n[0][0],!(g!=="space"&&g!=="comment"));)c.push(n.shift());this.precheckMissedSemicolon(n);for(let b=n.length-1;b>=0;b--){if(m=n[b],m[1].toLowerCase()==="!important"){l.important=!0;let v=this.stringFrom(n,b);v=this.spacesFromEnd(n)+v,v!==" !important"&&(l.raws.important=v);break}else if(m[1].toLowerCase()==="important"){let v=n.slice(0),E="";for(let w=b;w>0;w--){let y=v[w][0];if(E.trim().indexOf("!")===0&&y!=="space")break;E=v.pop()[1]+E}E.trim().indexOf("!")===0&&(l.important=!0,l.raws.important=E,n=v)}if(m[0]!=="space"&&m[0]!=="comment")break}n.some(b=>b[0]!=="space"&&b[0]!=="comment")&&(l.raws.between+=c.map(b=>b[1]).join(""),c=[]),this.raw(l,"value",c.concat(n),d),l.value.includes(":")&&!d&&this.checkMissedSemicolon(n)}doubleColon(n){throw this.input.error("Double colon",{offset:n[2]},{offset:n[2]+n[1].length})}emptyRule(n){let d=new u;this.init(d,n[2]),d.selector="",d.raws.between="",this.current=d}end(n){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(n[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(n)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(n){if(this.spaces+=n[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(n){let d=this.input.fromOffset(n);return{column:d.col,line:d.line,offset:n}}init(n,d){this.current.push(n),n.source={input:this.input,start:this.getPosition(d)},n.raws.before=this.spaces,this.spaces="",n.type!=="comment"&&(this.semicolon=!1)}other(n){let d=!1,l=null,a=!1,m=null,c=[],g=n[1].startsWith("--"),S=[],b=n;for(;b;){if(l=b[0],S.push(b),l==="("||l==="[")m||(m=b),c.push(l==="("?")":"]");else if(g&&a&&l==="{")m||(m=b),c.push("}");else if(c.length===0)if(l===";")if(a){this.decl(S,g);return}else break;else if(l==="{"){this.rule(S);return}else if(l==="}"){this.tokenizer.back(S.pop()),d=!0;break}else l===":"&&(a=!0);else l===c[c.length-1]&&(c.pop(),c.length===0&&(m=null));b=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),c.length>0&&this.unclosedBracket(m),d&&a){if(!g)for(;S.length&&(b=S[S.length-1][0],!(b!=="space"&&b!=="comment"));)this.tokenizer.back(S.pop());this.decl(S,g)}else this.unknownWord(S)}parse(){let n;for(;!this.tokenizer.endOfFile();)switch(n=this.tokenizer.nextToken(),n[0]){case"space":this.spaces+=n[1];break;case";":this.freeSemicolon(n);break;case"}":this.end(n);break;case"comment":this.comment(n);break;case"at-word":this.atrule(n);break;case"{":this.emptyRule(n);break;default:this.other(n);break}this.endFile()}precheckMissedSemicolon(){}raw(n,d,l,a){let m,c,g=l.length,S="",b=!0,v,E;for(let w=0;w<g;w+=1)m=l[w],c=m[0],c==="space"&&w===g-1&&!a?b=!1:c==="comment"?(E=l[w-1]?l[w-1][0]:"empty",v=l[w+1]?l[w+1][0]:"empty",!f[E]&&!f[v]?S.slice(-1)===","?b=!1:S+=m[1]:b=!1):S+=m[1];if(!b){let w=l.reduce((y,x)=>y+x[1],"");n.raws[d]={raw:w,value:S}}n[d]=S}rule(n){n.pop();let d=new u;this.init(d,n[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(n),this.raw(d,"selector",n),this.current=d}spacesAndCommentsFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],!(d!=="space"&&d!=="comment"));)l=n.pop()[1]+l;return l}spacesAndCommentsFromStart(n){let d,l="";for(;n.length&&(d=n[0][0],!(d!=="space"&&d!=="comment"));)l+=n.shift()[1];return l}spacesFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],d==="space");)l=n.pop()[1]+l;return l}stringFrom(n,d){let l="";for(let a=d;a<n.length;a++)l+=n[a][1];return n.splice(d,n.length-d),l}unclosedBlock(){let n=this.current.source.start;throw this.input.error("Unclosed block",n.line,n.column)}unclosedBracket(n){throw this.input.error("Unclosed bracket",{offset:n[2]},{offset:n[2]+1})}unexpectedClose(n){throw this.input.error("Unexpected }",{offset:n[2]},{offset:n[2]+1})}unknownWord(n){throw this.input.error("Unknown word",{offset:n[0][2]},{offset:n[0][2]+n[0][1].length})}unnamedAtrule(n,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Qt=o,Qt}var Zt,Vs;function rs(){if(Vs)return Zt;Vs=1;let e=Me(),t=Vo(),s=mt();function i(r,u){let f=new s(r,u),p=new t(f);try{p.parse()}catch(o){throw o}return p.root}return Zt=i,i.default=i,e.registerParse(i),Zt}var Kt,qs;function tn(){if(qs)return Kt;qs=1;let{isClean:e,my:t}=Qr(),s=Qi(),i=ht(),r=Me(),u=Zr(),f=Zi(),p=Kr(),o=rs(),h=Ve(),n={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},l={Once:!0,postcssPlugin:!0,prepare:!0},a=0;function m(E){return typeof E=="object"&&typeof E.then=="function"}function c(E){let w=!1,y=n[E.type];return E.type==="decl"?w=E.prop.toLowerCase():E.type==="atrule"&&(w=E.name.toLowerCase()),w&&E.append?[y,y+"-"+w,a,y+"Exit",y+"Exit-"+w]:w?[y,y+"-"+w,y+"Exit",y+"Exit-"+w]:E.append?[y,a,y+"Exit"]:[y,y+"Exit"]}function g(E){let w;return E.type==="document"?w=["Document",a,"DocumentExit"]:E.type==="root"?w=["Root",a,"RootExit"]:w=c(E),{eventIndex:0,events:w,iterator:0,node:E,visitorIndex:0,visitors:[]}}function S(E){return E[e]=!1,E.nodes&&E.nodes.forEach(w=>S(w)),E}let b={};class v{constructor(w,y,x){this.stringified=!1,this.processed=!1;let R;if(typeof y=="object"&&y!==null&&(y.type==="root"||y.type==="document"))R=S(y);else if(y instanceof v||y instanceof p)R=S(y.root),y.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=y.map);else{let M=o;x.syntax&&(M=x.syntax.parse),x.parser&&(M=x.parser),M.parse&&(M=M.parse);try{R=M(y,x)}catch(C){this.processed=!0,this.error=C}R&&!R[t]&&r.rebuild(R)}this.result=new p(w,R,x),this.helpers={...b,postcss:b,result:this.result},this.plugins=this.processor.plugins.map(M=>typeof M=="object"&&M.prepare?{...M,...M.prepare(this.result)}:M)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(w){return this.async().catch(w)}finally(w){return this.async().then(w,w)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(w,y){let x=this.result.lastPlugin;try{y&&y.addToError(w),this.error=w,w.name==="CssSyntaxError"&&!w.plugin?(w.plugin=x.postcssPlugin,w.setMessage()):x.postcssVersion}catch(R){console&&console.error&&console.error(R)}return w}prepareVisitors(){this.listeners={};let w=(y,x,R)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([y,R])};for(let y of this.plugins)if(typeof y=="object")for(let x in y){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${y.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!l[x])if(typeof y[x]=="object")for(let R in y[x])R==="*"?w(y,x,y[x][R]):w(y,x+"-"+R.toLowerCase(),y[x][R]);else typeof y[x]=="function"&&w(y,x,y[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let w=0;w<this.plugins.length;w++){let y=this.plugins[w],x=this.runOnRoot(y);if(m(x))try{await x}catch(R){throw this.handleError(R)}}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];){w[e]=!0;let y=[g(w)];for(;y.length>0;){let x=this.visitTick(y);if(m(x))try{await x}catch(R){let M=y[y.length-1].node;throw this.handleError(R,M)}}}if(this.listeners.OnceExit)for(let[y,x]of this.listeners.OnceExit){this.result.lastPlugin=y;try{if(w.type==="document"){let R=w.nodes.map(M=>x(M,this.helpers));await Promise.all(R)}else await x(w,this.helpers)}catch(R){throw this.handleError(R)}}}return this.processed=!0,this.stringify()}runOnRoot(w){this.result.lastPlugin=w;try{if(typeof w=="object"&&w.Once){if(this.result.root.type==="document"){let y=this.result.root.nodes.map(x=>w.Once(x,this.helpers));return m(y[0])?Promise.all(y):y}return w.Once(this.result.root,this.helpers)}else if(typeof w=="function")return w(this.result.root,this.result)}catch(y){throw this.handleError(y)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let w=this.result.opts,y=i;w.syntax&&(y=w.syntax.stringify),w.stringifier&&(y=w.stringifier),y.stringify&&(y=y.stringify);let R=new s(y,this.result.root,this.result.opts).generate();return this.result.css=R[0],this.result.map=R[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let w of this.plugins){let y=this.runOnRoot(w);if(m(y))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];)w[e]=!0,this.walkSync(w);if(this.listeners.OnceExit)if(w.type==="document")for(let y of w.nodes)this.visitSync(this.listeners.OnceExit,y);else this.visitSync(this.listeners.OnceExit,w)}return this.result}then(w,y){return this.async().then(w,y)}toString(){return this.css}visitSync(w,y){for(let[x,R]of w){this.result.lastPlugin=x;let M;try{M=R(y,this.helpers)}catch(C){throw this.handleError(C,y.proxyOf)}if(y.type!=="root"&&y.type!=="document"&&!y.parent)return!0;if(m(M))throw this.getAsyncError()}}visitTick(w){let y=w[w.length-1],{node:x,visitors:R}=y;if(x.type!=="root"&&x.type!=="document"&&!x.parent){w.pop();return}if(R.length>0&&y.visitorIndex<R.length){let[C,I]=R[y.visitorIndex];y.visitorIndex+=1,y.visitorIndex===R.length&&(y.visitors=[],y.visitorIndex=0),this.result.lastPlugin=C;try{return I(x.toProxy(),this.helpers)}catch(_){throw this.handleError(_,x)}}if(y.iterator!==0){let C=y.iterator,I;for(;I=x.nodes[x.indexes[C]];)if(x.indexes[C]+=1,!I[e]){I[e]=!0,w.push(g(I));return}y.iterator=0,delete x.indexes[C]}let M=y.events;for(;y.eventIndex<M.length;){let C=M[y.eventIndex];if(y.eventIndex+=1,C===a){x.nodes&&x.nodes.length&&(x[e]=!0,y.iterator=x.getIterator());return}else if(this.listeners[C]){y.visitors=this.listeners[C];return}}w.pop()}walkSync(w){w[e]=!0;let y=c(w);for(let x of y)if(x===a)w.nodes&&w.each(R=>{R[e]||this.walkSync(R)});else{let R=this.listeners[x];if(R&&this.visitSync(R,w.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return v.registerPostcss=E=>{b=E},Kt=v,v.default=v,h.registerLazyResult(v),u.registerLazyResult(v),Kt}var er,Gs;function qo(){if(Gs)return er;Gs=1;let e=Qi(),t=ht(),s=Zi(),i=rs(),r=Kr();class u{constructor(p,o,h){o=o.toString(),this.stringified=!1,this._processor=p,this._css=o,this._opts=h,this._map=void 0;let n,d=t;this.result=new r(this._processor,n,this._opts),this.result.css=o;let l=this;Object.defineProperty(this.result,"root",{get(){return l.root}});let a=new e(d,n,this._opts,o);if(a.isMap()){let[m,c]=a.generate();m&&(this.result.css=m),c&&(this.result.map=c)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(p){return this.async().catch(p)}finally(p){return this.async().then(p,p)}sync(){if(this.error)throw this.error;return this.result}then(p,o){return this.async().then(p,o)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let p,o=i;try{p=o(this._css,this._opts)}catch(h){this.error=h}if(this.error)throw this.error;return this._root=p,p}get[Symbol.toStringTag](){return"NoWorkResult"}}return er=u,u.default=u,er}var tr,Hs;function Go(){if(Hs)return tr;Hs=1;let e=qo(),t=tn(),s=Zr(),i=Ve();class r{constructor(f=[]){this.version="8.4.38",this.plugins=this.normalize(f)}normalize(f){let p=[];for(let o of f)if(o.postcss===!0?o=o():o.postcss&&(o=o.postcss),typeof o=="object"&&Array.isArray(o.plugins))p=p.concat(o.plugins);else if(typeof o=="object"&&o.postcssPlugin)p.push(o);else if(typeof o=="function")p.push(o);else if(!(typeof o=="object"&&(o.parse||o.stringify)))throw new Error(o+" is not a PostCSS plugin");return p}process(f,p={}){return!this.plugins.length&&!p.parser&&!p.stringifier&&!p.syntax?new e(this,f,p):new t(this,f,p)}use(f){return this.plugins=this.plugins.concat(this.normalize([f])),this}}return tr=r,r.default=r,i.registerProcessor(r),s.registerProcessor(r),tr}var rr,Ys;function Ho(){if(Ys)return rr;Ys=1;let e=pt(),t=Ji(),s=gt(),i=es(),r=mt(),u=Ve(),f=ts();function p(o,h){if(Array.isArray(o))return o.map(l=>p(l));let{inputs:n,...d}=o;if(n){h=[];for(let l of n){let a={...l,__proto__:r.prototype};a.map&&(a.map={...a.map,__proto__:t.prototype}),h.push(a)}}if(d.nodes&&(d.nodes=o.nodes.map(l=>p(l,h))),d.source){let{inputId:l,...a}=d.source;d.source=a,l!=null&&(d.source.input=h[l])}if(d.type==="root")return new u(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new f(d);if(d.type==="comment")return new s(d);if(d.type==="atrule")return new i(d);throw new Error("Unknown node type: "+o.type)}return rr=p,p.default=p,rr}var sr,Xs;function Yo(){if(Xs)return sr;Xs=1;let e=Jr(),t=pt(),s=tn(),i=Me(),r=Go(),u=ht(),f=Ho(),p=Zr(),o=Ki(),h=gt(),n=es(),d=Kr(),l=mt(),a=rs(),m=en(),c=ts(),g=Ve(),S=dt();function b(...v){return v.length===1&&Array.isArray(v[0])&&(v=v[0]),new r(v)}return b.plugin=function(E,w){let y=!1;function x(...M){console&&console.warn&&!y&&(y=!0,console.warn(E+`: postcss.plugin was deprecated. Migration guide:
     22`),this.css+=a+"/*# sourceMappingURL="+l+" */"}applyPrevMaps(){for(let l of this.previous()){let a=this.toUrl(this.path(l.file)),m=l.root||s(l.file),f;this.mapOpts.sourcesContent===!1?(f=new e(l.text),f.sourcesContent&&(f.sourcesContent=null)):f=l.consumer(),this.map.applySourceMap(f,a,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let l;for(let a=this.root.nodes.length-1;a>=0;a--)l=this.root.nodes[a],l.type==="comment"&&l.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(a)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),h&&o&&this.isMap())return this.generateMap();{let l="";return this.stringify(this.root,a=>{l+=a}),[l]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let l=this.previous()[0].consumer();l.file=this.outputFile(),this.map=t.fromSourceMap(l,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let l=1,a=1,m="<no source>",f={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,S;this.stringify(this.root,(b,v,E)=>{if(this.css+=b,v&&E!=="end"&&(f.generated.line=l,f.generated.column=a-1,v.source&&v.source.start?(f.source=this.sourcePath(v),f.original.line=v.source.start.line,f.original.column=v.source.start.column-1,this.map.addMapping(f)):(f.source=m,f.original.line=1,f.original.column=0,this.map.addMapping(f))),g=b.match(/\n/g),g?(l+=g.length,S=b.lastIndexOf(`
     23`),a=b.length-S):a+=b.length,v&&E!=="start"){let w=v.parent||{raws:{}};(!(v.type==="decl"||v.type==="atrule"&&!v.nodes)||v!==w.last||w.raws.semicolon)&&(v.source&&v.source.end?(f.source=this.sourcePath(v),f.original.line=v.source.end.line,f.original.column=v.source.end.column-1,f.generated.line=l,f.generated.column=a-2,this.map.addMapping(f)):(f.source=m,f.original.line=1,f.original.column=0,f.generated.line=l,f.generated.column=a-1,this.map.addMapping(f)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(l=>l.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let l=this.mapOpts.annotation;return typeof l<"u"&&l!==!0?!1:this.previous().length?this.previous().some(a=>a.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(l=>l.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(l){if(this.mapOpts.absolute||l.charCodeAt(0)===60||/^\w+:\/\//.test(l))return l;let a=this.memoizedPaths.get(l);if(a)return a;let m=this.opts.to?s(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=s(r(m,this.mapOpts.annotation)));let f=i(m,l);return this.memoizedPaths.set(l,f),f}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(l=>{if(l.source&&l.source.input.map){let a=l.source.input.map;this.previousMaps.includes(a)||this.previousMaps.push(a)}});else{let l=new p(this.originalCSS,this.opts);l.map&&this.previousMaps.push(l.map)}return this.previousMaps}setSourcesContent(){let l={};if(this.root)this.root.walk(a=>{if(a.source){let m=a.source.input.from;if(m&&!l[m]){l[m]=!0;let f=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(f,a.source.input.css)}}});else if(this.css){let a=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(a,this.css)}}sourcePath(l){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(l.source.input.from):this.toUrl(this.path(l.source.input.from))}toBase64(l){return Buffer?Buffer.from(l).toString("base64"):window.btoa(unescape(encodeURIComponent(l)))}toFileUrl(l){let a=this.memoizedFileURLs.get(l);if(a)return a;if(c){let m=c(l).toString();return this.memoizedFileURLs.set(l,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(l){let a=this.memoizedURLs.get(l);if(a)return a;u==="\\"&&(l=l.replace(/\\/g,"/"));let m=encodeURI(l).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(l,m),m}}return $t=n,$t}var Bt,Ts;function gt(){if(Ts)return Bt;Ts=1;let e=dt();class t extends e{constructor(i){super(i),this.type="comment"}}return Bt=t,t.default=t,Bt}var zt,_s;function Me(){if(_s)return zt;_s=1;let{isClean:e,my:t}=Qr(),s=pt(),i=gt(),r=dt(),u,c,p,o;function h(l){return l.map(a=>(a.nodes&&(a.nodes=h(a.nodes)),delete a.source,a))}function n(l){if(l[e]=!1,l.proxyOf.nodes)for(let a of l.proxyOf.nodes)n(a)}class d extends r{append(...a){for(let m of a){let f=this.normalize(m,this.last);for(let g of f)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(a){if(super.cleanRaws(a),this.nodes)for(let m of this.nodes)m.cleanRaws(a)}each(a){if(!this.proxyOf.nodes)return;let m=this.getIterator(),f,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(f=this.indexes[m],g=a(this.proxyOf.nodes[f],f),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(a){return this.nodes.every(a)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let a=this.lastEach;return this.indexes[a]=0,a}getProxyProcessor(){return{get(a,m){return m==="proxyOf"?a:a[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...f)=>a[m](...f.map(g=>typeof g=="function"?(S,b)=>g(S.toProxy(),b):g)):m==="every"||m==="some"?f=>a[m]((g,...S)=>f(g.toProxy(),...S)):m==="root"?()=>a.root().toProxy():m==="nodes"?a.nodes.map(f=>f.toProxy()):m==="first"||m==="last"?a[m].toProxy():a[m]:a[m]},set(a,m,f){return a[m]===f||(a[m]=f,(m==="name"||m==="params"||m==="selector")&&a.markDirty()),!0}}}index(a){return typeof a=="number"?a:(a.proxyOf&&(a=a.proxyOf),this.proxyOf.nodes.indexOf(a))}insertAfter(a,m){let f=this.index(a),g=this.normalize(m,this.proxyOf.nodes[f]).reverse();f=this.index(a);for(let b of g)this.proxyOf.nodes.splice(f+1,0,b);let S;for(let b in this.indexes)S=this.indexes[b],f<S&&(this.indexes[b]=S+g.length);return this.markDirty(),this}insertBefore(a,m){let f=this.index(a),g=f===0?"prepend":!1,S=this.normalize(m,this.proxyOf.nodes[f],g).reverse();f=this.index(a);for(let v of S)this.proxyOf.nodes.splice(f,0,v);let b;for(let v in this.indexes)b=this.indexes[v],f<=b&&(this.indexes[v]=b+S.length);return this.markDirty(),this}normalize(a,m){if(typeof a=="string")a=h(u(a).nodes);else if(typeof a>"u")a=[];else if(Array.isArray(a)){a=a.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type==="root"&&this.type!=="document"){a=a.nodes.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type)a=[a];else if(a.prop){if(typeof a.value>"u")throw new Error("Value field is missed in node creation");typeof a.value!="string"&&(a.value=String(a.value)),a=[new s(a)]}else if(a.selector)a=[new c(a)];else if(a.name)a=[new p(a)];else if(a.text)a=[new i(a)];else throw new Error("Unknown node type in node creation");return a.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&n(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...a){a=a.reverse();for(let m of a){let f=this.normalize(m,this.first,"prepend").reverse();for(let g of f)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+f.length}return this.markDirty(),this}push(a){return a.parent=this,this.proxyOf.nodes.push(a),this}removeAll(){for(let a of this.proxyOf.nodes)a.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(a){a=this.index(a),this.proxyOf.nodes[a].parent=void 0,this.proxyOf.nodes.splice(a,1);let m;for(let f in this.indexes)m=this.indexes[f],m>=a&&(this.indexes[f]=m-1);return this.markDirty(),this}replaceValues(a,m,f){return f||(f=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(a,f))}),this.markDirty(),this}some(a){return this.nodes.some(a)}walk(a){return this.each((m,f)=>{let g;try{g=a(m,f)}catch(S){throw m.addToError(S)}return g!==!1&&m.walk&&(g=m.walk(a)),g})}walkAtRules(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="atrule"&&a.test(f.name))return m(f,g)}):this.walk((f,g)=>{if(f.type==="atrule"&&f.name===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="atrule")return m(f,g)}))}walkComments(a){return this.walk((m,f)=>{if(m.type==="comment")return a(m,f)})}walkDecls(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="decl"&&a.test(f.prop))return m(f,g)}):this.walk((f,g)=>{if(f.type==="decl"&&f.prop===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="decl")return m(f,g)}))}walkRules(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="rule"&&a.test(f.selector))return m(f,g)}):this.walk((f,g)=>{if(f.type==="rule"&&f.selector===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="rule")return m(f,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=l=>{u=l},d.registerRule=l=>{c=l},d.registerAtRule=l=>{p=l},d.registerRoot=l=>{o=l},zt=d,d.default=d,d.rebuild=l=>{l.type==="atrule"?Object.setPrototypeOf(l,p.prototype):l.type==="rule"?Object.setPrototypeOf(l,c.prototype):l.type==="decl"?Object.setPrototypeOf(l,s.prototype):l.type==="comment"?Object.setPrototypeOf(l,i.prototype):l.type==="root"&&Object.setPrototypeOf(l,o.prototype),l[t]=!0,l.nodes&&l.nodes.forEach(a=>{d.rebuild(a)})},zt}var Wt,ks;function Zr(){if(ks)return Wt;ks=1;let e=Me(),t,s;class i extends e{constructor(u){super({type:"document",...u}),this.nodes||(this.nodes=[])}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Wt=i,i.default=i,Wt}var jt,Ls;function Zi(){if(Ls)return jt;Ls=1;let e={};return jt=function(s){e[s]||(e[s]=!0,typeof console<"u"&&console.warn&&console.warn(s))},jt}var Vt,Ps;function Ki(){if(Ps)return Vt;Ps=1;class e{constructor(s,i={}){if(this.type="warning",this.text=s,i.node&&i.node.source){let r=i.node.rangeBy(i);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in i)this[r]=i[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Vt=e,e.default=e,Vt}var qt,Fs;function Kr(){if(Fs)return qt;Fs=1;let e=Ki();class t{constructor(i,r,u){this.processor=i,this.messages=[],this.root=r,this.opts=u,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let u=new e(i,r);return this.messages.push(u),u}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}}return qt=t,t.default=t,qt}var Gt,Us;function Vo(){if(Us)return Gt;Us=1;let e=39,t=34,s=92,i=47,r=10,u=32,c=12,p=9,o=13,h=91,n=93,d=40,l=41,a=123,m=125,f=59,g=42,S=58,b=64,v=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,y=/[\da-f]/i;return Gt=function(R,M={}){let C=R.css.valueOf(),I=M.ignoreErrors,_,N,ie,ne,F,z,q,J,D,T,U=C.length,O=0,G=[],k=[];function Q(){return O}function Z(L){throw R.error("Unclosed "+L,O)}function ue(){return k.length===0&&O>=U}function xe(L){if(k.length)return k.pop();if(O>=U)return;let te=L?L.ignoreUnclosed:!1;switch(_=C.charCodeAt(O),_){case r:case u:case p:case o:case c:{N=O;do N+=1,_=C.charCodeAt(N);while(_===u||_===r||_===p||_===o||_===c);T=["space",C.slice(O,N)],O=N-1;break}case h:case n:case a:case m:case S:case f:case l:{let j=String.fromCharCode(_);T=[j,j,O];break}case d:{if(J=G.length?G.pop()[1]:"",D=C.charCodeAt(O+1),J==="url"&&D!==e&&D!==t&&D!==u&&D!==r&&D!==p&&D!==c&&D!==o){N=O;do{if(z=!1,N=C.indexOf(")",N+1),N===-1)if(I||te){N=O;break}else Z("bracket");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["brackets",C.slice(O,N+1),O,N],O=N}else N=C.indexOf(")",O+1),ne=C.slice(O,N+1),N===-1||w.test(ne)?T=["(","(",O]:(T=["brackets",ne,O,N],O=N);break}case e:case t:{ie=_===e?"'":'"',N=O;do{if(z=!1,N=C.indexOf(ie,N+1),N===-1)if(I||te){N=O+1;break}else Z("string");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["string",C.slice(O,N+1),O,N],O=N;break}case b:{v.lastIndex=O+1,v.test(C),v.lastIndex===0?N=C.length-1:N=v.lastIndex-2,T=["at-word",C.slice(O,N+1),O,N],O=N;break}case s:{for(N=O,F=!0;C.charCodeAt(N+1)===s;)N+=1,F=!F;if(_=C.charCodeAt(N+1),F&&_!==i&&_!==u&&_!==r&&_!==p&&_!==o&&_!==c&&(N+=1,y.test(C.charAt(N)))){for(;y.test(C.charAt(N+1));)N+=1;C.charCodeAt(N+1)===u&&(N+=1)}T=["word",C.slice(O,N+1),O,N],O=N;break}default:{_===i&&C.charCodeAt(O+1)===g?(N=C.indexOf("*/",O+2)+1,N===0&&(I||te?N=C.length:Z("comment")),T=["comment",C.slice(O,N+1),O,N],O=N):(E.lastIndex=O+1,E.test(C),E.lastIndex===0?N=C.length-1:N=E.lastIndex-2,T=["word",C.slice(O,N+1),O,N],G.push(T),O=N);break}}return O++,T}function ve(L){k.push(L)}return{back:ve,endOfFile:ue,nextToken:xe,position:Q}},Gt}var Ht,$s;function es(){if($s)return Ht;$s=1;let e=Me();class t extends e{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}}return Ht=t,t.default=t,e.registerAtRule(t),Ht}var Yt,Bs;function Ve(){if(Bs)return Yt;Bs=1;let e=Me(),t,s;class i extends e{constructor(u){super(u),this.type="root",this.nodes||(this.nodes=[])}normalize(u,c,p){let o=super.normalize(u);if(c){if(p==="prepend")this.nodes.length>1?c.raws.before=this.nodes[1].raws.before:delete c.raws.before;else if(this.first!==c)for(let h of o)h.raws.before=c.raws.before}return o}removeChild(u,c){let p=this.index(u);return!c&&p===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[p].raws.before),super.removeChild(u)}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Yt=i,i.default=i,e.registerRoot(i),Yt}var Xt,zs;function en(){if(zs)return Xt;zs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let s=[" ",`
     24`,"     "];return e.split(t,s)},split(t,s,i){let r=[],u="",c=!1,p=0,o=!1,h="",n=!1;for(let d of t)n?n=!1:d==="\\"?n=!0:o?d===h&&(o=!1):d==='"'||d==="'"?(o=!0,h=d):d==="("?p+=1:d===")"?p>0&&(p-=1):p===0&&s.includes(d)&&(c=!0),c?(u!==""&&r.push(u.trim()),u="",c=!1):u+=d;return(i||u!=="")&&r.push(u.trim()),r}};return Xt=e,e.default=e,Xt}var Jt,Ws;function ts(){if(Ws)return Jt;Ws=1;let e=Me(),t=en();class s extends e{constructor(r){super(r),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(r){let u=this.selector?this.selector.match(/,\s*/):null,c=u?u[0]:","+this.raw("between","beforeOpen");this.selector=r.join(c)}}return Jt=s,s.default=s,e.registerRule(s),Jt}var Qt,js;function qo(){if(js)return Qt;js=1;let e=pt(),t=Vo(),s=gt(),i=es(),r=Ve(),u=ts(),c={empty:!0,space:!0};function p(h){for(let n=h.length-1;n>=0;n--){let d=h[n],l=d[3]||d[2];if(l)return l}}class o{constructor(n){this.input=n,this.root=new r,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:n,start:{column:1,line:1,offset:0}}}atrule(n){let d=new i;d.name=n[1].slice(1),d.name===""&&this.unnamedAtrule(d,n),this.init(d,n[2]);let l,a,m,f=!1,g=!1,S=[],b=[];for(;!this.tokenizer.endOfFile();){if(n=this.tokenizer.nextToken(),l=n[0],l==="("||l==="["?b.push(l==="("?")":"]"):l==="{"&&b.length>0?b.push("}"):l===b[b.length-1]&&b.pop(),b.length===0)if(l===";"){d.source.end=this.getPosition(n[2]),d.source.end.offset++,this.semicolon=!0;break}else if(l==="{"){g=!0;break}else if(l==="}"){if(S.length>0){for(m=S.length-1,a=S[m];a&&a[0]==="space";)a=S[--m];a&&(d.source.end=this.getPosition(a[3]||a[2]),d.source.end.offset++)}this.end(n);break}else S.push(n);else S.push(n);if(this.tokenizer.endOfFile()){f=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(S),S.length?(d.raws.afterName=this.spacesAndCommentsFromStart(S),this.raw(d,"params",S),f&&(n=S[S.length-1],d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(n){let d=this.colon(n);if(d===!1)return;let l=0,a;for(let m=d-1;m>=0&&(a=n[m],!(a[0]!=="space"&&(l+=1,l===2)));m--);throw this.input.error("Missed semicolon",a[0]==="word"?a[3]+1:a[2])}colon(n){let d=0,l,a,m;for(let[f,g]of n.entries()){if(l=g,a=l[0],a==="("&&(d+=1),a===")"&&(d-=1),d===0&&a===":")if(!m)this.doubleColon(l);else{if(m[0]==="word"&&m[1]==="progid")continue;return f}m=l}return!1}comment(n){let d=new s;this.init(d,n[2]),d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++;let l=n[1].slice(2,-2);if(/^\s*$/.test(l))d.text="",d.raws.left=l,d.raws.right="";else{let a=l.match(/^(\s*)([^]*\S)(\s*)$/);d.text=a[2],d.raws.left=a[1],d.raws.right=a[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(n,d){let l=new e;this.init(l,n[0][2]);let a=n[n.length-1];for(a[0]===";"&&(this.semicolon=!0,n.pop()),l.source.end=this.getPosition(a[3]||a[2]||p(n)),l.source.end.offset++;n[0][0]!=="word";)n.length===1&&this.unknownWord(n),l.raws.before+=n.shift()[1];for(l.source.start=this.getPosition(n[0][2]),l.prop="";n.length;){let b=n[0][0];if(b===":"||b==="space"||b==="comment")break;l.prop+=n.shift()[1]}l.raws.between="";let m;for(;n.length;)if(m=n.shift(),m[0]===":"){l.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),l.raws.between+=m[1];(l.prop[0]==="_"||l.prop[0]==="*")&&(l.raws.before+=l.prop[0],l.prop=l.prop.slice(1));let f=[],g;for(;n.length&&(g=n[0][0],!(g!=="space"&&g!=="comment"));)f.push(n.shift());this.precheckMissedSemicolon(n);for(let b=n.length-1;b>=0;b--){if(m=n[b],m[1].toLowerCase()==="!important"){l.important=!0;let v=this.stringFrom(n,b);v=this.spacesFromEnd(n)+v,v!==" !important"&&(l.raws.important=v);break}else if(m[1].toLowerCase()==="important"){let v=n.slice(0),E="";for(let w=b;w>0;w--){let y=v[w][0];if(E.trim().indexOf("!")===0&&y!=="space")break;E=v.pop()[1]+E}E.trim().indexOf("!")===0&&(l.important=!0,l.raws.important=E,n=v)}if(m[0]!=="space"&&m[0]!=="comment")break}n.some(b=>b[0]!=="space"&&b[0]!=="comment")&&(l.raws.between+=f.map(b=>b[1]).join(""),f=[]),this.raw(l,"value",f.concat(n),d),l.value.includes(":")&&!d&&this.checkMissedSemicolon(n)}doubleColon(n){throw this.input.error("Double colon",{offset:n[2]},{offset:n[2]+n[1].length})}emptyRule(n){let d=new u;this.init(d,n[2]),d.selector="",d.raws.between="",this.current=d}end(n){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(n[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(n)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(n){if(this.spaces+=n[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(n){let d=this.input.fromOffset(n);return{column:d.col,line:d.line,offset:n}}init(n,d){this.current.push(n),n.source={input:this.input,start:this.getPosition(d)},n.raws.before=this.spaces,this.spaces="",n.type!=="comment"&&(this.semicolon=!1)}other(n){let d=!1,l=null,a=!1,m=null,f=[],g=n[1].startsWith("--"),S=[],b=n;for(;b;){if(l=b[0],S.push(b),l==="("||l==="[")m||(m=b),f.push(l==="("?")":"]");else if(g&&a&&l==="{")m||(m=b),f.push("}");else if(f.length===0)if(l===";")if(a){this.decl(S,g);return}else break;else if(l==="{"){this.rule(S);return}else if(l==="}"){this.tokenizer.back(S.pop()),d=!0;break}else l===":"&&(a=!0);else l===f[f.length-1]&&(f.pop(),f.length===0&&(m=null));b=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),f.length>0&&this.unclosedBracket(m),d&&a){if(!g)for(;S.length&&(b=S[S.length-1][0],!(b!=="space"&&b!=="comment"));)this.tokenizer.back(S.pop());this.decl(S,g)}else this.unknownWord(S)}parse(){let n;for(;!this.tokenizer.endOfFile();)switch(n=this.tokenizer.nextToken(),n[0]){case"space":this.spaces+=n[1];break;case";":this.freeSemicolon(n);break;case"}":this.end(n);break;case"comment":this.comment(n);break;case"at-word":this.atrule(n);break;case"{":this.emptyRule(n);break;default:this.other(n);break}this.endFile()}precheckMissedSemicolon(){}raw(n,d,l,a){let m,f,g=l.length,S="",b=!0,v,E;for(let w=0;w<g;w+=1)m=l[w],f=m[0],f==="space"&&w===g-1&&!a?b=!1:f==="comment"?(E=l[w-1]?l[w-1][0]:"empty",v=l[w+1]?l[w+1][0]:"empty",!c[E]&&!c[v]?S.slice(-1)===","?b=!1:S+=m[1]:b=!1):S+=m[1];if(!b){let w=l.reduce((y,x)=>y+x[1],"");n.raws[d]={raw:w,value:S}}n[d]=S}rule(n){n.pop();let d=new u;this.init(d,n[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(n),this.raw(d,"selector",n),this.current=d}spacesAndCommentsFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],!(d!=="space"&&d!=="comment"));)l=n.pop()[1]+l;return l}spacesAndCommentsFromStart(n){let d,l="";for(;n.length&&(d=n[0][0],!(d!=="space"&&d!=="comment"));)l+=n.shift()[1];return l}spacesFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],d==="space");)l=n.pop()[1]+l;return l}stringFrom(n,d){let l="";for(let a=d;a<n.length;a++)l+=n[a][1];return n.splice(d,n.length-d),l}unclosedBlock(){let n=this.current.source.start;throw this.input.error("Unclosed block",n.line,n.column)}unclosedBracket(n){throw this.input.error("Unclosed bracket",{offset:n[2]},{offset:n[2]+1})}unexpectedClose(n){throw this.input.error("Unexpected }",{offset:n[2]},{offset:n[2]+1})}unknownWord(n){throw this.input.error("Unknown word",{offset:n[0][2]},{offset:n[0][2]+n[0][1].length})}unnamedAtrule(n,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Qt=o,Qt}var Zt,Vs;function rs(){if(Vs)return Zt;Vs=1;let e=Me(),t=qo(),s=mt();function i(r,u){let c=new s(r,u),p=new t(c);try{p.parse()}catch(o){throw o}return p.root}return Zt=i,i.default=i,e.registerParse(i),Zt}var Kt,qs;function tn(){if(qs)return Kt;qs=1;let{isClean:e,my:t}=Qr(),s=Qi(),i=ht(),r=Me(),u=Zr(),c=Zi(),p=Kr(),o=rs(),h=Ve(),n={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},l={Once:!0,postcssPlugin:!0,prepare:!0},a=0;function m(E){return typeof E=="object"&&typeof E.then=="function"}function f(E){let w=!1,y=n[E.type];return E.type==="decl"?w=E.prop.toLowerCase():E.type==="atrule"&&(w=E.name.toLowerCase()),w&&E.append?[y,y+"-"+w,a,y+"Exit",y+"Exit-"+w]:w?[y,y+"-"+w,y+"Exit",y+"Exit-"+w]:E.append?[y,a,y+"Exit"]:[y,y+"Exit"]}function g(E){let w;return E.type==="document"?w=["Document",a,"DocumentExit"]:E.type==="root"?w=["Root",a,"RootExit"]:w=f(E),{eventIndex:0,events:w,iterator:0,node:E,visitorIndex:0,visitors:[]}}function S(E){return E[e]=!1,E.nodes&&E.nodes.forEach(w=>S(w)),E}let b={};class v{constructor(w,y,x){this.stringified=!1,this.processed=!1;let R;if(typeof y=="object"&&y!==null&&(y.type==="root"||y.type==="document"))R=S(y);else if(y instanceof v||y instanceof p)R=S(y.root),y.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=y.map);else{let M=o;x.syntax&&(M=x.syntax.parse),x.parser&&(M=x.parser),M.parse&&(M=M.parse);try{R=M(y,x)}catch(C){this.processed=!0,this.error=C}R&&!R[t]&&r.rebuild(R)}this.result=new p(w,R,x),this.helpers={...b,postcss:b,result:this.result},this.plugins=this.processor.plugins.map(M=>typeof M=="object"&&M.prepare?{...M,...M.prepare(this.result)}:M)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(w){return this.async().catch(w)}finally(w){return this.async().then(w,w)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(w,y){let x=this.result.lastPlugin;try{y&&y.addToError(w),this.error=w,w.name==="CssSyntaxError"&&!w.plugin?(w.plugin=x.postcssPlugin,w.setMessage()):x.postcssVersion}catch(R){console&&console.error&&console.error(R)}return w}prepareVisitors(){this.listeners={};let w=(y,x,R)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([y,R])};for(let y of this.plugins)if(typeof y=="object")for(let x in y){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${y.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!l[x])if(typeof y[x]=="object")for(let R in y[x])R==="*"?w(y,x,y[x][R]):w(y,x+"-"+R.toLowerCase(),y[x][R]);else typeof y[x]=="function"&&w(y,x,y[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let w=0;w<this.plugins.length;w++){let y=this.plugins[w],x=this.runOnRoot(y);if(m(x))try{await x}catch(R){throw this.handleError(R)}}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];){w[e]=!0;let y=[g(w)];for(;y.length>0;){let x=this.visitTick(y);if(m(x))try{await x}catch(R){let M=y[y.length-1].node;throw this.handleError(R,M)}}}if(this.listeners.OnceExit)for(let[y,x]of this.listeners.OnceExit){this.result.lastPlugin=y;try{if(w.type==="document"){let R=w.nodes.map(M=>x(M,this.helpers));await Promise.all(R)}else await x(w,this.helpers)}catch(R){throw this.handleError(R)}}}return this.processed=!0,this.stringify()}runOnRoot(w){this.result.lastPlugin=w;try{if(typeof w=="object"&&w.Once){if(this.result.root.type==="document"){let y=this.result.root.nodes.map(x=>w.Once(x,this.helpers));return m(y[0])?Promise.all(y):y}return w.Once(this.result.root,this.helpers)}else if(typeof w=="function")return w(this.result.root,this.result)}catch(y){throw this.handleError(y)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let w=this.result.opts,y=i;w.syntax&&(y=w.syntax.stringify),w.stringifier&&(y=w.stringifier),y.stringify&&(y=y.stringify);let R=new s(y,this.result.root,this.result.opts).generate();return this.result.css=R[0],this.result.map=R[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let w of this.plugins){let y=this.runOnRoot(w);if(m(y))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];)w[e]=!0,this.walkSync(w);if(this.listeners.OnceExit)if(w.type==="document")for(let y of w.nodes)this.visitSync(this.listeners.OnceExit,y);else this.visitSync(this.listeners.OnceExit,w)}return this.result}then(w,y){return this.async().then(w,y)}toString(){return this.css}visitSync(w,y){for(let[x,R]of w){this.result.lastPlugin=x;let M;try{M=R(y,this.helpers)}catch(C){throw this.handleError(C,y.proxyOf)}if(y.type!=="root"&&y.type!=="document"&&!y.parent)return!0;if(m(M))throw this.getAsyncError()}}visitTick(w){let y=w[w.length-1],{node:x,visitors:R}=y;if(x.type!=="root"&&x.type!=="document"&&!x.parent){w.pop();return}if(R.length>0&&y.visitorIndex<R.length){let[C,I]=R[y.visitorIndex];y.visitorIndex+=1,y.visitorIndex===R.length&&(y.visitors=[],y.visitorIndex=0),this.result.lastPlugin=C;try{return I(x.toProxy(),this.helpers)}catch(_){throw this.handleError(_,x)}}if(y.iterator!==0){let C=y.iterator,I;for(;I=x.nodes[x.indexes[C]];)if(x.indexes[C]+=1,!I[e]){I[e]=!0,w.push(g(I));return}y.iterator=0,delete x.indexes[C]}let M=y.events;for(;y.eventIndex<M.length;){let C=M[y.eventIndex];if(y.eventIndex+=1,C===a){x.nodes&&x.nodes.length&&(x[e]=!0,y.iterator=x.getIterator());return}else if(this.listeners[C]){y.visitors=this.listeners[C];return}}w.pop()}walkSync(w){w[e]=!0;let y=f(w);for(let x of y)if(x===a)w.nodes&&w.each(R=>{R[e]||this.walkSync(R)});else{let R=this.listeners[x];if(R&&this.visitSync(R,w.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return v.registerPostcss=E=>{b=E},Kt=v,v.default=v,h.registerLazyResult(v),u.registerLazyResult(v),Kt}var er,Gs;function Go(){if(Gs)return er;Gs=1;let e=Qi(),t=ht(),s=Zi(),i=rs(),r=Kr();class u{constructor(p,o,h){o=o.toString(),this.stringified=!1,this._processor=p,this._css=o,this._opts=h,this._map=void 0;let n,d=t;this.result=new r(this._processor,n,this._opts),this.result.css=o;let l=this;Object.defineProperty(this.result,"root",{get(){return l.root}});let a=new e(d,n,this._opts,o);if(a.isMap()){let[m,f]=a.generate();m&&(this.result.css=m),f&&(this.result.map=f)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(p){return this.async().catch(p)}finally(p){return this.async().then(p,p)}sync(){if(this.error)throw this.error;return this.result}then(p,o){return this.async().then(p,o)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let p,o=i;try{p=o(this._css,this._opts)}catch(h){this.error=h}if(this.error)throw this.error;return this._root=p,p}get[Symbol.toStringTag](){return"NoWorkResult"}}return er=u,u.default=u,er}var tr,Hs;function Ho(){if(Hs)return tr;Hs=1;let e=Go(),t=tn(),s=Zr(),i=Ve();class r{constructor(c=[]){this.version="8.4.38",this.plugins=this.normalize(c)}normalize(c){let p=[];for(let o of c)if(o.postcss===!0?o=o():o.postcss&&(o=o.postcss),typeof o=="object"&&Array.isArray(o.plugins))p=p.concat(o.plugins);else if(typeof o=="object"&&o.postcssPlugin)p.push(o);else if(typeof o=="function")p.push(o);else if(!(typeof o=="object"&&(o.parse||o.stringify)))throw new Error(o+" is not a PostCSS plugin");return p}process(c,p={}){return!this.plugins.length&&!p.parser&&!p.stringifier&&!p.syntax?new e(this,c,p):new t(this,c,p)}use(c){return this.plugins=this.plugins.concat(this.normalize([c])),this}}return tr=r,r.default=r,i.registerProcessor(r),s.registerProcessor(r),tr}var rr,Ys;function Yo(){if(Ys)return rr;Ys=1;let e=pt(),t=Ji(),s=gt(),i=es(),r=mt(),u=Ve(),c=ts();function p(o,h){if(Array.isArray(o))return o.map(l=>p(l));let{inputs:n,...d}=o;if(n){h=[];for(let l of n){let a={...l,__proto__:r.prototype};a.map&&(a.map={...a.map,__proto__:t.prototype}),h.push(a)}}if(d.nodes&&(d.nodes=o.nodes.map(l=>p(l,h))),d.source){let{inputId:l,...a}=d.source;d.source=a,l!=null&&(d.source.input=h[l])}if(d.type==="root")return new u(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new c(d);if(d.type==="comment")return new s(d);if(d.type==="atrule")return new i(d);throw new Error("Unknown node type: "+o.type)}return rr=p,p.default=p,rr}var sr,Xs;function Xo(){if(Xs)return sr;Xs=1;let e=Jr(),t=pt(),s=tn(),i=Me(),r=Ho(),u=ht(),c=Yo(),p=Zr(),o=Ki(),h=gt(),n=es(),d=Kr(),l=mt(),a=rs(),m=en(),f=ts(),g=Ve(),S=dt();function b(...v){return v.length===1&&Array.isArray(v[0])&&(v=v[0]),new r(v)}return b.plugin=function(E,w){let y=!1;function x(...M){console&&console.warn&&!y&&(y=!0,console.warn(E+`: postcss.plugin was deprecated. Migration guide:
    2525https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(E+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
    26 https://www.w3ctech.com/topic/2226`));let C=w(...M);return C.postcssPlugin=E,C.postcssVersion=new r().version,C}let R;return Object.defineProperty(x,"postcss",{get(){return R||(R=x()),R}}),x.process=function(M,C,I){return b([x(I)]).process(M,C)},x},b.stringify=u,b.parse=a,b.fromJSON=f,b.list=m,b.comment=v=>new h(v),b.atRule=v=>new n(v),b.decl=v=>new t(v),b.rule=v=>new c(v),b.root=v=>new g(v),b.document=v=>new p(v),b.CssSyntaxError=e,b.Declaration=t,b.Container=i,b.Processor=r,b.Document=p,b.Comment=h,b.Warning=o,b.AtRule=n,b.Result=d,b.Input=l,b.Rule=c,b.Root=g,b.Node=S,s.registerPostcss(b),sr=b,b.default=b,sr}var Xo=Yo(),Y=Fo(Xo);Y.stringify;Y.fromJSON;Y.plugin;Y.parse;Y.list;Y.document;Y.comment;Y.atRule;Y.rule;Y.decl;Y.root;Y.CssSyntaxError;Y.Declaration;Y.Container;Y.Processor;Y.Document;Y.Comment;Y.Warning;Y.AtRule;Y.Result;Y.Input;Y.Rule;Y.Root;Y.Node;var Jo=Object.defineProperty,Qo=(e,t,s)=>t in e?Jo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,de=(e,t,s)=>Qo(e,typeof t!="symbol"?t+"":t,s);Date.now().toString();function Zo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ko(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}),s}var Qe={exports:{}},Js;function ea(){if(Js)return Qe.exports;Js=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Qe.exports=t(),Qe.exports.createColors=t,Qe.exports}var ta={},ra=Object.freeze(Object.defineProperty({__proto__:null,default:ta},Symbol.toStringTag,{value:"Module"})),ge=Ko(ra),ir,Qs;function ss(){if(Qs)return ir;Qs=1;let e=ea(),t=ge;class s extends Error{constructor(r,u,f,p,o,h){super(r),this.name="CssSyntaxError",this.reason=r,o&&(this.file=o),p&&(this.source=p),h&&(this.plugin=h),typeof u<"u"&&typeof f<"u"&&(typeof u=="number"?(this.line=u,this.column=f):(this.line=u.line,this.column=u.column,this.endLine=f.line,this.endColumn=f.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(r){if(!this.source)return"";let u=this.source;r==null&&(r=e.isColorSupported),t&&r&&(u=t(u));let f=u.split(/\r?\n/),p=Math.max(this.line-3,0),o=Math.min(this.line+2,f.length),h=String(o).length,n,d;if(r){let{bold:l,gray:a,red:m}=e.createColors(!0);n=c=>l(m(c)),d=c=>a(c)}else n=d=l=>l;return f.slice(p,o).map((l,a)=>{let m=p+1+a,c=" "+(" "+m).slice(-h)+" | ";if(m===this.line){let g=d(c.replace(/\d/g," "))+l.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+d(c)+l+`
    27  `+g+n("^")}return" "+d(c)+l}).join(`
     26https://www.w3ctech.com/topic/2226`));let C=w(...M);return C.postcssPlugin=E,C.postcssVersion=new r().version,C}let R;return Object.defineProperty(x,"postcss",{get(){return R||(R=x()),R}}),x.process=function(M,C,I){return b([x(I)]).process(M,C)},x},b.stringify=u,b.parse=a,b.fromJSON=c,b.list=m,b.comment=v=>new h(v),b.atRule=v=>new n(v),b.decl=v=>new t(v),b.rule=v=>new f(v),b.root=v=>new g(v),b.document=v=>new p(v),b.CssSyntaxError=e,b.Declaration=t,b.Container=i,b.Processor=r,b.Document=p,b.Comment=h,b.Warning=o,b.AtRule=n,b.Result=d,b.Input=l,b.Rule=f,b.Root=g,b.Node=S,s.registerPostcss(b),sr=b,b.default=b,sr}var Jo=Xo(),Y=Uo(Jo);Y.stringify;Y.fromJSON;Y.plugin;Y.parse;Y.list;Y.document;Y.comment;Y.atRule;Y.rule;Y.decl;Y.root;Y.CssSyntaxError;Y.Declaration;Y.Container;Y.Processor;Y.Document;Y.Comment;Y.Warning;Y.AtRule;Y.Result;Y.Input;Y.Rule;Y.Root;Y.Node;var Qo=Object.defineProperty,Zo=(e,t,s)=>t in e?Qo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,de=(e,t,s)=>Zo(e,typeof t!="symbol"?t+"":t,s);Date.now().toString();function Ko(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ea(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}),s}var Qe={exports:{}},Js;function ta(){if(Js)return Qe.exports;Js=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Qe.exports=t(),Qe.exports.createColors=t,Qe.exports}var ra={},sa=Object.freeze(Object.defineProperty({__proto__:null,default:ra},Symbol.toStringTag,{value:"Module"})),ge=ea(sa),ir,Qs;function ss(){if(Qs)return ir;Qs=1;let e=ta(),t=ge;class s extends Error{constructor(r,u,c,p,o,h){super(r),this.name="CssSyntaxError",this.reason=r,o&&(this.file=o),p&&(this.source=p),h&&(this.plugin=h),typeof u<"u"&&typeof c<"u"&&(typeof u=="number"?(this.line=u,this.column=c):(this.line=u.line,this.column=u.column,this.endLine=c.line,this.endColumn=c.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(r){if(!this.source)return"";let u=this.source;r==null&&(r=e.isColorSupported),t&&r&&(u=t(u));let c=u.split(/\r?\n/),p=Math.max(this.line-3,0),o=Math.min(this.line+2,c.length),h=String(o).length,n,d;if(r){let{bold:l,gray:a,red:m}=e.createColors(!0);n=f=>l(m(f)),d=f=>a(f)}else n=d=l=>l;return c.slice(p,o).map((l,a)=>{let m=p+1+a,f=" "+(" "+m).slice(-h)+" | ";if(m===this.line){let g=d(f.replace(/\d/g," "))+l.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+d(f)+l+`
     27 `+g+n("^")}return" "+d(f)+l}).join(`
    2828`)}toString(){let r=this.showSourceCode();return r&&(r=`
    2929
    … …  
    3434`,beforeDecl:`
    3535`,beforeOpen:" ",beforeRule:`
    36 `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:"    ",semicolon:!1};function t(i){return i[0].toUpperCase()+i.slice(1)}class s{constructor(r){this.builder=r}atrule(r,u){let f="@"+r.name,p=r.params?this.rawValue(r,"params"):"";if(typeof r.raws.afterName<"u"?f+=r.raws.afterName:p&&(f+=" "),r.nodes)this.block(r,f+p);else{let o=(r.raws.between||"")+(u?";":"");this.builder(f+p+o,r)}}beforeAfter(r,u){let f;r.type==="decl"?f=this.raw(r,null,"beforeDecl"):r.type==="comment"?f=this.raw(r,null,"beforeComment"):u==="before"?f=this.raw(r,null,"beforeRule"):f=this.raw(r,null,"beforeClose");let p=r.parent,o=0;for(;p&&p.type!=="root";)o+=1,p=p.parent;if(f.includes(`
    37 `)){let h=this.raw(r,null,"indent");if(h.length)for(let n=0;n<o;n++)f+=h}return f}block(r,u){let f=this.raw(r,"between","beforeOpen");this.builder(u+f+"{",r,"start");let p;r.nodes&&r.nodes.length?(this.body(r),p=this.raw(r,"after")):p=this.raw(r,"after","emptyBody"),p&&this.builder(p),this.builder("}",r,"end")}body(r){let u=r.nodes.length-1;for(;u>0&&r.nodes[u].type==="comment";)u-=1;let f=this.raw(r,"semicolon");for(let p=0;p<r.nodes.length;p++){let o=r.nodes[p],h=this.raw(o,"before");h&&this.builder(h),this.stringify(o,u!==p||f)}}comment(r){let u=this.raw(r,"left","commentLeft"),f=this.raw(r,"right","commentRight");this.builder("/*"+u+r.text+f+"*/",r)}decl(r,u){let f=this.raw(r,"between","colon"),p=r.prop+f+this.rawValue(r,"value");r.important&&(p+=r.raws.important||" !important"),u&&(p+=";"),this.builder(p,r)}document(r){this.body(r)}raw(r,u,f){let p;if(f||(f=u),u&&(p=r.raws[u],typeof p<"u"))return p;let o=r.parent;if(f==="before"&&(!o||o.type==="root"&&o.first===r||o&&o.type==="document"))return"";if(!o)return e[f];let h=r.root();if(h.rawCache||(h.rawCache={}),typeof h.rawCache[f]<"u")return h.rawCache[f];if(f==="before"||f==="after")return this.beforeAfter(r,f);{let n="raw"+t(f);this[n]?p=this[n](h,r):h.walk(d=>{if(p=d.raws[u],typeof p<"u")return!1})}return typeof p>"u"&&(p=e[f]),h.rawCache[f]=p,p}rawBeforeClose(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length>0&&typeof f.raws.after<"u")return u=f.raws.after,u.includes(`
    38 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawBeforeComment(r,u){let f;return r.walkComments(p=>{if(typeof p.raws.before<"u")return f=p.raws.before,f.includes(`
    39 `)&&(f=f.replace(/[^\n]+$/,"")),!1}),typeof f>"u"?f=this.raw(u,null,"beforeDecl"):f&&(f=f.replace(/\S/g,"")),f}rawBeforeDecl(r,u){let f;return r.walkDecls(p=>{if(typeof p.raws.before<"u")return f=p.raws.before,f.includes(`
    40 `)&&(f=f.replace(/[^\n]+$/,"")),!1}),typeof f>"u"?f=this.raw(u,null,"beforeRule"):f&&(f=f.replace(/\S/g,"")),f}rawBeforeOpen(r){let u;return r.walk(f=>{if(f.type!=="decl"&&(u=f.raws.between,typeof u<"u"))return!1}),u}rawBeforeRule(r){let u;return r.walk(f=>{if(f.nodes&&(f.parent!==r||r.first!==f)&&typeof f.raws.before<"u")return u=f.raws.before,u.includes(`
    41 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawColon(r){let u;return r.walkDecls(f=>{if(typeof f.raws.between<"u")return u=f.raws.between.replace(/[^\s:]/g,""),!1}),u}rawEmptyBody(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length===0&&(u=f.raws.after,typeof u<"u"))return!1}),u}rawIndent(r){if(r.raws.indent)return r.raws.indent;let u;return r.walk(f=>{let p=f.parent;if(p&&p!==r&&p.parent&&p.parent===r&&typeof f.raws.before<"u"){let o=f.raws.before.split(`
    42 `);return u=o[o.length-1],u=u.replace(/\S/g,""),!1}}),u}rawSemicolon(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length&&f.last.type==="decl"&&(u=f.raws.semicolon,typeof u<"u"))return!1}),u}rawValue(r,u){let f=r[u],p=r.raws[u];return p&&p.value===f?p.raw:f}root(r){this.body(r),r.raws.after&&this.builder(r.raws.after)}rule(r){this.block(r,this.rawValue(r,"selector")),r.raws.ownSemicolon&&this.builder(r.raws.ownSemicolon,r,"end")}stringify(r,u){if(!this[r.type])throw new Error("Unknown AST node type "+r.type+". Maybe you need to change PostCSS stringifier.");this[r.type](r,u)}}return nr=s,s.default=s,nr}var or,ei;function yt(){if(ei)return or;ei=1;let e=rn();function t(s,i){new e(i).stringify(s)}return or=t,t.default=t,or}var ar,ti;function wt(){if(ti)return ar;ti=1;let{isClean:e,my:t}=is(),s=ss(),i=rn(),r=yt();function u(p,o){let h=new p.constructor;for(let n in p){if(!Object.prototype.hasOwnProperty.call(p,n)||n==="proxyCache")continue;let d=p[n],l=typeof d;n==="parent"&&l==="object"?o&&(h[n]=o):n==="source"?h[n]=d:Array.isArray(d)?h[n]=d.map(a=>u(a,h)):(l==="object"&&d!==null&&(d=u(d)),h[n]=d)}return h}class f{constructor(o={}){this.raws={},this[e]=!1,this[t]=!0;for(let h in o)if(h==="nodes"){this.nodes=[];for(let n of o[h])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[h]=o[h]}addToError(o){if(o.postcssNode=this,o.stack&&this.source&&/\n\s{4}at /.test(o.stack)){let h=this.source;o.stack=o.stack.replace(/\n\s{4}at /,`$&${h.input.from}:${h.start.line}:${h.start.column}$&`)}return o}after(o){return this.parent.insertAfter(this,o),this}assign(o={}){for(let h in o)this[h]=o[h];return this}before(o){return this.parent.insertBefore(this,o),this}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}clone(o={}){let h=u(this);for(let n in o)h[n]=o[n];return h}cloneAfter(o={}){let h=this.clone(o);return this.parent.insertAfter(this,h),h}cloneBefore(o={}){let h=this.clone(o);return this.parent.insertBefore(this,h),h}error(o,h={}){if(this.source){let{end:n,start:d}=this.rangeBy(h);return this.source.input.error(o,{column:d.column,line:d.line},{column:n.column,line:n.line},h)}return new s(o)}getProxyProcessor(){return{get(o,h){return h==="proxyOf"?o:h==="root"?()=>o.root().toProxy():o[h]},set(o,h,n){return o[h]===n||(o[h]=n,(h==="prop"||h==="value"||h==="name"||h==="params"||h==="important"||h==="text")&&o.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let o=this;for(;o=o.parent;)o[e]=!1}}next(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o+1]}positionBy(o,h){let n=this.source.start;if(o.index)n=this.positionInside(o.index,h);else if(o.word){h=this.toString();let d=h.indexOf(o.word);d!==-1&&(n=this.positionInside(d,h))}return n}positionInside(o,h){let n=h||this.toString(),d=this.source.start.column,l=this.source.start.line;for(let a=0;a<o;a++)n[a]===`
    43 `?(d=1,l+=1):d+=1;return{column:d,line:l}}prev(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o-1]}rangeBy(o){let h={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:h.column+1,line:h.line};if(o.word){let d=this.toString(),l=d.indexOf(o.word);l!==-1&&(h=this.positionInside(l,d),n=this.positionInside(l+o.word.length,d))}else o.start?h={column:o.start.column,line:o.start.line}:o.index&&(h=this.positionInside(o.index)),o.end?n={column:o.end.column,line:o.end.line}:typeof o.endIndex=="number"?n=this.positionInside(o.endIndex):o.index&&(n=this.positionInside(o.index+1));return(n.line<h.line||n.line===h.line&&n.column<=h.column)&&(n={column:h.column+1,line:h.line}),{end:n,start:h}}raw(o,h){return new i().raw(this,o,h)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...o){if(this.parent){let h=this,n=!1;for(let d of o)d===this?n=!0:n?(this.parent.insertAfter(h,d),h=d):this.parent.insertBefore(h,d);n||this.remove()}return this}root(){let o=this;for(;o.parent&&o.parent.type!=="document";)o=o.parent;return o}toJSON(o,h){let n={},d=h==null;h=h||new Map;let l=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let m=this[a];if(Array.isArray(m))n[a]=m.map(c=>typeof c=="object"&&c.toJSON?c.toJSON(null,h):c);else if(typeof m=="object"&&m.toJSON)n[a]=m.toJSON(null,h);else if(a==="source"){let c=h.get(m.input);c==null&&(c=l,h.set(m.input,l),l++),n[a]={end:m.end,inputId:c,start:m.start}}else n[a]=m}return d&&(n.inputs=[...h.keys()].map(a=>a.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(o=r){o.stringify&&(o=o.stringify);let h="";return o(this,n=>{h+=n}),h}warn(o,h,n){let d={node:this};for(let l in n)d[l]=n[l];return o.warn(h,d)}get proxyOf(){return this}}return ar=f,f.default=f,ar}var lr,ri;function bt(){if(ri)return lr;ri=1;let e=wt();class t extends e{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return lr=t,t.default=t,lr}var ur,si;function sa(){if(si)return ur;si=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return ur={nanoid:(i=21)=>{let r="",u=i;for(;u--;)r+=e[Math.random()*64|0];return r},customAlphabet:(i,r=21)=>(u=r)=>{let f="",p=u;for(;p--;)f+=i[Math.random()*i.length|0];return f}},ur}var cr,ii;function sn(){if(ii)return cr;ii=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:s,readFileSync:i}=ge,{dirname:r,join:u}=ge;function f(o){return Buffer?Buffer.from(o,"base64").toString():window.atob(o)}class p{constructor(h,n){if(n.map===!1)return;this.loadAnnotation(h),this.inline=this.startWith(this.annotation,"data:");let d=n.map?n.map.prev:void 0,l=this.loadMap(n.from,d);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=r(this.mapFile)),l&&(this.text=l)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(h){let n=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,l=/^data:application\/json;charset=utf-?8,/,a=/^data:application\/json,/;if(l.test(h)||a.test(h))return decodeURIComponent(h.substr(RegExp.lastMatch.length));if(n.test(h)||d.test(h))return f(h.substr(RegExp.lastMatch.length));let m=h.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(h){return h.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(h){return typeof h!="object"?!1:typeof h.mappings=="string"||typeof h._mappings=="string"||Array.isArray(h.sections)}loadAnnotation(h){let n=h.match(/\/\*\s*# sourceMappingURL=/gm);if(!n)return;let d=h.lastIndexOf(n.pop()),l=h.indexOf("*/",d);d>-1&&l>-1&&(this.annotation=this.getAnnotationURL(h.substring(d,l)))}loadFile(h){if(this.root=r(h),s(h))return this.mapFile=h,i(h,"utf-8").toString().trim()}loadMap(h,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let d=n(h);if(d){let l=this.loadFile(d);if(!l)throw new Error("Unable to load previous source map: "+d.toString());return l}}else{if(n instanceof e)return t.fromSourceMap(n).toString();if(n instanceof t)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return h&&(d=u(r(h),d)),this.loadFile(d)}}}startWith(h,n){return h?h.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return cr=p,p.default=p,cr}var fr,ni;function vt(){if(ni)return fr;ni=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:s,pathToFileURL:i}=ge,{isAbsolute:r,resolve:u}=ge,{nanoid:f}=sa(),p=ge,o=ss(),h=sn(),n=Symbol("fromOffsetCache"),d=!!(e&&t),l=!!(u&&r);class a{constructor(c,g={}){if(c===null||typeof c>"u"||typeof c=="object"&&!c.toString)throw new Error(`PostCSS received ${c} instead of CSS string`);if(this.css=c.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!l||/^\w+:\/\//.test(g.from)||r(g.from)?this.file=g.from:this.file=u(g.from)),l&&d){let S=new h(this.css,g);if(S.text){this.map=S;let b=S.consumer().file;!this.file&&b&&(this.file=this.mapResolve(b))}}this.file||(this.id="<input css "+f(6)+">"),this.map&&(this.map.file=this.from)}error(c,g,S,b={}){let v,E,w;if(g&&typeof g=="object"){let x=g,R=S;if(typeof x.offset=="number"){let M=this.fromOffset(x.offset);g=M.line,S=M.col}else g=x.line,S=x.column;if(typeof R.offset=="number"){let M=this.fromOffset(R.offset);E=M.line,w=M.col}else E=R.line,w=R.column}else if(!S){let x=this.fromOffset(g);g=x.line,S=x.col}let y=this.origin(g,S,E,w);return y?v=new o(c,y.endLine===void 0?y.line:{column:y.column,line:y.line},y.endLine===void 0?y.column:{column:y.endColumn,line:y.endLine},y.source,y.file,b.plugin):v=new o(c,E===void 0?g:{column:S,line:g},E===void 0?S:{column:w,line:E},this.css,this.file,b.plugin),v.input={column:S,endColumn:w,endLine:E,line:g,source:this.css},this.file&&(i&&(v.input.url=i(this.file).toString()),v.input.file=this.file),v}fromOffset(c){let g,S;if(this[n])S=this[n];else{let v=this.css.split(`
    44 `);S=new Array(v.length);let E=0;for(let w=0,y=v.length;w<y;w++)S[w]=E,E+=v[w].length+1;this[n]=S}g=S[S.length-1];let b=0;if(c>=g)b=S.length-1;else{let v=S.length-2,E;for(;b<v;)if(E=b+(v-b>>1),c<S[E])v=E-1;else if(c>=S[E+1])b=E+1;else{b=E;break}}return{col:c-S[b]+1,line:b+1}}mapResolve(c){return/^\w+:\/\//.test(c)?c:u(this.map.consumer().sourceRoot||this.map.root||".",c)}origin(c,g,S,b){if(!this.map)return!1;let v=this.map.consumer(),E=v.originalPositionFor({column:g,line:c});if(!E.source)return!1;let w;typeof S=="number"&&(w=v.originalPositionFor({column:b,line:S}));let y;r(E.source)?y=i(E.source):y=new URL(E.source,this.map.consumer().sourceRoot||i(this.map.mapFile));let x={column:E.column,endColumn:w&&w.column,endLine:w&&w.line,line:E.line,url:y.toString()};if(y.protocol==="file:")if(s)x.file=s(y);else throw new Error("file: protocol is not available in this PostCSS build");let R=v.sourceContentFor(E.source);return R&&(x.source=R),x}toJSON(){let c={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(c[g]=this[g]);return this.map&&(c.map={...this.map},c.map.consumerCache&&(c.map.consumerCache=void 0)),c}get from(){return this.file||this.id}}return fr=a,a.default=a,p&&p.registerInput&&p.registerInput(a),fr}var hr,oi;function nn(){if(oi)return hr;oi=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{dirname:s,relative:i,resolve:r,sep:u}=ge,{pathToFileURL:f}=ge,p=vt(),o=!!(e&&t),h=!!(s&&r&&i&&u);class n{constructor(l,a,m,c){this.stringify=l,this.mapOpts=m.map||{},this.root=a,this.opts=m,this.css=c,this.originalCSS=c,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let l;this.isInline()?l="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?l=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?l=this.mapOpts.annotation(this.opts.to,this.root):l=this.outputFile()+".map";let a=`
     36`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:"    ",semicolon:!1};function t(i){return i[0].toUpperCase()+i.slice(1)}class s{constructor(r){this.builder=r}atrule(r,u){let c="@"+r.name,p=r.params?this.rawValue(r,"params"):"";if(typeof r.raws.afterName<"u"?c+=r.raws.afterName:p&&(c+=" "),r.nodes)this.block(r,c+p);else{let o=(r.raws.between||"")+(u?";":"");this.builder(c+p+o,r)}}beforeAfter(r,u){let c;r.type==="decl"?c=this.raw(r,null,"beforeDecl"):r.type==="comment"?c=this.raw(r,null,"beforeComment"):u==="before"?c=this.raw(r,null,"beforeRule"):c=this.raw(r,null,"beforeClose");let p=r.parent,o=0;for(;p&&p.type!=="root";)o+=1,p=p.parent;if(c.includes(`
     37`)){let h=this.raw(r,null,"indent");if(h.length)for(let n=0;n<o;n++)c+=h}return c}block(r,u){let c=this.raw(r,"between","beforeOpen");this.builder(u+c+"{",r,"start");let p;r.nodes&&r.nodes.length?(this.body(r),p=this.raw(r,"after")):p=this.raw(r,"after","emptyBody"),p&&this.builder(p),this.builder("}",r,"end")}body(r){let u=r.nodes.length-1;for(;u>0&&r.nodes[u].type==="comment";)u-=1;let c=this.raw(r,"semicolon");for(let p=0;p<r.nodes.length;p++){let o=r.nodes[p],h=this.raw(o,"before");h&&this.builder(h),this.stringify(o,u!==p||c)}}comment(r){let u=this.raw(r,"left","commentLeft"),c=this.raw(r,"right","commentRight");this.builder("/*"+u+r.text+c+"*/",r)}decl(r,u){let c=this.raw(r,"between","colon"),p=r.prop+c+this.rawValue(r,"value");r.important&&(p+=r.raws.important||" !important"),u&&(p+=";"),this.builder(p,r)}document(r){this.body(r)}raw(r,u,c){let p;if(c||(c=u),u&&(p=r.raws[u],typeof p<"u"))return p;let o=r.parent;if(c==="before"&&(!o||o.type==="root"&&o.first===r||o&&o.type==="document"))return"";if(!o)return e[c];let h=r.root();if(h.rawCache||(h.rawCache={}),typeof h.rawCache[c]<"u")return h.rawCache[c];if(c==="before"||c==="after")return this.beforeAfter(r,c);{let n="raw"+t(c);this[n]?p=this[n](h,r):h.walk(d=>{if(p=d.raws[u],typeof p<"u")return!1})}return typeof p>"u"&&(p=e[c]),h.rawCache[c]=p,p}rawBeforeClose(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length>0&&typeof c.raws.after<"u")return u=c.raws.after,u.includes(`
     38`)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawBeforeComment(r,u){let c;return r.walkComments(p=>{if(typeof p.raws.before<"u")return c=p.raws.before,c.includes(`
     39`)&&(c=c.replace(/[^\n]+$/,"")),!1}),typeof c>"u"?c=this.raw(u,null,"beforeDecl"):c&&(c=c.replace(/\S/g,"")),c}rawBeforeDecl(r,u){let c;return r.walkDecls(p=>{if(typeof p.raws.before<"u")return c=p.raws.before,c.includes(`
     40`)&&(c=c.replace(/[^\n]+$/,"")),!1}),typeof c>"u"?c=this.raw(u,null,"beforeRule"):c&&(c=c.replace(/\S/g,"")),c}rawBeforeOpen(r){let u;return r.walk(c=>{if(c.type!=="decl"&&(u=c.raws.between,typeof u<"u"))return!1}),u}rawBeforeRule(r){let u;return r.walk(c=>{if(c.nodes&&(c.parent!==r||r.first!==c)&&typeof c.raws.before<"u")return u=c.raws.before,u.includes(`
     41`)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawColon(r){let u;return r.walkDecls(c=>{if(typeof c.raws.between<"u")return u=c.raws.between.replace(/[^\s:]/g,""),!1}),u}rawEmptyBody(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length===0&&(u=c.raws.after,typeof u<"u"))return!1}),u}rawIndent(r){if(r.raws.indent)return r.raws.indent;let u;return r.walk(c=>{let p=c.parent;if(p&&p!==r&&p.parent&&p.parent===r&&typeof c.raws.before<"u"){let o=c.raws.before.split(`
     42`);return u=o[o.length-1],u=u.replace(/\S/g,""),!1}}),u}rawSemicolon(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length&&c.last.type==="decl"&&(u=c.raws.semicolon,typeof u<"u"))return!1}),u}rawValue(r,u){let c=r[u],p=r.raws[u];return p&&p.value===c?p.raw:c}root(r){this.body(r),r.raws.after&&this.builder(r.raws.after)}rule(r){this.block(r,this.rawValue(r,"selector")),r.raws.ownSemicolon&&this.builder(r.raws.ownSemicolon,r,"end")}stringify(r,u){if(!this[r.type])throw new Error("Unknown AST node type "+r.type+". Maybe you need to change PostCSS stringifier.");this[r.type](r,u)}}return nr=s,s.default=s,nr}var or,ei;function yt(){if(ei)return or;ei=1;let e=rn();function t(s,i){new e(i).stringify(s)}return or=t,t.default=t,or}var ar,ti;function wt(){if(ti)return ar;ti=1;let{isClean:e,my:t}=is(),s=ss(),i=rn(),r=yt();function u(p,o){let h=new p.constructor;for(let n in p){if(!Object.prototype.hasOwnProperty.call(p,n)||n==="proxyCache")continue;let d=p[n],l=typeof d;n==="parent"&&l==="object"?o&&(h[n]=o):n==="source"?h[n]=d:Array.isArray(d)?h[n]=d.map(a=>u(a,h)):(l==="object"&&d!==null&&(d=u(d)),h[n]=d)}return h}class c{constructor(o={}){this.raws={},this[e]=!1,this[t]=!0;for(let h in o)if(h==="nodes"){this.nodes=[];for(let n of o[h])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[h]=o[h]}addToError(o){if(o.postcssNode=this,o.stack&&this.source&&/\n\s{4}at /.test(o.stack)){let h=this.source;o.stack=o.stack.replace(/\n\s{4}at /,`$&${h.input.from}:${h.start.line}:${h.start.column}$&`)}return o}after(o){return this.parent.insertAfter(this,o),this}assign(o={}){for(let h in o)this[h]=o[h];return this}before(o){return this.parent.insertBefore(this,o),this}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}clone(o={}){let h=u(this);for(let n in o)h[n]=o[n];return h}cloneAfter(o={}){let h=this.clone(o);return this.parent.insertAfter(this,h),h}cloneBefore(o={}){let h=this.clone(o);return this.parent.insertBefore(this,h),h}error(o,h={}){if(this.source){let{end:n,start:d}=this.rangeBy(h);return this.source.input.error(o,{column:d.column,line:d.line},{column:n.column,line:n.line},h)}return new s(o)}getProxyProcessor(){return{get(o,h){return h==="proxyOf"?o:h==="root"?()=>o.root().toProxy():o[h]},set(o,h,n){return o[h]===n||(o[h]=n,(h==="prop"||h==="value"||h==="name"||h==="params"||h==="important"||h==="text")&&o.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let o=this;for(;o=o.parent;)o[e]=!1}}next(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o+1]}positionBy(o,h){let n=this.source.start;if(o.index)n=this.positionInside(o.index,h);else if(o.word){h=this.toString();let d=h.indexOf(o.word);d!==-1&&(n=this.positionInside(d,h))}return n}positionInside(o,h){let n=h||this.toString(),d=this.source.start.column,l=this.source.start.line;for(let a=0;a<o;a++)n[a]===`
     43`?(d=1,l+=1):d+=1;return{column:d,line:l}}prev(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o-1]}rangeBy(o){let h={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:h.column+1,line:h.line};if(o.word){let d=this.toString(),l=d.indexOf(o.word);l!==-1&&(h=this.positionInside(l,d),n=this.positionInside(l+o.word.length,d))}else o.start?h={column:o.start.column,line:o.start.line}:o.index&&(h=this.positionInside(o.index)),o.end?n={column:o.end.column,line:o.end.line}:typeof o.endIndex=="number"?n=this.positionInside(o.endIndex):o.index&&(n=this.positionInside(o.index+1));return(n.line<h.line||n.line===h.line&&n.column<=h.column)&&(n={column:h.column+1,line:h.line}),{end:n,start:h}}raw(o,h){return new i().raw(this,o,h)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...o){if(this.parent){let h=this,n=!1;for(let d of o)d===this?n=!0:n?(this.parent.insertAfter(h,d),h=d):this.parent.insertBefore(h,d);n||this.remove()}return this}root(){let o=this;for(;o.parent&&o.parent.type!=="document";)o=o.parent;return o}toJSON(o,h){let n={},d=h==null;h=h||new Map;let l=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let m=this[a];if(Array.isArray(m))n[a]=m.map(f=>typeof f=="object"&&f.toJSON?f.toJSON(null,h):f);else if(typeof m=="object"&&m.toJSON)n[a]=m.toJSON(null,h);else if(a==="source"){let f=h.get(m.input);f==null&&(f=l,h.set(m.input,l),l++),n[a]={end:m.end,inputId:f,start:m.start}}else n[a]=m}return d&&(n.inputs=[...h.keys()].map(a=>a.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(o=r){o.stringify&&(o=o.stringify);let h="";return o(this,n=>{h+=n}),h}warn(o,h,n){let d={node:this};for(let l in n)d[l]=n[l];return o.warn(h,d)}get proxyOf(){return this}}return ar=c,c.default=c,ar}var lr,ri;function bt(){if(ri)return lr;ri=1;let e=wt();class t extends e{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return lr=t,t.default=t,lr}var ur,si;function ia(){if(si)return ur;si=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return ur={nanoid:(i=21)=>{let r="",u=i;for(;u--;)r+=e[Math.random()*64|0];return r},customAlphabet:(i,r=21)=>(u=r)=>{let c="",p=u;for(;p--;)c+=i[Math.random()*i.length|0];return c}},ur}var cr,ii;function sn(){if(ii)return cr;ii=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:s,readFileSync:i}=ge,{dirname:r,join:u}=ge;function c(o){return Buffer?Buffer.from(o,"base64").toString():window.atob(o)}class p{constructor(h,n){if(n.map===!1)return;this.loadAnnotation(h),this.inline=this.startWith(this.annotation,"data:");let d=n.map?n.map.prev:void 0,l=this.loadMap(n.from,d);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=r(this.mapFile)),l&&(this.text=l)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(h){let n=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,l=/^data:application\/json;charset=utf-?8,/,a=/^data:application\/json,/;if(l.test(h)||a.test(h))return decodeURIComponent(h.substr(RegExp.lastMatch.length));if(n.test(h)||d.test(h))return c(h.substr(RegExp.lastMatch.length));let m=h.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(h){return h.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(h){return typeof h!="object"?!1:typeof h.mappings=="string"||typeof h._mappings=="string"||Array.isArray(h.sections)}loadAnnotation(h){let n=h.match(/\/\*\s*# sourceMappingURL=/gm);if(!n)return;let d=h.lastIndexOf(n.pop()),l=h.indexOf("*/",d);d>-1&&l>-1&&(this.annotation=this.getAnnotationURL(h.substring(d,l)))}loadFile(h){if(this.root=r(h),s(h))return this.mapFile=h,i(h,"utf-8").toString().trim()}loadMap(h,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let d=n(h);if(d){let l=this.loadFile(d);if(!l)throw new Error("Unable to load previous source map: "+d.toString());return l}}else{if(n instanceof e)return t.fromSourceMap(n).toString();if(n instanceof t)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return h&&(d=u(r(h),d)),this.loadFile(d)}}}startWith(h,n){return h?h.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return cr=p,p.default=p,cr}var fr,ni;function vt(){if(ni)return fr;ni=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:s,pathToFileURL:i}=ge,{isAbsolute:r,resolve:u}=ge,{nanoid:c}=ia(),p=ge,o=ss(),h=sn(),n=Symbol("fromOffsetCache"),d=!!(e&&t),l=!!(u&&r);class a{constructor(f,g={}){if(f===null||typeof f>"u"||typeof f=="object"&&!f.toString)throw new Error(`PostCSS received ${f} instead of CSS string`);if(this.css=f.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!l||/^\w+:\/\//.test(g.from)||r(g.from)?this.file=g.from:this.file=u(g.from)),l&&d){let S=new h(this.css,g);if(S.text){this.map=S;let b=S.consumer().file;!this.file&&b&&(this.file=this.mapResolve(b))}}this.file||(this.id="<input css "+c(6)+">"),this.map&&(this.map.file=this.from)}error(f,g,S,b={}){let v,E,w;if(g&&typeof g=="object"){let x=g,R=S;if(typeof x.offset=="number"){let M=this.fromOffset(x.offset);g=M.line,S=M.col}else g=x.line,S=x.column;if(typeof R.offset=="number"){let M=this.fromOffset(R.offset);E=M.line,w=M.col}else E=R.line,w=R.column}else if(!S){let x=this.fromOffset(g);g=x.line,S=x.col}let y=this.origin(g,S,E,w);return y?v=new o(f,y.endLine===void 0?y.line:{column:y.column,line:y.line},y.endLine===void 0?y.column:{column:y.endColumn,line:y.endLine},y.source,y.file,b.plugin):v=new o(f,E===void 0?g:{column:S,line:g},E===void 0?S:{column:w,line:E},this.css,this.file,b.plugin),v.input={column:S,endColumn:w,endLine:E,line:g,source:this.css},this.file&&(i&&(v.input.url=i(this.file).toString()),v.input.file=this.file),v}fromOffset(f){let g,S;if(this[n])S=this[n];else{let v=this.css.split(`
     44`);S=new Array(v.length);let E=0;for(let w=0,y=v.length;w<y;w++)S[w]=E,E+=v[w].length+1;this[n]=S}g=S[S.length-1];let b=0;if(f>=g)b=S.length-1;else{let v=S.length-2,E;for(;b<v;)if(E=b+(v-b>>1),f<S[E])v=E-1;else if(f>=S[E+1])b=E+1;else{b=E;break}}return{col:f-S[b]+1,line:b+1}}mapResolve(f){return/^\w+:\/\//.test(f)?f:u(this.map.consumer().sourceRoot||this.map.root||".",f)}origin(f,g,S,b){if(!this.map)return!1;let v=this.map.consumer(),E=v.originalPositionFor({column:g,line:f});if(!E.source)return!1;let w;typeof S=="number"&&(w=v.originalPositionFor({column:b,line:S}));let y;r(E.source)?y=i(E.source):y=new URL(E.source,this.map.consumer().sourceRoot||i(this.map.mapFile));let x={column:E.column,endColumn:w&&w.column,endLine:w&&w.line,line:E.line,url:y.toString()};if(y.protocol==="file:")if(s)x.file=s(y);else throw new Error("file: protocol is not available in this PostCSS build");let R=v.sourceContentFor(E.source);return R&&(x.source=R),x}toJSON(){let f={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(f[g]=this[g]);return this.map&&(f.map={...this.map},f.map.consumerCache&&(f.map.consumerCache=void 0)),f}get from(){return this.file||this.id}}return fr=a,a.default=a,p&&p.registerInput&&p.registerInput(a),fr}var hr,oi;function nn(){if(oi)return hr;oi=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{dirname:s,relative:i,resolve:r,sep:u}=ge,{pathToFileURL:c}=ge,p=vt(),o=!!(e&&t),h=!!(s&&r&&i&&u);class n{constructor(l,a,m,f){this.stringify=l,this.mapOpts=m.map||{},this.root=a,this.opts=m,this.css=f,this.originalCSS=f,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let l;this.isInline()?l="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?l=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?l=this.mapOpts.annotation(this.opts.to,this.root):l=this.outputFile()+".map";let a=`
    4545`;this.css.includes(`\r
    4646`)&&(a=`\r
    47 `),this.css+=a+"/*# sourceMappingURL="+l+" */"}applyPrevMaps(){for(let l of this.previous()){let a=this.toUrl(this.path(l.file)),m=l.root||s(l.file),c;this.mapOpts.sourcesContent===!1?(c=new e(l.text),c.sourcesContent&&(c.sourcesContent=null)):c=l.consumer(),this.map.applySourceMap(c,a,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let l;for(let a=this.root.nodes.length-1;a>=0;a--)l=this.root.nodes[a],l.type==="comment"&&l.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(a)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),h&&o&&this.isMap())return this.generateMap();{let l="";return this.stringify(this.root,a=>{l+=a}),[l]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let l=this.previous()[0].consumer();l.file=this.outputFile(),this.map=t.fromSourceMap(l,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let l=1,a=1,m="<no source>",c={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,S;this.stringify(this.root,(b,v,E)=>{if(this.css+=b,v&&E!=="end"&&(c.generated.line=l,c.generated.column=a-1,v.source&&v.source.start?(c.source=this.sourcePath(v),c.original.line=v.source.start.line,c.original.column=v.source.start.column-1,this.map.addMapping(c)):(c.source=m,c.original.line=1,c.original.column=0,this.map.addMapping(c))),g=b.match(/\n/g),g?(l+=g.length,S=b.lastIndexOf(`
    48 `),a=b.length-S):a+=b.length,v&&E!=="start"){let w=v.parent||{raws:{}};(!(v.type==="decl"||v.type==="atrule"&&!v.nodes)||v!==w.last||w.raws.semicolon)&&(v.source&&v.source.end?(c.source=this.sourcePath(v),c.original.line=v.source.end.line,c.original.column=v.source.end.column-1,c.generated.line=l,c.generated.column=a-2,this.map.addMapping(c)):(c.source=m,c.original.line=1,c.original.column=0,c.generated.line=l,c.generated.column=a-1,this.map.addMapping(c)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(l=>l.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let l=this.mapOpts.annotation;return typeof l<"u"&&l!==!0?!1:this.previous().length?this.previous().some(a=>a.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(l=>l.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(l){if(this.mapOpts.absolute||l.charCodeAt(0)===60||/^\w+:\/\//.test(l))return l;let a=this.memoizedPaths.get(l);if(a)return a;let m=this.opts.to?s(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=s(r(m,this.mapOpts.annotation)));let c=i(m,l);return this.memoizedPaths.set(l,c),c}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(l=>{if(l.source&&l.source.input.map){let a=l.source.input.map;this.previousMaps.includes(a)||this.previousMaps.push(a)}});else{let l=new p(this.originalCSS,this.opts);l.map&&this.previousMaps.push(l.map)}return this.previousMaps}setSourcesContent(){let l={};if(this.root)this.root.walk(a=>{if(a.source){let m=a.source.input.from;if(m&&!l[m]){l[m]=!0;let c=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(c,a.source.input.css)}}});else if(this.css){let a=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(a,this.css)}}sourcePath(l){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(l.source.input.from):this.toUrl(this.path(l.source.input.from))}toBase64(l){return Buffer?Buffer.from(l).toString("base64"):window.btoa(unescape(encodeURIComponent(l)))}toFileUrl(l){let a=this.memoizedFileURLs.get(l);if(a)return a;if(f){let m=f(l).toString();return this.memoizedFileURLs.set(l,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(l){let a=this.memoizedURLs.get(l);if(a)return a;u==="\\"&&(l=l.replace(/\\/g,"/"));let m=encodeURI(l).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(l,m),m}}return hr=n,hr}var dr,ai;function St(){if(ai)return dr;ai=1;let e=wt();class t extends e{constructor(i){super(i),this.type="comment"}}return dr=t,t.default=t,dr}var pr,li;function Re(){if(li)return pr;li=1;let{isClean:e,my:t}=is(),s=bt(),i=St(),r=wt(),u,f,p,o;function h(l){return l.map(a=>(a.nodes&&(a.nodes=h(a.nodes)),delete a.source,a))}function n(l){if(l[e]=!1,l.proxyOf.nodes)for(let a of l.proxyOf.nodes)n(a)}class d extends r{append(...a){for(let m of a){let c=this.normalize(m,this.last);for(let g of c)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(a){if(super.cleanRaws(a),this.nodes)for(let m of this.nodes)m.cleanRaws(a)}each(a){if(!this.proxyOf.nodes)return;let m=this.getIterator(),c,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(c=this.indexes[m],g=a(this.proxyOf.nodes[c],c),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(a){return this.nodes.every(a)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let a=this.lastEach;return this.indexes[a]=0,a}getProxyProcessor(){return{get(a,m){return m==="proxyOf"?a:a[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...c)=>a[m](...c.map(g=>typeof g=="function"?(S,b)=>g(S.toProxy(),b):g)):m==="every"||m==="some"?c=>a[m]((g,...S)=>c(g.toProxy(),...S)):m==="root"?()=>a.root().toProxy():m==="nodes"?a.nodes.map(c=>c.toProxy()):m==="first"||m==="last"?a[m].toProxy():a[m]:a[m]},set(a,m,c){return a[m]===c||(a[m]=c,(m==="name"||m==="params"||m==="selector")&&a.markDirty()),!0}}}index(a){return typeof a=="number"?a:(a.proxyOf&&(a=a.proxyOf),this.proxyOf.nodes.indexOf(a))}insertAfter(a,m){let c=this.index(a),g=this.normalize(m,this.proxyOf.nodes[c]).reverse();c=this.index(a);for(let b of g)this.proxyOf.nodes.splice(c+1,0,b);let S;for(let b in this.indexes)S=this.indexes[b],c<S&&(this.indexes[b]=S+g.length);return this.markDirty(),this}insertBefore(a,m){let c=this.index(a),g=c===0?"prepend":!1,S=this.normalize(m,this.proxyOf.nodes[c],g).reverse();c=this.index(a);for(let v of S)this.proxyOf.nodes.splice(c,0,v);let b;for(let v in this.indexes)b=this.indexes[v],c<=b&&(this.indexes[v]=b+S.length);return this.markDirty(),this}normalize(a,m){if(typeof a=="string")a=h(u(a).nodes);else if(typeof a>"u")a=[];else if(Array.isArray(a)){a=a.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type==="root"&&this.type!=="document"){a=a.nodes.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type)a=[a];else if(a.prop){if(typeof a.value>"u")throw new Error("Value field is missed in node creation");typeof a.value!="string"&&(a.value=String(a.value)),a=[new s(a)]}else if(a.selector)a=[new f(a)];else if(a.name)a=[new p(a)];else if(a.text)a=[new i(a)];else throw new Error("Unknown node type in node creation");return a.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&n(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...a){a=a.reverse();for(let m of a){let c=this.normalize(m,this.first,"prepend").reverse();for(let g of c)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+c.length}return this.markDirty(),this}push(a){return a.parent=this,this.proxyOf.nodes.push(a),this}removeAll(){for(let a of this.proxyOf.nodes)a.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(a){a=this.index(a),this.proxyOf.nodes[a].parent=void 0,this.proxyOf.nodes.splice(a,1);let m;for(let c in this.indexes)m=this.indexes[c],m>=a&&(this.indexes[c]=m-1);return this.markDirty(),this}replaceValues(a,m,c){return c||(c=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(a,c))}),this.markDirty(),this}some(a){return this.nodes.some(a)}walk(a){return this.each((m,c)=>{let g;try{g=a(m,c)}catch(S){throw m.addToError(S)}return g!==!1&&m.walk&&(g=m.walk(a)),g})}walkAtRules(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="atrule"&&a.test(c.name))return m(c,g)}):this.walk((c,g)=>{if(c.type==="atrule"&&c.name===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="atrule")return m(c,g)}))}walkComments(a){return this.walk((m,c)=>{if(m.type==="comment")return a(m,c)})}walkDecls(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="decl"&&a.test(c.prop))return m(c,g)}):this.walk((c,g)=>{if(c.type==="decl"&&c.prop===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="decl")return m(c,g)}))}walkRules(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="rule"&&a.test(c.selector))return m(c,g)}):this.walk((c,g)=>{if(c.type==="rule"&&c.selector===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="rule")return m(c,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=l=>{u=l},d.registerRule=l=>{f=l},d.registerAtRule=l=>{p=l},d.registerRoot=l=>{o=l},pr=d,d.default=d,d.rebuild=l=>{l.type==="atrule"?Object.setPrototypeOf(l,p.prototype):l.type==="rule"?Object.setPrototypeOf(l,f.prototype):l.type==="decl"?Object.setPrototypeOf(l,s.prototype):l.type==="comment"?Object.setPrototypeOf(l,i.prototype):l.type==="root"&&Object.setPrototypeOf(l,o.prototype),l[t]=!0,l.nodes&&l.nodes.forEach(a=>{d.rebuild(a)})},pr}var mr,ui;function ns(){if(ui)return mr;ui=1;let e=Re(),t,s;class i extends e{constructor(u){super({type:"document",...u}),this.nodes||(this.nodes=[])}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},mr=i,i.default=i,mr}var gr,ci;function on(){if(ci)return gr;ci=1;let e={};return gr=function(s){e[s]||(e[s]=!0,typeof console<"u"&&console.warn&&console.warn(s))},gr}var yr,fi;function an(){if(fi)return yr;fi=1;class e{constructor(s,i={}){if(this.type="warning",this.text=s,i.node&&i.node.source){let r=i.node.rangeBy(i);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in i)this[r]=i[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return yr=e,e.default=e,yr}var wr,hi;function os(){if(hi)return wr;hi=1;let e=an();class t{constructor(i,r,u){this.processor=i,this.messages=[],this.root=r,this.opts=u,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let u=new e(i,r);return this.messages.push(u),u}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}}return wr=t,t.default=t,wr}var br,di;function ia(){if(di)return br;di=1;let e=39,t=34,s=92,i=47,r=10,u=32,f=12,p=9,o=13,h=91,n=93,d=40,l=41,a=123,m=125,c=59,g=42,S=58,b=64,v=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,y=/[\da-f]/i;return br=function(R,M={}){let C=R.css.valueOf(),I=M.ignoreErrors,_,N,ie,ne,F,z,q,J,D,T,U=C.length,O=0,G=[],k=[];function Q(){return O}function Z(L){throw R.error("Unclosed "+L,O)}function ue(){return k.length===0&&O>=U}function xe(L){if(k.length)return k.pop();if(O>=U)return;let te=L?L.ignoreUnclosed:!1;switch(_=C.charCodeAt(O),_){case r:case u:case p:case o:case f:{N=O;do N+=1,_=C.charCodeAt(N);while(_===u||_===r||_===p||_===o||_===f);T=["space",C.slice(O,N)],O=N-1;break}case h:case n:case a:case m:case S:case c:case l:{let j=String.fromCharCode(_);T=[j,j,O];break}case d:{if(J=G.length?G.pop()[1]:"",D=C.charCodeAt(O+1),J==="url"&&D!==e&&D!==t&&D!==u&&D!==r&&D!==p&&D!==f&&D!==o){N=O;do{if(z=!1,N=C.indexOf(")",N+1),N===-1)if(I||te){N=O;break}else Z("bracket");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["brackets",C.slice(O,N+1),O,N],O=N}else N=C.indexOf(")",O+1),ne=C.slice(O,N+1),N===-1||w.test(ne)?T=["(","(",O]:(T=["brackets",ne,O,N],O=N);break}case e:case t:{ie=_===e?"'":'"',N=O;do{if(z=!1,N=C.indexOf(ie,N+1),N===-1)if(I||te){N=O+1;break}else Z("string");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["string",C.slice(O,N+1),O,N],O=N;break}case b:{v.lastIndex=O+1,v.test(C),v.lastIndex===0?N=C.length-1:N=v.lastIndex-2,T=["at-word",C.slice(O,N+1),O,N],O=N;break}case s:{for(N=O,F=!0;C.charCodeAt(N+1)===s;)N+=1,F=!F;if(_=C.charCodeAt(N+1),F&&_!==i&&_!==u&&_!==r&&_!==p&&_!==o&&_!==f&&(N+=1,y.test(C.charAt(N)))){for(;y.test(C.charAt(N+1));)N+=1;C.charCodeAt(N+1)===u&&(N+=1)}T=["word",C.slice(O,N+1),O,N],O=N;break}default:{_===i&&C.charCodeAt(O+1)===g?(N=C.indexOf("*/",O+2)+1,N===0&&(I||te?N=C.length:Z("comment")),T=["comment",C.slice(O,N+1),O,N],O=N):(E.lastIndex=O+1,E.test(C),E.lastIndex===0?N=C.length-1:N=E.lastIndex-2,T=["word",C.slice(O,N+1),O,N],G.push(T),O=N);break}}return O++,T}function ve(L){k.push(L)}return{back:ve,endOfFile:ue,nextToken:xe,position:Q}},br}var vr,pi;function as(){if(pi)return vr;pi=1;let e=Re();class t extends e{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}}return vr=t,t.default=t,e.registerAtRule(t),vr}var Sr,mi;function qe(){if(mi)return Sr;mi=1;let e=Re(),t,s;class i extends e{constructor(u){super(u),this.type="root",this.nodes||(this.nodes=[])}normalize(u,f,p){let o=super.normalize(u);if(f){if(p==="prepend")this.nodes.length>1?f.raws.before=this.nodes[1].raws.before:delete f.raws.before;else if(this.first!==f)for(let h of o)h.raws.before=f.raws.before}return o}removeChild(u,f){let p=this.index(u);return!f&&p===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[p].raws.before),super.removeChild(u)}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Sr=i,i.default=i,e.registerRoot(i),Sr}var Cr,gi;function ln(){if(gi)return Cr;gi=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let s=[" ",`
    49 `,"     "];return e.split(t,s)},split(t,s,i){let r=[],u="",f=!1,p=0,o=!1,h="",n=!1;for(let d of t)n?n=!1:d==="\\"?n=!0:o?d===h&&(o=!1):d==='"'||d==="'"?(o=!0,h=d):d==="("?p+=1:d===")"?p>0&&(p-=1):p===0&&s.includes(d)&&(f=!0),f?(u!==""&&r.push(u.trim()),u="",f=!1):u+=d;return(i||u!=="")&&r.push(u.trim()),r}};return Cr=e,e.default=e,Cr}var xr,yi;function ls(){if(yi)return xr;yi=1;let e=Re(),t=ln();class s extends e{constructor(r){super(r),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(r){let u=this.selector?this.selector.match(/,\s*/):null,f=u?u[0]:","+this.raw("between","beforeOpen");this.selector=r.join(f)}}return xr=s,s.default=s,e.registerRule(s),xr}var Er,wi;function na(){if(wi)return Er;wi=1;let e=bt(),t=ia(),s=St(),i=as(),r=qe(),u=ls(),f={empty:!0,space:!0};function p(h){for(let n=h.length-1;n>=0;n--){let d=h[n],l=d[3]||d[2];if(l)return l}}class o{constructor(n){this.input=n,this.root=new r,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:n,start:{column:1,line:1,offset:0}}}atrule(n){let d=new i;d.name=n[1].slice(1),d.name===""&&this.unnamedAtrule(d,n),this.init(d,n[2]);let l,a,m,c=!1,g=!1,S=[],b=[];for(;!this.tokenizer.endOfFile();){if(n=this.tokenizer.nextToken(),l=n[0],l==="("||l==="["?b.push(l==="("?")":"]"):l==="{"&&b.length>0?b.push("}"):l===b[b.length-1]&&b.pop(),b.length===0)if(l===";"){d.source.end=this.getPosition(n[2]),d.source.end.offset++,this.semicolon=!0;break}else if(l==="{"){g=!0;break}else if(l==="}"){if(S.length>0){for(m=S.length-1,a=S[m];a&&a[0]==="space";)a=S[--m];a&&(d.source.end=this.getPosition(a[3]||a[2]),d.source.end.offset++)}this.end(n);break}else S.push(n);else S.push(n);if(this.tokenizer.endOfFile()){c=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(S),S.length?(d.raws.afterName=this.spacesAndCommentsFromStart(S),this.raw(d,"params",S),c&&(n=S[S.length-1],d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(n){let d=this.colon(n);if(d===!1)return;let l=0,a;for(let m=d-1;m>=0&&(a=n[m],!(a[0]!=="space"&&(l+=1,l===2)));m--);throw this.input.error("Missed semicolon",a[0]==="word"?a[3]+1:a[2])}colon(n){let d=0,l,a,m;for(let[c,g]of n.entries()){if(l=g,a=l[0],a==="("&&(d+=1),a===")"&&(d-=1),d===0&&a===":")if(!m)this.doubleColon(l);else{if(m[0]==="word"&&m[1]==="progid")continue;return c}m=l}return!1}comment(n){let d=new s;this.init(d,n[2]),d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++;let l=n[1].slice(2,-2);if(/^\s*$/.test(l))d.text="",d.raws.left=l,d.raws.right="";else{let a=l.match(/^(\s*)([^]*\S)(\s*)$/);d.text=a[2],d.raws.left=a[1],d.raws.right=a[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(n,d){let l=new e;this.init(l,n[0][2]);let a=n[n.length-1];for(a[0]===";"&&(this.semicolon=!0,n.pop()),l.source.end=this.getPosition(a[3]||a[2]||p(n)),l.source.end.offset++;n[0][0]!=="word";)n.length===1&&this.unknownWord(n),l.raws.before+=n.shift()[1];for(l.source.start=this.getPosition(n[0][2]),l.prop="";n.length;){let b=n[0][0];if(b===":"||b==="space"||b==="comment")break;l.prop+=n.shift()[1]}l.raws.between="";let m;for(;n.length;)if(m=n.shift(),m[0]===":"){l.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),l.raws.between+=m[1];(l.prop[0]==="_"||l.prop[0]==="*")&&(l.raws.before+=l.prop[0],l.prop=l.prop.slice(1));let c=[],g;for(;n.length&&(g=n[0][0],!(g!=="space"&&g!=="comment"));)c.push(n.shift());this.precheckMissedSemicolon(n);for(let b=n.length-1;b>=0;b--){if(m=n[b],m[1].toLowerCase()==="!important"){l.important=!0;let v=this.stringFrom(n,b);v=this.spacesFromEnd(n)+v,v!==" !important"&&(l.raws.important=v);break}else if(m[1].toLowerCase()==="important"){let v=n.slice(0),E="";for(let w=b;w>0;w--){let y=v[w][0];if(E.trim().indexOf("!")===0&&y!=="space")break;E=v.pop()[1]+E}E.trim().indexOf("!")===0&&(l.important=!0,l.raws.important=E,n=v)}if(m[0]!=="space"&&m[0]!=="comment")break}n.some(b=>b[0]!=="space"&&b[0]!=="comment")&&(l.raws.between+=c.map(b=>b[1]).join(""),c=[]),this.raw(l,"value",c.concat(n),d),l.value.includes(":")&&!d&&this.checkMissedSemicolon(n)}doubleColon(n){throw this.input.error("Double colon",{offset:n[2]},{offset:n[2]+n[1].length})}emptyRule(n){let d=new u;this.init(d,n[2]),d.selector="",d.raws.between="",this.current=d}end(n){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(n[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(n)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(n){if(this.spaces+=n[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(n){let d=this.input.fromOffset(n);return{column:d.col,line:d.line,offset:n}}init(n,d){this.current.push(n),n.source={input:this.input,start:this.getPosition(d)},n.raws.before=this.spaces,this.spaces="",n.type!=="comment"&&(this.semicolon=!1)}other(n){let d=!1,l=null,a=!1,m=null,c=[],g=n[1].startsWith("--"),S=[],b=n;for(;b;){if(l=b[0],S.push(b),l==="("||l==="[")m||(m=b),c.push(l==="("?")":"]");else if(g&&a&&l==="{")m||(m=b),c.push("}");else if(c.length===0)if(l===";")if(a){this.decl(S,g);return}else break;else if(l==="{"){this.rule(S);return}else if(l==="}"){this.tokenizer.back(S.pop()),d=!0;break}else l===":"&&(a=!0);else l===c[c.length-1]&&(c.pop(),c.length===0&&(m=null));b=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),c.length>0&&this.unclosedBracket(m),d&&a){if(!g)for(;S.length&&(b=S[S.length-1][0],!(b!=="space"&&b!=="comment"));)this.tokenizer.back(S.pop());this.decl(S,g)}else this.unknownWord(S)}parse(){let n;for(;!this.tokenizer.endOfFile();)switch(n=this.tokenizer.nextToken(),n[0]){case"space":this.spaces+=n[1];break;case";":this.freeSemicolon(n);break;case"}":this.end(n);break;case"comment":this.comment(n);break;case"at-word":this.atrule(n);break;case"{":this.emptyRule(n);break;default:this.other(n);break}this.endFile()}precheckMissedSemicolon(){}raw(n,d,l,a){let m,c,g=l.length,S="",b=!0,v,E;for(let w=0;w<g;w+=1)m=l[w],c=m[0],c==="space"&&w===g-1&&!a?b=!1:c==="comment"?(E=l[w-1]?l[w-1][0]:"empty",v=l[w+1]?l[w+1][0]:"empty",!f[E]&&!f[v]?S.slice(-1)===","?b=!1:S+=m[1]:b=!1):S+=m[1];if(!b){let w=l.reduce((y,x)=>y+x[1],"");n.raws[d]={raw:w,value:S}}n[d]=S}rule(n){n.pop();let d=new u;this.init(d,n[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(n),this.raw(d,"selector",n),this.current=d}spacesAndCommentsFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],!(d!=="space"&&d!=="comment"));)l=n.pop()[1]+l;return l}spacesAndCommentsFromStart(n){let d,l="";for(;n.length&&(d=n[0][0],!(d!=="space"&&d!=="comment"));)l+=n.shift()[1];return l}spacesFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],d==="space");)l=n.pop()[1]+l;return l}stringFrom(n,d){let l="";for(let a=d;a<n.length;a++)l+=n[a][1];return n.splice(d,n.length-d),l}unclosedBlock(){let n=this.current.source.start;throw this.input.error("Unclosed block",n.line,n.column)}unclosedBracket(n){throw this.input.error("Unclosed bracket",{offset:n[2]},{offset:n[2]+1})}unexpectedClose(n){throw this.input.error("Unexpected }",{offset:n[2]},{offset:n[2]+1})}unknownWord(n){throw this.input.error("Unknown word",{offset:n[0][2]},{offset:n[0][2]+n[0][1].length})}unnamedAtrule(n,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Er=o,Er}var Mr,bi;function us(){if(bi)return Mr;bi=1;let e=Re(),t=na(),s=vt();function i(r,u){let f=new s(r,u),p=new t(f);try{p.parse()}catch(o){throw o}return p.root}return Mr=i,i.default=i,e.registerParse(i),Mr}var Rr,vi;function un(){if(vi)return Rr;vi=1;let{isClean:e,my:t}=is(),s=nn(),i=yt(),r=Re(),u=ns(),f=on(),p=os(),o=us(),h=qe(),n={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},l={Once:!0,postcssPlugin:!0,prepare:!0},a=0;function m(E){return typeof E=="object"&&typeof E.then=="function"}function c(E){let w=!1,y=n[E.type];return E.type==="decl"?w=E.prop.toLowerCase():E.type==="atrule"&&(w=E.name.toLowerCase()),w&&E.append?[y,y+"-"+w,a,y+"Exit",y+"Exit-"+w]:w?[y,y+"-"+w,y+"Exit",y+"Exit-"+w]:E.append?[y,a,y+"Exit"]:[y,y+"Exit"]}function g(E){let w;return E.type==="document"?w=["Document",a,"DocumentExit"]:E.type==="root"?w=["Root",a,"RootExit"]:w=c(E),{eventIndex:0,events:w,iterator:0,node:E,visitorIndex:0,visitors:[]}}function S(E){return E[e]=!1,E.nodes&&E.nodes.forEach(w=>S(w)),E}let b={};class v{constructor(w,y,x){this.stringified=!1,this.processed=!1;let R;if(typeof y=="object"&&y!==null&&(y.type==="root"||y.type==="document"))R=S(y);else if(y instanceof v||y instanceof p)R=S(y.root),y.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=y.map);else{let M=o;x.syntax&&(M=x.syntax.parse),x.parser&&(M=x.parser),M.parse&&(M=M.parse);try{R=M(y,x)}catch(C){this.processed=!0,this.error=C}R&&!R[t]&&r.rebuild(R)}this.result=new p(w,R,x),this.helpers={...b,postcss:b,result:this.result},this.plugins=this.processor.plugins.map(M=>typeof M=="object"&&M.prepare?{...M,...M.prepare(this.result)}:M)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(w){return this.async().catch(w)}finally(w){return this.async().then(w,w)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(w,y){let x=this.result.lastPlugin;try{y&&y.addToError(w),this.error=w,w.name==="CssSyntaxError"&&!w.plugin?(w.plugin=x.postcssPlugin,w.setMessage()):x.postcssVersion}catch(R){console&&console.error&&console.error(R)}return w}prepareVisitors(){this.listeners={};let w=(y,x,R)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([y,R])};for(let y of this.plugins)if(typeof y=="object")for(let x in y){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${y.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!l[x])if(typeof y[x]=="object")for(let R in y[x])R==="*"?w(y,x,y[x][R]):w(y,x+"-"+R.toLowerCase(),y[x][R]);else typeof y[x]=="function"&&w(y,x,y[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let w=0;w<this.plugins.length;w++){let y=this.plugins[w],x=this.runOnRoot(y);if(m(x))try{await x}catch(R){throw this.handleError(R)}}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];){w[e]=!0;let y=[g(w)];for(;y.length>0;){let x=this.visitTick(y);if(m(x))try{await x}catch(R){let M=y[y.length-1].node;throw this.handleError(R,M)}}}if(this.listeners.OnceExit)for(let[y,x]of this.listeners.OnceExit){this.result.lastPlugin=y;try{if(w.type==="document"){let R=w.nodes.map(M=>x(M,this.helpers));await Promise.all(R)}else await x(w,this.helpers)}catch(R){throw this.handleError(R)}}}return this.processed=!0,this.stringify()}runOnRoot(w){this.result.lastPlugin=w;try{if(typeof w=="object"&&w.Once){if(this.result.root.type==="document"){let y=this.result.root.nodes.map(x=>w.Once(x,this.helpers));return m(y[0])?Promise.all(y):y}return w.Once(this.result.root,this.helpers)}else if(typeof w=="function")return w(this.result.root,this.result)}catch(y){throw this.handleError(y)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let w=this.result.opts,y=i;w.syntax&&(y=w.syntax.stringify),w.stringifier&&(y=w.stringifier),y.stringify&&(y=y.stringify);let R=new s(y,this.result.root,this.result.opts).generate();return this.result.css=R[0],this.result.map=R[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let w of this.plugins){let y=this.runOnRoot(w);if(m(y))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];)w[e]=!0,this.walkSync(w);if(this.listeners.OnceExit)if(w.type==="document")for(let y of w.nodes)this.visitSync(this.listeners.OnceExit,y);else this.visitSync(this.listeners.OnceExit,w)}return this.result}then(w,y){return this.async().then(w,y)}toString(){return this.css}visitSync(w,y){for(let[x,R]of w){this.result.lastPlugin=x;let M;try{M=R(y,this.helpers)}catch(C){throw this.handleError(C,y.proxyOf)}if(y.type!=="root"&&y.type!=="document"&&!y.parent)return!0;if(m(M))throw this.getAsyncError()}}visitTick(w){let y=w[w.length-1],{node:x,visitors:R}=y;if(x.type!=="root"&&x.type!=="document"&&!x.parent){w.pop();return}if(R.length>0&&y.visitorIndex<R.length){let[C,I]=R[y.visitorIndex];y.visitorIndex+=1,y.visitorIndex===R.length&&(y.visitors=[],y.visitorIndex=0),this.result.lastPlugin=C;try{return I(x.toProxy(),this.helpers)}catch(_){throw this.handleError(_,x)}}if(y.iterator!==0){let C=y.iterator,I;for(;I=x.nodes[x.indexes[C]];)if(x.indexes[C]+=1,!I[e]){I[e]=!0,w.push(g(I));return}y.iterator=0,delete x.indexes[C]}let M=y.events;for(;y.eventIndex<M.length;){let C=M[y.eventIndex];if(y.eventIndex+=1,C===a){x.nodes&&x.nodes.length&&(x[e]=!0,y.iterator=x.getIterator());return}else if(this.listeners[C]){y.visitors=this.listeners[C];return}}w.pop()}walkSync(w){w[e]=!0;let y=c(w);for(let x of y)if(x===a)w.nodes&&w.each(R=>{R[e]||this.walkSync(R)});else{let R=this.listeners[x];if(R&&this.visitSync(R,w.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return v.registerPostcss=E=>{b=E},Rr=v,v.default=v,h.registerLazyResult(v),u.registerLazyResult(v),Rr}var Nr,Si;function oa(){if(Si)return Nr;Si=1;let e=nn(),t=yt(),s=on(),i=us(),r=os();class u{constructor(p,o,h){o=o.toString(),this.stringified=!1,this._processor=p,this._css=o,this._opts=h,this._map=void 0;let n,d=t;this.result=new r(this._processor,n,this._opts),this.result.css=o;let l=this;Object.defineProperty(this.result,"root",{get(){return l.root}});let a=new e(d,n,this._opts,o);if(a.isMap()){let[m,c]=a.generate();m&&(this.result.css=m),c&&(this.result.map=c)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(p){return this.async().catch(p)}finally(p){return this.async().then(p,p)}sync(){if(this.error)throw this.error;return this.result}then(p,o){return this.async().then(p,o)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let p,o=i;try{p=o(this._css,this._opts)}catch(h){this.error=h}if(this.error)throw this.error;return this._root=p,p}get[Symbol.toStringTag](){return"NoWorkResult"}}return Nr=u,u.default=u,Nr}var Or,Ci;function aa(){if(Ci)return Or;Ci=1;let e=oa(),t=un(),s=ns(),i=qe();class r{constructor(f=[]){this.version="8.4.38",this.plugins=this.normalize(f)}normalize(f){let p=[];for(let o of f)if(o.postcss===!0?o=o():o.postcss&&(o=o.postcss),typeof o=="object"&&Array.isArray(o.plugins))p=p.concat(o.plugins);else if(typeof o=="object"&&o.postcssPlugin)p.push(o);else if(typeof o=="function")p.push(o);else if(!(typeof o=="object"&&(o.parse||o.stringify)))throw new Error(o+" is not a PostCSS plugin");return p}process(f,p={}){return!this.plugins.length&&!p.parser&&!p.stringifier&&!p.syntax?new e(this,f,p):new t(this,f,p)}use(f){return this.plugins=this.plugins.concat(this.normalize([f])),this}}return Or=r,r.default=r,i.registerProcessor(r),s.registerProcessor(r),Or}var Ir,xi;function la(){if(xi)return Ir;xi=1;let e=bt(),t=sn(),s=St(),i=as(),r=vt(),u=qe(),f=ls();function p(o,h){if(Array.isArray(o))return o.map(l=>p(l));let{inputs:n,...d}=o;if(n){h=[];for(let l of n){let a={...l,__proto__:r.prototype};a.map&&(a.map={...a.map,__proto__:t.prototype}),h.push(a)}}if(d.nodes&&(d.nodes=o.nodes.map(l=>p(l,h))),d.source){let{inputId:l,...a}=d.source;d.source=a,l!=null&&(d.source.input=h[l])}if(d.type==="root")return new u(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new f(d);if(d.type==="comment")return new s(d);if(d.type==="atrule")return new i(d);throw new Error("Unknown node type: "+o.type)}return Ir=p,p.default=p,Ir}var Ar,Ei;function ua(){if(Ei)return Ar;Ei=1;let e=ss(),t=bt(),s=un(),i=Re(),r=aa(),u=yt(),f=la(),p=ns(),o=an(),h=St(),n=as(),d=os(),l=vt(),a=us(),m=ln(),c=ls(),g=qe(),S=wt();function b(...v){return v.length===1&&Array.isArray(v[0])&&(v=v[0]),new r(v)}return b.plugin=function(E,w){let y=!1;function x(...M){console&&console.warn&&!y&&(y=!0,console.warn(E+`: postcss.plugin was deprecated. Migration guide:
     47`),this.css+=a+"/*# sourceMappingURL="+l+" */"}applyPrevMaps(){for(let l of this.previous()){let a=this.toUrl(this.path(l.file)),m=l.root||s(l.file),f;this.mapOpts.sourcesContent===!1?(f=new e(l.text),f.sourcesContent&&(f.sourcesContent=null)):f=l.consumer(),this.map.applySourceMap(f,a,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let l;for(let a=this.root.nodes.length-1;a>=0;a--)l=this.root.nodes[a],l.type==="comment"&&l.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(a)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),h&&o&&this.isMap())return this.generateMap();{let l="";return this.stringify(this.root,a=>{l+=a}),[l]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let l=this.previous()[0].consumer();l.file=this.outputFile(),this.map=t.fromSourceMap(l,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let l=1,a=1,m="<no source>",f={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,S;this.stringify(this.root,(b,v,E)=>{if(this.css+=b,v&&E!=="end"&&(f.generated.line=l,f.generated.column=a-1,v.source&&v.source.start?(f.source=this.sourcePath(v),f.original.line=v.source.start.line,f.original.column=v.source.start.column-1,this.map.addMapping(f)):(f.source=m,f.original.line=1,f.original.column=0,this.map.addMapping(f))),g=b.match(/\n/g),g?(l+=g.length,S=b.lastIndexOf(`
     48`),a=b.length-S):a+=b.length,v&&E!=="start"){let w=v.parent||{raws:{}};(!(v.type==="decl"||v.type==="atrule"&&!v.nodes)||v!==w.last||w.raws.semicolon)&&(v.source&&v.source.end?(f.source=this.sourcePath(v),f.original.line=v.source.end.line,f.original.column=v.source.end.column-1,f.generated.line=l,f.generated.column=a-2,this.map.addMapping(f)):(f.source=m,f.original.line=1,f.original.column=0,f.generated.line=l,f.generated.column=a-1,this.map.addMapping(f)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(l=>l.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let l=this.mapOpts.annotation;return typeof l<"u"&&l!==!0?!1:this.previous().length?this.previous().some(a=>a.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(l=>l.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(l){if(this.mapOpts.absolute||l.charCodeAt(0)===60||/^\w+:\/\//.test(l))return l;let a=this.memoizedPaths.get(l);if(a)return a;let m=this.opts.to?s(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=s(r(m,this.mapOpts.annotation)));let f=i(m,l);return this.memoizedPaths.set(l,f),f}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(l=>{if(l.source&&l.source.input.map){let a=l.source.input.map;this.previousMaps.includes(a)||this.previousMaps.push(a)}});else{let l=new p(this.originalCSS,this.opts);l.map&&this.previousMaps.push(l.map)}return this.previousMaps}setSourcesContent(){let l={};if(this.root)this.root.walk(a=>{if(a.source){let m=a.source.input.from;if(m&&!l[m]){l[m]=!0;let f=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(f,a.source.input.css)}}});else if(this.css){let a=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(a,this.css)}}sourcePath(l){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(l.source.input.from):this.toUrl(this.path(l.source.input.from))}toBase64(l){return Buffer?Buffer.from(l).toString("base64"):window.btoa(unescape(encodeURIComponent(l)))}toFileUrl(l){let a=this.memoizedFileURLs.get(l);if(a)return a;if(c){let m=c(l).toString();return this.memoizedFileURLs.set(l,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(l){let a=this.memoizedURLs.get(l);if(a)return a;u==="\\"&&(l=l.replace(/\\/g,"/"));let m=encodeURI(l).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(l,m),m}}return hr=n,hr}var dr,ai;function St(){if(ai)return dr;ai=1;let e=wt();class t extends e{constructor(i){super(i),this.type="comment"}}return dr=t,t.default=t,dr}var pr,li;function Re(){if(li)return pr;li=1;let{isClean:e,my:t}=is(),s=bt(),i=St(),r=wt(),u,c,p,o;function h(l){return l.map(a=>(a.nodes&&(a.nodes=h(a.nodes)),delete a.source,a))}function n(l){if(l[e]=!1,l.proxyOf.nodes)for(let a of l.proxyOf.nodes)n(a)}class d extends r{append(...a){for(let m of a){let f=this.normalize(m,this.last);for(let g of f)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(a){if(super.cleanRaws(a),this.nodes)for(let m of this.nodes)m.cleanRaws(a)}each(a){if(!this.proxyOf.nodes)return;let m=this.getIterator(),f,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(f=this.indexes[m],g=a(this.proxyOf.nodes[f],f),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(a){return this.nodes.every(a)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let a=this.lastEach;return this.indexes[a]=0,a}getProxyProcessor(){return{get(a,m){return m==="proxyOf"?a:a[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...f)=>a[m](...f.map(g=>typeof g=="function"?(S,b)=>g(S.toProxy(),b):g)):m==="every"||m==="some"?f=>a[m]((g,...S)=>f(g.toProxy(),...S)):m==="root"?()=>a.root().toProxy():m==="nodes"?a.nodes.map(f=>f.toProxy()):m==="first"||m==="last"?a[m].toProxy():a[m]:a[m]},set(a,m,f){return a[m]===f||(a[m]=f,(m==="name"||m==="params"||m==="selector")&&a.markDirty()),!0}}}index(a){return typeof a=="number"?a:(a.proxyOf&&(a=a.proxyOf),this.proxyOf.nodes.indexOf(a))}insertAfter(a,m){let f=this.index(a),g=this.normalize(m,this.proxyOf.nodes[f]).reverse();f=this.index(a);for(let b of g)this.proxyOf.nodes.splice(f+1,0,b);let S;for(let b in this.indexes)S=this.indexes[b],f<S&&(this.indexes[b]=S+g.length);return this.markDirty(),this}insertBefore(a,m){let f=this.index(a),g=f===0?"prepend":!1,S=this.normalize(m,this.proxyOf.nodes[f],g).reverse();f=this.index(a);for(let v of S)this.proxyOf.nodes.splice(f,0,v);let b;for(let v in this.indexes)b=this.indexes[v],f<=b&&(this.indexes[v]=b+S.length);return this.markDirty(),this}normalize(a,m){if(typeof a=="string")a=h(u(a).nodes);else if(typeof a>"u")a=[];else if(Array.isArray(a)){a=a.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type==="root"&&this.type!=="document"){a=a.nodes.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type)a=[a];else if(a.prop){if(typeof a.value>"u")throw new Error("Value field is missed in node creation");typeof a.value!="string"&&(a.value=String(a.value)),a=[new s(a)]}else if(a.selector)a=[new c(a)];else if(a.name)a=[new p(a)];else if(a.text)a=[new i(a)];else throw new Error("Unknown node type in node creation");return a.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&n(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...a){a=a.reverse();for(let m of a){let f=this.normalize(m,this.first,"prepend").reverse();for(let g of f)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+f.length}return this.markDirty(),this}push(a){return a.parent=this,this.proxyOf.nodes.push(a),this}removeAll(){for(let a of this.proxyOf.nodes)a.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(a){a=this.index(a),this.proxyOf.nodes[a].parent=void 0,this.proxyOf.nodes.splice(a,1);let m;for(let f in this.indexes)m=this.indexes[f],m>=a&&(this.indexes[f]=m-1);return this.markDirty(),this}replaceValues(a,m,f){return f||(f=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(a,f))}),this.markDirty(),this}some(a){return this.nodes.some(a)}walk(a){return this.each((m,f)=>{let g;try{g=a(m,f)}catch(S){throw m.addToError(S)}return g!==!1&&m.walk&&(g=m.walk(a)),g})}walkAtRules(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="atrule"&&a.test(f.name))return m(f,g)}):this.walk((f,g)=>{if(f.type==="atrule"&&f.name===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="atrule")return m(f,g)}))}walkComments(a){return this.walk((m,f)=>{if(m.type==="comment")return a(m,f)})}walkDecls(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="decl"&&a.test(f.prop))return m(f,g)}):this.walk((f,g)=>{if(f.type==="decl"&&f.prop===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="decl")return m(f,g)}))}walkRules(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="rule"&&a.test(f.selector))return m(f,g)}):this.walk((f,g)=>{if(f.type==="rule"&&f.selector===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="rule")return m(f,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=l=>{u=l},d.registerRule=l=>{c=l},d.registerAtRule=l=>{p=l},d.registerRoot=l=>{o=l},pr=d,d.default=d,d.rebuild=l=>{l.type==="atrule"?Object.setPrototypeOf(l,p.prototype):l.type==="rule"?Object.setPrototypeOf(l,c.prototype):l.type==="decl"?Object.setPrototypeOf(l,s.prototype):l.type==="comment"?Object.setPrototypeOf(l,i.prototype):l.type==="root"&&Object.setPrototypeOf(l,o.prototype),l[t]=!0,l.nodes&&l.nodes.forEach(a=>{d.rebuild(a)})},pr}var mr,ui;function ns(){if(ui)return mr;ui=1;let e=Re(),t,s;class i extends e{constructor(u){super({type:"document",...u}),this.nodes||(this.nodes=[])}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},mr=i,i.default=i,mr}var gr,ci;function on(){if(ci)return gr;ci=1;let e={};return gr=function(s){e[s]||(e[s]=!0,typeof console<"u"&&console.warn&&console.warn(s))},gr}var yr,fi;function an(){if(fi)return yr;fi=1;class e{constructor(s,i={}){if(this.type="warning",this.text=s,i.node&&i.node.source){let r=i.node.rangeBy(i);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in i)this[r]=i[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return yr=e,e.default=e,yr}var wr,hi;function os(){if(hi)return wr;hi=1;let e=an();class t{constructor(i,r,u){this.processor=i,this.messages=[],this.root=r,this.opts=u,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let u=new e(i,r);return this.messages.push(u),u}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}}return wr=t,t.default=t,wr}var br,di;function na(){if(di)return br;di=1;let e=39,t=34,s=92,i=47,r=10,u=32,c=12,p=9,o=13,h=91,n=93,d=40,l=41,a=123,m=125,f=59,g=42,S=58,b=64,v=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,y=/[\da-f]/i;return br=function(R,M={}){let C=R.css.valueOf(),I=M.ignoreErrors,_,N,ie,ne,F,z,q,J,D,T,U=C.length,O=0,G=[],k=[];function Q(){return O}function Z(L){throw R.error("Unclosed "+L,O)}function ue(){return k.length===0&&O>=U}function xe(L){if(k.length)return k.pop();if(O>=U)return;let te=L?L.ignoreUnclosed:!1;switch(_=C.charCodeAt(O),_){case r:case u:case p:case o:case c:{N=O;do N+=1,_=C.charCodeAt(N);while(_===u||_===r||_===p||_===o||_===c);T=["space",C.slice(O,N)],O=N-1;break}case h:case n:case a:case m:case S:case f:case l:{let j=String.fromCharCode(_);T=[j,j,O];break}case d:{if(J=G.length?G.pop()[1]:"",D=C.charCodeAt(O+1),J==="url"&&D!==e&&D!==t&&D!==u&&D!==r&&D!==p&&D!==c&&D!==o){N=O;do{if(z=!1,N=C.indexOf(")",N+1),N===-1)if(I||te){N=O;break}else Z("bracket");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["brackets",C.slice(O,N+1),O,N],O=N}else N=C.indexOf(")",O+1),ne=C.slice(O,N+1),N===-1||w.test(ne)?T=["(","(",O]:(T=["brackets",ne,O,N],O=N);break}case e:case t:{ie=_===e?"'":'"',N=O;do{if(z=!1,N=C.indexOf(ie,N+1),N===-1)if(I||te){N=O+1;break}else Z("string");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["string",C.slice(O,N+1),O,N],O=N;break}case b:{v.lastIndex=O+1,v.test(C),v.lastIndex===0?N=C.length-1:N=v.lastIndex-2,T=["at-word",C.slice(O,N+1),O,N],O=N;break}case s:{for(N=O,F=!0;C.charCodeAt(N+1)===s;)N+=1,F=!F;if(_=C.charCodeAt(N+1),F&&_!==i&&_!==u&&_!==r&&_!==p&&_!==o&&_!==c&&(N+=1,y.test(C.charAt(N)))){for(;y.test(C.charAt(N+1));)N+=1;C.charCodeAt(N+1)===u&&(N+=1)}T=["word",C.slice(O,N+1),O,N],O=N;break}default:{_===i&&C.charCodeAt(O+1)===g?(N=C.indexOf("*/",O+2)+1,N===0&&(I||te?N=C.length:Z("comment")),T=["comment",C.slice(O,N+1),O,N],O=N):(E.lastIndex=O+1,E.test(C),E.lastIndex===0?N=C.length-1:N=E.lastIndex-2,T=["word",C.slice(O,N+1),O,N],G.push(T),O=N);break}}return O++,T}function ve(L){k.push(L)}return{back:ve,endOfFile:ue,nextToken:xe,position:Q}},br}var vr,pi;function as(){if(pi)return vr;pi=1;let e=Re();class t extends e{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}}return vr=t,t.default=t,e.registerAtRule(t),vr}var Sr,mi;function qe(){if(mi)return Sr;mi=1;let e=Re(),t,s;class i extends e{constructor(u){super(u),this.type="root",this.nodes||(this.nodes=[])}normalize(u,c,p){let o=super.normalize(u);if(c){if(p==="prepend")this.nodes.length>1?c.raws.before=this.nodes[1].raws.before:delete c.raws.before;else if(this.first!==c)for(let h of o)h.raws.before=c.raws.before}return o}removeChild(u,c){let p=this.index(u);return!c&&p===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[p].raws.before),super.removeChild(u)}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Sr=i,i.default=i,e.registerRoot(i),Sr}var Cr,gi;function ln(){if(gi)return Cr;gi=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let s=[" ",`
     49`,"     "];return e.split(t,s)},split(t,s,i){let r=[],u="",c=!1,p=0,o=!1,h="",n=!1;for(let d of t)n?n=!1:d==="\\"?n=!0:o?d===h&&(o=!1):d==='"'||d==="'"?(o=!0,h=d):d==="("?p+=1:d===")"?p>0&&(p-=1):p===0&&s.includes(d)&&(c=!0),c?(u!==""&&r.push(u.trim()),u="",c=!1):u+=d;return(i||u!=="")&&r.push(u.trim()),r}};return Cr=e,e.default=e,Cr}var xr,yi;function ls(){if(yi)return xr;yi=1;let e=Re(),t=ln();class s extends e{constructor(r){super(r),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(r){let u=this.selector?this.selector.match(/,\s*/):null,c=u?u[0]:","+this.raw("between","beforeOpen");this.selector=r.join(c)}}return xr=s,s.default=s,e.registerRule(s),xr}var Er,wi;function oa(){if(wi)return Er;wi=1;let e=bt(),t=na(),s=St(),i=as(),r=qe(),u=ls(),c={empty:!0,space:!0};function p(h){for(let n=h.length-1;n>=0;n--){let d=h[n],l=d[3]||d[2];if(l)return l}}class o{constructor(n){this.input=n,this.root=new r,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:n,start:{column:1,line:1,offset:0}}}atrule(n){let d=new i;d.name=n[1].slice(1),d.name===""&&this.unnamedAtrule(d,n),this.init(d,n[2]);let l,a,m,f=!1,g=!1,S=[],b=[];for(;!this.tokenizer.endOfFile();){if(n=this.tokenizer.nextToken(),l=n[0],l==="("||l==="["?b.push(l==="("?")":"]"):l==="{"&&b.length>0?b.push("}"):l===b[b.length-1]&&b.pop(),b.length===0)if(l===";"){d.source.end=this.getPosition(n[2]),d.source.end.offset++,this.semicolon=!0;break}else if(l==="{"){g=!0;break}else if(l==="}"){if(S.length>0){for(m=S.length-1,a=S[m];a&&a[0]==="space";)a=S[--m];a&&(d.source.end=this.getPosition(a[3]||a[2]),d.source.end.offset++)}this.end(n);break}else S.push(n);else S.push(n);if(this.tokenizer.endOfFile()){f=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(S),S.length?(d.raws.afterName=this.spacesAndCommentsFromStart(S),this.raw(d,"params",S),f&&(n=S[S.length-1],d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(n){let d=this.colon(n);if(d===!1)return;let l=0,a;for(let m=d-1;m>=0&&(a=n[m],!(a[0]!=="space"&&(l+=1,l===2)));m--);throw this.input.error("Missed semicolon",a[0]==="word"?a[3]+1:a[2])}colon(n){let d=0,l,a,m;for(let[f,g]of n.entries()){if(l=g,a=l[0],a==="("&&(d+=1),a===")"&&(d-=1),d===0&&a===":")if(!m)this.doubleColon(l);else{if(m[0]==="word"&&m[1]==="progid")continue;return f}m=l}return!1}comment(n){let d=new s;this.init(d,n[2]),d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++;let l=n[1].slice(2,-2);if(/^\s*$/.test(l))d.text="",d.raws.left=l,d.raws.right="";else{let a=l.match(/^(\s*)([^]*\S)(\s*)$/);d.text=a[2],d.raws.left=a[1],d.raws.right=a[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(n,d){let l=new e;this.init(l,n[0][2]);let a=n[n.length-1];for(a[0]===";"&&(this.semicolon=!0,n.pop()),l.source.end=this.getPosition(a[3]||a[2]||p(n)),l.source.end.offset++;n[0][0]!=="word";)n.length===1&&this.unknownWord(n),l.raws.before+=n.shift()[1];for(l.source.start=this.getPosition(n[0][2]),l.prop="";n.length;){let b=n[0][0];if(b===":"||b==="space"||b==="comment")break;l.prop+=n.shift()[1]}l.raws.between="";let m;for(;n.length;)if(m=n.shift(),m[0]===":"){l.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),l.raws.between+=m[1];(l.prop[0]==="_"||l.prop[0]==="*")&&(l.raws.before+=l.prop[0],l.prop=l.prop.slice(1));let f=[],g;for(;n.length&&(g=n[0][0],!(g!=="space"&&g!=="comment"));)f.push(n.shift());this.precheckMissedSemicolon(n);for(let b=n.length-1;b>=0;b--){if(m=n[b],m[1].toLowerCase()==="!important"){l.important=!0;let v=this.stringFrom(n,b);v=this.spacesFromEnd(n)+v,v!==" !important"&&(l.raws.important=v);break}else if(m[1].toLowerCase()==="important"){let v=n.slice(0),E="";for(let w=b;w>0;w--){let y=v[w][0];if(E.trim().indexOf("!")===0&&y!=="space")break;E=v.pop()[1]+E}E.trim().indexOf("!")===0&&(l.important=!0,l.raws.important=E,n=v)}if(m[0]!=="space"&&m[0]!=="comment")break}n.some(b=>b[0]!=="space"&&b[0]!=="comment")&&(l.raws.between+=f.map(b=>b[1]).join(""),f=[]),this.raw(l,"value",f.concat(n),d),l.value.includes(":")&&!d&&this.checkMissedSemicolon(n)}doubleColon(n){throw this.input.error("Double colon",{offset:n[2]},{offset:n[2]+n[1].length})}emptyRule(n){let d=new u;this.init(d,n[2]),d.selector="",d.raws.between="",this.current=d}end(n){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(n[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(n)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(n){if(this.spaces+=n[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(n){let d=this.input.fromOffset(n);return{column:d.col,line:d.line,offset:n}}init(n,d){this.current.push(n),n.source={input:this.input,start:this.getPosition(d)},n.raws.before=this.spaces,this.spaces="",n.type!=="comment"&&(this.semicolon=!1)}other(n){let d=!1,l=null,a=!1,m=null,f=[],g=n[1].startsWith("--"),S=[],b=n;for(;b;){if(l=b[0],S.push(b),l==="("||l==="[")m||(m=b),f.push(l==="("?")":"]");else if(g&&a&&l==="{")m||(m=b),f.push("}");else if(f.length===0)if(l===";")if(a){this.decl(S,g);return}else break;else if(l==="{"){this.rule(S);return}else if(l==="}"){this.tokenizer.back(S.pop()),d=!0;break}else l===":"&&(a=!0);else l===f[f.length-1]&&(f.pop(),f.length===0&&(m=null));b=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),f.length>0&&this.unclosedBracket(m),d&&a){if(!g)for(;S.length&&(b=S[S.length-1][0],!(b!=="space"&&b!=="comment"));)this.tokenizer.back(S.pop());this.decl(S,g)}else this.unknownWord(S)}parse(){let n;for(;!this.tokenizer.endOfFile();)switch(n=this.tokenizer.nextToken(),n[0]){case"space":this.spaces+=n[1];break;case";":this.freeSemicolon(n);break;case"}":this.end(n);break;case"comment":this.comment(n);break;case"at-word":this.atrule(n);break;case"{":this.emptyRule(n);break;default:this.other(n);break}this.endFile()}precheckMissedSemicolon(){}raw(n,d,l,a){let m,f,g=l.length,S="",b=!0,v,E;for(let w=0;w<g;w+=1)m=l[w],f=m[0],f==="space"&&w===g-1&&!a?b=!1:f==="comment"?(E=l[w-1]?l[w-1][0]:"empty",v=l[w+1]?l[w+1][0]:"empty",!c[E]&&!c[v]?S.slice(-1)===","?b=!1:S+=m[1]:b=!1):S+=m[1];if(!b){let w=l.reduce((y,x)=>y+x[1],"");n.raws[d]={raw:w,value:S}}n[d]=S}rule(n){n.pop();let d=new u;this.init(d,n[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(n),this.raw(d,"selector",n),this.current=d}spacesAndCommentsFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],!(d!=="space"&&d!=="comment"));)l=n.pop()[1]+l;return l}spacesAndCommentsFromStart(n){let d,l="";for(;n.length&&(d=n[0][0],!(d!=="space"&&d!=="comment"));)l+=n.shift()[1];return l}spacesFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],d==="space");)l=n.pop()[1]+l;return l}stringFrom(n,d){let l="";for(let a=d;a<n.length;a++)l+=n[a][1];return n.splice(d,n.length-d),l}unclosedBlock(){let n=this.current.source.start;throw this.input.error("Unclosed block",n.line,n.column)}unclosedBracket(n){throw this.input.error("Unclosed bracket",{offset:n[2]},{offset:n[2]+1})}unexpectedClose(n){throw this.input.error("Unexpected }",{offset:n[2]},{offset:n[2]+1})}unknownWord(n){throw this.input.error("Unknown word",{offset:n[0][2]},{offset:n[0][2]+n[0][1].length})}unnamedAtrule(n,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Er=o,Er}var Mr,bi;function us(){if(bi)return Mr;bi=1;let e=Re(),t=oa(),s=vt();function i(r,u){let c=new s(r,u),p=new t(c);try{p.parse()}catch(o){throw o}return p.root}return Mr=i,i.default=i,e.registerParse(i),Mr}var Rr,vi;function un(){if(vi)return Rr;vi=1;let{isClean:e,my:t}=is(),s=nn(),i=yt(),r=Re(),u=ns(),c=on(),p=os(),o=us(),h=qe(),n={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},l={Once:!0,postcssPlugin:!0,prepare:!0},a=0;function m(E){return typeof E=="object"&&typeof E.then=="function"}function f(E){let w=!1,y=n[E.type];return E.type==="decl"?w=E.prop.toLowerCase():E.type==="atrule"&&(w=E.name.toLowerCase()),w&&E.append?[y,y+"-"+w,a,y+"Exit",y+"Exit-"+w]:w?[y,y+"-"+w,y+"Exit",y+"Exit-"+w]:E.append?[y,a,y+"Exit"]:[y,y+"Exit"]}function g(E){let w;return E.type==="document"?w=["Document",a,"DocumentExit"]:E.type==="root"?w=["Root",a,"RootExit"]:w=f(E),{eventIndex:0,events:w,iterator:0,node:E,visitorIndex:0,visitors:[]}}function S(E){return E[e]=!1,E.nodes&&E.nodes.forEach(w=>S(w)),E}let b={};class v{constructor(w,y,x){this.stringified=!1,this.processed=!1;let R;if(typeof y=="object"&&y!==null&&(y.type==="root"||y.type==="document"))R=S(y);else if(y instanceof v||y instanceof p)R=S(y.root),y.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=y.map);else{let M=o;x.syntax&&(M=x.syntax.parse),x.parser&&(M=x.parser),M.parse&&(M=M.parse);try{R=M(y,x)}catch(C){this.processed=!0,this.error=C}R&&!R[t]&&r.rebuild(R)}this.result=new p(w,R,x),this.helpers={...b,postcss:b,result:this.result},this.plugins=this.processor.plugins.map(M=>typeof M=="object"&&M.prepare?{...M,...M.prepare(this.result)}:M)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(w){return this.async().catch(w)}finally(w){return this.async().then(w,w)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(w,y){let x=this.result.lastPlugin;try{y&&y.addToError(w),this.error=w,w.name==="CssSyntaxError"&&!w.plugin?(w.plugin=x.postcssPlugin,w.setMessage()):x.postcssVersion}catch(R){console&&console.error&&console.error(R)}return w}prepareVisitors(){this.listeners={};let w=(y,x,R)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([y,R])};for(let y of this.plugins)if(typeof y=="object")for(let x in y){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${y.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!l[x])if(typeof y[x]=="object")for(let R in y[x])R==="*"?w(y,x,y[x][R]):w(y,x+"-"+R.toLowerCase(),y[x][R]);else typeof y[x]=="function"&&w(y,x,y[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let w=0;w<this.plugins.length;w++){let y=this.plugins[w],x=this.runOnRoot(y);if(m(x))try{await x}catch(R){throw this.handleError(R)}}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];){w[e]=!0;let y=[g(w)];for(;y.length>0;){let x=this.visitTick(y);if(m(x))try{await x}catch(R){let M=y[y.length-1].node;throw this.handleError(R,M)}}}if(this.listeners.OnceExit)for(let[y,x]of this.listeners.OnceExit){this.result.lastPlugin=y;try{if(w.type==="document"){let R=w.nodes.map(M=>x(M,this.helpers));await Promise.all(R)}else await x(w,this.helpers)}catch(R){throw this.handleError(R)}}}return this.processed=!0,this.stringify()}runOnRoot(w){this.result.lastPlugin=w;try{if(typeof w=="object"&&w.Once){if(this.result.root.type==="document"){let y=this.result.root.nodes.map(x=>w.Once(x,this.helpers));return m(y[0])?Promise.all(y):y}return w.Once(this.result.root,this.helpers)}else if(typeof w=="function")return w(this.result.root,this.result)}catch(y){throw this.handleError(y)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let w=this.result.opts,y=i;w.syntax&&(y=w.syntax.stringify),w.stringifier&&(y=w.stringifier),y.stringify&&(y=y.stringify);let R=new s(y,this.result.root,this.result.opts).generate();return this.result.css=R[0],this.result.map=R[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let w of this.plugins){let y=this.runOnRoot(w);if(m(y))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];)w[e]=!0,this.walkSync(w);if(this.listeners.OnceExit)if(w.type==="document")for(let y of w.nodes)this.visitSync(this.listeners.OnceExit,y);else this.visitSync(this.listeners.OnceExit,w)}return this.result}then(w,y){return this.async().then(w,y)}toString(){return this.css}visitSync(w,y){for(let[x,R]of w){this.result.lastPlugin=x;let M;try{M=R(y,this.helpers)}catch(C){throw this.handleError(C,y.proxyOf)}if(y.type!=="root"&&y.type!=="document"&&!y.parent)return!0;if(m(M))throw this.getAsyncError()}}visitTick(w){let y=w[w.length-1],{node:x,visitors:R}=y;if(x.type!=="root"&&x.type!=="document"&&!x.parent){w.pop();return}if(R.length>0&&y.visitorIndex<R.length){let[C,I]=R[y.visitorIndex];y.visitorIndex+=1,y.visitorIndex===R.length&&(y.visitors=[],y.visitorIndex=0),this.result.lastPlugin=C;try{return I(x.toProxy(),this.helpers)}catch(_){throw this.handleError(_,x)}}if(y.iterator!==0){let C=y.iterator,I;for(;I=x.nodes[x.indexes[C]];)if(x.indexes[C]+=1,!I[e]){I[e]=!0,w.push(g(I));return}y.iterator=0,delete x.indexes[C]}let M=y.events;for(;y.eventIndex<M.length;){let C=M[y.eventIndex];if(y.eventIndex+=1,C===a){x.nodes&&x.nodes.length&&(x[e]=!0,y.iterator=x.getIterator());return}else if(this.listeners[C]){y.visitors=this.listeners[C];return}}w.pop()}walkSync(w){w[e]=!0;let y=f(w);for(let x of y)if(x===a)w.nodes&&w.each(R=>{R[e]||this.walkSync(R)});else{let R=this.listeners[x];if(R&&this.visitSync(R,w.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return v.registerPostcss=E=>{b=E},Rr=v,v.default=v,h.registerLazyResult(v),u.registerLazyResult(v),Rr}var Nr,Si;function aa(){if(Si)return Nr;Si=1;let e=nn(),t=yt(),s=on(),i=us(),r=os();class u{constructor(p,o,h){o=o.toString(),this.stringified=!1,this._processor=p,this._css=o,this._opts=h,this._map=void 0;let n,d=t;this.result=new r(this._processor,n,this._opts),this.result.css=o;let l=this;Object.defineProperty(this.result,"root",{get(){return l.root}});let a=new e(d,n,this._opts,o);if(a.isMap()){let[m,f]=a.generate();m&&(this.result.css=m),f&&(this.result.map=f)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(p){return this.async().catch(p)}finally(p){return this.async().then(p,p)}sync(){if(this.error)throw this.error;return this.result}then(p,o){return this.async().then(p,o)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let p,o=i;try{p=o(this._css,this._opts)}catch(h){this.error=h}if(this.error)throw this.error;return this._root=p,p}get[Symbol.toStringTag](){return"NoWorkResult"}}return Nr=u,u.default=u,Nr}var Or,Ci;function la(){if(Ci)return Or;Ci=1;let e=aa(),t=un(),s=ns(),i=qe();class r{constructor(c=[]){this.version="8.4.38",this.plugins=this.normalize(c)}normalize(c){let p=[];for(let o of c)if(o.postcss===!0?o=o():o.postcss&&(o=o.postcss),typeof o=="object"&&Array.isArray(o.plugins))p=p.concat(o.plugins);else if(typeof o=="object"&&o.postcssPlugin)p.push(o);else if(typeof o=="function")p.push(o);else if(!(typeof o=="object"&&(o.parse||o.stringify)))throw new Error(o+" is not a PostCSS plugin");return p}process(c,p={}){return!this.plugins.length&&!p.parser&&!p.stringifier&&!p.syntax?new e(this,c,p):new t(this,c,p)}use(c){return this.plugins=this.plugins.concat(this.normalize([c])),this}}return Or=r,r.default=r,i.registerProcessor(r),s.registerProcessor(r),Or}var Ir,xi;function ua(){if(xi)return Ir;xi=1;let e=bt(),t=sn(),s=St(),i=as(),r=vt(),u=qe(),c=ls();function p(o,h){if(Array.isArray(o))return o.map(l=>p(l));let{inputs:n,...d}=o;if(n){h=[];for(let l of n){let a={...l,__proto__:r.prototype};a.map&&(a.map={...a.map,__proto__:t.prototype}),h.push(a)}}if(d.nodes&&(d.nodes=o.nodes.map(l=>p(l,h))),d.source){let{inputId:l,...a}=d.source;d.source=a,l!=null&&(d.source.input=h[l])}if(d.type==="root")return new u(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new c(d);if(d.type==="comment")return new s(d);if(d.type==="atrule")return new i(d);throw new Error("Unknown node type: "+o.type)}return Ir=p,p.default=p,Ir}var Ar,Ei;function ca(){if(Ei)return Ar;Ei=1;let e=ss(),t=bt(),s=un(),i=Re(),r=la(),u=yt(),c=ua(),p=ns(),o=an(),h=St(),n=as(),d=os(),l=vt(),a=us(),m=ln(),f=ls(),g=qe(),S=wt();function b(...v){return v.length===1&&Array.isArray(v[0])&&(v=v[0]),new r(v)}return b.plugin=function(E,w){let y=!1;function x(...M){console&&console.warn&&!y&&(y=!0,console.warn(E+`: postcss.plugin was deprecated. Migration guide:
    5050https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(E+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
    51 https://www.w3ctech.com/topic/2226`));let C=w(...M);return C.postcssPlugin=E,C.postcssVersion=new r().version,C}let R;return Object.defineProperty(x,"postcss",{get(){return R||(R=x()),R}}),x.process=function(M,C,I){return b([x(I)]).process(M,C)},x},b.stringify=u,b.parse=a,b.fromJSON=f,b.list=m,b.comment=v=>new h(v),b.atRule=v=>new n(v),b.decl=v=>new t(v),b.rule=v=>new c(v),b.root=v=>new g(v),b.document=v=>new p(v),b.CssSyntaxError=e,b.Declaration=t,b.Container=i,b.Processor=r,b.Document=p,b.Comment=h,b.Warning=o,b.AtRule=n,b.Result=d,b.Input=l,b.Rule=c,b.Root=g,b.Node=S,s.registerPostcss(b),Ar=b,b.default=b,Ar}var ca=ua(),X=Zo(ca);X.stringify;X.fromJSON;X.plugin;X.parse;X.list;X.document;X.comment;X.atRule;X.rule;X.decl;X.root;X.CssSyntaxError;X.Declaration;X.Container;X.Processor;X.Document;X.Comment;X.Warning;X.AtRule;X.Result;X.Input;X.Rule;X.Root;X.Node;var Pr=class e{constructor(...t){de(this,"parentElement",null),de(this,"parentNode",null),de(this,"ownerDocument"),de(this,"firstChild",null),de(this,"lastChild",null),de(this,"previousSibling",null),de(this,"nextSibling",null),de(this,"ELEMENT_NODE",1),de(this,"TEXT_NODE",3),de(this,"nodeType"),de(this,"nodeName"),de(this,"RRNodeType")}get childNodes(){let t=[],s=this.firstChild;for(;s;)t.push(s),s=s.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,s){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}};var Mi={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Ri={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Ke={},cn={},fa=()=>!!globalThis.Zone;function cs(e){if(Ke[e])return Ke[e];let t=globalThis[e],s=t.prototype,i=e in Mi?Mi[e]:void 0,r=!!(i&&i.every(p=>{var o,h;return!!((h=(o=Object.getOwnPropertyDescriptor(s,p))==null?void 0:o.get)!=null&&h.toString().includes("[native code]"))})),u=e in Ri?Ri[e]:void 0,f=!!(u&&u.every(p=>{var o;return typeof s[p]=="function"&&((o=s[p])==null?void 0:o.toString().includes("[native code]"))}));if(r&&f&&!fa())return Ke[e]=t.prototype,t.prototype;try{let p=document.createElement("iframe");p.style.display="none",document.body.appendChild(p);let o=p.contentWindow;if(!o)return t.prototype;let h=o[e].prototype;if(!h)return p.remove(),s;let n=navigator.userAgent;return n.includes("Safari")&&!n.includes("Chrome")?(p.classList.add("rr-block"),p.setAttribute("__rrwebUntaintedMutationObserver",""),cn[e]=()=>p.remove()):p.remove(),Ke[e]=h}catch{return s}}var Dr={};function be(e,t,s){var i;let r=`${e}.${String(s)}`;if(Dr[r])return Dr[r].call(t);let u=cs(e),f=(i=Object.getOwnPropertyDescriptor(u,s))==null?void 0:i.get;return f?(Dr[r]=f,f.call(t)):t[s]}var Tr={};function fn(e,t,s){let i=`${e}.${String(s)}`;if(Tr[i])return Tr[i].bind(t);let u=cs(e)[s];return typeof u!="function"?t[s]:(Tr[i]=u,u.bind(t))}function ha(e){return be("Node",e,"ownerDocument")}function da(e){return be("Node",e,"childNodes")}function pa(e){return be("Node",e,"parentNode")}function ma(e){return be("Node",e,"parentElement")}function ga(e){return be("Node",e,"textContent")}function ya(e,t){return fn("Node",e,"contains")(t)}function wa(e){return fn("Node",e,"getRootNode")()}function ba(e){return!e||!("host"in e)?null:be("ShadowRoot",e,"host")}function va(e){return e.styleSheets}function Sa(e){return!e||!("shadowRoot"in e)?null:be("Element",e,"shadowRoot")}function Ca(e,t){return be("Element",e,"querySelector")(t)}function xa(e,t){return be("Element",e,"querySelectorAll")(t)}function hn(){return[cs("MutationObserver").constructor,cn.MutationObserver??(()=>{})]}var We=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(We=()=>new Date().getTime());function Ne(e,t,s){try{if(!(t in e))return()=>{};let i=e[t],r=s(i);return typeof r=="function"&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__rrweb_original__:{enumerable:!1,value:i}})),e[t]=r,()=>{e[t]=i}}catch{return()=>{}}}var P={ownerDocument:ha,childNodes:da,parentNode:pa,parentElement:ma,textContent:ga,contains:ya,getRootNode:wa,host:ba,styleSheets:va,shadowRoot:Sa,querySelector:Ca,querySelectorAll:xa,nowTimestamp:We,mutationObserverCtor:hn,patch:Ne};function oe(e,t,s=document){let i={capture:!0,passive:!0};return s.addEventListener(e,t,i),()=>s.removeEventListener(e,t,i)}var De=`Please stop import mirror directly. Instead of that,\r
     51https://www.w3ctech.com/topic/2226`));let C=w(...M);return C.postcssPlugin=E,C.postcssVersion=new r().version,C}let R;return Object.defineProperty(x,"postcss",{get(){return R||(R=x()),R}}),x.process=function(M,C,I){return b([x(I)]).process(M,C)},x},b.stringify=u,b.parse=a,b.fromJSON=c,b.list=m,b.comment=v=>new h(v),b.atRule=v=>new n(v),b.decl=v=>new t(v),b.rule=v=>new f(v),b.root=v=>new g(v),b.document=v=>new p(v),b.CssSyntaxError=e,b.Declaration=t,b.Container=i,b.Processor=r,b.Document=p,b.Comment=h,b.Warning=o,b.AtRule=n,b.Result=d,b.Input=l,b.Rule=f,b.Root=g,b.Node=S,s.registerPostcss(b),Ar=b,b.default=b,Ar}var fa=ca(),X=Ko(fa);X.stringify;X.fromJSON;X.plugin;X.parse;X.list;X.document;X.comment;X.atRule;X.rule;X.decl;X.root;X.CssSyntaxError;X.Declaration;X.Container;X.Processor;X.Document;X.Comment;X.Warning;X.AtRule;X.Result;X.Input;X.Rule;X.Root;X.Node;var Pr=class e{constructor(...t){de(this,"parentElement",null),de(this,"parentNode",null),de(this,"ownerDocument"),de(this,"firstChild",null),de(this,"lastChild",null),de(this,"previousSibling",null),de(this,"nextSibling",null),de(this,"ELEMENT_NODE",1),de(this,"TEXT_NODE",3),de(this,"nodeType"),de(this,"nodeName"),de(this,"RRNodeType")}get childNodes(){let t=[],s=this.firstChild;for(;s;)t.push(s),s=s.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,s){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}};var Mi={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Ri={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Ke={},cn={},ha=()=>!!globalThis.Zone;function cs(e){if(Ke[e])return Ke[e];let t=globalThis[e],s=t.prototype,i=e in Mi?Mi[e]:void 0,r=!!(i&&i.every(p=>{var o,h;return!!((h=(o=Object.getOwnPropertyDescriptor(s,p))==null?void 0:o.get)!=null&&h.toString().includes("[native code]"))})),u=e in Ri?Ri[e]:void 0,c=!!(u&&u.every(p=>{var o;return typeof s[p]=="function"&&((o=s[p])==null?void 0:o.toString().includes("[native code]"))}));if(r&&c&&!ha())return Ke[e]=t.prototype,t.prototype;try{let p=document.createElement("iframe");p.style.display="none",document.body.appendChild(p);let o=p.contentWindow;if(!o)return t.prototype;let h=o[e].prototype;if(!h)return p.remove(),s;let n=navigator.userAgent;return n.includes("Safari")&&!n.includes("Chrome")?(p.classList.add("rr-block"),p.setAttribute("__rrwebUntaintedMutationObserver",""),cn[e]=()=>p.remove()):p.remove(),Ke[e]=h}catch{return s}}var Dr={};function be(e,t,s){var i;let r=`${e}.${String(s)}`;if(Dr[r])return Dr[r].call(t);let u=cs(e),c=(i=Object.getOwnPropertyDescriptor(u,s))==null?void 0:i.get;return c?(Dr[r]=c,c.call(t)):t[s]}var Tr={};function fn(e,t,s){let i=`${e}.${String(s)}`;if(Tr[i])return Tr[i].bind(t);let u=cs(e)[s];return typeof u!="function"?t[s]:(Tr[i]=u,u.bind(t))}function da(e){return be("Node",e,"ownerDocument")}function pa(e){return be("Node",e,"childNodes")}function ma(e){return be("Node",e,"parentNode")}function ga(e){return be("Node",e,"parentElement")}function ya(e){return be("Node",e,"textContent")}function wa(e,t){return fn("Node",e,"contains")(t)}function ba(e){return fn("Node",e,"getRootNode")()}function va(e){return!e||!("host"in e)?null:be("ShadowRoot",e,"host")}function Sa(e){return e.styleSheets}function Ca(e){return!e||!("shadowRoot"in e)?null:be("Element",e,"shadowRoot")}function xa(e,t){return be("Element",e,"querySelector")(t)}function Ea(e,t){return be("Element",e,"querySelectorAll")(t)}function hn(){return[cs("MutationObserver").constructor,cn.MutationObserver??(()=>{})]}var We=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(We=()=>new Date().getTime());function Ne(e,t,s){try{if(!(t in e))return()=>{};let i=e[t],r=s(i);return typeof r=="function"&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__rrweb_original__:{enumerable:!1,value:i}})),e[t]=r,()=>{e[t]=i}}catch{return()=>{}}}var P={ownerDocument:da,childNodes:pa,parentNode:ma,parentElement:ga,textContent:ya,contains:wa,getRootNode:ba,host:va,styleSheets:Sa,shadowRoot:Ca,querySelector:xa,querySelectorAll:Ea,nowTimestamp:We,mutationObserverCtor:hn,patch:Ne};function oe(e,t,s=document){let i={capture:!0,passive:!0};return s.addEventListener(e,t,i),()=>s.removeEventListener(e,t,i)}var De=`Please stop import mirror directly. Instead of that,\r
    5252now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
    53 or you can use record.mirror to access the mirror instance during recording.`,Ni={map:{},getId(){return console.error(De),-1},getNode(){return console.error(De),null},removeNodeFromMap(){console.error(De)},has(){return console.error(De),!1},reset(){console.error(De)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Ni=new Proxy(Ni,{get(e,t,s){return t==="map"&&console.error(De),Reflect.get(e,t,s)}}));function je(e,t,s={}){let i=null,r=0;return function(...u){let f=Date.now();!r&&s.leading===!1&&(r=f);let p=t-(f-r),o=this;p<=0||p>t?(i&&(clearTimeout(i),i=null),r=f,e.apply(o,u)):!i&&s.trailing!==!1&&(i=setTimeout(()=>{r=s.leading===!1?0:Date.now(),i=null,e.apply(o,u)},p))}}function Ct(e,t,s,i,r=window){let u=r.Object.getOwnPropertyDescriptor(e,t);return r.Object.defineProperty(e,t,i?s:{set(f){setTimeout(()=>{s.set.call(this,f)},0),u&&u.set&&u.set.call(this,f)}}),()=>Ct(e,t,u||{},!0)}function dn(e){var t,s,i,r;let u=e.document;return{left:u.scrollingElement?u.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:u.documentElement.scrollLeft||u?.body&&((t=P.parentElement(u.body))==null?void 0:t.scrollLeft)||((s=u?.body)==null?void 0:s.scrollLeft)||0,top:u.scrollingElement?u.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:u?.documentElement.scrollTop||u?.body&&((i=P.parentElement(u.body))==null?void 0:i.scrollTop)||((r=u?.body)==null?void 0:r.scrollTop)||0}}function pn(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function mn(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function gn(e){return e?e.nodeType===e.ELEMENT_NODE?e:P.parentElement(e):null}function ae(e,t,s,i){if(!e)return!1;let r=gn(e);if(!r)return!1;try{if(typeof t=="string"){if(r.classList.contains(t)||i&&r.closest("."+t)!==null)return!0}else if(lt(r,t,i))return!0}catch{}return!!(s&&(r.matches(s)||i&&r.closest(s)!==null))}function Ea(e,t){return t.getId(e)!==-1}function _r(e,t,s){return e.tagName==="TITLE"&&s.headTitleMutations?!0:t.getId(e)===ze}function yn(e,t){if(Ue(e))return!1;let s=t.getId(e);if(!t.has(s))return!0;let i=P.parentNode(e);return i&&i.nodeType===e.DOCUMENT_NODE?!1:i?yn(i,t):!0}function Fr(e){return!!e.changedTouches}function Ma(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function wn(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function bn(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Ur(e){return e?e instanceof Pr&&"shadowRoot"in e?!!e.shadowRoot:!!P.shadowRoot(e):!1}var $r=class{constructor(){A(this,"id",1),A(this,"styleIDMap",new WeakMap),A(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,s){if(this.has(t))return this.getId(t);let i;return s===void 0?i=this.id++:i=s,this.styleIDMap.set(t,i),this.idStyleMap.set(i,t),i}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function vn(e){var t;let s=null;return"getRootNode"in e&&((t=P.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&P.host(P.getRootNode(e))&&(s=P.host(P.getRootNode(e))),s}function Ra(e){let t=e,s;for(;s=vn(t);)t=s;return t}function Na(e){let t=P.ownerDocument(e);if(!t)return!1;let s=Ra(e);return P.contains(t,s)}function Sn(e){let t=P.ownerDocument(e);return t?P.contains(t,e)||Na(e):!1}var W=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(W||{}),$=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))($||{}),ce=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(ce||{}),ye=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(ye||{}),Pe=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Pe||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{});var Cn=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Cn||{});function Oi(e){return"__ln"in e}var Br=class{constructor(){A(this,"length",0),A(this,"head",null),A(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let s=this.head;for(let i=0;i<t;i++)s=s?.next||null;return s}addNode(t){let s={value:t,previous:null,next:null};if(t.__ln=s,t.previousSibling&&Oi(t.previousSibling)){let i=t.previousSibling.__ln.next;s.next=i,s.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=s,i&&(i.previous=s)}else if(t.nextSibling&&Oi(t.nextSibling)&&t.nextSibling.__ln.previous){let i=t.nextSibling.__ln.previous;s.previous=i,s.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=s,i&&(i.next=s)}else this.head&&(this.head.previous=s),s.next=this.head,this.head=s;s.next===null&&(this.tail=s),this.length++}removeNode(t){let s=t.__ln;this.head&&(s.previous?(s.previous.next=s.next,s.next?s.next.previous=s.previous:this.tail=s.previous):(this.head=s.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Ii=(e,t)=>`${e}@${t}`,zr=class{constructor(){A(this,"frozen",!1),A(this,"locked",!1),A(this,"texts",[]),A(this,"attributes",[]),A(this,"attributeMap",new WeakMap),A(this,"removes",[]),A(this,"mapRemoves",[]),A(this,"movedMap",{}),A(this,"addedSet",new Set),A(this,"movedSet",new Set),A(this,"droppedSet",new Set),A(this,"removesSubTreeCache",new Set),A(this,"mutationCb"),A(this,"blockClass"),A(this,"blockSelector"),A(this,"maskTextClass"),A(this,"maskTextSelector"),A(this,"inlineStylesheet"),A(this,"maskInputOptions"),A(this,"maskTextFn"),A(this,"maskInputFn"),A(this,"keepIframeSrcFn"),A(this,"recordCanvas"),A(this,"inlineImages"),A(this,"slimDOMOptions"),A(this,"dataURLOptions"),A(this,"doc"),A(this,"mirror"),A(this,"iframeManager"),A(this,"stylesheetManager"),A(this,"shadowDomManager"),A(this,"canvasManager"),A(this,"processedNodeManager"),A(this,"unattachedDoc"),A(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),A(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],s=new Set,i=new Br,r=o=>{let h=o,n=ze;for(;n===ze;)h=h&&h.nextSibling,n=h&&this.mirror.getId(h);return n},u=o=>{let h=P.parentNode(o);if(!h||!Sn(o))return;let n=!1;if(o.nodeType===Node.TEXT_NODE){let m=h.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(h)&&(n=!0)}let d=Ue(h)?this.mirror.getId(vn(o)):this.mirror.getId(h),l=r(o);if(d===-1||l===-1)return i.addNode(o);let a=ke(o,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{wn(m,this.mirror)&&this.iframeManager.addIframe(m),bn(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ur(o)&&this.shadowDomManager.addShadowRoot(P.shadowRoot(o),this.doc)},onIframeLoad:(m,c)=>{this.iframeManager.attachIframe(m,c),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,c)=>{this.stylesheetManager.attachLinkElement(m,c)},cssCaptured:n});a&&(t.push({parentId:d,nextId:l,node:a}),s.add(a.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let o of this.movedSet)Ai(this.removesSubTreeCache,o,this.mirror)&&!this.movedSet.has(P.parentNode(o))||u(o);for(let o of this.addedSet)!Di(this.droppedSet,o)&&!Ai(this.removesSubTreeCache,o,this.mirror)||Di(this.movedSet,o)?u(o):this.droppedSet.add(o);let f=null;for(;i.length;){let o=null;if(f){let h=this.mirror.getId(P.parentNode(f.value)),n=r(f.value);h!==-1&&n!==-1&&(o=f)}if(!o){let h=i.tail;for(;h;){let n=h;if(h=h.previous,n){let d=this.mirror.getId(P.parentNode(n.value));if(r(n.value)===-1)continue;if(d!==-1){o=n;break}else{let a=n.value,m=P.parentNode(a);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let c=P.host(m);if(this.mirror.getId(c)!==-1){o=n;break}}}}}}if(!o){for(;i.head;)i.removeNode(i.head.value);break}f=o.previous,i.removeNode(o.value),u(o.value)}let p={texts:this.texts.map(o=>{let h=o.node,n=P.parentNode(h);return n&&n.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(n),{id:this.mirror.getId(h),value:o.value}}).filter(o=>!s.has(o.id)).filter(o=>this.mirror.has(o.id)),attributes:this.attributes.map(o=>{let{attributes:h}=o;if(typeof h.style=="string"){let n=JSON.stringify(o.styleDiff),d=JSON.stringify(o._unchangedStyles);n.length<h.style.length&&(n+d).split("var(").length===h.style.split("var(").length&&(h.style=o.styleDiff)}return{id:this.mirror.getId(o.node),attributes:h}}).filter(o=>!s.has(o.id)).filter(o=>this.mirror.has(o.id)),removes:this.removes,adds:t};!p.texts.length&&!p.attributes.length&&!p.removes.length&&!p.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(p))}),A(this,"genTextAreaValueMutation",t=>{let s=this.attributeMap.get(t);s||(s={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(s),this.attributeMap.set(t,s));let i=Array.from(P.childNodes(t),r=>P.textContent(r)||"").join("");s.attributes.value=nt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:ot(t),value:i,maskInputFn:this.maskInputFn})}),A(this,"processMutation",t=>{if(!_r(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let s=P.textContent(t.target);!ae(t.target,this.blockClass,this.blockSelector,!1)&&s!==t.oldValue&&this.texts.push({value:Hi(t.target,this.maskTextClass,this.maskTextSelector,!0)&&s?this.maskTextFn?this.maskTextFn(s,gn(t.target)):s.replace(/[\S]/g,"*"):s,node:t.target});break}case"attributes":{let s=t.target,i=Ce(s.tagName),r=t.attributeName,u=t.target.getAttribute(r);if(r==="value"){let p=ot(s);u=nt({element:s,maskInputOptions:this.maskInputOptions,tagName:s.tagName,type:p,value:u,maskInputFn:this.maskInputFn})}if(ae(t.target,this.blockClass,this.blockSelector,!1)||u===t.oldValue)return;let f=this.attributeMap.get(t.target);if(i==="iframe"&&r==="src"&&!this.keepIframeSrcFn(u))if(!s.contentDocument)r="rr_src";else return;if(f||(f={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(f),this.attributeMap.set(t.target,f)),r==="type"&&i==="input"&&(t.oldValue||"").toLowerCase()==="password"&&s.setAttribute("data-rr-is-password","true"),!Gi(i,r))if(f.attributes[r]=qi(this.doc,i,Ce(r),u),r==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let p=this.unattachedDoc.createElement("span");t.oldValue&&p.setAttribute("style",t.oldValue);for(let o of Array.from(s.style)){let h=s.style.getPropertyValue(o),n=s.style.getPropertyPriority(o);h!==p.style.getPropertyValue(o)||n!==p.style.getPropertyPriority(o)?n===""?f.styleDiff[o]=h:f.styleDiff[o]=[h,n]:f._unchangedStyles[o]=[h,n]}for(let o of Array.from(p.style))s.style.getPropertyValue(o)===""&&(f.styleDiff[o]=!1)}else r==="open"&&s.tagName==="DIALOG"&&(s.matches("dialog:modal")?f.attributes.rr_open_mode="modal":f.attributes.rr_open_mode="non-modal");break}case"childList":{if(ae(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(s=>this.genAdds(s,t.target)),t.removedNodes.forEach(s=>{let i=this.mirror.getId(s),r=Ue(t.target)?this.mirror.getId(P.host(t.target)):this.mirror.getId(t.target);ae(t.target,this.blockClass,this.blockSelector,!1)||_r(s,this.mirror,this.slimDOMOptions)||!Ea(s,this.mirror)||(this.addedSet.has(s)?(Wr(this.addedSet,s),this.droppedSet.add(s)):this.addedSet.has(t.target)&&i===-1||yn(t.target,this.mirror)||(this.movedSet.has(s)&&this.movedMap[Ii(i,r)]?Wr(this.movedSet,s):(this.removes.push({parentId:r,id:i,isShadow:Ue(t.target)&&$e(t.target)?!0:void 0}),Oa(s,this.removesSubTreeCache))),this.mapRemoves.push(s))});break}}}),A(this,"genAdds",(t,s)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(_r(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let i=null;s&&this.mirror.hasNode(s)&&(i=this.mirror.getId(s)),i&&i!==-1&&(this.movedMap[Ii(this.mirror.getId(t),i)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ae(t,this.blockClass,this.blockSelector,!1)||(P.childNodes(t).forEach(i=>this.genAdds(i)),Ur(t)&&P.childNodes(P.shadowRoot(t)).forEach(i=>{this.processedNodeManager.add(i,this),this.genAdds(i,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(s=>{this[s]=t[s]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function Wr(e,t){e.delete(t),P.childNodes(t).forEach(s=>Wr(e,s))}function Oa(e,t){let s=[e];for(;s.length;){let i=s.pop();t.has(i)||(t.add(i),P.childNodes(i).forEach(r=>s.push(r)))}}function Ai(e,t,s){return e.size===0?!1:Ia(e,t)}function Ia(e,t,s){let i=P.parentNode(t);return i?e.has(i):!1}function Di(e,t){return e.size===0?!1:xn(e,t)}function xn(e,t){let s=P.parentNode(t);return s?e.has(s)?!0:xn(e,s):!1}var Be;function Aa(e){Be=e}function Da(){Be=void 0}var B=e=>Be?(...s)=>{try{return e(...s)}catch(i){if(Be&&Be(i)===!0)return;throw i}}:e,Ee=[];function Ge(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function En(e,t){let s=new zr;Ee.push(s),s.init(e);let[i,r]=hn(),u=new i(B(s.processMutations.bind(s)));return u.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[u,r]}function Ta({mousemoveCb:e,sampling:t,doc:s,mirror:i}){if(t.mousemove===!1)return()=>{};let r=typeof t.mousemove=="number"?t.mousemove:50,u=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,f=[],p,o=je(B(d=>{let l=Date.now()-p;e(f.map(a=>(a.timeOffset-=l,a)),d),f=[],p=null}),u),h=B(je(B(d=>{let l=Ge(d),{clientX:a,clientY:m}=Fr(d)?d.changedTouches[0]:d;p||(p=We()),f.push({x:a,y:m,id:i.getId(l),timeOffset:We()-p}),o(typeof DragEvent<"u"&&d instanceof DragEvent?$.Drag:d instanceof MouseEvent?$.MouseMove:$.TouchMove)}),r,{trailing:!1})),n=[oe("mousemove",h,s),oe("touchmove",h,s),oe("drag",h,s)];return B(()=>{n.forEach(d=>d())})}function _a({mouseInteractionCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,sampling:u}){if(u.mouseInteraction===!1)return()=>{};let f=u.mouseInteraction===!0||u.mouseInteraction===void 0?{}:u.mouseInteraction,p=[],o=null,h=n=>d=>{let l=Ge(d);if(ae(l,i,r,!0))return;let a=null,m=n;if("pointerType"in d){switch(d.pointerType){case"mouse":a=ye.Mouse;break;case"touch":a=ye.Touch;break;case"pen":a=ye.Pen;break}a===ye.Touch?ce[n]===ce.MouseDown?m="TouchStart":ce[n]===ce.MouseUp&&(m="TouchEnd"):ye.Pen}else Fr(d)&&(a=ye.Touch);a!==null?(o=a,(m.startsWith("Touch")&&a===ye.Touch||m.startsWith("Mouse")&&a===ye.Mouse)&&(a=null)):ce[n]===ce.Click&&(a=o,o=null);let c=Fr(d)?d.changedTouches[0]:d;if(!c)return;let g=s.getId(l),{clientX:S,clientY:b}=c;B(e)({type:ce[m],id:g,x:S,y:b,...a!==null&&{pointerType:a}})};return Object.keys(ce).filter(n=>Number.isNaN(Number(n))&&!n.endsWith("_Departed")&&f[n]!==!1).forEach(n=>{let d=Ce(n),l=h(n);if(window.PointerEvent)switch(ce[n]){case ce.MouseDown:case ce.MouseUp:d=d.replace("mouse","pointer");break;case ce.TouchStart:case ce.TouchEnd:return}p.push(oe(d,l,t))}),B(()=>{p.forEach(n=>n())})}function Mn({scrollCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,sampling:u}){let f=B(je(B(p=>{let o=Ge(p);if(!o||ae(o,i,r,!0))return;let h=s.getId(o);if(o===t&&t.defaultView){let n=dn(t.defaultView);e({id:h,x:n.left,y:n.top})}else e({id:h,x:o.scrollLeft,y:o.scrollTop})}),u.scroll||100));return oe("scroll",f,t)}function ka({viewportResizeCb:e},{win:t}){let s=-1,i=-1,r=B(je(B(()=>{let u=pn(),f=mn();(s!==u||i!==f)&&(e({width:Number(f),height:Number(u)}),s=u,i=f)}),200));return oe("resize",r,t)}var La=["INPUT","TEXTAREA","SELECT"],Ti=new WeakMap;function Pa({inputCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,ignoreClass:u,ignoreSelector:f,maskInputOptions:p,maskInputFn:o,sampling:h,userTriggeredOnInput:n}){function d(b){let v=Ge(b),E=b.isTrusted,w=v&&v.tagName;if(v&&w==="OPTION"&&(v=P.parentElement(v)),!v||!w||La.indexOf(w)<0||ae(v,i,r,!0)||v.classList.contains(u)||f&&v.matches(f))return;let y=v.value,x=!1,R=ot(v)||"";R==="radio"||R==="checkbox"?x=v.checked:(p[w.toLowerCase()]||p[R])&&(y=nt({element:v,maskInputOptions:p,tagName:w,type:R,value:y,maskInputFn:o})),l(v,n?{text:y,isChecked:x,userTriggered:E}:{text:y,isChecked:x});let M=v.name;R==="radio"&&M&&x&&t.querySelectorAll(`input[type="radio"][name="${M}"]`).forEach(C=>{if(C!==v){let I=C.value;l(C,n?{text:I,isChecked:!x,userTriggered:!1}:{text:I,isChecked:!x})}})}function l(b,v){let E=Ti.get(b);if(!E||E.text!==v.text||E.isChecked!==v.isChecked){Ti.set(b,v);let w=s.getId(b);B(e)({...v,id:w})}}let m=(h.input==="last"?["change"]:["input","change"]).map(b=>oe(b,B(d),t)),c=t.defaultView;if(!c)return()=>{m.forEach(b=>b())};let g=c.Object.getOwnPropertyDescriptor(c.HTMLInputElement.prototype,"value"),S=[[c.HTMLInputElement.prototype,"value"],[c.HTMLInputElement.prototype,"checked"],[c.HTMLSelectElement.prototype,"value"],[c.HTMLTextAreaElement.prototype,"value"],[c.HTMLSelectElement.prototype,"selectedIndex"],[c.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...S.map(b=>Ct(b[0],b[1],{set(){B(d)({target:this,isTrusted:!1})}},!1,c))),B(()=>{m.forEach(b=>b())})}function ut(e){let t=[];function s(i,r){if(et("CSSGroupingRule")&&i.parentRule instanceof CSSGroupingRule||et("CSSMediaRule")&&i.parentRule instanceof CSSMediaRule||et("CSSSupportsRule")&&i.parentRule instanceof CSSSupportsRule||et("CSSConditionRule")&&i.parentRule instanceof CSSConditionRule){let f=Array.from(i.parentRule.cssRules).indexOf(i);return r.unshift(f),s(i.parentRule,r)}else if(i.parentStyleSheet){let f=Array.from(i.parentStyleSheet.cssRules).indexOf(i);r.unshift(f)}return r}return s(e,t)}function Se(e,t,s){let i,r;return e?(e.ownerNode?i=t.getId(e.ownerNode):r=s.getId(e),{styleId:r,id:i}):{}}function Fa({styleSheetRuleCb:e,mirror:t,stylesheetManager:s},{win:i}){if(!i.CSSStyleSheet||!i.CSSStyleSheet.prototype)return()=>{};let r=i.CSSStyleSheet.prototype.insertRule;i.CSSStyleSheet.prototype.insertRule=new Proxy(r,{apply:B((n,d,l)=>{let[a,m]=l,{id:c,styleId:g}=Se(d,t,s.styleMirror);return(c&&c!==-1||g&&g!==-1)&&e({id:c,styleId:g,adds:[{rule:a,index:m}]}),n.apply(d,l)})}),i.CSSStyleSheet.prototype.addRule=function(n,d,l=this.cssRules.length){let a=`${n} { ${d} }`;return i.CSSStyleSheet.prototype.insertRule.apply(this,[a,l])};let u=i.CSSStyleSheet.prototype.deleteRule;i.CSSStyleSheet.prototype.deleteRule=new Proxy(u,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:c}=Se(d,t,s.styleMirror);return(m&&m!==-1||c&&c!==-1)&&e({id:m,styleId:c,removes:[{index:a}]}),n.apply(d,l)})}),i.CSSStyleSheet.prototype.removeRule=function(n){return i.CSSStyleSheet.prototype.deleteRule.apply(this,[n])};let f;i.CSSStyleSheet.prototype.replace&&(f=i.CSSStyleSheet.prototype.replace,i.CSSStyleSheet.prototype.replace=new Proxy(f,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:c}=Se(d,t,s.styleMirror);return(m&&m!==-1||c&&c!==-1)&&e({id:m,styleId:c,replace:a}),n.apply(d,l)})}));let p;i.CSSStyleSheet.prototype.replaceSync&&(p=i.CSSStyleSheet.prototype.replaceSync,i.CSSStyleSheet.prototype.replaceSync=new Proxy(p,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:c}=Se(d,t,s.styleMirror);return(m&&m!==-1||c&&c!==-1)&&e({id:m,styleId:c,replaceSync:a}),n.apply(d,l)})}));let o={};tt("CSSGroupingRule")?o.CSSGroupingRule=i.CSSGroupingRule:(tt("CSSMediaRule")&&(o.CSSMediaRule=i.CSSMediaRule),tt("CSSConditionRule")&&(o.CSSConditionRule=i.CSSConditionRule),tt("CSSSupportsRule")&&(o.CSSSupportsRule=i.CSSSupportsRule));let h={};return Object.entries(o).forEach(([n,d])=>{h[n]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(h[n].insertRule,{apply:B((l,a,m)=>{let[c,g]=m,{id:S,styleId:b}=Se(a.parentStyleSheet,t,s.styleMirror);return(S&&S!==-1||b&&b!==-1)&&e({id:S,styleId:b,adds:[{rule:c,index:[...ut(a),g||0]}]}),l.apply(a,m)})}),d.prototype.deleteRule=new Proxy(h[n].deleteRule,{apply:B((l,a,m)=>{let[c]=m,{id:g,styleId:S}=Se(a.parentStyleSheet,t,s.styleMirror);return(g&&g!==-1||S&&S!==-1)&&e({id:g,styleId:S,removes:[{index:[...ut(a),c]}]}),l.apply(a,m)})})}),B(()=>{i.CSSStyleSheet.prototype.insertRule=r,i.CSSStyleSheet.prototype.deleteRule=u,f&&(i.CSSStyleSheet.prototype.replace=f),p&&(i.CSSStyleSheet.prototype.replaceSync=p),Object.entries(o).forEach(([n,d])=>{d.prototype.insertRule=h[n].insertRule,d.prototype.deleteRule=h[n].deleteRule})})}function Rn({mirror:e,stylesheetManager:t},s){var i,r,u;let f=null;s.nodeName==="#document"?f=e.getId(s):f=e.getId(P.host(s));let p=s.nodeName==="#document"?(i=s.defaultView)==null?void 0:i.Document:(u=(r=s.ownerDocument)==null?void 0:r.defaultView)==null?void 0:u.ShadowRoot,o=p?.prototype?Object.getOwnPropertyDescriptor(p?.prototype,"adoptedStyleSheets"):void 0;return f===null||f===-1||!p||!o?()=>{}:(Object.defineProperty(s,"adoptedStyleSheets",{configurable:o.configurable,enumerable:o.enumerable,get(){var h;return(h=o.get)==null?void 0:h.call(this)},set(h){var n;let d=(n=o.set)==null?void 0:n.call(this,h);if(f!==null&&f!==-1)try{t.adoptStyleSheets(h,f)}catch{}return d}}),B(()=>{Object.defineProperty(s,"adoptedStyleSheets",{configurable:o.configurable,enumerable:o.enumerable,get:o.get,set:o.set})}))}function Ua({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:s,stylesheetManager:i},{win:r}){let u=r.CSSStyleDeclaration.prototype.setProperty;r.CSSStyleDeclaration.prototype.setProperty=new Proxy(u,{apply:B((p,o,h)=>{var n;let[d,l,a]=h;if(s.has(d))return u.apply(o,[d,l,a]);let{id:m,styleId:c}=Se((n=o.parentRule)==null?void 0:n.parentStyleSheet,t,i.styleMirror);return(m&&m!==-1||c&&c!==-1)&&e({id:m,styleId:c,set:{property:d,value:l,priority:a},index:ut(o.parentRule)}),p.apply(o,h)})});let f=r.CSSStyleDeclaration.prototype.removeProperty;return r.CSSStyleDeclaration.prototype.removeProperty=new Proxy(f,{apply:B((p,o,h)=>{var n;let[d]=h;if(s.has(d))return f.apply(o,[d]);let{id:l,styleId:a}=Se((n=o.parentRule)==null?void 0:n.parentStyleSheet,t,i.styleMirror);return(l&&l!==-1||a&&a!==-1)&&e({id:l,styleId:a,remove:{property:d},index:ut(o.parentRule)}),p.apply(o,h)})}),B(()=>{r.CSSStyleDeclaration.prototype.setProperty=u,r.CSSStyleDeclaration.prototype.removeProperty=f})}function $a({mediaInteractionCb:e,blockClass:t,blockSelector:s,mirror:i,sampling:r,doc:u}){let f=B(o=>je(B(h=>{let n=Ge(h);if(!n||ae(n,t,s,!0))return;let{currentTime:d,volume:l,muted:a,playbackRate:m,loop:c}=n;e({type:o,id:i.getId(n),currentTime:d,volume:l,muted:a,playbackRate:m,loop:c})}),r.media||500)),p=[oe("play",f(Te.Play),u),oe("pause",f(Te.Pause),u),oe("seeked",f(Te.Seeked),u),oe("volumechange",f(Te.VolumeChange),u),oe("ratechange",f(Te.RateChange),u)];return B(()=>{p.forEach(o=>o())})}function Ba({fontCb:e,doc:t}){let s=t.defaultView;if(!s)return()=>{};let i=[],r=new WeakMap,u=s.FontFace;s.FontFace=function(o,h,n){let d=new u(o,h,n);return r.set(d,{family:o,buffer:typeof h!="string",descriptors:n,fontSource:typeof h=="string"?h:JSON.stringify(Array.from(new Uint8Array(h)))}),d};let f=Ne(t.fonts,"add",function(p){return function(o){return setTimeout(B(()=>{let h=r.get(o);h&&(e(h),r.delete(o))}),0),p.apply(this,[o])}});return i.push(()=>{s.FontFace=u}),i.push(f),B(()=>{i.forEach(p=>p())})}function za(e){let{doc:t,mirror:s,blockClass:i,blockSelector:r,selectionCb:u}=e,f=!0,p=B(()=>{let o=t.getSelection();if(!o||f&&o?.isCollapsed)return;f=o.isCollapsed||!1;let h=[],n=o.rangeCount||0;for(let d=0;d<n;d++){let l=o.getRangeAt(d),{startContainer:a,startOffset:m,endContainer:c,endOffset:g}=l;ae(a,i,r,!0)||ae(c,i,r,!0)||h.push({start:s.getId(a),startOffset:m,end:s.getId(c),endOffset:g})}u({ranges:h})});return p(),oe("selectionchange",p)}function Wa({doc:e,customElementCb:t}){let s=e.defaultView;return!s||!s.customElements?()=>{}:Ne(s.customElements,"define",function(r){return function(u,f,p){try{t({define:{name:u}})}catch{console.warn(`Custom element callback failed for ${u}`)}return r.apply(this,[u,f,p])}})}function ja(e,t){let{mutationCb:s,mousemoveCb:i,mouseInteractionCb:r,scrollCb:u,viewportResizeCb:f,inputCb:p,mediaInteractionCb:o,styleSheetRuleCb:h,styleDeclarationCb:n,canvasMutationCb:d,fontCb:l,selectionCb:a,customElementCb:m}=e;e.mutationCb=(...c)=>{t.mutation&&t.mutation(...c),s(...c)},e.mousemoveCb=(...c)=>{t.mousemove&&t.mousemove(...c),i(...c)},e.mouseInteractionCb=(...c)=>{t.mouseInteraction&&t.mouseInteraction(...c),r(...c)},e.scrollCb=(...c)=>{t.scroll&&t.scroll(...c),u(...c)},e.viewportResizeCb=(...c)=>{t.viewportResize&&t.viewportResize(...c),f(...c)},e.inputCb=(...c)=>{t.input&&t.input(...c),p(...c)},e.mediaInteractionCb=(...c)=>{t.mediaInteaction&&t.mediaInteaction(...c),o(...c)},e.styleSheetRuleCb=(...c)=>{t.styleSheetRule&&t.styleSheetRule(...c),h(...c)},e.styleDeclarationCb=(...c)=>{t.styleDeclaration&&t.styleDeclaration(...c),n(...c)},e.canvasMutationCb=(...c)=>{t.canvasMutation&&t.canvasMutation(...c),d(...c)},e.fontCb=(...c)=>{t.font&&t.font(...c),l(...c)},e.selectionCb=(...c)=>{t.selection&&t.selection(...c),a(...c)},e.customElementCb=(...c)=>{t.customElement&&t.customElement(...c),m(...c)}}function Va(e,t={}){let s=e.doc.defaultView;if(!s)return()=>{};ja(e,t);let i,r=()=>{};e.recordDOM&&([i,r]=En(e,e.doc));let u=Ta(e),f=_a(e),p=Mn(e),o=ka(e,{win:s}),h=Pa(e),n=$a(e),d=()=>{},l=()=>{},a=()=>{},m=()=>{};e.recordDOM&&(d=Fa(e,{win:s}),l=Rn(e,e.doc),a=Ua(e,{win:s}),e.collectFonts&&(m=Ba(e)));let c=za(e),g=Wa(e),S=[];for(let b of e.plugins)S.push(b.observer(b.callback,s,b.options));return B(()=>{Ee.forEach(b=>b.reset()),i?.disconnect(),r(),u(),f(),p(),o(),h(),n(),d(),l(),a(),m(),c(),g(),S.forEach(b=>b())})}function et(e){return typeof window[e]<"u"}function tt(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var ct=class{constructor(t){A(this,"iframeIdToRemoteIdMap",new WeakMap),A(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,s,i,r){let u=i||this.getIdToRemoteIdMap(t),f=r||this.getRemoteIdToIdMap(t),p=u.get(s);return p||(p=this.generateIdFn(),u.set(s,p),f.set(p,s)),p}getIds(t,s){let i=this.getIdToRemoteIdMap(t),r=this.getRemoteIdToIdMap(t);return s.map(u=>this.getId(t,u,i,r))}getRemoteId(t,s,i){let r=i||this.getRemoteIdToIdMap(t);if(typeof s!="number")return s;let u=r.get(s);return u||-1}getRemoteIds(t,s){let i=this.getRemoteIdToIdMap(t);return s.map(r=>this.getRemoteId(t,r,i))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let s=this.iframeIdToRemoteIdMap.get(t);return s||(s=new Map,this.iframeIdToRemoteIdMap.set(t,s)),s}getRemoteIdToIdMap(t){let s=this.iframeRemoteIdToIdMap.get(t);return s||(s=new Map,this.iframeRemoteIdToIdMap.set(t,s)),s}},jr=class{constructor(t){A(this,"iframes",new WeakMap),A(this,"crossOriginIframeMap",new WeakMap),A(this,"crossOriginIframeMirror",new ct(Vi)),A(this,"crossOriginIframeStyleMirror"),A(this,"crossOriginIframeRootIdMap",new WeakMap),A(this,"mirror"),A(this,"mutationCb"),A(this,"wrappedEmit"),A(this,"loadListener"),A(this,"stylesheetManager"),A(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new ct(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,s){var i,r;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:s}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((i=t.contentWindow)==null||i.addEventListener("message",this.handleMessage.bind(this))),(r=this.loadListener)==null||r.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let s=t;if(s.data.type!=="rrweb"||s.origin!==s.data.origin||!t.source)return;let r=this.crossOriginIframeMap.get(t.source);if(!r)return;let u=this.transformCrossOriginEvent(r,s.data.event);u&&this.wrappedEmit(u,s.data.isCheckout)}transformCrossOriginEvent(t,s){var i;switch(s.type){case W.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(s.data.node,t);let r=s.data.node.id;return this.crossOriginIframeRootIdMap.set(t,r),this.patchRootIdOnNode(s.data.node,r),{timestamp:s.timestamp,type:W.IncrementalSnapshot,data:{source:$.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:s.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case W.Meta:case W.Load:case W.DomContentLoaded:return!1;case W.Plugin:return s;case W.Custom:return this.replaceIds(s.data.payload,t,["id","parentId","previousId","nextId"]),s;case W.IncrementalSnapshot:switch(s.data.source){case $.Mutation:return s.data.adds.forEach(r=>{this.replaceIds(r,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(r.node,t);let u=this.crossOriginIframeRootIdMap.get(t);u&&this.patchRootIdOnNode(r.node,u)}),s.data.removes.forEach(r=>{this.replaceIds(r,t,["parentId","id"])}),s.data.attributes.forEach(r=>{this.replaceIds(r,t,["id"])}),s.data.texts.forEach(r=>{this.replaceIds(r,t,["id"])}),s;case $.Drag:case $.TouchMove:case $.MouseMove:return s.data.positions.forEach(r=>{this.replaceIds(r,t,["id"])}),s;case $.ViewportResize:return!1;case $.MediaInteraction:case $.MouseInteraction:case $.Scroll:case $.CanvasMutation:case $.Input:return this.replaceIds(s.data,t,["id"]),s;case $.StyleSheetRule:case $.StyleDeclaration:return this.replaceIds(s.data,t,["id"]),this.replaceStyleIds(s.data,t,["styleId"]),s;case $.Font:return s;case $.Selection:return s.data.ranges.forEach(r=>{this.replaceIds(r,t,["start","end"])}),s;case $.AdoptedStyleSheet:return this.replaceIds(s.data,t,["id"]),this.replaceStyleIds(s.data,t,["styleIds"]),(i=s.data.styles)==null||i.forEach(r=>{this.replaceStyleIds(r,t,["styleId"])}),s}}return!1}replace(t,s,i,r){for(let u of r)!Array.isArray(s[u])&&typeof s[u]!="number"||(Array.isArray(s[u])?s[u]=t.getIds(i,s[u]):s[u]=t.getId(i,s[u]));return s}replaceIds(t,s,i){return this.replace(this.crossOriginIframeMirror,t,s,i)}replaceStyleIds(t,s,i){return this.replace(this.crossOriginIframeStyleMirror,t,s,i)}replaceIdOnNode(t,s){this.replaceIds(t,s,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(i=>{this.replaceIdOnNode(i,s)})}patchRootIdOnNode(t,s){t.type!==Cn.Document&&!t.rootId&&(t.rootId=s),"childNodes"in t&&t.childNodes.forEach(i=>{this.patchRootIdOnNode(i,s)})}},Vr=class{constructor(t){A(this,"shadowDoms",new WeakSet),A(this,"mutationCb"),A(this,"scrollCb"),A(this,"bypassOptions"),A(this,"mirror"),A(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,s){if(!$e(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[i]=En({...this.bypassOptions,doc:s,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>i.disconnect()),this.restoreHandlers.push(Mn({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(P.host(t))),this.restoreHandlers.push(Rn({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,s){let i=this;this.restoreHandlers.push(Ne(t.prototype,"attachShadow",function(r){return function(u){let f=r.call(this,u),p=P.shadowRoot(this);return p&&Sn(this)&&i.addShadowRoot(p,s),f}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Le="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qa=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(Fe=0;Fe<Le.length;Fe++)qa[Le.charCodeAt(Fe)]=Fe;var Fe,Ga=function(e){var t=new Uint8Array(e),s,i=t.length,r="";for(s=0;s<i;s+=3)r+=Le[t[s]>>2],r+=Le[(t[s]&3)<<4|t[s+1]>>4],r+=Le[(t[s+1]&15)<<2|t[s+2]>>6],r+=Le[t[s+2]&63];return i%3===2?r=r.substring(0,r.length-1)+"=":i%3===1&&(r=r.substring(0,r.length-2)+"=="),r};var _i=new Map;function Ha(e,t){let s=_i.get(e);return s||(s=new Map,_i.set(e,s)),s.has(t)||s.set(t,[]),s.get(t)}var Nn=(e,t,s)=>{if(!e||!(In(e,t)||typeof e=="object"))return;let i=e.constructor.name,r=Ha(s,i),u=r.indexOf(e);return u===-1&&(u=r.length,r.push(e)),u};function rt(e,t,s){if(e instanceof Array)return e.map(i=>rt(i,t,s));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let i=e.constructor.name,r=Ga(e);return{rr_type:i,base64:r}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[rt(e.buffer,t,s),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let i=e.constructor.name,{src:r}=e;return{rr_type:i,src:r}}else if(e instanceof HTMLCanvasElement){let i="HTMLImageElement",r=e.toDataURL();return{rr_type:i,src:r}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[rt(e.data,t,s),e.width,e.height]};if(In(e,t)||typeof e=="object"){let i=e.constructor.name,r=Nn(e,t,s);return{rr_type:i,index:r}}}}return e}var On=(e,t,s)=>e.map(i=>rt(i,t,s)),In=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(r=>typeof t[r]=="function").find(r=>e instanceof t[r]);function Ya(e,t,s,i){let r=[],u=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let f of u)try{if(typeof t.CanvasRenderingContext2D.prototype[f]!="function")continue;let p=Ne(t.CanvasRenderingContext2D.prototype,f,function(o){return function(...h){return ae(this.canvas,s,i,!0)||setTimeout(()=>{let n=On(h,t,this);e(this.canvas,{type:Pe["2D"],property:f,args:n})},0),o.apply(this,h)}});r.push(p)}catch{let p=Ct(t.CanvasRenderingContext2D.prototype,f,{set(o){e(this.canvas,{type:Pe["2D"],property:f,args:[o],setter:!0})}});r.push(p)}return()=>{r.forEach(f=>f())}}function Xa(e){return e==="experimental-webgl"?"webgl":e}function ki(e,t,s,i){let r=[];try{let u=Ne(e.HTMLCanvasElement.prototype,"getContext",function(f){return function(p,...o){if(!ae(this,t,s,!0)){let h=Xa(p);if("__context"in this||(this.__context=h),i&&["webgl","webgl2"].includes(h))if(o[0]&&typeof o[0]=="object"){let n=o[0];n.preserveDrawingBuffer||(n.preserveDrawingBuffer=!0)}else o.splice(0,1,{preserveDrawingBuffer:!0})}return f.apply(this,[p,...o])}});r.push(u)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{r.forEach(u=>u())}}function Li(e,t,s,i,r,u){let f=[],p=Object.getOwnPropertyNames(e);for(let o of p)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(o))try{if(typeof e[o]!="function")continue;let h=Ne(e,o,function(n){return function(...d){let l=n.apply(this,d);if(Nn(l,u,this),"tagName"in this.canvas&&!ae(this.canvas,i,r,!0)){let a=On(d,u,this),m={type:t,property:o,args:a};s(this.canvas,m)}return l}});f.push(h)}catch{let h=Ct(e,o,{set(n){s(this.canvas,{type:t,property:o,args:[n],setter:!0})}});f.push(h)}return f}function Ja(e,t,s,i){let r=[];return typeof t.WebGLRenderingContext<"u"&&r.push(...Li(t.WebGLRenderingContext.prototype,Pe.WebGL,e,s,i,t)),typeof t.WebGL2RenderingContext<"u"&&r.push(...Li(t.WebGL2RenderingContext.prototype,Pe.WebGL2,e,s,i,t)),()=>{r.forEach(u=>u())}}var An=`(function() {
     53or you can use record.mirror to access the mirror instance during recording.`,Ni={map:{},getId(){return console.error(De),-1},getNode(){return console.error(De),null},removeNodeFromMap(){console.error(De)},has(){return console.error(De),!1},reset(){console.error(De)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Ni=new Proxy(Ni,{get(e,t,s){return t==="map"&&console.error(De),Reflect.get(e,t,s)}}));function je(e,t,s={}){let i=null,r=0;return function(...u){let c=Date.now();!r&&s.leading===!1&&(r=c);let p=t-(c-r),o=this;p<=0||p>t?(i&&(clearTimeout(i),i=null),r=c,e.apply(o,u)):!i&&s.trailing!==!1&&(i=setTimeout(()=>{r=s.leading===!1?0:Date.now(),i=null,e.apply(o,u)},p))}}function Ct(e,t,s,i,r=window){let u=r.Object.getOwnPropertyDescriptor(e,t);return r.Object.defineProperty(e,t,i?s:{set(c){setTimeout(()=>{s.set.call(this,c)},0),u&&u.set&&u.set.call(this,c)}}),()=>Ct(e,t,u||{},!0)}function dn(e){var t,s,i,r;let u=e.document;return{left:u.scrollingElement?u.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:u.documentElement.scrollLeft||u?.body&&((t=P.parentElement(u.body))==null?void 0:t.scrollLeft)||((s=u?.body)==null?void 0:s.scrollLeft)||0,top:u.scrollingElement?u.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:u?.documentElement.scrollTop||u?.body&&((i=P.parentElement(u.body))==null?void 0:i.scrollTop)||((r=u?.body)==null?void 0:r.scrollTop)||0}}function pn(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function mn(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function gn(e){return e?e.nodeType===e.ELEMENT_NODE?e:P.parentElement(e):null}function ae(e,t,s,i){if(!e)return!1;let r=gn(e);if(!r)return!1;try{if(typeof t=="string"){if(r.classList.contains(t)||i&&r.closest("."+t)!==null)return!0}else if(lt(r,t,i))return!0}catch{}return!!(s&&(r.matches(s)||i&&r.closest(s)!==null))}function Ma(e,t){return t.getId(e)!==-1}function _r(e,t,s){return e.tagName==="TITLE"&&s.headTitleMutations?!0:t.getId(e)===ze}function yn(e,t){if(Ue(e))return!1;let s=t.getId(e);if(!t.has(s))return!0;let i=P.parentNode(e);return i&&i.nodeType===e.DOCUMENT_NODE?!1:i?yn(i,t):!0}function Fr(e){return!!e.changedTouches}function Ra(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function wn(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function bn(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Ur(e){return e?e instanceof Pr&&"shadowRoot"in e?!!e.shadowRoot:!!P.shadowRoot(e):!1}var $r=class{constructor(){A(this,"id",1),A(this,"styleIDMap",new WeakMap),A(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,s){if(this.has(t))return this.getId(t);let i;return s===void 0?i=this.id++:i=s,this.styleIDMap.set(t,i),this.idStyleMap.set(i,t),i}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function vn(e){var t;let s=null;return"getRootNode"in e&&((t=P.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&P.host(P.getRootNode(e))&&(s=P.host(P.getRootNode(e))),s}function Na(e){let t=e,s;for(;s=vn(t);)t=s;return t}function Oa(e){let t=P.ownerDocument(e);if(!t)return!1;let s=Na(e);return P.contains(t,s)}function Sn(e){let t=P.ownerDocument(e);return t?P.contains(t,e)||Oa(e):!1}var W=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(W||{}),$=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))($||{}),ce=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(ce||{}),ye=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(ye||{}),Pe=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Pe||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{});var Cn=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Cn||{});function Oi(e){return"__ln"in e}var Br=class{constructor(){A(this,"length",0),A(this,"head",null),A(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let s=this.head;for(let i=0;i<t;i++)s=s?.next||null;return s}addNode(t){let s={value:t,previous:null,next:null};if(t.__ln=s,t.previousSibling&&Oi(t.previousSibling)){let i=t.previousSibling.__ln.next;s.next=i,s.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=s,i&&(i.previous=s)}else if(t.nextSibling&&Oi(t.nextSibling)&&t.nextSibling.__ln.previous){let i=t.nextSibling.__ln.previous;s.previous=i,s.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=s,i&&(i.next=s)}else this.head&&(this.head.previous=s),s.next=this.head,this.head=s;s.next===null&&(this.tail=s),this.length++}removeNode(t){let s=t.__ln;this.head&&(s.previous?(s.previous.next=s.next,s.next?s.next.previous=s.previous:this.tail=s.previous):(this.head=s.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Ii=(e,t)=>`${e}@${t}`,zr=class{constructor(){A(this,"frozen",!1),A(this,"locked",!1),A(this,"texts",[]),A(this,"attributes",[]),A(this,"attributeMap",new WeakMap),A(this,"removes",[]),A(this,"mapRemoves",[]),A(this,"movedMap",{}),A(this,"addedSet",new Set),A(this,"movedSet",new Set),A(this,"droppedSet",new Set),A(this,"removesSubTreeCache",new Set),A(this,"mutationCb"),A(this,"blockClass"),A(this,"blockSelector"),A(this,"maskTextClass"),A(this,"maskTextSelector"),A(this,"inlineStylesheet"),A(this,"maskInputOptions"),A(this,"maskTextFn"),A(this,"maskInputFn"),A(this,"keepIframeSrcFn"),A(this,"recordCanvas"),A(this,"inlineImages"),A(this,"slimDOMOptions"),A(this,"dataURLOptions"),A(this,"doc"),A(this,"mirror"),A(this,"iframeManager"),A(this,"stylesheetManager"),A(this,"shadowDomManager"),A(this,"canvasManager"),A(this,"processedNodeManager"),A(this,"unattachedDoc"),A(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),A(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],s=new Set,i=new Br,r=o=>{let h=o,n=ze;for(;n===ze;)h=h&&h.nextSibling,n=h&&this.mirror.getId(h);return n},u=o=>{let h=P.parentNode(o);if(!h||!Sn(o))return;let n=!1;if(o.nodeType===Node.TEXT_NODE){let m=h.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(h)&&(n=!0)}let d=Ue(h)?this.mirror.getId(vn(o)):this.mirror.getId(h),l=r(o);if(d===-1||l===-1)return i.addNode(o);let a=ke(o,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{wn(m,this.mirror)&&this.iframeManager.addIframe(m),bn(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ur(o)&&this.shadowDomManager.addShadowRoot(P.shadowRoot(o),this.doc)},onIframeLoad:(m,f)=>{this.iframeManager.attachIframe(m,f),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,f)=>{this.stylesheetManager.attachLinkElement(m,f)},cssCaptured:n});a&&(t.push({parentId:d,nextId:l,node:a}),s.add(a.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let o of this.movedSet)Ai(this.removesSubTreeCache,o,this.mirror)&&!this.movedSet.has(P.parentNode(o))||u(o);for(let o of this.addedSet)!Di(this.droppedSet,o)&&!Ai(this.removesSubTreeCache,o,this.mirror)||Di(this.movedSet,o)?u(o):this.droppedSet.add(o);let c=null;for(;i.length;){let o=null;if(c){let h=this.mirror.getId(P.parentNode(c.value)),n=r(c.value);h!==-1&&n!==-1&&(o=c)}if(!o){let h=i.tail;for(;h;){let n=h;if(h=h.previous,n){let d=this.mirror.getId(P.parentNode(n.value));if(r(n.value)===-1)continue;if(d!==-1){o=n;break}else{let a=n.value,m=P.parentNode(a);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let f=P.host(m);if(this.mirror.getId(f)!==-1){o=n;break}}}}}}if(!o){for(;i.head;)i.removeNode(i.head.value);break}c=o.previous,i.removeNode(o.value),u(o.value)}let p={texts:this.texts.map(o=>{let h=o.node,n=P.parentNode(h);return n&&n.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(n),{id:this.mirror.getId(h),value:o.value}}).filter(o=>!s.has(o.id)).filter(o=>this.mirror.has(o.id)),attributes:this.attributes.map(o=>{let{attributes:h}=o;if(typeof h.style=="string"){let n=JSON.stringify(o.styleDiff),d=JSON.stringify(o._unchangedStyles);n.length<h.style.length&&(n+d).split("var(").length===h.style.split("var(").length&&(h.style=o.styleDiff)}return{id:this.mirror.getId(o.node),attributes:h}}).filter(o=>!s.has(o.id)).filter(o=>this.mirror.has(o.id)),removes:this.removes,adds:t};!p.texts.length&&!p.attributes.length&&!p.removes.length&&!p.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(p))}),A(this,"genTextAreaValueMutation",t=>{let s=this.attributeMap.get(t);s||(s={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(s),this.attributeMap.set(t,s));let i=Array.from(P.childNodes(t),r=>P.textContent(r)||"").join("");s.attributes.value=nt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:ot(t),value:i,maskInputFn:this.maskInputFn})}),A(this,"processMutation",t=>{if(!_r(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let s=P.textContent(t.target);!ae(t.target,this.blockClass,this.blockSelector,!1)&&s!==t.oldValue&&this.texts.push({value:Hi(t.target,this.maskTextClass,this.maskTextSelector,!0)&&s?this.maskTextFn?this.maskTextFn(s,gn(t.target)):s.replace(/[\S]/g,"*"):s,node:t.target});break}case"attributes":{let s=t.target,i=Ce(s.tagName),r=t.attributeName,u=t.target.getAttribute(r);if(r==="value"){let p=ot(s);u=nt({element:s,maskInputOptions:this.maskInputOptions,tagName:s.tagName,type:p,value:u,maskInputFn:this.maskInputFn})}if(ae(t.target,this.blockClass,this.blockSelector,!1)||u===t.oldValue)return;let c=this.attributeMap.get(t.target);if(i==="iframe"&&r==="src"&&!this.keepIframeSrcFn(u))if(!s.contentDocument)r="rr_src";else return;if(c||(c={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(c),this.attributeMap.set(t.target,c)),r==="type"&&i==="input"&&(t.oldValue||"").toLowerCase()==="password"&&s.setAttribute("data-rr-is-password","true"),!Gi(i,r))if(c.attributes[r]=qi(this.doc,i,Ce(r),u),r==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let p=this.unattachedDoc.createElement("span");t.oldValue&&p.setAttribute("style",t.oldValue);for(let o of Array.from(s.style)){let h=s.style.getPropertyValue(o),n=s.style.getPropertyPriority(o);h!==p.style.getPropertyValue(o)||n!==p.style.getPropertyPriority(o)?n===""?c.styleDiff[o]=h:c.styleDiff[o]=[h,n]:c._unchangedStyles[o]=[h,n]}for(let o of Array.from(p.style))s.style.getPropertyValue(o)===""&&(c.styleDiff[o]=!1)}else r==="open"&&s.tagName==="DIALOG"&&(s.matches("dialog:modal")?c.attributes.rr_open_mode="modal":c.attributes.rr_open_mode="non-modal");break}case"childList":{if(ae(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(s=>this.genAdds(s,t.target)),t.removedNodes.forEach(s=>{let i=this.mirror.getId(s),r=Ue(t.target)?this.mirror.getId(P.host(t.target)):this.mirror.getId(t.target);ae(t.target,this.blockClass,this.blockSelector,!1)||_r(s,this.mirror,this.slimDOMOptions)||!Ma(s,this.mirror)||(this.addedSet.has(s)?(Wr(this.addedSet,s),this.droppedSet.add(s)):this.addedSet.has(t.target)&&i===-1||yn(t.target,this.mirror)||(this.movedSet.has(s)&&this.movedMap[Ii(i,r)]?Wr(this.movedSet,s):(this.removes.push({parentId:r,id:i,isShadow:Ue(t.target)&&$e(t.target)?!0:void 0}),Ia(s,this.removesSubTreeCache))),this.mapRemoves.push(s))});break}}}),A(this,"genAdds",(t,s)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(_r(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let i=null;s&&this.mirror.hasNode(s)&&(i=this.mirror.getId(s)),i&&i!==-1&&(this.movedMap[Ii(this.mirror.getId(t),i)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ae(t,this.blockClass,this.blockSelector,!1)||(P.childNodes(t).forEach(i=>this.genAdds(i)),Ur(t)&&P.childNodes(P.shadowRoot(t)).forEach(i=>{this.processedNodeManager.add(i,this),this.genAdds(i,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(s=>{this[s]=t[s]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function Wr(e,t){e.delete(t),P.childNodes(t).forEach(s=>Wr(e,s))}function Ia(e,t){let s=[e];for(;s.length;){let i=s.pop();t.has(i)||(t.add(i),P.childNodes(i).forEach(r=>s.push(r)))}}function Ai(e,t,s){return e.size===0?!1:Aa(e,t)}function Aa(e,t,s){let i=P.parentNode(t);return i?e.has(i):!1}function Di(e,t){return e.size===0?!1:xn(e,t)}function xn(e,t){let s=P.parentNode(t);return s?e.has(s)?!0:xn(e,s):!1}var Be;function Da(e){Be=e}function Ta(){Be=void 0}var B=e=>Be?(...s)=>{try{return e(...s)}catch(i){if(Be&&Be(i)===!0)return;throw i}}:e,Ee=[];function Ge(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function En(e,t){let s=new zr;Ee.push(s),s.init(e);let[i,r]=hn(),u=new i(B(s.processMutations.bind(s)));return u.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[u,r]}function _a({mousemoveCb:e,sampling:t,doc:s,mirror:i}){if(t.mousemove===!1)return()=>{};let r=typeof t.mousemove=="number"?t.mousemove:50,u=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,c=[],p,o=je(B(d=>{let l=Date.now()-p;e(c.map(a=>(a.timeOffset-=l,a)),d),c=[],p=null}),u),h=B(je(B(d=>{let l=Ge(d),{clientX:a,clientY:m}=Fr(d)?d.changedTouches[0]:d;p||(p=We()),c.push({x:a,y:m,id:i.getId(l),timeOffset:We()-p}),o(typeof DragEvent<"u"&&d instanceof DragEvent?$.Drag:d instanceof MouseEvent?$.MouseMove:$.TouchMove)}),r,{trailing:!1})),n=[oe("mousemove",h,s),oe("touchmove",h,s),oe("drag",h,s)];return B(()=>{n.forEach(d=>d())})}function ka({mouseInteractionCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,sampling:u}){if(u.mouseInteraction===!1)return()=>{};let c=u.mouseInteraction===!0||u.mouseInteraction===void 0?{}:u.mouseInteraction,p=[],o=null,h=n=>d=>{let l=Ge(d);if(ae(l,i,r,!0))return;let a=null,m=n;if("pointerType"in d){switch(d.pointerType){case"mouse":a=ye.Mouse;break;case"touch":a=ye.Touch;break;case"pen":a=ye.Pen;break}a===ye.Touch?ce[n]===ce.MouseDown?m="TouchStart":ce[n]===ce.MouseUp&&(m="TouchEnd"):ye.Pen}else Fr(d)&&(a=ye.Touch);a!==null?(o=a,(m.startsWith("Touch")&&a===ye.Touch||m.startsWith("Mouse")&&a===ye.Mouse)&&(a=null)):ce[n]===ce.Click&&(a=o,o=null);let f=Fr(d)?d.changedTouches[0]:d;if(!f)return;let g=s.getId(l),{clientX:S,clientY:b}=f;B(e)({type:ce[m],id:g,x:S,y:b,...a!==null&&{pointerType:a}})};return Object.keys(ce).filter(n=>Number.isNaN(Number(n))&&!n.endsWith("_Departed")&&c[n]!==!1).forEach(n=>{let d=Ce(n),l=h(n);if(window.PointerEvent)switch(ce[n]){case ce.MouseDown:case ce.MouseUp:d=d.replace("mouse","pointer");break;case ce.TouchStart:case ce.TouchEnd:return}p.push(oe(d,l,t))}),B(()=>{p.forEach(n=>n())})}function Mn({scrollCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,sampling:u}){let c=B(je(B(p=>{let o=Ge(p);if(!o||ae(o,i,r,!0))return;let h=s.getId(o);if(o===t&&t.defaultView){let n=dn(t.defaultView);e({id:h,x:n.left,y:n.top})}else e({id:h,x:o.scrollLeft,y:o.scrollTop})}),u.scroll||100));return oe("scroll",c,t)}function La({viewportResizeCb:e},{win:t}){let s=-1,i=-1,r=B(je(B(()=>{let u=pn(),c=mn();(s!==u||i!==c)&&(e({width:Number(c),height:Number(u)}),s=u,i=c)}),200));return oe("resize",r,t)}var Pa=["INPUT","TEXTAREA","SELECT"],Ti=new WeakMap;function Fa({inputCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,ignoreClass:u,ignoreSelector:c,maskInputOptions:p,maskInputFn:o,sampling:h,userTriggeredOnInput:n}){function d(b){let v=Ge(b),E=b.isTrusted,w=v&&v.tagName;if(v&&w==="OPTION"&&(v=P.parentElement(v)),!v||!w||Pa.indexOf(w)<0||ae(v,i,r,!0)||v.classList.contains(u)||c&&v.matches(c))return;let y=v.value,x=!1,R=ot(v)||"";R==="radio"||R==="checkbox"?x=v.checked:(p[w.toLowerCase()]||p[R])&&(y=nt({element:v,maskInputOptions:p,tagName:w,type:R,value:y,maskInputFn:o})),l(v,n?{text:y,isChecked:x,userTriggered:E}:{text:y,isChecked:x});let M=v.name;R==="radio"&&M&&x&&t.querySelectorAll(`input[type="radio"][name="${M}"]`).forEach(C=>{if(C!==v){let I=C.value;l(C,n?{text:I,isChecked:!x,userTriggered:!1}:{text:I,isChecked:!x})}})}function l(b,v){let E=Ti.get(b);if(!E||E.text!==v.text||E.isChecked!==v.isChecked){Ti.set(b,v);let w=s.getId(b);B(e)({...v,id:w})}}let m=(h.input==="last"?["change"]:["input","change"]).map(b=>oe(b,B(d),t)),f=t.defaultView;if(!f)return()=>{m.forEach(b=>b())};let g=f.Object.getOwnPropertyDescriptor(f.HTMLInputElement.prototype,"value"),S=[[f.HTMLInputElement.prototype,"value"],[f.HTMLInputElement.prototype,"checked"],[f.HTMLSelectElement.prototype,"value"],[f.HTMLTextAreaElement.prototype,"value"],[f.HTMLSelectElement.prototype,"selectedIndex"],[f.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...S.map(b=>Ct(b[0],b[1],{set(){B(d)({target:this,isTrusted:!1})}},!1,f))),B(()=>{m.forEach(b=>b())})}function ut(e){let t=[];function s(i,r){if(et("CSSGroupingRule")&&i.parentRule instanceof CSSGroupingRule||et("CSSMediaRule")&&i.parentRule instanceof CSSMediaRule||et("CSSSupportsRule")&&i.parentRule instanceof CSSSupportsRule||et("CSSConditionRule")&&i.parentRule instanceof CSSConditionRule){let c=Array.from(i.parentRule.cssRules).indexOf(i);return r.unshift(c),s(i.parentRule,r)}else if(i.parentStyleSheet){let c=Array.from(i.parentStyleSheet.cssRules).indexOf(i);r.unshift(c)}return r}return s(e,t)}function Se(e,t,s){let i,r;return e?(e.ownerNode?i=t.getId(e.ownerNode):r=s.getId(e),{styleId:r,id:i}):{}}function Ua({styleSheetRuleCb:e,mirror:t,stylesheetManager:s},{win:i}){if(!i.CSSStyleSheet||!i.CSSStyleSheet.prototype)return()=>{};let r=i.CSSStyleSheet.prototype.insertRule;i.CSSStyleSheet.prototype.insertRule=new Proxy(r,{apply:B((n,d,l)=>{let[a,m]=l,{id:f,styleId:g}=Se(d,t,s.styleMirror);return(f&&f!==-1||g&&g!==-1)&&e({id:f,styleId:g,adds:[{rule:a,index:m}]}),n.apply(d,l)})}),i.CSSStyleSheet.prototype.addRule=function(n,d,l=this.cssRules.length){let a=`${n} { ${d} }`;return i.CSSStyleSheet.prototype.insertRule.apply(this,[a,l])};let u=i.CSSStyleSheet.prototype.deleteRule;i.CSSStyleSheet.prototype.deleteRule=new Proxy(u,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:f}=Se(d,t,s.styleMirror);return(m&&m!==-1||f&&f!==-1)&&e({id:m,styleId:f,removes:[{index:a}]}),n.apply(d,l)})}),i.CSSStyleSheet.prototype.removeRule=function(n){return i.CSSStyleSheet.prototype.deleteRule.apply(this,[n])};let c;i.CSSStyleSheet.prototype.replace&&(c=i.CSSStyleSheet.prototype.replace,i.CSSStyleSheet.prototype.replace=new Proxy(c,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:f}=Se(d,t,s.styleMirror);return(m&&m!==-1||f&&f!==-1)&&e({id:m,styleId:f,replace:a}),n.apply(d,l)})}));let p;i.CSSStyleSheet.prototype.replaceSync&&(p=i.CSSStyleSheet.prototype.replaceSync,i.CSSStyleSheet.prototype.replaceSync=new Proxy(p,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:f}=Se(d,t,s.styleMirror);return(m&&m!==-1||f&&f!==-1)&&e({id:m,styleId:f,replaceSync:a}),n.apply(d,l)})}));let o={};tt("CSSGroupingRule")?o.CSSGroupingRule=i.CSSGroupingRule:(tt("CSSMediaRule")&&(o.CSSMediaRule=i.CSSMediaRule),tt("CSSConditionRule")&&(o.CSSConditionRule=i.CSSConditionRule),tt("CSSSupportsRule")&&(o.CSSSupportsRule=i.CSSSupportsRule));let h={};return Object.entries(o).forEach(([n,d])=>{h[n]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(h[n].insertRule,{apply:B((l,a,m)=>{let[f,g]=m,{id:S,styleId:b}=Se(a.parentStyleSheet,t,s.styleMirror);return(S&&S!==-1||b&&b!==-1)&&e({id:S,styleId:b,adds:[{rule:f,index:[...ut(a),g||0]}]}),l.apply(a,m)})}),d.prototype.deleteRule=new Proxy(h[n].deleteRule,{apply:B((l,a,m)=>{let[f]=m,{id:g,styleId:S}=Se(a.parentStyleSheet,t,s.styleMirror);return(g&&g!==-1||S&&S!==-1)&&e({id:g,styleId:S,removes:[{index:[...ut(a),f]}]}),l.apply(a,m)})})}),B(()=>{i.CSSStyleSheet.prototype.insertRule=r,i.CSSStyleSheet.prototype.deleteRule=u,c&&(i.CSSStyleSheet.prototype.replace=c),p&&(i.CSSStyleSheet.prototype.replaceSync=p),Object.entries(o).forEach(([n,d])=>{d.prototype.insertRule=h[n].insertRule,d.prototype.deleteRule=h[n].deleteRule})})}function Rn({mirror:e,stylesheetManager:t},s){var i,r,u;let c=null;s.nodeName==="#document"?c=e.getId(s):c=e.getId(P.host(s));let p=s.nodeName==="#document"?(i=s.defaultView)==null?void 0:i.Document:(u=(r=s.ownerDocument)==null?void 0:r.defaultView)==null?void 0:u.ShadowRoot,o=p?.prototype?Object.getOwnPropertyDescriptor(p?.prototype,"adoptedStyleSheets"):void 0;return c===null||c===-1||!p||!o?()=>{}:(Object.defineProperty(s,"adoptedStyleSheets",{configurable:o.configurable,enumerable:o.enumerable,get(){var h;return(h=o.get)==null?void 0:h.call(this)},set(h){var n;let d=(n=o.set)==null?void 0:n.call(this,h);if(c!==null&&c!==-1)try{t.adoptStyleSheets(h,c)}catch{}return d}}),B(()=>{Object.defineProperty(s,"adoptedStyleSheets",{configurable:o.configurable,enumerable:o.enumerable,get:o.get,set:o.set})}))}function $a({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:s,stylesheetManager:i},{win:r}){let u=r.CSSStyleDeclaration.prototype.setProperty;r.CSSStyleDeclaration.prototype.setProperty=new Proxy(u,{apply:B((p,o,h)=>{var n;let[d,l,a]=h;if(s.has(d))return u.apply(o,[d,l,a]);let{id:m,styleId:f}=Se((n=o.parentRule)==null?void 0:n.parentStyleSheet,t,i.styleMirror);return(m&&m!==-1||f&&f!==-1)&&e({id:m,styleId:f,set:{property:d,value:l,priority:a},index:ut(o.parentRule)}),p.apply(o,h)})});let c=r.CSSStyleDeclaration.prototype.removeProperty;return r.CSSStyleDeclaration.prototype.removeProperty=new Proxy(c,{apply:B((p,o,h)=>{var n;let[d]=h;if(s.has(d))return c.apply(o,[d]);let{id:l,styleId:a}=Se((n=o.parentRule)==null?void 0:n.parentStyleSheet,t,i.styleMirror);return(l&&l!==-1||a&&a!==-1)&&e({id:l,styleId:a,remove:{property:d},index:ut(o.parentRule)}),p.apply(o,h)})}),B(()=>{r.CSSStyleDeclaration.prototype.setProperty=u,r.CSSStyleDeclaration.prototype.removeProperty=c})}function Ba({mediaInteractionCb:e,blockClass:t,blockSelector:s,mirror:i,sampling:r,doc:u}){let c=B(o=>je(B(h=>{let n=Ge(h);if(!n||ae(n,t,s,!0))return;let{currentTime:d,volume:l,muted:a,playbackRate:m,loop:f}=n;e({type:o,id:i.getId(n),currentTime:d,volume:l,muted:a,playbackRate:m,loop:f})}),r.media||500)),p=[oe("play",c(Te.Play),u),oe("pause",c(Te.Pause),u),oe("seeked",c(Te.Seeked),u),oe("volumechange",c(Te.VolumeChange),u),oe("ratechange",c(Te.RateChange),u)];return B(()=>{p.forEach(o=>o())})}function za({fontCb:e,doc:t}){let s=t.defaultView;if(!s)return()=>{};let i=[],r=new WeakMap,u=s.FontFace;s.FontFace=function(o,h,n){let d=new u(o,h,n);return r.set(d,{family:o,buffer:typeof h!="string",descriptors:n,fontSource:typeof h=="string"?h:JSON.stringify(Array.from(new Uint8Array(h)))}),d};let c=Ne(t.fonts,"add",function(p){return function(o){return setTimeout(B(()=>{let h=r.get(o);h&&(e(h),r.delete(o))}),0),p.apply(this,[o])}});return i.push(()=>{s.FontFace=u}),i.push(c),B(()=>{i.forEach(p=>p())})}function Wa(e){let{doc:t,mirror:s,blockClass:i,blockSelector:r,selectionCb:u}=e,c=!0,p=B(()=>{let o=t.getSelection();if(!o||c&&o?.isCollapsed)return;c=o.isCollapsed||!1;let h=[],n=o.rangeCount||0;for(let d=0;d<n;d++){let l=o.getRangeAt(d),{startContainer:a,startOffset:m,endContainer:f,endOffset:g}=l;ae(a,i,r,!0)||ae(f,i,r,!0)||h.push({start:s.getId(a),startOffset:m,end:s.getId(f),endOffset:g})}u({ranges:h})});return p(),oe("selectionchange",p)}function ja({doc:e,customElementCb:t}){let s=e.defaultView;return!s||!s.customElements?()=>{}:Ne(s.customElements,"define",function(r){return function(u,c,p){try{t({define:{name:u}})}catch{console.warn(`Custom element callback failed for ${u}`)}return r.apply(this,[u,c,p])}})}function Va(e,t){let{mutationCb:s,mousemoveCb:i,mouseInteractionCb:r,scrollCb:u,viewportResizeCb:c,inputCb:p,mediaInteractionCb:o,styleSheetRuleCb:h,styleDeclarationCb:n,canvasMutationCb:d,fontCb:l,selectionCb:a,customElementCb:m}=e;e.mutationCb=(...f)=>{t.mutation&&t.mutation(...f),s(...f)},e.mousemoveCb=(...f)=>{t.mousemove&&t.mousemove(...f),i(...f)},e.mouseInteractionCb=(...f)=>{t.mouseInteraction&&t.mouseInteraction(...f),r(...f)},e.scrollCb=(...f)=>{t.scroll&&t.scroll(...f),u(...f)},e.viewportResizeCb=(...f)=>{t.viewportResize&&t.viewportResize(...f),c(...f)},e.inputCb=(...f)=>{t.input&&t.input(...f),p(...f)},e.mediaInteractionCb=(...f)=>{t.mediaInteaction&&t.mediaInteaction(...f),o(...f)},e.styleSheetRuleCb=(...f)=>{t.styleSheetRule&&t.styleSheetRule(...f),h(...f)},e.styleDeclarationCb=(...f)=>{t.styleDeclaration&&t.styleDeclaration(...f),n(...f)},e.canvasMutationCb=(...f)=>{t.canvasMutation&&t.canvasMutation(...f),d(...f)},e.fontCb=(...f)=>{t.font&&t.font(...f),l(...f)},e.selectionCb=(...f)=>{t.selection&&t.selection(...f),a(...f)},e.customElementCb=(...f)=>{t.customElement&&t.customElement(...f),m(...f)}}function qa(e,t={}){let s=e.doc.defaultView;if(!s)return()=>{};Va(e,t);let i,r=()=>{};e.recordDOM&&([i,r]=En(e,e.doc));let u=_a(e),c=ka(e),p=Mn(e),o=La(e,{win:s}),h=Fa(e),n=Ba(e),d=()=>{},l=()=>{},a=()=>{},m=()=>{};e.recordDOM&&(d=Ua(e,{win:s}),l=Rn(e,e.doc),a=$a(e,{win:s}),e.collectFonts&&(m=za(e)));let f=Wa(e),g=ja(e),S=[];for(let b of e.plugins)S.push(b.observer(b.callback,s,b.options));return B(()=>{Ee.forEach(b=>b.reset()),i?.disconnect(),r(),u(),c(),p(),o(),h(),n(),d(),l(),a(),m(),f(),g(),S.forEach(b=>b())})}function et(e){return typeof window[e]<"u"}function tt(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var ct=class{constructor(t){A(this,"iframeIdToRemoteIdMap",new WeakMap),A(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,s,i,r){let u=i||this.getIdToRemoteIdMap(t),c=r||this.getRemoteIdToIdMap(t),p=u.get(s);return p||(p=this.generateIdFn(),u.set(s,p),c.set(p,s)),p}getIds(t,s){let i=this.getIdToRemoteIdMap(t),r=this.getRemoteIdToIdMap(t);return s.map(u=>this.getId(t,u,i,r))}getRemoteId(t,s,i){let r=i||this.getRemoteIdToIdMap(t);if(typeof s!="number")return s;let u=r.get(s);return u||-1}getRemoteIds(t,s){let i=this.getRemoteIdToIdMap(t);return s.map(r=>this.getRemoteId(t,r,i))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let s=this.iframeIdToRemoteIdMap.get(t);return s||(s=new Map,this.iframeIdToRemoteIdMap.set(t,s)),s}getRemoteIdToIdMap(t){let s=this.iframeRemoteIdToIdMap.get(t);return s||(s=new Map,this.iframeRemoteIdToIdMap.set(t,s)),s}},jr=class{constructor(t){A(this,"iframes",new WeakMap),A(this,"crossOriginIframeMap",new WeakMap),A(this,"crossOriginIframeMirror",new ct(Vi)),A(this,"crossOriginIframeStyleMirror"),A(this,"crossOriginIframeRootIdMap",new WeakMap),A(this,"mirror"),A(this,"mutationCb"),A(this,"wrappedEmit"),A(this,"loadListener"),A(this,"stylesheetManager"),A(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new ct(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,s){var i,r;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:s}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((i=t.contentWindow)==null||i.addEventListener("message",this.handleMessage.bind(this))),(r=this.loadListener)==null||r.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let s=t;if(s.data.type!=="rrweb"||s.origin!==s.data.origin||!t.source)return;let r=this.crossOriginIframeMap.get(t.source);if(!r)return;let u=this.transformCrossOriginEvent(r,s.data.event);u&&this.wrappedEmit(u,s.data.isCheckout)}transformCrossOriginEvent(t,s){var i;switch(s.type){case W.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(s.data.node,t);let r=s.data.node.id;return this.crossOriginIframeRootIdMap.set(t,r),this.patchRootIdOnNode(s.data.node,r),{timestamp:s.timestamp,type:W.IncrementalSnapshot,data:{source:$.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:s.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case W.Meta:case W.Load:case W.DomContentLoaded:return!1;case W.Plugin:return s;case W.Custom:return this.replaceIds(s.data.payload,t,["id","parentId","previousId","nextId"]),s;case W.IncrementalSnapshot:switch(s.data.source){case $.Mutation:return s.data.adds.forEach(r=>{this.replaceIds(r,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(r.node,t);let u=this.crossOriginIframeRootIdMap.get(t);u&&this.patchRootIdOnNode(r.node,u)}),s.data.removes.forEach(r=>{this.replaceIds(r,t,["parentId","id"])}),s.data.attributes.forEach(r=>{this.replaceIds(r,t,["id"])}),s.data.texts.forEach(r=>{this.replaceIds(r,t,["id"])}),s;case $.Drag:case $.TouchMove:case $.MouseMove:return s.data.positions.forEach(r=>{this.replaceIds(r,t,["id"])}),s;case $.ViewportResize:return!1;case $.MediaInteraction:case $.MouseInteraction:case $.Scroll:case $.CanvasMutation:case $.Input:return this.replaceIds(s.data,t,["id"]),s;case $.StyleSheetRule:case $.StyleDeclaration:return this.replaceIds(s.data,t,["id"]),this.replaceStyleIds(s.data,t,["styleId"]),s;case $.Font:return s;case $.Selection:return s.data.ranges.forEach(r=>{this.replaceIds(r,t,["start","end"])}),s;case $.AdoptedStyleSheet:return this.replaceIds(s.data,t,["id"]),this.replaceStyleIds(s.data,t,["styleIds"]),(i=s.data.styles)==null||i.forEach(r=>{this.replaceStyleIds(r,t,["styleId"])}),s}}return!1}replace(t,s,i,r){for(let u of r)!Array.isArray(s[u])&&typeof s[u]!="number"||(Array.isArray(s[u])?s[u]=t.getIds(i,s[u]):s[u]=t.getId(i,s[u]));return s}replaceIds(t,s,i){return this.replace(this.crossOriginIframeMirror,t,s,i)}replaceStyleIds(t,s,i){return this.replace(this.crossOriginIframeStyleMirror,t,s,i)}replaceIdOnNode(t,s){this.replaceIds(t,s,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(i=>{this.replaceIdOnNode(i,s)})}patchRootIdOnNode(t,s){t.type!==Cn.Document&&!t.rootId&&(t.rootId=s),"childNodes"in t&&t.childNodes.forEach(i=>{this.patchRootIdOnNode(i,s)})}},Vr=class{constructor(t){A(this,"shadowDoms",new WeakSet),A(this,"mutationCb"),A(this,"scrollCb"),A(this,"bypassOptions"),A(this,"mirror"),A(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,s){if(!$e(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[i]=En({...this.bypassOptions,doc:s,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>i.disconnect()),this.restoreHandlers.push(Mn({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(P.host(t))),this.restoreHandlers.push(Rn({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,s){let i=this;this.restoreHandlers.push(Ne(t.prototype,"attachShadow",function(r){return function(u){let c=r.call(this,u),p=P.shadowRoot(this);return p&&Sn(this)&&i.addShadowRoot(p,s),c}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Le="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ga=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(Fe=0;Fe<Le.length;Fe++)Ga[Le.charCodeAt(Fe)]=Fe;var Fe,Ha=function(e){var t=new Uint8Array(e),s,i=t.length,r="";for(s=0;s<i;s+=3)r+=Le[t[s]>>2],r+=Le[(t[s]&3)<<4|t[s+1]>>4],r+=Le[(t[s+1]&15)<<2|t[s+2]>>6],r+=Le[t[s+2]&63];return i%3===2?r=r.substring(0,r.length-1)+"=":i%3===1&&(r=r.substring(0,r.length-2)+"=="),r};var _i=new Map;function Ya(e,t){let s=_i.get(e);return s||(s=new Map,_i.set(e,s)),s.has(t)||s.set(t,[]),s.get(t)}var Nn=(e,t,s)=>{if(!e||!(In(e,t)||typeof e=="object"))return;let i=e.constructor.name,r=Ya(s,i),u=r.indexOf(e);return u===-1&&(u=r.length,r.push(e)),u};function rt(e,t,s){if(e instanceof Array)return e.map(i=>rt(i,t,s));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let i=e.constructor.name,r=Ha(e);return{rr_type:i,base64:r}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[rt(e.buffer,t,s),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let i=e.constructor.name,{src:r}=e;return{rr_type:i,src:r}}else if(e instanceof HTMLCanvasElement){let i="HTMLImageElement",r=e.toDataURL();return{rr_type:i,src:r}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[rt(e.data,t,s),e.width,e.height]};if(In(e,t)||typeof e=="object"){let i=e.constructor.name,r=Nn(e,t,s);return{rr_type:i,index:r}}}}return e}var On=(e,t,s)=>e.map(i=>rt(i,t,s)),In=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(r=>typeof t[r]=="function").find(r=>e instanceof t[r]);function Xa(e,t,s,i){let r=[],u=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let c of u)try{if(typeof t.CanvasRenderingContext2D.prototype[c]!="function")continue;let p=Ne(t.CanvasRenderingContext2D.prototype,c,function(o){return function(...h){return ae(this.canvas,s,i,!0)||setTimeout(()=>{let n=On(h,t,this);e(this.canvas,{type:Pe["2D"],property:c,args:n})},0),o.apply(this,h)}});r.push(p)}catch{let p=Ct(t.CanvasRenderingContext2D.prototype,c,{set(o){e(this.canvas,{type:Pe["2D"],property:c,args:[o],setter:!0})}});r.push(p)}return()=>{r.forEach(c=>c())}}function Ja(e){return e==="experimental-webgl"?"webgl":e}function ki(e,t,s,i){let r=[];try{let u=Ne(e.HTMLCanvasElement.prototype,"getContext",function(c){return function(p,...o){if(!ae(this,t,s,!0)){let h=Ja(p);if("__context"in this||(this.__context=h),i&&["webgl","webgl2"].includes(h))if(o[0]&&typeof o[0]=="object"){let n=o[0];n.preserveDrawingBuffer||(n.preserveDrawingBuffer=!0)}else o.splice(0,1,{preserveDrawingBuffer:!0})}return c.apply(this,[p,...o])}});r.push(u)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{r.forEach(u=>u())}}function Li(e,t,s,i,r,u){let c=[],p=Object.getOwnPropertyNames(e);for(let o of p)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(o))try{if(typeof e[o]!="function")continue;let h=Ne(e,o,function(n){return function(...d){let l=n.apply(this,d);if(Nn(l,u,this),"tagName"in this.canvas&&!ae(this.canvas,i,r,!0)){let a=On(d,u,this),m={type:t,property:o,args:a};s(this.canvas,m)}return l}});c.push(h)}catch{let h=Ct(e,o,{set(n){s(this.canvas,{type:t,property:o,args:[n],setter:!0})}});c.push(h)}return c}function Qa(e,t,s,i){let r=[];return typeof t.WebGLRenderingContext<"u"&&r.push(...Li(t.WebGLRenderingContext.prototype,Pe.WebGL,e,s,i,t)),typeof t.WebGL2RenderingContext<"u"&&r.push(...Li(t.WebGL2RenderingContext.prototype,Pe.WebGL2,e,s,i,t)),()=>{r.forEach(u=>u())}}var An=`(function() {
    5454  "use strict";
    5555  var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    … …  
    126126})();
    127127//# sourceMappingURL=image-bitmap-data-url-worker-IJpC7g_b.js.map
    128 `,Pi=typeof self<"u"&&self.Blob&&new Blob([An],{type:"text/javascript;charset=utf-8"});function Qa(e){let t;try{if(t=Pi&&(self.URL||self.webkitURL).createObjectURL(Pi),!t)throw"";let s=new Worker(t,{name:e?.name});return s.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),s}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(An),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var qr=class{constructor(t){A(this,"pendingCanvasMutations",new Map),A(this,"rafStamps",{latestId:0,invokeId:null}),A(this,"mirror"),A(this,"mutationCb"),A(this,"resetObservers"),A(this,"frozen",!1),A(this,"locked",!1),A(this,"processMutation",(o,h)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(o)||this.pendingCanvasMutations.set(o,[]),this.pendingCanvasMutations.get(o).push(h)});let{sampling:s="all",win:i,blockClass:r,blockSelector:u,recordCanvas:f,dataURLOptions:p}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,f&&s==="all"&&this.initCanvasMutationObserver(i,r,u),f&&typeof s=="number"&&this.initCanvasFPSObserver(s,i,r,u,{dataURLOptions:p})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,s,i,r,u){let f=ki(s,i,r,!0),p=new Map,o=new Qa;o.onmessage=m=>{let{id:c}=m.data;if(p.set(c,!1),!("base64"in m.data))return;let{base64:g,type:S,width:b,height:v}=m.data;this.mutationCb({id:c,type:Pe["2D"],commands:[{property:"clearRect",args:[0,0,b,v]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:S}]},0,0]}]})};let h=1e3/t,n=0,d,l=()=>{let m=[];return s.document.querySelectorAll("canvas").forEach(c=>{ae(c,i,r,!0)||m.push(c)}),m},a=m=>{if(n&&m-n<h){d=requestAnimationFrame(a);return}n=m,l().forEach(async c=>{var g;let S=this.mirror.getId(c);if(p.get(S)||c.width===0||c.height===0)return;if(p.set(S,!0),["webgl","webgl2"].includes(c.__context)){let v=c.getContext(c.__context);((g=v?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&v.clear(v.COLOR_BUFFER_BIT)}let b=await createImageBitmap(c);o.postMessage({id:S,bitmap:b,width:c.width,height:c.height,dataURLOptions:u.dataURLOptions},[b])}),d=requestAnimationFrame(a)};d=requestAnimationFrame(a),this.resetObservers=()=>{f(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,s,i){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let r=ki(t,s,i,!1),u=Ya(this.processMutation.bind(this),t,s,i),f=Ja(this.processMutation.bind(this),t,s,i);this.resetObservers=()=>{r(),u(),f()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=s=>{this.rafStamps.latestId=s,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,s)=>{let i=this.mirror.getId(s);this.flushPendingCanvasMutationFor(s,i)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,s){if(this.frozen||this.locked)return;let i=this.pendingCanvasMutations.get(t);if(!i||s===-1)return;let r=i.map(f=>{let{type:p,...o}=f;return o}),{type:u}=i[0];this.mutationCb({id:s,type:u,commands:r}),this.pendingCanvasMutations.delete(t)}},Gr=class{constructor(t){A(this,"trackedLinkElements",new WeakSet),A(this,"mutationCb"),A(this,"adoptedStyleSheetCb"),A(this,"styleMirror",new $r),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,s){"_cssText"in s.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:s.id,attributes:s.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,s){if(t.length===0)return;let i={id:s,styleIds:[]},r=[];for(let u of t){let f;this.styleMirror.has(u)?f=this.styleMirror.getId(u):(f=this.styleMirror.add(u),r.push({styleId:f,rules:Array.from(u.rules||CSSRule,(p,o)=>({rule:Wi(p,u.href),index:o}))})),i.styleIds.push(f)}r.length>0&&(i.styles=r),this.adoptedStyleSheetCb(i)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Hr=class{constructor(){A(this,"nodeMap",new WeakMap),A(this,"active",!1)}inOtherBuffer(t,s){let i=this.nodeMap.get(t);return i&&Array.from(i).some(r=>r!==s)}add(t,s){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(s))}destroy(){}},ee,st,kr,ft=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((ps=e.contentWindow)==null?void 0:ps.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var pe=co();function le(e={}){let{emit:t,checkoutEveryNms:s,checkoutEveryNth:i,blockClass:r="rr-block",blockSelector:u=null,ignoreClass:f="rr-ignore",ignoreSelector:p=null,maskTextClass:o="rr-mask",maskTextSelector:h=null,inlineStylesheet:n=!0,maskAllInputs:d,maskInputOptions:l,slimDOMOptions:a,maskInputFn:m,maskTextFn:c,hooks:g,packFn:S,sampling:b={},dataURLOptions:v={},mousemoveWait:E,recordDOM:w=!0,recordCanvas:y=!1,recordCrossOriginIframes:x=!1,recordAfter:R=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:M=!1,collectFonts:C=!1,inlineImages:I=!1,plugins:_,keepIframeSrcFn:N=()=>!1,ignoreCSSAttributes:ie=new Set([]),errorHandler:ne}=e;Aa(ne);let F=x?window.parent===window:!0,z=!1;if(!F)try{window.parent.document&&(z=!1)}catch{z=!0}if(F&&!t)throw new Error("emit function is required");if(!F&&!z)return()=>{};E!==void 0&&b.mousemove===void 0&&(b.mousemove=E),pe.reset();let q=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:l!==void 0?l:{password:!0},J=Yi(a);Ma();let D,T=0,U=L=>{for(let te of _||[])te.eventProcessor&&(L=te.eventProcessor(L));return S&&!z&&(L=S(L)),L};ee=(L,te)=>{var j;let K=L;if(K.timestamp=We(),(j=Ee[0])!=null&&j.isFrozen()&&K.type!==W.FullSnapshot&&!(K.type===W.IncrementalSnapshot&&K.data.source===$.Mutation)&&Ee.forEach(fe=>fe.unfreeze()),F)t?.(U(K),te);else if(z){let fe={type:"rrweb",event:U(K),origin:window.location.origin,isCheckout:te};window.parent.postMessage(fe,"*")}if(K.type===W.FullSnapshot)D=K,T=0;else if(K.type===W.IncrementalSnapshot){if(K.data.source===$.Mutation&&K.data.isAttachIframe)return;T++;let fe=i&&T>=i,V=s&&K.timestamp-D.timestamp>s;(fe||V)&&st(!0)}};let O=L=>{ee({type:W.IncrementalSnapshot,data:{source:$.Mutation,...L}})},G=L=>ee({type:W.IncrementalSnapshot,data:{source:$.Scroll,...L}}),k=L=>ee({type:W.IncrementalSnapshot,data:{source:$.CanvasMutation,...L}}),Q=L=>ee({type:W.IncrementalSnapshot,data:{source:$.AdoptedStyleSheet,...L}}),Z=new Gr({mutationCb:O,adoptedStyleSheetCb:Q}),ue=new jr({mirror:pe,mutationCb:O,stylesheetManager:Z,recordCrossOriginIframes:x,wrappedEmit:ee});for(let L of _||[])L.getMirror&&L.getMirror({nodeMirror:pe,crossOriginIframeMirror:ue.crossOriginIframeMirror,crossOriginIframeStyleMirror:ue.crossOriginIframeStyleMirror});let xe=new Hr;kr=new qr({recordCanvas:y,mutationCb:k,win:window,blockClass:r,blockSelector:u,mirror:pe,sampling:b.canvas,dataURLOptions:v});let ve=new Vr({mutationCb:O,scrollCb:G,bypassOptions:{blockClass:r,blockSelector:u,maskTextClass:o,maskTextSelector:h,inlineStylesheet:n,maskInputOptions:q,dataURLOptions:v,maskTextFn:c,maskInputFn:m,recordCanvas:y,inlineImages:I,sampling:b,slimDOMOptions:J,iframeManager:ue,stylesheetManager:Z,canvasManager:kr,keepIframeSrcFn:N,processedNodeManager:xe},mirror:pe});st=(L=!1)=>{if(!w)return;ee({type:W.Meta,data:{href:window.location.href,width:mn(),height:pn()}},L),Z.reset(),ve.init(),Ee.forEach(j=>j.lock());let te=Lo(document,{mirror:pe,blockClass:r,blockSelector:u,maskTextClass:o,maskTextSelector:h,inlineStylesheet:n,maskAllInputs:q,maskTextFn:c,maskInputFn:m,slimDOM:J,dataURLOptions:v,recordCanvas:y,inlineImages:I,onSerialize:j=>{wn(j,pe)&&ue.addIframe(j),bn(j,pe)&&Z.trackLinkElement(j),Ur(j)&&ve.addShadowRoot(P.shadowRoot(j),document)},onIframeLoad:(j,K)=>{ue.attachIframe(j,K),ve.observeAttachShadow(j)},onStylesheetLoad:(j,K)=>{Z.attachLinkElement(j,K)},keepIframeSrcFn:N});if(!te)return console.warn("Failed to snapshot the document");ee({type:W.FullSnapshot,data:{node:te,initialOffset:dn(window)}},L),Ee.forEach(j=>j.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Z.adoptStyleSheets(document.adoptedStyleSheets,pe.getId(document))};try{let L=[],te=K=>{var fe;return B(Va)({mutationCb:O,mousemoveCb:(V,Ot)=>ee({type:W.IncrementalSnapshot,data:{source:Ot,positions:V}}),mouseInteractionCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.MouseInteraction,...V}}),scrollCb:G,viewportResizeCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.ViewportResize,...V}}),inputCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.Input,...V}}),mediaInteractionCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.MediaInteraction,...V}}),styleSheetRuleCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.StyleSheetRule,...V}}),styleDeclarationCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.StyleDeclaration,...V}}),canvasMutationCb:k,fontCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.Font,...V}}),selectionCb:V=>{ee({type:W.IncrementalSnapshot,data:{source:$.Selection,...V}})},customElementCb:V=>{ee({type:W.IncrementalSnapshot,data:{source:$.CustomElement,...V}})},blockClass:r,ignoreClass:f,ignoreSelector:p,maskTextClass:o,maskTextSelector:h,maskInputOptions:q,inlineStylesheet:n,sampling:b,recordDOM:w,recordCanvas:y,inlineImages:I,userTriggeredOnInput:M,collectFonts:C,doc:K,maskInputFn:m,maskTextFn:c,keepIframeSrcFn:N,blockSelector:u,slimDOMOptions:J,dataURLOptions:v,mirror:pe,iframeManager:ue,stylesheetManager:Z,shadowDomManager:ve,processedNodeManager:xe,canvasManager:kr,ignoreCSSAttributes:ie,plugins:((fe=_?.filter(V=>V.observer))==null?void 0:fe.map(V=>({observer:V.observer,options:V.options,callback:Ot=>ee({type:W.Plugin,data:{plugin:V.name,payload:Ot}})})))||[]},g)};ue.addLoadListener(K=>{try{L.push(te(K.contentDocument))}catch(fe){console.warn(fe)}});let j=()=>{st(),L.push(te(document)),ft=!0};return["interactive","complete"].includes(document.readyState)?j():(L.push(oe("DOMContentLoaded",()=>{ee({type:W.DomContentLoaded,data:{}}),R==="DOMContentLoaded"&&j()})),L.push(oe("load",()=>{ee({type:W.Load,data:{}}),R==="load"&&j()},window))),()=>{L.forEach(K=>{try{K()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),xe.destroy(),ft=!1,Da()}}catch(L){console.warn(L)}}le.addCustomEvent=(e,t)=>{if(!ft)throw new Error("please add custom event after start recording");ee({type:W.Custom,data:{tag:e,payload:t}})};le.freezePage=()=>{Ee.forEach(e=>e.freeze())};le.takeFullSnapshot=e=>{if(!ft)throw new Error("please take full snapshot after start recording");st(e)};le.mirror=pe;var Fi;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Fi||(Fi={}));var fl=5*1e3;var{addCustomEvent:hl}=le,{freezePage:dl}=le,{takeFullSnapshot:pl}=le;var Za='iframe,frame,canvas,video,audio,img,svg,object,embed,[contenteditable],input[type="hidden"],[data-tw-block],[data-private],.rr-block';function Oe(e,t){if(!e||typeof e.nodeType!="number")return!1;let s=r=>{let u=r.getRootNode?.();return u?.nodeType===11?u.host:null},i=e.nodeType===1?e:e.parentElement||s(e);for(;i?.nodeType===1;){if(i.closest(t))return!0;i=s(i)}return!1}function xt(e=""){let t=Za+(e?","+e:""),s=i=>Oe(i,t);return{selector:t,contains:s,event:i=>(i.composedPath?.()||[i.target]).some(s)}}var Dn="data-tw-media",Ka=/^[a-f0-9]{64}$/,Et=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",Mt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain",el='iframe,frame,canvas,video,audio,svg,object,embed,[contenteditable],input[type="hidden"],[data-tw-block],[data-private],.rr-block,[data-tw-mask],.rr-mask';function Tn({doc:e,mirror:t,assets:s=[],blockSelector:i="",emit:r}){let u=new Map,f=new Map,p=new Map,o=new Set,h=new Set,n=new Set,d=!1,l=null,a=el+(i?","+i:"");e.querySelector(a);for(let R of Array.isArray(s)?s.slice(0,256):[])if(!(typeof R?.key!="string"||!Ka.test(R.key)||!Array.isArray(R.urls)))for(let M of R.urls.slice(0,8))try{let C=new URL(M,e.location.href);typeof M=="string"&&M.length<=2048&&C.origin===e.location.origin&&!C.search&&!C.hash&&!C.username&&!C.password&&/^https?:$/.test(C.protocol)&&u.set(C.href,R.key)}catch{}if(!u.size)return{attributes(){return{}},stop(){}};function m(R){if(!R?.isConnected||R.tagName!=="IMG"||Oe(R,a))return null;try{let M=new URL(R.currentSrc||R.getAttribute("src")||"",e.location.href),C=!M.search&&!M.hash&&!M.username&&!M.password&&M.origin===e.location.origin&&u.get(M.href)||null;return C&&(n.has(C)||n.size<64)?(n.add(C),C):null}catch{return null}}function c(R,M){if(!Number.isInteger(R)||R<1||M?.tagName!=="IMG"||f.size>=2048&&!f.has(R))return!1;f.set(R,M);let C=M.getRootNode();return C!==e&&C.nodeType===11&&!o.has(C)&&o.size<32&&(o.add(C),x?.observe(C,{subtree:!0,childList:!0,attributes:!0}),C.addEventListener("load",y,!0)),!0}function g(R,M){if(!M)return{[Dn]:null};let C=e.defaultView.getComputedStyle(R);return{[Dn]:M,"data-tw-image-fit":Mt(C.objectFit),"data-tw-image-position":Et(C.objectPosition)}}function S(R,M){if(!c(R,M))return{};let C=m(M),I=g(M,C);return p.set(R,JSON.stringify(I)),C?I:{}}function b(){if(l=null,d)return;let R=[],M=0;for(let C of h){h.delete(C);let I=f.get(C);if(!I)continue;let _=g(I,m(I)),N=JSON.stringify(_);if(p.get(C)!==N&&(p.set(C,N),R.push({id:C,attributes:_})),I.isConnected||(f.delete(C),p.delete(C)),++M>=32)break}R.length&&r({type:3,timestamp:Date.now(),data:{source:0,adds:[],removes:[],texts:[],attributes:R}}),h.size&&(l=e.defaultView.setTimeout(b,16))}function v(){!d&&h.size&&l===null&&(l=-1,queueMicrotask(b))}function E(R,M){for(let C=M,I=0;C&&I<32;I++,C=C.getRootNode()?.host)if(R===C||R.contains?.(C))return!0;return!1}function w(R){let M=new Set;for(let I of R)if(M.add(I.target),M.size>256)break;let C=[...M];for(let[I,_]of f)(C.length>256||!_.isConnected||C.some(N=>E(N,_)))&&h.add(I);v()}function y(R){for(let[M,C]of f)(C===R.target||R.target?.tagName==="LINK")&&h.add(M);v()}let x=e.defaultView.MutationObserver?new e.defaultView.MutationObserver(w):null;return x?.observe(e,{subtree:!0,childList:!0,attributes:!0}),e.addEventListener("load",y,!0),{attributes(R){return S(R.id,t.getNode(R.id))},stop(){d=!0,x?.disconnect(),l!==null&&e.defaultView.clearTimeout(l),e.removeEventListener("load",y,!0);for(let R of o)R.removeEventListener("load",y,!0);f.clear(),p.clear(),h.clear(),n.clear()}}}var Rt={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},_n=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),kn=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),hs=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),tl=[...Object.keys(Rt),..._n,...kn,...hs,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function fs(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(Rt,e))return Rt[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&Rt[e].includes(t)?t:null;if(_n.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(kn.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let s=t.split(" ");return t==="none"?"none":s.length<=64&&s.every(i=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(i)&&parseFloat(i)<=1e5)?t:null}if(hs.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(s=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let s=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!s)return null;let i=s[2].split(",").map(r=>r.trim());return i.length===(s[1]==="matrix"?6:16)&&i.every(r=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(r)&&Number.isFinite(Number(r))&&Math.abs(Number(r))<=1e5)?t:null}if(["color","background-color"].includes(e)){let s=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return s&&s.slice(1,4).every(i=>Number(i)<=255)?t:null}return null}function Nt(e){if(typeof e!="string"||e.length>4096)return"";let t=[],s=new Set;for(let r of e.split(";").slice(0,100)){let u=r.indexOf(":");if(u<1)continue;let f=r.slice(0,u).trim();if(s.has(f))continue;let p=fs(f,r.slice(u+1));p!==null&&(s.add(f),t.push(f+":"+p))}let i=t.join(";");return i.length<=4096?i:""}function Ln(e){return Nt(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}function rl(e){let t=e.ownerDocument.defaultView,s=t.getComputedStyle(e),i=[];for(let r of tl){if(["width","height"].includes(r)&&!["grid","inline-grid","flex","inline-flex"].includes(s.display))continue;let u=s.getPropertyValue(r);if(hs.has(r)&&u&&!fs(r,u)&&e.parentElement){let p=t.getComputedStyle(e.parentElement),o=[...p.gridTemplateAreas.matchAll(/"([^"]*)"/g)].map(n=>n[1].trim().split(/\s+/)),h=null;o.forEach((n,d)=>n.forEach((l,a)=>{l===u&&(h=h?{left:Math.min(h.left,a),right:Math.max(h.right,a+1),top:Math.min(h.top,d),bottom:Math.max(h.bottom,d+1)}:{left:a,right:a+1,top:d,bottom:d+1})})),h&&(u=String((r==="grid-column-start"?h.left:r==="grid-column-end"?h.right:r==="grid-row-start"?h.top:h.bottom)+1))}let f=fs(r,u);f!==null&&i.push(r+":"+f)}return Nt(i.join(";"))}function Pn({doc:e,mirror:t,blockSelector:s="",emit:i}){let r=e.defaultView,u=xt(s),f=new Map,p=new WeakMap,o=new Set,h=new Set,n=2048,d=64,l=24,a=49152,m=98304,c=0,g=!1,S=null,b=!1,v=D=>D?.nodeType===1&&!["STYLE","LINK","META","SCRIPT","NOSCRIPT"].includes(D.tagName)&&!u.contains(D)&&!Oe(D,"[data-tw-mask],.rr-mask"),E=D=>{try{return rl(D)}catch{return""}},w=D=>D.matches('html,body,main,header,nav,footer,section,article,form,[role="dialog"]'),y=D=>{f.has(D)&&o.add(D)};function x(){!g&&S===null&&o.size&&(S=r.setTimeout(N,16))}let R=r.IntersectionObserver?new r.IntersectionObserver(D=>{for(let T of D){let U=p.get(T.target),O=f.get(U);O&&(O.visible=T.isIntersecting,T.isIntersecting&&y(U))}x()},{rootMargin:"200px"}):null,M=r.ResizeObserver?new r.ResizeObserver(D=>{for(let T of D)y(p.get(T.target)),T.target.parentElement&&y(p.get(T.target.parentElement));x()}):null;function C(D,T){let U=f.get(D);if(U)return U;if(f.size>=n)return b=!0,null;let O=T.getRootNode();return O!==e&&O.nodeType===11&&O.host&&!h.has(O)&&(h.size<32?(h.add(O),F.observe(O,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),O.addEventListener("load",J,!0)):b=!0),U={node:T,css:"",visible:!R||w(T)},f.set(D,U),p.set(T,D),R?.observe(T),M?.observe(T),U}function I(D){let T=t.getNode(D.id);if(!v(T))return{};let U=C(D.id,T);if(!U)return{};if(c<d&&w(T)){let O=E(T);if(c++,O&&O.length<=m)return m-=O.length,U.css=O,{"data-tw-layout":O}}return U.visible&&(y(D.id),x()),{}}function _(D,T){R?.unobserve(T.node),M?.unobserve(T.node),f.delete(D),o.delete(D),p.delete(T.node)}function N(){if(S=null,g)return;let D=[],T=r.performance.now(),U=0,O=0;for(let G of o){o.delete(G);let k=f.get(G);if(k){if(!k.node.isConnected){_(G,k);continue}if(v(k.node)){let Q=E(k.node);if(Q!==k.css){let Z={id:G,attributes:{style:k.node.getAttribute("style")||"","data-tw-layout":Q||null}},ue=JSON.stringify(Z).length;if(U+ue>a){o.add(G);break}k.css=Q,U+=ue,D.push(Z)}}if(++O>=l||r.performance.now()-T>=6)break}}D.length&&i({type:3,timestamp:Date.now(),data:{source:0,adds:[],removes:[],texts:[],attributes:D}}),x()}function ie(D,T=!1){if(D?.nodeType!==1&&(D=D?.parentElement),!D)return;y(p.get(D));let U=D.parentElement;for(let O=0;U&&O<6;O++,U=U.parentElement)y(p.get(U));if(T){let O=0,G=e.createTreeWalker(D,1);for(;G.nextNode()&&O++<n;)y(p.get(G.currentNode));for(let k of h)if(D===k.host||D.contains(k.host))for(let Q of k.children)ie(Q,!0)}}function ne(D){if(D.length>256){for(let k of f.keys())y(k);x();return}let T=new Map,U=new Set,O=!1,G=(k,Q=!1)=>{k&&T.set(k,Q||T.get(k)||!1)};for(let k of D){let Q=k.target.nodeType===1?k.target:k.target.parentElement;if(Q?.matches("style,link")){O=!0;break}if(G(Q,k.type==="attributes"),k.type==="childList"){if(k.addedNodes.length+k.removedNodes.length>32){O=!0;break}for(let Z of k.addedNodes)G(Z,!0);for(let Z of k.removedNodes)G(Z,!0);Q&&U.add(Q)}if(T.size>32){O=!0;break}}if(O)for(let k of f.keys())y(k);else{for(let[k,Q]of T)ie(k,Q);for(let k of U)for(let Q of[...k.children].slice(0,128))y(p.get(Q))}x()}let F=new r.MutationObserver(ne);F.observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0});let z=()=>{for(let[D,T]of f)T.visible&&y(D);x()},q=D=>{let T=D.composedPath?.()||[D.target];for(let U of T)if(U?.nodeType===1){let O=p.get(U);if(O!==void 0){let G=f.get(O);G&&(G.visible=!0),y(O)}}x()},J=D=>{ie(D.target,!0),x()};return r.addEventListener("resize",z),e.addEventListener("pointerdown",q,!0),e.addEventListener("focusin",q,!0),e.addEventListener("load",J,!0),{attributes:I,coverage:()=>({tracked:f.size,pending:o.size,limited:b}),reset(){F.disconnect(),F.observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0});for(let D of h)D.removeEventListener("load",J,!0);h.clear(),m=98304,c=0,b=!1,R?.disconnect(),M?.disconnect();for(let D of f.values())p.delete(D.node);f.clear(),o.clear()},stop(){g=!0,F.disconnect();for(let D of h)D.removeEventListener("load",J,!0);h.clear(),R?.disconnect(),M?.disconnect(),r.clearTimeout(S),r.removeEventListener("resize",z),e.removeEventListener("pointerdown",q,!0),e.removeEventListener("focusin",q,!0),e.removeEventListener("load",J,!0),f.clear(),o.clear()}}}var Ie=e=>String(e??"").replace(/\S/g,"*");function sl(e,t="https://example.invalid"){try{return new URL(e,t).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500)}catch{return"/"}}function he(e){let t=String(e??""),s="",i=0,r=p=>{let o=t.slice(p+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(o){let h=parseInt(o[0],16);return[h>0&&h<=1114111?String.fromCodePoint(h):"\uFFFD",p+1+o[0].length]}return[t[p+1]||"",Math.min(t.length,p+2)]},u=p=>{let o=t[p++];for(;p<t.length;)if(t[p]==="\\")p=r(p)[1];else if(t[p++]===o)break;return p},f=p=>{let o=t.indexOf("*/",p+2);return o<0?t.length:o+2};for(;i<t.length;){if(t.startsWith("/*",i)){i=f(i),s+=" ";continue}if(t[i]==='"'||t[i]==="'"){i=u(i),s+='""';continue}if(/[a-z_\\-]/i.test(t[i])){let p=i,o="";for(;i<t.length&&/[a-z0-9_\\-]/i.test(t[i]);)if(t[i]==="\\"){let[n,d]=r(i);o+=n,i=d}else o+=t[i++];let h=i;for(;h<t.length;)if(/\s/.test(t[h]))h++;else if(t.startsWith("/*",h))h=f(h);else break;if(o.toLowerCase()==="url"&&t[h]==="("){i=h+1;let n=1;for(;i<t.length&&n;)t[i]==="\\"?i=r(i)[1]:t[i]==='"'||t[i]==="'"?i=u(i):t.startsWith("/*",i)?i=f(i):(t[i]==="("&&n++,t[i]===")"&&n--,i++);s+="none"}else s+=t.slice(p,i);continue}s+=t[i++]}return s.replace(/@import[^;{}]*;?/gi,"")}var il=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function Fn(e={}){let t={};for(let[s,i]of Object.entries(e))if(i===null)t[s]=null;else if(s==="style"&&i&&typeof i=="object"&&!Array.isArray(i))t[s]=Object.fromEntries(Object.entries(i).map(([r,u])=>[r,u===!1?!1:Array.isArray(u)?[he(u[0]),u[1]==="important"?"important":""]:he(u)]));else if(s==="style"||s==="_cssText")t[s]=he(i);else if(s==="data-tw-image-fit")t[s]=Mt(i);else if(s==="data-tw-image-position")t[s]=Et(i);else if(s==="data-tw-layout"){let r=Nt(i);r&&(t[s]=r)}else s==="data-tw-media"&&typeof i=="string"&&/^[a-f0-9]{64}$/.test(i)?t[s]=i:s==="href"?t[s]="#":il.has(s)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(i))?t[s]=i:i===null&&(t[s]=null);if(t["data-tw-layout"]){let s=Ln(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let i of s.split(";")){let r=i.indexOf(":");r>0&&(t.style[i.slice(0,r)]=[i.slice(r+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+s}return t}var nl=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),ol={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function al(e,t={}){let s=p=>{if(typeof p!="number"&&typeof p!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(p)))return null;let o=parseFloat(p);return Number.isFinite(o)?Math.min(8192,Math.max(0,o)):null},i=s(t.rr_width??t.width),r=s(t.rr_height??t.height),u=ol[e];if(!u)return{class:"tw-redacted",style:"display:none"};let f=(i===null?"":`;width:${i}px`)+(r===null?";min-height:24px":`;height:${r}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":Mt(t["data-tw-image-fit"]),"data-tw-image-position":Et(t["data-tw-image-position"])}:{},class:"tw-redacted"+(u?" tw-media-"+u:""),style:"background:#edf0e9;overflow:hidden"+f}}function ds(e,t,s="",i=null){if(!e||typeof e!="object")return e;let r={...e},u=s==="style"||r.isStyle||r.tagName?.toLowerCase()==="style";return i&&u&&i.styleNodes.add(r.id),r.tagName&&nl.has(r.tagName.toLowerCase())?{type:2,tagName:"div",attributes:al(r.tagName.toLowerCase(),r.attributes),childNodes:[],id:r.id,needBlock:!0}:(r.attributes&&(r.attributes=Fn(r.attributes)),typeof r.textContent=="string"&&(r.textContent=u?he(r.textContent):t.maskText?Ie(r.textContent):r.textContent),r.childNodes&&(r.childNodes=r.childNodes.map(f=>ds(f,t,r.tagName||s,i))),r)}var ll=new Set(["page","click","rage_click"]);function Un(e={maskText:!0}){let t={styleNodes:new Set};return s=>ul(s,e,t)}function ul(e,t={maskText:!0},s=null){if(!e||e.type>5)return null;let i={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(i.type===2&&(s?.styleNodes.clear(),i.data.node=ds(i.data.node,t,"",s)),i.type===4&&(i.data.href=sl(i.data.href)),i.type===5){let r=ll.has(i.data.tag)?{}:t.sanitizeCustom?.(i.data.tag,i.data.payload)??null;if(r===null)return null;i.data={tag:i.data.tag,payload:r}}if(i.type===3){if([7,9,10,11].includes(i.data.source))return null;if(i.data.source===5&&(i.data.text=Ie(i.data.text)),i.data.attributes&&(i.data.attributes=i.data.attributes.map(r=>({...r,attributes:Fn(r.attributes)}))),i.data.adds&&i.data.source===0&&(i.data.adds=i.data.adds.map(r=>({...r,node:ds(r.node,t,s?.styleNodes.has(r.parentId)?"style":"",s)}))),i.data.texts&&(i.data.texts=i.data.texts.map(r=>({...r,value:s?.styleNodes.has(r.id)?he(r.value):t.maskText?Ie(r.value):s?r.value:he(r.value)}))),i.data.source===8&&i.data.adds&&(i.data.adds=i.data.adds.map(r=>({...r,rule:he(r.rule??"")}))),i.data.source===8)for(let r of["replace","replaceSync"])typeof i.data[r]=="string"&&(i.data[r]=he(i.data[r]));i.data.source===15&&i.data.styles&&(i.data.styles=i.data.styles.map(r=>({...r,rules:r.rules.map(u=>({...u,rule:he(u.rule)}))}))),i.data.source===13&&i.data.set&&(i.data.set={...i.data.set,value:he(i.data.set.value)})}return i}function $n({emit:e,maskText:t=!0,blockSelector:s="",extensions:i=[],media:r=[],doc:u=document}){let f=!1,p,o=new Map;for(let M of i)for(let C of M.tags||[])o.set(C,M.sanitize);let h=(M,C)=>o.get(M)?.(M,C)??null,n=Un({maskText:t,sanitizeCustom:h}),d=new Set(["page","click","rage_click",...o.keys()]),l=(M,C={})=>{if(!f&&d.has(M)){let I=o.has(M)?h(M,C):{};I&&le.addCustomEvent(M,I)}};s&&u.querySelector(s);let a=xt(s),m=M=>a.contains(le.mirror.getNode(M)),c=M=>Oe(le.mirror.getNode(M),"[data-tw-mask],.rr-mask"),g=(M,C)=>c(M)?le.mirror.getNode(M)?.parentElement?.tagName==="STYLE"?he(C):Ie(C):C,S=Tn({doc:u,mirror:le.mirror,assets:r,blockSelector:s,emit(M){let C=n(M);C&&!f&&e(C)}}),b=Pn({doc:u,mirror:le.mirror,blockSelector:s,emit(M){let C=n(M);C&&!f&&e(C)}}),v=M=>{if(!M||typeof M!="object")return M;let C={...M};return M.attributes&&(C.attributes={...M.attributes,...S.attributes(M),...b.attributes(M)}),typeof C.textContent=="string"&&(C.textContent=g(M.id,C.textContent)),M.childNodes&&(C.childNodes=M.childNodes.map(v)),C};function E(M){if(M.type===2)return b.reset(),{...M,data:{...M.data,node:v(M.data.node)}};if(M.type!==3)return M;let C={...M.data};if(C.source===0){if(C.texts&&(C.texts=C.texts.filter(I=>!m(I.id)).map(I=>({...I,value:g(I.id,I.value)}))),C.attributes&&(C.attributes=C.attributes.filter(I=>!m(I.id))),C.adds&&(C.adds=C.adds.filter(I=>!m(I.parentId)).map(I=>({...I,node:v(I.node)}))),!["texts","attributes","adds","removes"].some(I=>C[I]?.length))return null}else{if(typeof C.id=="number"&&m(C.id)||C.positions&&(C.positions=C.positions.filter(I=>!m(I.id)),!C.positions.length))return null;C.ranges&&(C.ranges=C.ranges.filter(I=>!m(I.start)&&!m(I.end)))}return{...M,data:C}}p=le({emit(M){let C=n(E(M));C&&!f&&e(C)},maskAllInputs:!0,maskInputFn:Ie,maskTextSelector:t?"*":"[data-tw-mask]",maskTextFn:(M,C)=>C?.tagName==="STYLE"?he(M):Ie(M),blockSelector:a.selector,inlineStylesheet:!0,inlineImages:!1,recordCanvas:!1,collectFonts:!1,recordCrossOriginIframes:!1,slimDOMOptions:"all",sampling:{mousemove:100,mouseInteraction:!0,scroll:150,input:"last"},checkoutEveryNms:12e4});let w=[],y=null,x=M=>{if(a.event(M))return;l("click");let C=Date.now();w=M.target===y?w.filter(I=>C-I<1e3):[],y=M.target,w.push(C),w.length===3&&(l("rage_click"),w=[])};u.addEventListener("click",x,!0),l("page");let R=i.map(M=>M.attach?.({doc:u,track:l,blockSelector:s}));return{track:l,stop(){f=!0,S.stop(),b.stop(),R.forEach(M=>M?.()),p?.(),u.removeEventListener("click",x,!0)}}}window.TracewellCapture=e=>$n({...e,extensions:window.TracewellCaptureExtensions||[]});})();
     128`,Pi=typeof self<"u"&&self.Blob&&new Blob([An],{type:"text/javascript;charset=utf-8"});function Za(e){let t;try{if(t=Pi&&(self.URL||self.webkitURL).createObjectURL(Pi),!t)throw"";let s=new Worker(t,{name:e?.name});return s.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),s}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(An),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var qr=class{constructor(t){A(this,"pendingCanvasMutations",new Map),A(this,"rafStamps",{latestId:0,invokeId:null}),A(this,"mirror"),A(this,"mutationCb"),A(this,"resetObservers"),A(this,"frozen",!1),A(this,"locked",!1),A(this,"processMutation",(o,h)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(o)||this.pendingCanvasMutations.set(o,[]),this.pendingCanvasMutations.get(o).push(h)});let{sampling:s="all",win:i,blockClass:r,blockSelector:u,recordCanvas:c,dataURLOptions:p}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,c&&s==="all"&&this.initCanvasMutationObserver(i,r,u),c&&typeof s=="number"&&this.initCanvasFPSObserver(s,i,r,u,{dataURLOptions:p})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,s,i,r,u){let c=ki(s,i,r,!0),p=new Map,o=new Za;o.onmessage=m=>{let{id:f}=m.data;if(p.set(f,!1),!("base64"in m.data))return;let{base64:g,type:S,width:b,height:v}=m.data;this.mutationCb({id:f,type:Pe["2D"],commands:[{property:"clearRect",args:[0,0,b,v]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:S}]},0,0]}]})};let h=1e3/t,n=0,d,l=()=>{let m=[];return s.document.querySelectorAll("canvas").forEach(f=>{ae(f,i,r,!0)||m.push(f)}),m},a=m=>{if(n&&m-n<h){d=requestAnimationFrame(a);return}n=m,l().forEach(async f=>{var g;let S=this.mirror.getId(f);if(p.get(S)||f.width===0||f.height===0)return;if(p.set(S,!0),["webgl","webgl2"].includes(f.__context)){let v=f.getContext(f.__context);((g=v?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&v.clear(v.COLOR_BUFFER_BIT)}let b=await createImageBitmap(f);o.postMessage({id:S,bitmap:b,width:f.width,height:f.height,dataURLOptions:u.dataURLOptions},[b])}),d=requestAnimationFrame(a)};d=requestAnimationFrame(a),this.resetObservers=()=>{c(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,s,i){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let r=ki(t,s,i,!1),u=Xa(this.processMutation.bind(this),t,s,i),c=Qa(this.processMutation.bind(this),t,s,i);this.resetObservers=()=>{r(),u(),c()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=s=>{this.rafStamps.latestId=s,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,s)=>{let i=this.mirror.getId(s);this.flushPendingCanvasMutationFor(s,i)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,s){if(this.frozen||this.locked)return;let i=this.pendingCanvasMutations.get(t);if(!i||s===-1)return;let r=i.map(c=>{let{type:p,...o}=c;return o}),{type:u}=i[0];this.mutationCb({id:s,type:u,commands:r}),this.pendingCanvasMutations.delete(t)}},Gr=class{constructor(t){A(this,"trackedLinkElements",new WeakSet),A(this,"mutationCb"),A(this,"adoptedStyleSheetCb"),A(this,"styleMirror",new $r),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,s){"_cssText"in s.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:s.id,attributes:s.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,s){if(t.length===0)return;let i={id:s,styleIds:[]},r=[];for(let u of t){let c;this.styleMirror.has(u)?c=this.styleMirror.getId(u):(c=this.styleMirror.add(u),r.push({styleId:c,rules:Array.from(u.rules||CSSRule,(p,o)=>({rule:Wi(p,u.href),index:o}))})),i.styleIds.push(c)}r.length>0&&(i.styles=r),this.adoptedStyleSheetCb(i)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Hr=class{constructor(){A(this,"nodeMap",new WeakMap),A(this,"active",!1)}inOtherBuffer(t,s){let i=this.nodeMap.get(t);return i&&Array.from(i).some(r=>r!==s)}add(t,s){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(s))}destroy(){}},ee,st,kr,ft=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((ps=e.contentWindow)==null?void 0:ps.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var pe=fo();function le(e={}){let{emit:t,checkoutEveryNms:s,checkoutEveryNth:i,blockClass:r="rr-block",blockSelector:u=null,ignoreClass:c="rr-ignore",ignoreSelector:p=null,maskTextClass:o="rr-mask",maskTextSelector:h=null,inlineStylesheet:n=!0,maskAllInputs:d,maskInputOptions:l,slimDOMOptions:a,maskInputFn:m,maskTextFn:f,hooks:g,packFn:S,sampling:b={},dataURLOptions:v={},mousemoveWait:E,recordDOM:w=!0,recordCanvas:y=!1,recordCrossOriginIframes:x=!1,recordAfter:R=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:M=!1,collectFonts:C=!1,inlineImages:I=!1,plugins:_,keepIframeSrcFn:N=()=>!1,ignoreCSSAttributes:ie=new Set([]),errorHandler:ne}=e;Da(ne);let F=x?window.parent===window:!0,z=!1;if(!F)try{window.parent.document&&(z=!1)}catch{z=!0}if(F&&!t)throw new Error("emit function is required");if(!F&&!z)return()=>{};E!==void 0&&b.mousemove===void 0&&(b.mousemove=E),pe.reset();let q=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:l!==void 0?l:{password:!0},J=Yi(a);Ra();let D,T=0,U=L=>{for(let te of _||[])te.eventProcessor&&(L=te.eventProcessor(L));return S&&!z&&(L=S(L)),L};ee=(L,te)=>{var j;let K=L;if(K.timestamp=We(),(j=Ee[0])!=null&&j.isFrozen()&&K.type!==W.FullSnapshot&&!(K.type===W.IncrementalSnapshot&&K.data.source===$.Mutation)&&Ee.forEach(fe=>fe.unfreeze()),F)t?.(U(K),te);else if(z){let fe={type:"rrweb",event:U(K),origin:window.location.origin,isCheckout:te};window.parent.postMessage(fe,"*")}if(K.type===W.FullSnapshot)D=K,T=0;else if(K.type===W.IncrementalSnapshot){if(K.data.source===$.Mutation&&K.data.isAttachIframe)return;T++;let fe=i&&T>=i,V=s&&K.timestamp-D.timestamp>s;(fe||V)&&st(!0)}};let O=L=>{ee({type:W.IncrementalSnapshot,data:{source:$.Mutation,...L}})},G=L=>ee({type:W.IncrementalSnapshot,data:{source:$.Scroll,...L}}),k=L=>ee({type:W.IncrementalSnapshot,data:{source:$.CanvasMutation,...L}}),Q=L=>ee({type:W.IncrementalSnapshot,data:{source:$.AdoptedStyleSheet,...L}}),Z=new Gr({mutationCb:O,adoptedStyleSheetCb:Q}),ue=new jr({mirror:pe,mutationCb:O,stylesheetManager:Z,recordCrossOriginIframes:x,wrappedEmit:ee});for(let L of _||[])L.getMirror&&L.getMirror({nodeMirror:pe,crossOriginIframeMirror:ue.crossOriginIframeMirror,crossOriginIframeStyleMirror:ue.crossOriginIframeStyleMirror});let xe=new Hr;kr=new qr({recordCanvas:y,mutationCb:k,win:window,blockClass:r,blockSelector:u,mirror:pe,sampling:b.canvas,dataURLOptions:v});let ve=new Vr({mutationCb:O,scrollCb:G,bypassOptions:{blockClass:r,blockSelector:u,maskTextClass:o,maskTextSelector:h,inlineStylesheet:n,maskInputOptions:q,dataURLOptions:v,maskTextFn:f,maskInputFn:m,recordCanvas:y,inlineImages:I,sampling:b,slimDOMOptions:J,iframeManager:ue,stylesheetManager:Z,canvasManager:kr,keepIframeSrcFn:N,processedNodeManager:xe},mirror:pe});st=(L=!1)=>{if(!w)return;ee({type:W.Meta,data:{href:window.location.href,width:mn(),height:pn()}},L),Z.reset(),ve.init(),Ee.forEach(j=>j.lock());let te=Po(document,{mirror:pe,blockClass:r,blockSelector:u,maskTextClass:o,maskTextSelector:h,inlineStylesheet:n,maskAllInputs:q,maskTextFn:f,maskInputFn:m,slimDOM:J,dataURLOptions:v,recordCanvas:y,inlineImages:I,onSerialize:j=>{wn(j,pe)&&ue.addIframe(j),bn(j,pe)&&Z.trackLinkElement(j),Ur(j)&&ve.addShadowRoot(P.shadowRoot(j),document)},onIframeLoad:(j,K)=>{ue.attachIframe(j,K),ve.observeAttachShadow(j)},onStylesheetLoad:(j,K)=>{Z.attachLinkElement(j,K)},keepIframeSrcFn:N});if(!te)return console.warn("Failed to snapshot the document");ee({type:W.FullSnapshot,data:{node:te,initialOffset:dn(window)}},L),Ee.forEach(j=>j.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Z.adoptStyleSheets(document.adoptedStyleSheets,pe.getId(document))};try{let L=[],te=K=>{var fe;return B(qa)({mutationCb:O,mousemoveCb:(V,Ot)=>ee({type:W.IncrementalSnapshot,data:{source:Ot,positions:V}}),mouseInteractionCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.MouseInteraction,...V}}),scrollCb:G,viewportResizeCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.ViewportResize,...V}}),inputCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.Input,...V}}),mediaInteractionCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.MediaInteraction,...V}}),styleSheetRuleCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.StyleSheetRule,...V}}),styleDeclarationCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.StyleDeclaration,...V}}),canvasMutationCb:k,fontCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.Font,...V}}),selectionCb:V=>{ee({type:W.IncrementalSnapshot,data:{source:$.Selection,...V}})},customElementCb:V=>{ee({type:W.IncrementalSnapshot,data:{source:$.CustomElement,...V}})},blockClass:r,ignoreClass:c,ignoreSelector:p,maskTextClass:o,maskTextSelector:h,maskInputOptions:q,inlineStylesheet:n,sampling:b,recordDOM:w,recordCanvas:y,inlineImages:I,userTriggeredOnInput:M,collectFonts:C,doc:K,maskInputFn:m,maskTextFn:f,keepIframeSrcFn:N,blockSelector:u,slimDOMOptions:J,dataURLOptions:v,mirror:pe,iframeManager:ue,stylesheetManager:Z,shadowDomManager:ve,processedNodeManager:xe,canvasManager:kr,ignoreCSSAttributes:ie,plugins:((fe=_?.filter(V=>V.observer))==null?void 0:fe.map(V=>({observer:V.observer,options:V.options,callback:Ot=>ee({type:W.Plugin,data:{plugin:V.name,payload:Ot}})})))||[]},g)};ue.addLoadListener(K=>{try{L.push(te(K.contentDocument))}catch(fe){console.warn(fe)}});let j=()=>{st(),L.push(te(document)),ft=!0};return["interactive","complete"].includes(document.readyState)?j():(L.push(oe("DOMContentLoaded",()=>{ee({type:W.DomContentLoaded,data:{}}),R==="DOMContentLoaded"&&j()})),L.push(oe("load",()=>{ee({type:W.Load,data:{}}),R==="load"&&j()},window))),()=>{L.forEach(K=>{try{K()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),xe.destroy(),ft=!1,Ta()}}catch(L){console.warn(L)}}le.addCustomEvent=(e,t)=>{if(!ft)throw new Error("please add custom event after start recording");ee({type:W.Custom,data:{tag:e,payload:t}})};le.freezePage=()=>{Ee.forEach(e=>e.freeze())};le.takeFullSnapshot=e=>{if(!ft)throw new Error("please take full snapshot after start recording");st(e)};le.mirror=pe;var Fi;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Fi||(Fi={}));var dl=5*1e3;var{addCustomEvent:pl}=le,{freezePage:ml}=le,{takeFullSnapshot:gl}=le;var Ka='iframe,frame,canvas,video,audio,img,svg,object,embed,[contenteditable],input[type="hidden"],[data-tw-block],[data-private],.rr-block';function Oe(e,t){if(!e||typeof e.nodeType!="number")return!1;let s=r=>{let u=r.getRootNode?.();return u?.nodeType===11?u.host:null},i=e.nodeType===1?e:e.parentElement||s(e);for(;i?.nodeType===1;){if(i.closest(t))return!0;i=s(i)}return!1}function xt(e=""){let t=Ka+(e?","+e:""),s=i=>Oe(i,t);return{selector:t,contains:s,event:i=>(i.composedPath?.()||[i.target]).some(s)}}var Dn="data-tw-media",el=/^[a-f0-9]{64}$/,Et=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",Mt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain",tl='iframe,frame,canvas,video,audio,svg,object,embed,[contenteditable],input[type="hidden"],[data-tw-block],[data-private],.rr-block,[data-tw-mask],.rr-mask';function Tn({doc:e,mirror:t,assets:s=[],blockSelector:i="",emit:r}){let u=new Map,c=new Map,p=new Map,o=new Set,h=new Set,n=new Set,d=!1,l=null,a=tl+(i?","+i:"");e.querySelector(a);for(let R of Array.isArray(s)?s.slice(0,256):[])if(!(typeof R?.key!="string"||!el.test(R.key)||!Array.isArray(R.urls)))for(let M of R.urls.slice(0,8))try{let C=new URL(M,e.location.href);typeof M=="string"&&M.length<=2048&&C.origin===e.location.origin&&!C.search&&!C.hash&&!C.username&&!C.password&&/^https?:$/.test(C.protocol)&&u.set(C.href,R.key)}catch{}if(!u.size)return{attributes(){return{}},stop(){}};function m(R){if(!R?.isConnected||R.tagName!=="IMG"||Oe(R,a))return null;try{let M=new URL(R.currentSrc||R.getAttribute("src")||"",e.location.href),C=!M.search&&!M.hash&&!M.username&&!M.password&&M.origin===e.location.origin&&u.get(M.href)||null;return C&&(n.has(C)||n.size<64)?(n.add(C),C):null}catch{return null}}function f(R,M){if(!Number.isInteger(R)||R<1||M?.tagName!=="IMG"||c.size>=2048&&!c.has(R))return!1;c.set(R,M);let C=M.getRootNode();return C!==e&&C.nodeType===11&&!o.has(C)&&o.size<32&&(o.add(C),x?.observe(C,{subtree:!0,childList:!0,attributes:!0}),C.addEventListener("load",y,!0)),!0}function g(R,M){if(!M)return{[Dn]:null};let C=e.defaultView.getComputedStyle(R);return{[Dn]:M,"data-tw-image-fit":Mt(C.objectFit),"data-tw-image-position":Et(C.objectPosition)}}function S(R,M){if(!f(R,M))return{};let C=m(M),I=g(M,C);return p.set(R,JSON.stringify(I)),C?I:{}}function b(){if(l=null,d)return;let R=[],M=0;for(let C of h){h.delete(C);let I=c.get(C);if(!I)continue;let _=g(I,m(I)),N=JSON.stringify(_);if(p.get(C)!==N&&(p.set(C,N),R.push({id:C,attributes:_})),I.isConnected||(c.delete(C),p.delete(C)),++M>=32)break}R.length&&r({type:3,timestamp:Date.now(),data:{source:0,adds:[],removes:[],texts:[],attributes:R}}),h.size&&(l=e.defaultView.setTimeout(b,16))}function v(){!d&&h.size&&l===null&&(l=-1,queueMicrotask(b))}function E(R,M){for(let C=M,I=0;C&&I<32;I++,C=C.getRootNode()?.host)if(R===C||R.contains?.(C))return!0;return!1}function w(R){let M=new Set;for(let I of R)if(M.add(I.target),M.size>256)break;let C=[...M];for(let[I,_]of c)(C.length>256||!_.isConnected||C.some(N=>E(N,_)))&&h.add(I);v()}function y(R){for(let[M,C]of c)(C===R.target||R.target?.tagName==="LINK")&&h.add(M);v()}let x=e.defaultView.MutationObserver?new e.defaultView.MutationObserver(w):null;return x?.observe(e,{subtree:!0,childList:!0,attributes:!0}),e.addEventListener("load",y,!0),{attributes(R){return S(R.id,t.getNode(R.id))},stop(){d=!0,x?.disconnect(),l!==null&&e.defaultView.clearTimeout(l),e.removeEventListener("load",y,!0);for(let R of o)R.removeEventListener("load",y,!0);c.clear(),p.clear(),h.clear(),n.clear()}}}var Rt={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},_n=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),kn=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),hs=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),rl=[...Object.keys(Rt),..._n,...kn,...hs,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function fs(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(Rt,e))return Rt[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&Rt[e].includes(t)?t:null;if(_n.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(kn.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let s=t.split(" ");return t==="none"?"none":s.length<=64&&s.every(i=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(i)&&parseFloat(i)<=1e5)?t:null}if(hs.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(s=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let s=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!s)return null;let i=s[2].split(",").map(r=>r.trim());return i.length===(s[1]==="matrix"?6:16)&&i.every(r=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(r)&&Number.isFinite(Number(r))&&Math.abs(Number(r))<=1e5)?t:null}if(["color","background-color"].includes(e)){let s=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return s&&s.slice(1,4).every(i=>Number(i)<=255)?t:null}return null}function Nt(e){if(typeof e!="string"||e.length>4096)return"";let t=[],s=new Set;for(let r of e.split(";").slice(0,100)){let u=r.indexOf(":");if(u<1)continue;let c=r.slice(0,u).trim();if(s.has(c))continue;let p=fs(c,r.slice(u+1));p!==null&&(s.add(c),t.push(c+":"+p))}let i=t.join(";");return i.length<=4096?i:""}function Ln(e){return Nt(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}function sl(e){let t=e.ownerDocument.defaultView,s=t.getComputedStyle(e),i=[];for(let r of rl){if(["width","height"].includes(r)&&!["grid","inline-grid","flex","inline-flex"].includes(s.display))continue;let u=s.getPropertyValue(r);if(hs.has(r)&&u&&!fs(r,u)&&e.parentElement){let p=t.getComputedStyle(e.parentElement),o=[...p.gridTemplateAreas.matchAll(/"([^"]*)"/g)].map(n=>n[1].trim().split(/\s+/)),h=null;o.forEach((n,d)=>n.forEach((l,a)=>{l===u&&(h=h?{left:Math.min(h.left,a),right:Math.max(h.right,a+1),top:Math.min(h.top,d),bottom:Math.max(h.bottom,d+1)}:{left:a,right:a+1,top:d,bottom:d+1})})),h&&(u=String((r==="grid-column-start"?h.left:r==="grid-column-end"?h.right:r==="grid-row-start"?h.top:h.bottom)+1))}let c=fs(r,u);c!==null&&i.push(r+":"+c)}return Nt(i.join(";"))}function Pn({doc:e,mirror:t,blockSelector:s="",emit:i}){let r=e.defaultView,u=xt(s),c=new Map,p=new WeakMap,o=new Set,h=new Set,n=2048,d=64,l=24,a=49152,m=98304,f=0,g=!1,S=null,b=!1,v=D=>D?.nodeType===1&&!["STYLE","LINK","META","SCRIPT","NOSCRIPT"].includes(D.tagName)&&!u.contains(D)&&!Oe(D,"[data-tw-mask],.rr-mask"),E=D=>{try{return sl(D)}catch{return""}},w=D=>D.matches('html,body,main,header,nav,footer,section,article,form,[role="dialog"]'),y=D=>{c.has(D)&&o.add(D)};function x(){!g&&S===null&&o.size&&(S=r.setTimeout(N,16))}let R=r.IntersectionObserver?new r.IntersectionObserver(D=>{for(let T of D){let U=p.get(T.target),O=c.get(U);O&&(O.visible=T.isIntersecting,T.isIntersecting&&y(U))}x()},{rootMargin:"200px"}):null,M=r.ResizeObserver?new r.ResizeObserver(D=>{for(let T of D)y(p.get(T.target)),T.target.parentElement&&y(p.get(T.target.parentElement));x()}):null;function C(D,T){let U=c.get(D);if(U)return U;if(c.size>=n)return b=!0,null;let O=T.getRootNode();return O!==e&&O.nodeType===11&&O.host&&!h.has(O)&&(h.size<32?(h.add(O),F.observe(O,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),O.addEventListener("load",J,!0)):b=!0),U={node:T,css:"",visible:!R||w(T)},c.set(D,U),p.set(T,D),R?.observe(T),M?.observe(T),U}function I(D){let T=t.getNode(D.id);if(!v(T))return{};let U=C(D.id,T);if(!U)return{};if(f<d&&w(T)){let O=E(T);if(f++,O&&O.length<=m)return m-=O.length,U.css=O,{"data-tw-layout":O}}return U.visible&&(y(D.id),x()),{}}function _(D,T){R?.unobserve(T.node),M?.unobserve(T.node),c.delete(D),o.delete(D),p.delete(T.node)}function N(){if(S=null,g)return;let D=[],T=r.performance.now(),U=0,O=0;for(let G of o){o.delete(G);let k=c.get(G);if(k){if(!k.node.isConnected){_(G,k);continue}if(v(k.node)){let Q=E(k.node);if(Q!==k.css){let Z={id:G,attributes:{style:k.node.getAttribute("style")||"","data-tw-layout":Q||null}},ue=JSON.stringify(Z).length;if(U+ue>a){o.add(G);break}k.css=Q,U+=ue,D.push(Z)}}if(++O>=l||r.performance.now()-T>=6)break}}D.length&&i({type:3,timestamp:Date.now(),data:{source:0,adds:[],removes:[],texts:[],attributes:D}}),x()}function ie(D,T=!1){if(D?.nodeType!==1&&(D=D?.parentElement),!D)return;y(p.get(D));let U=D.parentElement;for(let O=0;U&&O<6;O++,U=U.parentElement)y(p.get(U));if(T){let O=0,G=e.createTreeWalker(D,1);for(;G.nextNode()&&O++<n;)y(p.get(G.currentNode));for(let k of h)if(D===k.host||D.contains(k.host))for(let Q of k.children)ie(Q,!0)}}function ne(D){if(D.length>256){for(let k of c.keys())y(k);x();return}let T=new Map,U=new Set,O=!1,G=(k,Q=!1)=>{k&&T.set(k,Q||T.get(k)||!1)};for(let k of D){let Q=k.target.nodeType===1?k.target:k.target.parentElement;if(Q?.matches("style,link")){O=!0;break}if(G(Q,k.type==="attributes"),k.type==="childList"){if(k.addedNodes.length+k.removedNodes.length>32){O=!0;break}for(let Z of k.addedNodes)G(Z,!0);for(let Z of k.removedNodes)G(Z,!0);Q&&U.add(Q)}if(T.size>32){O=!0;break}}if(O)for(let k of c.keys())y(k);else{for(let[k,Q]of T)ie(k,Q);for(let k of U)for(let Q of[...k.children].slice(0,128))y(p.get(Q))}x()}let F=new r.MutationObserver(ne);F.observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0});let z=()=>{for(let[D,T]of c)T.visible&&y(D);x()},q=D=>{let T=D.composedPath?.()||[D.target];for(let U of T)if(U?.nodeType===1){let O=p.get(U);if(O!==void 0){let G=c.get(O);G&&(G.visible=!0),y(O)}}x()},J=D=>{ie(D.target,!0),x()};return r.addEventListener("resize",z),e.addEventListener("pointerdown",q,!0),e.addEventListener("focusin",q,!0),e.addEventListener("load",J,!0),{attributes:I,coverage:()=>({tracked:c.size,pending:o.size,limited:b}),reset(){F.disconnect(),F.observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0});for(let D of h)D.removeEventListener("load",J,!0);h.clear(),m=98304,f=0,b=!1,R?.disconnect(),M?.disconnect();for(let D of c.values())p.delete(D.node);c.clear(),o.clear()},stop(){g=!0,F.disconnect();for(let D of h)D.removeEventListener("load",J,!0);h.clear(),R?.disconnect(),M?.disconnect(),r.clearTimeout(S),r.removeEventListener("resize",z),e.removeEventListener("pointerdown",q,!0),e.removeEventListener("focusin",q,!0),e.removeEventListener("load",J,!0),c.clear(),o.clear()}}}function il(e,t="https://example.invalid"){try{let s=new URL(e,t),r=["p","page_id"].filter(p=>s.searchParams.has(p));if(r.length!==1)return null;let u=r[0],c=s.searchParams.getAll(u);return c.length!==1||!/^[1-9][0-9]{0,9}$/.test(c[0])?null:{path:s.pathname,key:u,id:c[0],identity:s.pathname+"?"+u+"="+c[0]}}catch{return null}}function Fn(e,t="https://example.invalid"){try{let s=new URL(e,t),i=s.pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500),r=il(e,t);return r&&i===r.path&&s.search==="?"+r.key+"="+r.id&&(i+s.search).length<=500?i+s.search:i}catch{return"/"}}var Ie=e=>String(e??"").replace(/\S/g,"*"),nl=Fn;function he(e){let t=String(e??""),s="",i=0,r=p=>{let o=t.slice(p+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(o){let h=parseInt(o[0],16);return[h>0&&h<=1114111?String.fromCodePoint(h):"\uFFFD",p+1+o[0].length]}return[t[p+1]||"",Math.min(t.length,p+2)]},u=p=>{let o=t[p++];for(;p<t.length;)if(t[p]==="\\")p=r(p)[1];else if(t[p++]===o)break;return p},c=p=>{let o=t.indexOf("*/",p+2);return o<0?t.length:o+2};for(;i<t.length;){if(t.startsWith("/*",i)){i=c(i),s+=" ";continue}if(t[i]==='"'||t[i]==="'"){i=u(i),s+='""';continue}if(/[a-z_\\-]/i.test(t[i])){let p=i,o="";for(;i<t.length&&/[a-z0-9_\\-]/i.test(t[i]);)if(t[i]==="\\"){let[n,d]=r(i);o+=n,i=d}else o+=t[i++];let h=i;for(;h<t.length;)if(/\s/.test(t[h]))h++;else if(t.startsWith("/*",h))h=c(h);else break;if(o.toLowerCase()==="url"&&t[h]==="("){i=h+1;let n=1;for(;i<t.length&&n;)t[i]==="\\"?i=r(i)[1]:t[i]==='"'||t[i]==="'"?i=u(i):t.startsWith("/*",i)?i=c(i):(t[i]==="("&&n++,t[i]===")"&&n--,i++);s+="none"}else s+=t.slice(p,i);continue}s+=t[i++]}return s.replace(/@import[^;{}]*;?/gi,"")}var ol=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function Un(e={}){let t={};for(let[s,i]of Object.entries(e))if(i===null)t[s]=null;else if(s==="style"&&i&&typeof i=="object"&&!Array.isArray(i))t[s]=Object.fromEntries(Object.entries(i).map(([r,u])=>[r,u===!1?!1:Array.isArray(u)?[he(u[0]),u[1]==="important"?"important":""]:he(u)]));else if(s==="style"||s==="_cssText")t[s]=he(i);else if(s==="data-tw-image-fit")t[s]=Mt(i);else if(s==="data-tw-image-position")t[s]=Et(i);else if(s==="data-tw-layout"){let r=Nt(i);r&&(t[s]=r)}else s==="data-tw-media"&&typeof i=="string"&&/^[a-f0-9]{64}$/.test(i)?t[s]=i:s==="href"?t[s]="#":ol.has(s)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(i))?t[s]=i:i===null&&(t[s]=null);if(t["data-tw-layout"]){let s=Ln(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let i of s.split(";")){let r=i.indexOf(":");r>0&&(t.style[i.slice(0,r)]=[i.slice(r+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+s}return t}var al=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),ll={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function ul(e,t={}){let s=p=>{if(typeof p!="number"&&typeof p!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(p)))return null;let o=parseFloat(p);return Number.isFinite(o)?Math.min(8192,Math.max(0,o)):null},i=s(t.rr_width??t.width),r=s(t.rr_height??t.height),u=ll[e];if(!u)return{class:"tw-redacted",style:"display:none"};let c=(i===null?"":`;width:${i}px`)+(r===null?";min-height:24px":`;height:${r}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":Mt(t["data-tw-image-fit"]),"data-tw-image-position":Et(t["data-tw-image-position"])}:{},class:"tw-redacted"+(u?" tw-media-"+u:""),style:"background:#edf0e9;overflow:hidden"+c}}function ds(e,t,s="",i=null){if(!e||typeof e!="object")return e;let r={...e},u=s==="style"||r.isStyle||r.tagName?.toLowerCase()==="style";return i&&u&&i.styleNodes.add(r.id),r.tagName&&al.has(r.tagName.toLowerCase())?{type:2,tagName:"div",attributes:ul(r.tagName.toLowerCase(),r.attributes),childNodes:[],id:r.id,needBlock:!0}:(r.attributes&&(r.attributes=Un(r.attributes)),typeof r.textContent=="string"&&(r.textContent=u?he(r.textContent):t.maskText?Ie(r.textContent):r.textContent),r.childNodes&&(r.childNodes=r.childNodes.map(c=>ds(c,t,r.tagName||s,i))),r)}var cl=new Set(["page","click","rage_click"]);function $n(e={maskText:!0}){let t={styleNodes:new Set};return s=>fl(s,e,t)}function fl(e,t={maskText:!0},s=null){if(!e||e.type>5)return null;let i={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(i.type===2&&(s?.styleNodes.clear(),i.data.node=ds(i.data.node,t,"",s)),i.type===4&&(i.data.href=nl(i.data.href)),i.type===5){let r=cl.has(i.data.tag)?{}:t.sanitizeCustom?.(i.data.tag,i.data.payload)??null;if(r===null)return null;i.data={tag:i.data.tag,payload:r}}if(i.type===3){if([7,9,10,11].includes(i.data.source))return null;if(i.data.source===5&&(i.data.text=Ie(i.data.text)),i.data.attributes&&(i.data.attributes=i.data.attributes.map(r=>({...r,attributes:Un(r.attributes)}))),i.data.adds&&i.data.source===0&&(i.data.adds=i.data.adds.map(r=>({...r,node:ds(r.node,t,s?.styleNodes.has(r.parentId)?"style":"",s)}))),i.data.texts&&(i.data.texts=i.data.texts.map(r=>({...r,value:s?.styleNodes.has(r.id)?he(r.value):t.maskText?Ie(r.value):s?r.value:he(r.value)}))),i.data.source===8&&i.data.adds&&(i.data.adds=i.data.adds.map(r=>({...r,rule:he(r.rule??"")}))),i.data.source===8)for(let r of["replace","replaceSync"])typeof i.data[r]=="string"&&(i.data[r]=he(i.data[r]));i.data.source===15&&i.data.styles&&(i.data.styles=i.data.styles.map(r=>({...r,rules:r.rules.map(u=>({...u,rule:he(u.rule)}))}))),i.data.source===13&&i.data.set&&(i.data.set={...i.data.set,value:he(i.data.set.value)})}return i}function Bn({emit:e,maskText:t=!0,blockSelector:s="",extensions:i=[],media:r=[],doc:u=document}){let c=!1,p,o=new Map;for(let M of i)for(let C of M.tags||[])o.set(C,M.sanitize);let h=(M,C)=>o.get(M)?.(M,C)??null,n=$n({maskText:t,sanitizeCustom:h}),d=new Set(["page","click","rage_click",...o.keys()]),l=(M,C={})=>{if(!c&&d.has(M)){let I=o.has(M)?h(M,C):{};I&&le.addCustomEvent(M,I)}};s&&u.querySelector(s);let a=xt(s),m=M=>a.contains(le.mirror.getNode(M)),f=M=>Oe(le.mirror.getNode(M),"[data-tw-mask],.rr-mask"),g=(M,C)=>f(M)?le.mirror.getNode(M)?.parentElement?.tagName==="STYLE"?he(C):Ie(C):C,S=Tn({doc:u,mirror:le.mirror,assets:r,blockSelector:s,emit(M){let C=n(M);C&&!c&&e(C)}}),b=Pn({doc:u,mirror:le.mirror,blockSelector:s,emit(M){let C=n(M);C&&!c&&e(C)}}),v=M=>{if(!M||typeof M!="object")return M;let C={...M};return M.attributes&&(C.attributes={...M.attributes,...S.attributes(M),...b.attributes(M)}),typeof C.textContent=="string"&&(C.textContent=g(M.id,C.textContent)),M.childNodes&&(C.childNodes=M.childNodes.map(v)),C};function E(M){if(M.type===2)return b.reset(),{...M,data:{...M.data,node:v(M.data.node)}};if(M.type!==3)return M;let C={...M.data};if(C.source===0){if(C.texts&&(C.texts=C.texts.filter(I=>!m(I.id)).map(I=>({...I,value:g(I.id,I.value)}))),C.attributes&&(C.attributes=C.attributes.filter(I=>!m(I.id))),C.adds&&(C.adds=C.adds.filter(I=>!m(I.parentId)).map(I=>({...I,node:v(I.node)}))),!["texts","attributes","adds","removes"].some(I=>C[I]?.length))return null}else{if(typeof C.id=="number"&&m(C.id)||C.positions&&(C.positions=C.positions.filter(I=>!m(I.id)),!C.positions.length))return null;C.ranges&&(C.ranges=C.ranges.filter(I=>!m(I.start)&&!m(I.end)))}return{...M,data:C}}p=le({emit(M){let C=n(E(M));C&&!c&&e(C)},maskAllInputs:!0,maskInputFn:Ie,maskTextSelector:t?"*":"[data-tw-mask]",maskTextFn:(M,C)=>C?.tagName==="STYLE"?he(M):Ie(M),blockSelector:a.selector,inlineStylesheet:!0,inlineImages:!1,recordCanvas:!1,collectFonts:!1,recordCrossOriginIframes:!1,slimDOMOptions:"all",sampling:{mousemove:100,mouseInteraction:!0,scroll:150,input:"last"},checkoutEveryNms:12e4});let w=[],y=null,x=M=>{if(a.event(M))return;l("click");let C=Date.now();w=M.target===y?w.filter(I=>C-I<1e3):[],y=M.target,w.push(C),w.length===3&&(l("rage_click"),w=[])};u.addEventListener("click",x,!0),l("page");let R=i.map(M=>M.attach?.({doc:u,track:l,blockSelector:s}));return{track:l,stop(){c=!0,S.stop(),b.stop(),R.forEach(M=>M?.()),p?.(),u.removeEventListener("click",x,!0)}}}window.TracewellCapture=e=>Bn({...e,extensions:window.TracewellCaptureExtensions||[]});})();
    129129/*! Bundled license information:
    130130
  • clickclue/trunk/assets/dashboard.js

    r3775799 r3776421  
    5252      const rows = $('tw-session-rows'); rows.replaceChildren(); sessionsLoaded = true;
    5353      for (const session of data.sessions) {
    54         const tr = document.createElement('tr');
     54        const tr = document.createElement('tr'); tr.setAttribute('role','row');
    5555        tr.append(cell(session.path, 'tw-path'), cell(session.started_at), cell(session.device === 'mobile' ? i18n.__('Mobile', 'clickclue') : i18n.__('Desktop', 'clickclue')), cell(formatTime(session.duration)));
    5656        const signals = cell(''); signals.textContent='—';tr.append(signals);
    … …  
    6060        sessionActions.forEach(render=>render(session,actions,signals));
    6161        if (config.canManage !== false) actions.append(action(i18n.__('Delete', 'clickclue'), async () => { if (!confirm(i18n.__('Permanently delete this recording?', 'clickclue'))) return; try { const result = await api('/sessions/' + session.id, 'DELETE'); if (result.deleted !== true) throw new Error(i18n.__('Deletion was not confirmed. Please retry.', 'clickclue')); message(i18n.__('Recording deleted.', 'clickclue')); load(); } catch (e) { message(e.message, true); } }, 'tw-delete'));
    62         tr.append(actions); rows.append(tr);
     62        tr.append(actions);
     63        // The same table becomes compact rows on a narrow screen. Keep its
     64        // semantics and every extension action; visible labels are decorative
     65        // because column headers already describe the cells to assistive tools.
     66        const headers = rows.closest('table').querySelectorAll('thead th');
     67        [...tr.cells].forEach((td,index)=>{td.setAttribute('role','cell');if(index<5){const label=document.createElement('span');label.className='cc-recording-label';label.setAttribute('aria-hidden','true');label.textContent=headers[index]?.textContent||'';td.prepend(label);}});
     68        rows.append(tr);
    6369      }
    6470      if (!data.sessions.length) {
    … …  
    118124  if ($('cc-replay-refresh')) $('cc-replay-refresh').onclick = () => { if (currentReplay) watch(currentReplay.session.id); };
    119125  $('tw-replay-dialog').addEventListener('cancel', e => { e.preventDefault(); closeReplay(); });
    120   async function loadSettings() {
    121     if (settingsLoaded || settingsLoading) return;
    122     settingsLoading = true;
     126  async function loadSettings(force = false) {
     127    if (settingsLoading || settingsSaving || settingsLoaded && force !== true) return;
     128    settingsLoading = true; settingsLoaded = false;
    123129    const form = $('tw-settings-form'); form.setAttribute('aria-busy','true');
    124130    for (const input of form.elements) input.disabled = true;
    … …  
    210216    event.preventDefault(); if (!settingsLoaded || settingsSaving) return; const form = event.currentTarget; const values = {};
    211217    for (const input of form.elements) if (input.name) values[input.name] = input.type === 'checkbox' ? input.checked : input.type === 'number' ? Number(input.value) : input.value;
     218    for (const [field, limit, text] of [
     219      ['exclude_paths', 2000, i18n.__('Excluded page paths exceed 2,000 bytes. Shorten the list and save again. No settings were changed.', 'clickclue')],
     220      ['block_selector', 500, i18n.__('Additional exclusion selectors exceed 500 bytes. Shorten the selector list and save again. No settings were changed.', 'clickclue')],
     221    ]) if (new TextEncoder().encode(values[field] || '').byteLength > limit) {
     222      $('tw-save-status').textContent = text;
     223      window.dispatchEvent(new CustomEvent('clickclue:settings-section',{detail:{section:'capture',field}}));
     224      form.elements.namedItem(field).focus(); return;
     225    }
    212226    try { document.querySelector(values.block_selector || 'body'); } catch { $('tw-save-status').textContent = i18n.__('The exclusion selector is invalid. Correct it before saving.', 'clickclue'); window.dispatchEvent(new CustomEvent('clickclue:settings-section',{detail:{section:'capture',field:'block_selector'}})); form.elements.namedItem('block_selector').focus(); return; }
    213227    settingsSaving = true;
    … …  
    215229    for (const [input] of controls) input.disabled = true;
    216230    form.setAttribute('aria-busy', 'true'); $('tw-save-status').textContent = i18n.__('Saving…', 'clickclue');
    217     try { await api('/settings', 'POST', values); $('tw-save-status').textContent = i18n.__('Settings saved.', 'clickclue'); window.dispatchEvent(new CustomEvent('tracewell:settings-saved',{detail:{values}})); load(); loadHealth(); } catch (e) { $('tw-save-status').textContent = e.message; } finally {
     231    try {
     232      const result = await api('/settings', 'POST', values);
     233      if (result.saved !== true || !result.settings || typeof result.settings !== 'object' || Array.isArray(result.settings)) throw new Error(i18n.__('The saved settings could not be confirmed. Reload this page to check them before retrying.', 'clickclue'));
     234      for (const [key, value] of Object.entries(result.settings)) { const input = form.elements.namedItem(key); if (!input) continue; if (input.type === 'checkbox') input.checked = value; else input.value = value; }
     235      const savedValues = {};
     236      for (const input of form.elements) if (input.name) savedValues[input.name] = input.type === 'checkbox' ? input.checked : input.type === 'number' ? Number(input.value) : input.value;
     237      $('tw-save-status').textContent = i18n.__('Settings saved.', 'clickclue'); window.dispatchEvent(new CustomEvent('tracewell:settings-saved',{detail:{values:savedValues}})); load(); loadHealth();
     238    } catch (e) { $('tw-save-status').textContent = e.message; } finally {
    218239      settingsSaving = false; for (const [input, disabled] of controls) input.disabled = disabled;
    219240      form.setAttribute('aria-busy', 'false');
    … …  
    239260  let debounce; $('tw-search').oninput = () => { clearTimeout(debounce); debounce = setTimeout(() => { page = 1; load(); }, 250); };
    240261  $('tw-device').onchange = () => { page = 1; load(); };
    241   $('tw-prev').onclick = () => { page=Math.max(1,page-1); load(); }; $('tw-next').onclick = () => { page++; load(); }; $('tw-refresh').onclick = () => { if (!window.dispatchEvent(new CustomEvent('tracewell:before-refresh',{cancelable:true,detail:{name:activeTab}}))) return; load(); extraViews[activeTab]?.(); if (activeTab === 'settings') loadHealth(); };
    242   $('tw-settings-retry').onclick = loadSettings;
     262  $('tw-prev').onclick = () => { page=Math.max(1,page-1); load(); }; $('tw-next').onclick = () => { page++; load(); }; $('tw-refresh').onclick = () => {
     263    if (activeTab === 'settings' && (settingsSaving || settingsLoading)) { message(i18n.__('Wait for settings to finish loading or saving before refreshing.', 'clickclue')); return; }
     264    if (!window.dispatchEvent(new CustomEvent('tracewell:before-refresh',{cancelable:true,detail:{name:activeTab}}))) return;
     265    load(); extraViews[activeTab]?.();
     266    if (activeTab === 'settings') { loadSettings(true); loadHealth(); }
     267  };
     268  $('tw-settings-retry').onclick = () => loadSettings();
    243269  window.TracewellDashboard = {api,message,watch,currentView:()=>activeTab,addEventLabels(labels) {
    244270    if(!labels||typeof labels!=='object'||Array.isArray(labels))return;
  • clickclue/trunk/assets/diagnostics.js

    r3775799 r3776421  
    1 "use strict";(()=>{var w=Object.create(null);var C=(t,...n)=>{let l=0;return String(t).replace(/%%|%(?:(\d+)\$)?([sd])/g,(i,c,s)=>{if(i==="%%")return"%";let r=n[c?Number(c)-1:l++];return String(s==="d"?Math.trunc(Number(r)):r??"")})},e={__(t,n="clickclue"){return Object.hasOwn(w,t)?w[t]:globalThis.wp?.i18n?.__(t,n)??t},_n(t,n,l,i="clickclue"){return globalThis.wp?.i18n?._n(t,n,l,i)??(l===1?t:n)},sprintf(t,...n){return globalThis.wp?.i18n?.sprintf(t,...n)??C(t,...n)}};var a=window.ClickClue||window.Tracewell;if(a&&!document.getElementById("clickclue-check")){let h=function(){let o=a.diagnostics(),_=m[o.state]||m.unavailable;r.textContent=_[0],y.textContent=_[1],g.textContent=o.lastUploadAt?e.sprintf(/* translators: %1$s: number of events accepted by the server. */ e.__("Upload confirmed by your server \xB7 %1$s events accepted in this tab.","clickclue"),o.uploadedEvents):e.__("No upload confirmed in this tab yet.","clickclue"),d.hidden=o.consent||o.browserOptOut||["pending","failed","legacy_unconfirmed"].includes(o.deletion),u.hidden=!o.consent,p.hidden=o.deletion!=="failed",o.state==="denied"&&(g.textContent={pending:e.__("Capture stopped. Waiting for deletion confirmation from the server.","clickclue"),confirmed:e.__("Capture stopped. The server confirmed deletion of the current session.","clickclue"),failed:e.__("Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website\u2019s owner.","clickclue"),legacy_unconfirmed:e.__("An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website\u2019s owner and review the Replay privacy notice.","clickclue"),not_requested:e.__("Capture is off. No current session was submitted for deletion.","clickclue")}[o.deletion])};A=h;let t=document.createElement("div");t.id="clickclue-check",t.setAttribute("data-tw-block","");let n=t.attachShadow({mode:"open"}),l=document.createElement("style");l.textContent=":host{all:initial;position:fixed;right:16px;top:16px;z-index:2147483001;font:14px/1.5 Arial,sans-serif;color:#193e31}*{box-sizing:border-box}.panel{width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #a9bdad;border-radius:12px;background:#fff;padding:22px;box-shadow:0 12px 44px #193e3133}h2{font-size:19px;margin:0 0 8px}p{margin:12px 0}small{display:block;color:#53675d;font-size:12px}strong{display:block}button{font:600 14px Arial,sans-serif;background:#193e31;color:#fff;border:1px solid #193e31;border-radius:6px;padding:10px 13px;cursor:pointer}button:focus-visible{outline:3px solid #638637;outline-offset:3px}button:disabled{opacity:.5;cursor:default}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.secondary{background:#fff;color:#193e31}.status{padding:13px;border-radius:7px;background:#f0f5e9}.upload{border-top:1px solid #dce3db;padding-top:14px}",n.append(l);let i=document.createElement("section");i.className="panel",i.setAttribute("aria-label",e.__("ClickClue setup check","clickclue")),n.append(i);let c=(o,_,v="")=>{let f=document.createElement(o);return f.textContent=_,f.className=v,f};i.append(c("h2",e.__("Check this test visit","clickclue")),c("small",e.__("Use sample details. This panel shows only this tab\u2019s recording status.","clickclue")));let s=c("div","","status");s.setAttribute("role","status");let r=c("strong",""),y=c("p","");s.append(r,y),i.append(s);let g=c("p","","upload");i.append(g);let x=c("p",e.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.","clickclue"));i.append(x);let b=c("div","","actions"),d=c("button",e.__("Allow this replay","clickclue"));d.type="button",d.onclick=()=>a.grantConsent();let u=c("button",e.__("Stop & delete current session","clickclue"),"secondary");u.type="button",u.onclick=()=>a.withdrawConsent();let p=c("button",e.__("Retry deletion","clickclue"),"secondary");p.type="button",p.onclick=()=>a.retryDeletion(),b.append(d,u,p),i.append(b);let k=c("button",e.__("Close check","clickclue"),"secondary");k.type="button",i.append(k,c("small",e.__("Closing this panel does not change your consent. Use Replay privacy to change it later.","clickclue")));let m={waiting:[e.__("Waiting for permission","clickclue"),e.__("Choose Allow this replay to test capture.","clickclue")],denied:[e.__("Replay declined","clickclue"),e.__("No activity is being recorded. You can choose to allow this test.","clickclue")],browser_opt_out:[e.__("Browser privacy preference respected","clickclue"),e.__("This browser has Do Not Track or Global Privacy Control enabled. Capture is off.","clickclue")],sampled_out:[e.__("This tab was not selected","clickclue"),e.__("In WordPress, set sampling to 100%, save and clear your page cache. Reload this signed-out test page. Restore your normal rate after testing.","clickclue")],starting:[e.__("Checking the recording service","clickclue"),e.__("Waiting for your WordPress server to authorize this visit.","clickclue")],loading_recorder:[e.__("Loading the capture engine","clickclue"),e.__("Permission and sampling checks passed. The recorder is downloaded now.","clickclue")],recording:[e.__("Recording this visit","clickclue"),e.__("Click, scroll and use sample form details. The first upload usually follows within a few seconds.","clickclue")],invalid_selector:[e.__("An exclusion selector is invalid","clickclue"),e.__("Correct the additional CSS selectors in WordPress settings, save and clear your page cache. Capture has stopped.","clickclue")],privacy_notice:[e.__("Privacy notice required","clickclue"),e.__("Publish and select this store\u2019s privacy policy in WordPress Settings \u2192 Privacy, then clear page caches.","clickclue")],origin_mismatch:[e.__("The request origin could not be verified","clickclue"),e.__("Check that the site and WordPress URLs match and your host or proxy preserves the browser\u2019s Origin header. Browser-based WordPress sandboxes can omit this header. Test on a hosted staging site; keep origin protection enabled.","clickclue")],consent_changed:[e.__("Privacy information changed","clickclue"),e.__("Reload this page and make a fresh replay choice. Ask the site owner to clear its page caches if this continues.","clickclue")],paused:[e.__("Recording is paused","clickclue"),e.__("Enable recording in WordPress settings, save and clear your page cache.","clickclue")],excluded:[e.__("This page is excluded","clickclue"),e.__("Try an included storefront page. Account and payment confirmation pages are always excluded.","clickclue")],signed_in:[e.__("Signed-in visit excluded","clickclue"),e.__("Copy this page link into a signed-out private window. Administrators are not recorded.","clickclue")],quota:[e.__("Recording storage budget reached","clickclue"),e.__("Review storage and retention in WordPress. Increase your local budget only if your host has enough capacity.","clickclue")],rate_limited:[e.__("Too many starts in a short period","clickclue"),e.__("Wait before starting another test visit.","clickclue")],expired:[e.__("This session has ended","clickclue"),e.__("Reload to start a new authorized visit if your allowance permits.","clickclue")],buffering:[e.__("Recording temporarily paused","clickclue"),e.__("Unconfirmed events remain in memory while delivery is retried. Capture resumes with a fresh snapshot when that queue is confirmed.","clickclue")],recording_limit:[e.__("This recording reached its safety limit","clickclue"),e.__("Capture has stopped after the maximum number of uploads or page navigations. Its saved replay remains available.","clickclue")],oversized:[e.__("The recording reached its size limit","clickclue"),e.__("Try a smaller page or exclude large dynamic sections. Capture has stopped.","clickclue")],unavailable:[e.__("Could not complete recording","clickclue"),e.__("Check connectivity and your caching, script or security plugin. In WordPress, review setup health, then reload to retry.","clickclue")],stopped:[e.__("Recording stopped","clickclue"),e.__("Reload this page to check the next visit.","clickclue")]};k.onclick=()=>{window.removeEventListener("tracewell:status",h),t.remove(),location.hash==="#clickclue-check"&&history.replaceState(null,"",location.pathname+location.search)},window.addEventListener("tracewell:status",h),document.body.append(t),h()}var A;})();
     1"use strict";(()=>{var C=Object.create(null);var A=(t,...o)=>{let l=0;return String(t).replace(/%%|%(?:(\d+)\$)?([sd])/g,(n,c,s)=>{if(n==="%%")return"%";let a=o[c?Number(c)-1:l++];return String(s==="d"?Math.trunc(Number(a)):a??"")})},e={__(t,o="clickclue"){return Object.hasOwn(C,t)?C[t]:globalThis.wp?.i18n?.__(t,o)??t},_n(t,o,l,n="clickclue"){return globalThis.wp?.i18n?._n(t,o,l,n)??(l===1?t:o)},sprintf(t,...o){return globalThis.wp?.i18n?.sprintf(t,...o)??A(t,...o)}};var k=window.ClickClueCheckConfig?.state==="signed_in",r=k?{diagnostics:()=>({state:"signed_in",consent:!1,browserOptOut:!1,deletion:"not_requested"})}:window.ClickClue||window.Tracewell,T=!1;try{T=window.top===window}catch{}if(T&&["#clickclue-check","#tracewell-check"].includes(location.hash)&&r&&!document.getElementById("clickclue-check")){let _=function(){let i=r.diagnostics(),y=i.privacyNoticeReady===!1&&["waiting","denied"].includes(i.state)?"privacy_notice":i.state,g=v[y]||v.unavailable;a.textContent=g[0],m.textContent=g[1],d.textContent=i.lastUploadAt?e.sprintf(/* translators: %1$s: number of events accepted by the server. */ e.__("Upload confirmed by your server \xB7 %1$s events accepted in this tab.","clickclue"),i.uploadedEvents):e.__("No upload confirmed in this tab yet.","clickclue"),u.hidden=i.consent||i.browserOptOut||i.privacyNoticeReady===!1||["privacy_notice","signed_in","paused","excluded","consent_changed"].includes(i.state)||["pending","failed","legacy_unconfirmed"].includes(i.deletion),p.hidden=!i.consent,k&&(d.textContent=e.__("No recording is made for this signed-in visit.","clickclue")),h.hidden=i.deletion!=="failed",i.state==="denied"&&(d.textContent={pending:e.__("Capture stopped. Waiting for deletion confirmation from the server.","clickclue"),confirmed:e.__("Capture stopped. The server confirmed deletion of the current session.","clickclue"),failed:e.__("Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website\u2019s owner.","clickclue"),legacy_unconfirmed:e.__("An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website\u2019s owner and review the Replay privacy notice.","clickclue"),not_requested:e.__("Capture is off. No current session was submitted for deletion.","clickclue")}[i.deletion])};R=_,location.hash==="#tracewell-check"&&history.replaceState(null,"",location.pathname+location.search+"#clickclue-check");let t=document.createElement("div");t.id="clickclue-check",t.setAttribute("data-tw-block","");let o=t.attachShadow({mode:"open"}),l=document.createElement("style");l.textContent=":host{all:initial;position:fixed;right:16px;top:16px;z-index:2147483001;font:14px/1.5 Arial,sans-serif;color:#193e31}*{box-sizing:border-box}.panel{width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #a9bdad;border-radius:12px;background:#fff;padding:22px;box-shadow:0 12px 44px #193e3133}h2{font-size:19px;margin:0 0 8px}p{margin:12px 0}small{display:block;color:#53675d;font-size:12px}strong{display:block}button{font:600 14px Arial,sans-serif;background:#193e31;color:#fff;border:1px solid #193e31;border-radius:6px;padding:10px 13px;cursor:pointer}button:focus-visible{outline:3px solid #638637;outline-offset:3px}button:disabled{opacity:.5;cursor:default}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.secondary{background:#fff;color:#193e31}.status{padding:13px;border-radius:7px;background:#f0f5e9}.upload{border-top:1px solid #dce3db;padding-top:14px}",o.append(l);let n=document.createElement("section");n.className="panel",n.setAttribute("aria-label",e.__("ClickClue setup check","clickclue")),o.append(n);let c=(i,y,g="")=>{let b=document.createElement(i);return b.textContent=y,b.className=g,b};n.append(c("h2",e.__("Check this test visit","clickclue")),c("small",e.__("Use sample details. This panel shows only this tab\u2019s recording status.","clickclue")));let s=c("div","","status");s.setAttribute("role","status");let a=c("strong",""),m=c("p","");s.append(a,m),n.append(s);let d=c("p","","upload");n.append(d);let w=c("p",e.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.","clickclue"));w.hidden=k,n.append(w);let x=c("div","","actions"),u=c("button",e.__("Allow this replay","clickclue"));u.type="button",u.onclick=()=>r.grantConsent();let p=c("button",e.__("Stop & delete current session","clickclue"),"secondary");p.type="button",p.onclick=()=>r.withdrawConsent();let h=c("button",e.__("Retry deletion","clickclue"),"secondary");h.type="button",h.onclick=()=>r.retryDeletion(),x.append(u,p,h),n.append(x);let f=c("button",e.__("Close check","clickclue"),"secondary");f.type="button",n.append(f,c("small",k?e.__("This check does not enable recording.","clickclue"):e.__("Closing this panel does not change your consent. Use Replay privacy to change it later.","clickclue")));let v={waiting:[e.__("Waiting for permission","clickclue"),e.__("Choose Allow this replay to test capture.","clickclue")],denied:[e.__("Replay declined","clickclue"),e.__("No activity is being recorded. You can choose to allow this test.","clickclue")],browser_opt_out:[e.__("Browser privacy preference respected","clickclue"),e.__("This browser has Do Not Track or Global Privacy Control enabled. Capture is off.","clickclue")],sampled_out:[e.__("This tab was not selected","clickclue"),e.__("In WordPress, set sampling to 100%, save and clear your page cache. Reload this signed-out test page. Restore your normal rate after testing.","clickclue")],starting:[e.__("Checking the recording service","clickclue"),e.__("Waiting for your WordPress server to authorize this visit.","clickclue")],loading_recorder:[e.__("Loading the capture engine","clickclue"),e.__("Permission and sampling checks passed. The recorder is downloaded now.","clickclue")],recording:[e.__("Recording this visit","clickclue"),e.__("Click, scroll and use sample form details. The first upload usually follows within a few seconds.","clickclue")],invalid_selector:[e.__("An exclusion selector is invalid","clickclue"),e.__("Correct the additional CSS selectors in WordPress settings, save and clear your page cache. Capture has stopped.","clickclue")],privacy_notice:[e.__("Privacy notice required","clickclue"),e.__("Publish and select this store\u2019s privacy policy in WordPress Settings \u2192 Privacy, then clear page caches.","clickclue")],origin_mismatch:[e.__("The request origin could not be verified","clickclue"),e.__("Check that the site and WordPress URLs match and your host or proxy preserves the browser\u2019s Origin header. Browser-based WordPress sandboxes can omit this header. Test on a hosted staging site; keep origin protection enabled.","clickclue")],consent_changed:[e.__("Privacy information changed","clickclue"),e.__("Reload this page and make a fresh replay choice. Ask the site owner to clear its page caches if this continues.","clickclue")],paused:[e.__("Recording is paused","clickclue"),e.__("Enable recording in WordPress settings, save and clear your page cache.","clickclue")],excluded:[e.__("This page is excluded","clickclue"),e.__("Try an included storefront page. Account and payment confirmation pages are always excluded.","clickclue")],signed_in:[e.__("Signed-in visit excluded","clickclue"),e.__("Copy this page link into a signed-out private window. Administrators are not recorded.","clickclue")],quota:[e.__("Recording storage budget reached","clickclue"),e.__("Review storage and retention in WordPress. Increase your local budget only if your host has enough capacity.","clickclue")],rate_limited:[e.__("Too many starts in a short period","clickclue"),e.__("Wait before starting another test visit.","clickclue")],expired:[e.__("This session has ended","clickclue"),e.__("Reload to start a new authorized visit if your allowance permits.","clickclue")],buffering:[e.__("Recording temporarily paused","clickclue"),e.__("Unconfirmed events remain in memory while delivery is retried. Capture resumes with a fresh snapshot when that queue is confirmed.","clickclue")],recording_limit:[e.__("This recording reached its safety limit","clickclue"),e.__("Capture has stopped after the maximum number of uploads or page navigations. Its saved replay remains available.","clickclue")],oversized:[e.__("The recording reached its size limit","clickclue"),e.__("Try a smaller page or exclude large dynamic sections. Capture has stopped.","clickclue")],unavailable:[e.__("Could not complete recording","clickclue"),e.__("Check connectivity and your caching, script or security plugin. In WordPress, review setup health, then reload to retry.","clickclue")],stopped:[e.__("Recording stopped","clickclue"),e.__("Reload this page to check the next visit.","clickclue")]};f.onclick=()=>{window.removeEventListener("tracewell:status",_),t.remove(),location.hash==="#clickclue-check"&&history.replaceState(null,"",location.pathname+location.search)},window.addEventListener("tracewell:status",_),document.body.append(t),_()}var R;})();
  • clickclue/trunk/assets/help.html

    r3775799 r3776421  
    1717</section>
    1818<section id="quick-start-record"><h3>Record an eligible visit</h3>
    19 <ol><li>Publish your website-specific privacy policy and select it in WordPress Settings → Privacy. The built-in replay prompt needs that published link.</li><li>Choose Prepare test settings to fill the form with recording enabled and 100% sampling. Review the consent prompt, excluded paths and private selectors, then choose Save settings. Preparing alone does not save.</li><li>Clear your page cache. At 100% sampling, every consenting, eligible tab can be selected while recording is enabled.</li><li>Copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded.</li><li>Choose one public page and a question, such as whether someone can find the size guide. Grant replay permission, scroll to the details and try the relevant link using synthetic details. The test panel should confirm an upload.</li><li>Return to WordPress. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing the useful moment, what you observed and what you will check.</li><li>Restore normal sampling or pause recording after the test.</li></ol>
     19<ol><li>Publish your website-specific privacy policy and select it in WordPress Settings → Privacy. The built-in replay prompt needs that published link.</li><li>Open ClickClue → Settings → Test &amp; diagnostics and choose Prepare test settings. This fills the form with recording enabled and 100% sampling while preserving your text-masking choice. Review consent, excluded paths and private selectors, then select Save settings. Preparing alone does not save.</li><li>Clear your page cache. At 100% sampling, every consenting, eligible tab can be selected while recording is enabled.</li><li>Under Settings → Test &amp; diagnostics, copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded; a signed-in test panel explains how to open an eligible visit.</li><li>Choose one public page and a question, such as whether someone can find the size guide. Grant replay permission, scroll to the details and try the relevant link using synthetic details. The test panel should confirm an upload.</li><li>Return to Settings → Test &amp; diagnostics. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing what you observed and what you will check.</li><li>Restore normal sampling or pause recording after the test.</li></ol>
    2020</section>
    2121<section id="quick-start-tutorial"><h3>An optional walkthrough in both editions</h3>
    … …  
    2626<p>Install the matching Pro add-on alongside ClickClue Free. Update Free first, then Pro. The current release adds Clues, heatmaps, structural form insights, journeys, comparisons and optional feedback without requiring WooCommerce. Earlier checkout integrations remain documented separately.</p>
    2727<p>Pro requires ClickClue Free and a successful first licence activation for this site. Annual bundles cover 1, 5 or 25 sites with the same Pro features. Open ClickClue → Pro licence to activate. Once unlocked, local tools keep working offline or after updates and support expire; eligible updates and support are separate.</p>
     28<p>From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks.</p>
     29<p>If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress.</p>
    2830<p><a href="#heatmaps-and-forms">Explore page heatmaps and forms</a></p>
     31</section>
     32<section id="quick-start-review"><h3>Leave an honest review, when you are ready</h3>
     33<p>The Help page always links to the WordPress.org review page. A small invitation can also appear inside ClickClue after at least 30 days from its first successfully recorded visit tracked by version 1.1.5, and after you have reviewed ten distinct recordings across five UTC days. These bounded counters and your choice stay in this WordPress installation; they are not interest analytics sent to ClickClue.</p>
     34<p>Choose Leave an honest review, Remind me in 30 days or No thanks. No thanks permanently dismisses the invitation for your administrator account; updates preserve that choice. You can still use the Help link later. Opening the review page does not tell ClickClue whether you posted a review.</p>
    2935</section>
    3036<p><a href="#contents">Back to contents ↑</a></p></article>
    … …  
    3339<p>The small consent loader runs first. The capture engine loads only after permission, sampling and server authorisation pass. Form values are always masked. Ordinary page text stays readable on new installations. Enable Mask all page text to hide it too. Existing saved masking choices stay unchanged on upgrade; explicitly private and masked regions remain protected.</p>
    3440<p>Do Not Track and Global Privacy Control stop recording. Signed-in users and administration, login, account, order-pay and order-confirmation paths are excluded. Browser navigation into an excluded path also stops active capture.</p>
    35 <ul><li>Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority.</li><li>Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched.</li><li>URL queries and fragments are removed. Recorded links and arbitrary asset URLs are stripped.</li><li>Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme.</li></ul>
     41<ul><li>Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority.</li><li>Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched.</li><li>URL query values and fragments are removed, except a verified public WordPress post or page ID used to distinguish plain permalinks. Recorded links and arbitrary asset URLs are stripped.</li><li>Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme.</li></ul>
    3642</section>
    3743<section id="consent-and-masking-approved-images"><h3>Organise approved public images</h3>
    38 <p>Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent.</p>
     44<p>Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent. The separately bounded prepared catalogue holds about 46 MiB of encoded image data and URL metadata. Image copies stored with recordings count toward the recording payload budget.</p>
    3945<p>A recording saves only used copies, bounded to 64 images and 2 MiB within its existing payload allowance. Images are prepared locally without metadata; only supported same-origin local URLs are matched. Private and masked regions always take priority. No arbitrary image URL is fetched.</p>
    4046<p>Removing approval or switching image copies off removes affected retained copies. Downloaded exports and backups need separate handling. Updated approvals require current consent. External fonts, CSS backgrounds, SVG, video and embedded content stay excluded.</p>
    … …  
    5359<p>Add data-tw-block to a private element or enter its CSS selector in Settings → Recording &amp; privacy. Existing data-private and .rr-block regions are also excluded.</p>
    5460<p>Structural classes and IDs may remain for layout. Exclude elements whose attributes contain personal information. Inspect dynamic content, account widgets and order details in a synthetic recording before real use.</p>
     61<p>Excluded page paths can use up to 2,000 UTF-8 bytes and additional selectors up to 500 UTF-8 bytes. Longer rules are rejected without changing saved settings. Review the error and shorten the list; ClickClue never silently cuts an exclusion to fit.</p>
    5562<pre><code>&lt;div data-tw-block&gt;Private customer information&lt;/div&gt;</code></pre>
    5663</section>
    … …  
    8895</section>
    8996<p><a href="#contents">Back to contents ↑</a></p></article>
    90 <article id="woocommerce"><p class="edition">Pro</p><h2>Legacy WooCommerce integration</h2><p>Existing checkout tools in this preview, while checkout diagnostics move toward the separate Frictions product.</p>
    91 <section id="woocommerce-scope"><h3>How this fits the product direction</h3>
    92 <p>ClickClue focuses on WordPress replay, heatmaps and visitor interactions. Checkout-specific diagnostics are planned for Frictions.com, a separate plugin. The tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. They are not part of the main ClickClue setup walkthrough, and this is not a release of Frictions.</p>
     97<article id="woocommerce"><p class="edition">Pro</p><h2>Legacy WooCommerce integration</h2><p>Use the optional legacy checkout tools already included in Pro, with their existing data and settings.</p>
     98<section id="woocommerce-scope"><h3>Where to find the legacy tools</h3>
     99<p>ClickClue focuses on WordPress replay, heatmaps and visitor interactions. The optional tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. Enable only the integrations you need and test them with your own checkout before using their observations.</p>
    93100</section>
    94101<section id="woocommerce-signals"><h3>What the integration observes</h3>
    … …  
    204211</section>
    205212<p><a href="#contents">Back to contents ↑</a></p></article>
    206 <article id="email-and-ai"><p class="edition">Pro</p><h2>Legacy email &amp; AI summaries</h2><p>Configure checkout digests and event summaries in the current Pro preview.</p>
     213<article id="email-and-ai"><p class="edition">Pro</p><h2>Legacy email &amp; AI summaries</h2><p>Configure checkout digests and event summaries in the Pro add-on.</p>
    207214<section id="email-and-ai-email"><h3>Configure the legacy checkout digest</h3>
    208 <p>This preview’s digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled.</p>
     215<p>The digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled.</p>
    209216<ol><li>Configure and test your WordPress mail transport.</li><li>Open Legacy checkout → Legacy checkout notifications &amp; AI and enable the daily email digest. Enter an authorised recipient and a minimum affected-recording threshold.</li><li>Save workspace settings. Saving does not itself send an email. The scheduled digest runs through WordPress cron.</li><li>Check the mail status and verify actual inbox delivery. Transport acceptance alone does not prove delivery.</li></ol>
    210217</section>
    211218<section id="email-and-ai-ai"><h3>Summarise legacy checkout evidence</h3>
    212 <p>This preview summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool.</p>
     219<p>This integration summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool.</p>
    213220<p>The request sends fixed event categories, counts and relative timing. It excludes DOM content, page paths, notes, raw order IDs and customer details. Usage is charged to the connected API account; the plugin caps requests at 20 per UTC day.</p>
    214221<p>Outputs must cite existing evidence references, but a cited interpretation can still be wrong. ClickClue does not automatically change a store or establish a diagnosis.</p>
    … …  
    251258<p>If you previously installed a package under another folder name, deactivate the existing Pro and Free copies before uploading these ZIPs. Activate the new Free copy first, then Pro. Leave old copies inactive and do not delete or uninstall them to change names.</p>
    252259</section>
     260<section id="updating-wordpress-updates"><h3>Update inside WordPress</h3>
     261<p>From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks.</p>
     262<p>If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress.</p>
     263<p>Pro checks update eligibility through the ClickClue licensing service. Download eligibility and package integrity are checked again before installation. A network or verification failure stops that update; it does not remove earned local Pro tools. Manual eligible-account ZIP replacement remains available.</p>
     264<p>A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation.</p>
     265</section>
    253266<section id="updating-replace"><h3>Replace the installed packages</h3>
    254 <ol><li>Back up your WordPress database and plugin files. Test on a staging copy first.</li><li>Obtain the current matched ClickClue Free and Pro installer ZIPs through your release or account delivery. The outer download bundle is not an installable plugin.</li><li>For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro.</li><li>When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition.</li><li>Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review.</li></ol>
     267<ol><li>Back up your WordPress database and plugin files. Test on a staging copy first.</li><li>Download the current ClickClue Free ZIP and, if entitled, the matching Pro ZIP from your account. Use each installable plugin ZIP separately; the WordPress.org SVN repository kit is not an installable plugin.</li><li>For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro.</li><li>When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition.</li><li>Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review.</li></ol>
    255268</section>
    256269<section id="updating-v090"><h3>Updating to 0.9.0</h3>
    … …  
    272285</section>
    273286<section id="updating-v0610"><h3>Compatibility introduced in 0.6.10</h3>
    274 <p>Version 0.6.10 clarified the review workspace and prepared verified Pro update delivery. Use the current matching packages above. Later versions remove its edition-based monthly allowances and share retention/storage controls across Free and Pro.</p>
     287<p>Version 0.6.10 clarified the review workspace. Its historical update-delivery preparation is superseded by the current WordPress updater described above. Later versions remove edition-based monthly allowances and share retention and storage controls across Free and Pro.</p>
    275288<p>The dashboard opens on Recordings, with Pro page analysis under Heatmaps &amp; forms. Checkout tools and their saved data are preserved under Legacy checkout; configured legacy email and AI services are not automatically disabled.</p>
    276289<p>Both editions start new installations at seven-day retention and 250 MiB. Upgrading preserves your chosen settings and storage budget. Review Settings → Storage &amp; retention before increasing sampling, retention or storage.</p>
    277 <p>The Pro updater supports verified ClickClue package delivery. Commercial activation and automatic delivery still need a connected service. If a rotated key or copied site prevents reconnecting, the administrator can confirm Forget local licence; it clears this installation’s saved licence details without releasing any remote seat. Installed Pro preview features remain usable.</p>
     290<p>A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation.</p>
    278291</section>
    279292<section id="updating-v069"><h3>Compatibility introduced in 0.6.9</h3>
    … …  
    298311<section id="updating-v060"><h3>Compatibility introduced in 0.6.0</h3>
    299312<p>Version 0.6.0 kept the same WordPress ZIP replacement flow: Free first, then Pro. Folders, database identifiers, existing replays, review notes and consent API aliases remain compatible. Follow the current replacement steps in this guide.</p>
    300 <p>Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage &amp; retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay. The preview still has no connected payment or commercial delivery service.</p>
     313<p>Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage &amp; retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay.</p>
    301314</section>
    302315<section id="updating-recovery"><h3>Recover from an unsuccessful update</h3>
    303316<p>Pause capture if the updated site behaves unexpectedly. Keep a copy of the error and your previous package/database backup. Restore the matching plugin files from your known-good backup, then verify the database and settings on staging before resuming.</p>
    304 <p>The preview supports manual ZIP updates. Follow the steps above while commercial automatic updates are unavailable.</p>
     317<p>If WordPress cannot complete the update, obtain the matching eligible Pro ZIP from your account and use manual replacement. Do not uninstall to update. Check ClickClue → Pro licence if activation or update eligibility needs attention.</p>
    305318</section>
    306319<p><a href="#contents">Back to contents ↑</a></p></article>
    … …  
    348361<section id="commercial-team-local-choices"><h3>Local guidance and optional commercial services</h3>
    349362<p>Optional Pro suggestions appear after relevant review actions. Dismiss a suggestion to keep it hidden in this browser for your site and WordPress account. Local guidance preferences can restore them. Intent, bounded local usage counts and dismissals are not sent to ClickClue, contain no note text or visitor identifiers and do not change recording settings. When browser storage is blocked, choices last only for the current visit.</p>
    350 <p>The installed Pro add-on remains usable locally. A commercial licence provides entitled private delivery, updates and support when the commercial service is available. Reading this guide does not connect a licence, begin a subscription or enable email.</p>
    351 </section>
    352 <p><a href="#contents">Back to contents ↑</a></p></article>
     363<p>Pro requires the Free plugin and a successful first licence activation for this site. After activation, earned local tools keep working offline or after updates and support expire. Eligible private updates and support require current entitlement. Reading this guide does not activate a licence, begin a subscription or enable email.</p>
     364</section>
     365<p><a href="#contents">Back to contents ↑</a></p></article>
     366<p><a href="https://wordpress.org/support/plugin/clickclue/reviews/#new-post" rel="noopener noreferrer">Review ClickClue on WordPress.org</a></p>
    353367<footer>ClickClue · Local recording in WordPress. Return to your WordPress dashboard to change settings. Privacy controls do not establish legal compliance for your installation.</footer>
    354368</main></body></html>
  • clickclue/trunk/assets/player.html

    r3775799 r3776421  
    33<meta name="viewport" content="width=device-width,initial-scale=1">
    44<meta name="clickclue-player" content="1">
    5 <meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256-1PF/QNZq33uKvsj1DpjkDkKCfak4owTbBLZxr9diy8Y='; style-src 'unsafe-inline'; img-src data:; font-src data:; connect-src 'none'; frame-src about:; worker-src 'none'; form-action 'none'; base-uri 'none'">
     5<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256-lPw66H4SJQLgRNlqmTleSqEH4zgRCLNO2RDHU5EW9D4='; style-src 'unsafe-inline'; img-src data:; font-src data:; connect-src 'none'; frame-src about:; worker-src 'none'; form-action 'none'; base-uri 'none'">
    66<title data-clickclue-text="ClickClue session replay">ClickClue session replay</title>
    77<style>.replayer-wrapper {
    … …  
    9999<div class="view-bar"><label><input type="checkbox" id="skip-inactive" checked="" disabled=""><span data-clickclue-text="Skip inactivity"> Skip inactivity</span></label><label><span class="sr" data-clickclue-text="Playback speed">Playback speed</span><select id="speed" disabled=""><option value="0.5">0.5×</option><option value="1" selected="">1×</option><option value="2">2×</option><option value="4">4×</option></select></label><label><span data-clickclue-text="View">View </span><select id="zoom" disabled=""><option value="width" data-clickclue-text="Fit width">Fit width</option><option value="fit" data-clickclue-text="Fit window">Fit window</option><option value="0.5">50%</option><option value="0.75">75%</option><option value="1">100%</option><option value="1.25">125%</option><option value="1.5">150%</option><option value="2">200%</option></select></label><span id="viewport-size" data-clickclue-text="Recorded viewport">Recorded viewport</span><button id="fullscreen" disabled="" hidden="" data-clickclue-text="Fullscreen">Fullscreen</button><details id="replay-help"><summary data-clickclue-text="Replay guide">Replay guide</summary><p data-clickclue-text="This is a reconstruction of the recorded viewport. Fit width keeps tall mobile visits readable; scroll inside the viewer to inspect the full viewport, or choose Fit window.">This is a reconstruction of the recorded viewport. Fit width keeps tall mobile visits readable; scroll inside the viewer to inspect the full viewport, or choose Fit window.</p><p data-clickclue-text="Typed values are masked. Only individually approved public image snapshots may appear. Other media and private regions are excluded. Placeholders contain no original labels or source addresses. External fonts and backgrounds may differ.">Typed values are masked. Only individually approved public image snapshots may appear. Other media and private regions are excluded. Placeholders contain no original labels or source addresses. External fonts and backgrounds may differ.</p><p data-clickclue-text="Focus the recording area: Space plays or pauses, Left/Right move five seconds, Home/End move to the start/end. Event markers describe observations, not confirmed causes.">Focus the recording area: Space plays or pauses, Left/Right move five seconds, Home/End move to the start/end. Event markers describe observations, not confirmed causes.</p></details></div>
    100100<p class="replay-footer" data-clickclue-text="Only approved public image copies may appear. Private content stays excluded.">Only approved public image copies may appear. Private content stays excluded.</p>
    101 <script>"use strict";(()=>{var Fe=Object.create(null);function Ra(e){let t=Object.create(null);if(e&&typeof e=="object"&&!Array.isArray(e)){let r=0;for(let[s,i]of Object.entries(e).slice(0,500))if(!(typeof i!="string"||s.length>8192||i.length>8192)){if(r+=s.length+i.length,r>131072)break;t[s]=i}}Fe=t}var Na=(e,...t)=>{let r=0;return String(e).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,i,a)=>{if(s==="%%")return"%";let n=t[i?Number(i)-1:r++];return String(a==="d"?Math.trunc(Number(n)):n??"")})},z={__(e,t="clickclue"){return Object.hasOwn(Fe,e)?Fe[e]:globalThis.wp?.i18n?.__(e,t)??e},_n(e,t,r,s="clickclue"){return globalThis.wp?.i18n?._n(e,t,r,s)??(r===1?e:t)},sprintf(e,...t){return globalThis.wp?.i18n?.sprintf(e,...t)??Na(e,...t)}};function ms(e,t){Ra(t.translations),e.documentElement.lang=typeof t.language=="string"&&/^[A-Za-z0-9-]{1,64}$/.test(t.language)?t.language:"en",e.documentElement.dir=t.direction==="rtl"?"rtl":"ltr";for(let r of e.querySelectorAll("[data-clickclue-text]")){let s=r.getAttribute("data-clickclue-text");r.textContent=Object.hasOwn(Fe,s)?Fe[s]:s}for(let r of e.querySelectorAll("[data-clickclue-label]")){let s=r.getAttribute("data-clickclue-label");r.setAttribute("aria-label",Object.hasOwn(Fe,s)?Fe[s]:s)}}var gs="data-tw-media",Ia=/^[a-f0-9]{64}$/,wt=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",bt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain";function Aa(e,t){let r=i=>e.charCodeAt(i)*256+e.charCodeAt(i+1),s=i=>r(i)*65536+r(i+2);if(t==="image/png"){if(e.slice(0,8)!==`\x89PNG\r
     101<script>"use strict";(()=>{var Fe=Object.create(null);function Na(e){let t=Object.create(null);if(e&&typeof e=="object"&&!Array.isArray(e)){let r=0;for(let[s,i]of Object.entries(e).slice(0,500))if(!(typeof i!="string"||s.length>8192||i.length>8192)){if(r+=s.length+i.length,r>131072)break;t[s]=i}}Fe=t}var Oa=(e,...t)=>{let r=0;return String(e).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,i,a)=>{if(s==="%%")return"%";let n=t[i?Number(i)-1:r++];return String(a==="d"?Math.trunc(Number(n)):n??"")})},z={__(e,t="clickclue"){return Object.hasOwn(Fe,e)?Fe[e]:globalThis.wp?.i18n?.__(e,t)??e},_n(e,t,r,s="clickclue"){return globalThis.wp?.i18n?._n(e,t,r,s)??(r===1?e:t)},sprintf(e,...t){return globalThis.wp?.i18n?.sprintf(e,...t)??Oa(e,...t)}};function ms(e,t){Na(t.translations),e.documentElement.lang=typeof t.language=="string"&&/^[A-Za-z0-9-]{1,64}$/.test(t.language)?t.language:"en",e.documentElement.dir=t.direction==="rtl"?"rtl":"ltr";for(let r of e.querySelectorAll("[data-clickclue-text]")){let s=r.getAttribute("data-clickclue-text");r.textContent=Object.hasOwn(Fe,s)?Fe[s]:s}for(let r of e.querySelectorAll("[data-clickclue-label]")){let s=r.getAttribute("data-clickclue-label");r.setAttribute("aria-label",Object.hasOwn(Fe,s)?Fe[s]:s)}}var gs="data-tw-media",Aa=/^[a-f0-9]{64}$/,wt=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",bt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain";function Da(e,t){let r=i=>e.charCodeAt(i)*256+e.charCodeAt(i+1),s=i=>r(i)*65536+r(i+2);if(t==="image/png"){if(e.slice(0,8)!==`\x89PNG\r
    102102
    103 `||e.slice(12,16)!=="IHDR"||s(8)!==13)return null;for(let i=8;i+12<=e.length;){let a=s(i),n=e.slice(i+4,i+8);if(a>e.length-i-12||n==="acTL")return null;if(n==="IEND")return[s(16),s(20)];i+=a+12}return null}if(t==="image/jpeg"&&e.slice(0,2)==="\xFF\xD8")for(let i=2;i+4<e.length;){if(e.charCodeAt(i++)!==255)return null;for(;e.charCodeAt(i)===255;)i++;let a=e.charCodeAt(i++);if(a===217||a===218)return null;let n=r(i);if(n<2||i+n>e.length)return null;if([192,193,194].includes(a))return[r(i+5),r(i+3)];i+=n}return null}function ys(e){let t=new Map,r=0;if(!e||typeof e!="object"||Array.isArray(e))return t;for(let[s,i]of Object.entries(e).slice(0,64))if(!(!Ia.test(s)||!i||!["image/png","image/jpeg"].includes(i.mime)||!Number.isInteger(i.width)||!Number.isInteger(i.height)||i.width<1||i.height<1||i.width>1024||i.height>1024||typeof i.data!="string"||i.data.length>174764||!i.data.length||i.data.length%4||!/^[A-Za-z0-9+/]+={0,2}$/.test(i.data)))try{let a=atob(i.data);if(a.length>131072)continue;let n=Aa(a,i.mime);if(!n||n[0]!==i.width||n[1]!==i.height||r+i.data.length+128>2097152)continue;r+=i.data.length+128,t.set(s,"data:"+i.mime+";base64,"+i.data)}catch{}return t}function ws(e,t){if(!e?.documentElement||!t.size)return()=>{};let r=i=>{if(i.nodeType!==1)return;let a=[...i.matches("[data-tw-media],.tw-approved-media")?[i]:[],...i.querySelectorAll("[data-tw-media],.tw-approved-media")];for(let n of a){let u=t.get(n.getAttribute(gs));if(u){n.classList.contains("tw-approved-media")||n.classList.add("tw-approved-media");let l='url("'+u+'")';n.style.backgroundImage!==l&&n.style.setProperty("background-image",l,"important");let c=bt(n.getAttribute("data-tw-image-fit")),o=c==="cover"?"cover":c==="fill"?"100% 100%":"contain";n.style.backgroundSize!==o&&n.style.setProperty("background-size",o,"important"),n.style.backgroundRepeat!=="no-repeat"&&n.style.setProperty("background-repeat","no-repeat","important");let d=wt(n.getAttribute("data-tw-image-position"));n.style.backgroundPosition!==d&&n.style.setProperty("background-position",d,"important")}else n.classList.contains("tw-approved-media")&&(n.classList.remove("tw-approved-media"),n.style.removeProperty("background-image"))}};r(e.documentElement);let s=new e.defaultView.MutationObserver(i=>{for(let a of i)if(a.type==="attributes")r(a.target);else for(let n of a.addedNodes)r(n)});return s.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[gs,"data-tw-image-fit","data-tw-image-position","class","style"]}),()=>s.disconnect()}var Da=Object.defineProperty,ka=(e,t,r)=>t in e?Da(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>ka(e,typeof t!="symbol"?t+"":t,r),bs,Ta=Object.defineProperty,_a=(e,t,r)=>t in e?Ta(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vs=(e,t,r)=>_a(e,typeof t!="symbol"?t+"":t,r),U=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(U||{}),Ss={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Cs={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},vt={},oo={},La=()=>!!globalThis.Zone;function ji(e){if(vt[e])return vt[e];let t=globalThis[e],r=t.prototype,s=e in Ss?Ss[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Cs?Cs[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!La())return vt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),oo[e]=()=>u.remove()):u.remove(),vt[e]=c}catch{return r}}var fr={};function Ne(e,t,r){var s;let i=`${e}.${String(r)}`;if(fr[i])return fr[i].call(t);let a=ji(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(fr[i]=n,n.call(t)):t[r]}var hr={};function ao(e,t,r){let s=`${e}.${String(r)}`;if(hr[s])return hr[s].bind(t);let a=ji(e)[r];return typeof a!="function"?t[r]:(hr[s]=a,a.bind(t))}function Pa(e){return Ne("Node",e,"ownerDocument")}function Fa(e){return Ne("Node",e,"childNodes")}function Ua(e){return Ne("Node",e,"parentNode")}function $a(e){return Ne("Node",e,"parentElement")}function Ba(e){return Ne("Node",e,"textContent")}function za(e,t){return ao("Node",e,"contains")(t)}function Wa(e){return ao("Node",e,"getRootNode")()}function ja(e){return!e||!("host"in e)?null:Ne("ShadowRoot",e,"host")}function Va(e){return e.styleSheets}function qa(e){return!e||!("shadowRoot"in e)?null:Ne("Element",e,"shadowRoot")}function Ga(e,t){return Ne("Element",e,"querySelector")(t)}function Ha(e,t){return Ne("Element",e,"querySelectorAll")(t)}function Ya(){return[ji("MutationObserver").constructor,oo.MutationObserver??(()=>{})]}var lo=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(lo=()=>new Date().getTime());function Xa(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var ne={ownerDocument:Pa,childNodes:Fa,parentNode:Ua,parentElement:$a,textContent:Ba,contains:za,getRootNode:Wa,host:ja,styleSheets:Va,shadowRoot:qa,querySelector:Ga,querySelectorAll:Ha,nowTimestamp:lo,mutationObserverCtor:Ya,patch:Xa};function Vi(e){return e.nodeType===e.ELEMENT_NODE}function ot(e){let t=e&&"host"in e&&"mode"in e&&ne.host(e)||null;return!!(t&&"shadowRoot"in t&&ne.shadowRoot(t)===e)}function at(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function Ja(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function Qa(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function bi(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let s=Array.from(t,i=>uo(i,r)).join("");return Ja(s)}catch{return null}}function uo(e,t){if(Za(e)){let r;try{r=bi(e.styleSheet)||Qa(e)}catch{r=e.cssText}return e.styleSheet.href?_t(r,e.styleSheet.href):r}else{let r=e.cssText;return el(e)&&e.selectorText.includes(":")&&(r=Ka(r)),t?_t(r,t):r}}function Ka(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function Za(e){return"styleSheet"in e}function el(e){return"selectorText"in e}var ft=class{constructor(){vs(this,"idNodeMap",new Map),vs(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new ft}function kt({element:e,maskInputOptions:t,tagName:r,type:s,value:i,maskInputFn:a}){let n=i||"",u=s&&Me(s);return(t[r.toLowerCase()]||u&&t[u])&&(a?n=a(n,e):n="*".repeat(n.length)),n}function Me(e){return e.toLowerCase()}var xs="__rrweb_original__";function tl(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let s=0;s<e.width;s+=r)for(let i=0;i<e.height;i+=r){let a=t.getImageData,n=xs in a?a[xs]:a;if(new Uint32Array(n.call(t,s,i,Math.min(r,e.width-s),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function rl(e,t){return!e||!t||e.type!==t.type?!1:e.type===U.Document?e.compatMode===t.compatMode:e.type===U.DocumentType?e.name===t.name&&e.publicId===t.publicId&&e.systemId===t.systemId:e.type===U.Comment||e.type===U.Text||e.type===U.CDATA?e.textContent===t.textContent:e.type===U.Element?e.tagName===t.tagName&&JSON.stringify(e.attributes)===JSON.stringify(t.attributes)&&e.isSVG===t.isSVG&&e.needBlock===t.needBlock:!1}function Tt(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Me(t):null}function qi(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let s=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(s);return i?.[1]??null}function il(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var sl=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,nl=/^(?:[a-z+]+:)?\/\//i,ol=/^www\..*/i,al=/^(data:)([^,]*),(.*)/i;function _t(e,t){return(e||"").replace(sl,(r,s,i,a,n,u)=>{let l=i||n||u,c=s||a||"";if(!l)return r;if(nl.test(l)||ol.test(l))return`url(${c}${l}${c})`;if(al.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${il(t)+l}${c})`;let o=l.split("#")[0],d=l.substring(o.length),f=t.split("#")[0].split("/"),h=o.split("/");f.pop();for(let m of h)m!=="."&&(m===".."?f.pop():f.push(m));return`url(${c}${f.join("/")}${d}${c})`})}function St(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function ll(e,t,r=!1){let s=Array.from(t.childNodes),i=[],a=0;if(s.length>1&&e&&typeof e=="string"){let n=St(e,r),u=n.length/e.length;for(let l=1;l<s.length;l++)if(s[l].textContent&&typeof s[l].textContent=="string"){let c=St(s[l].textContent,r),o=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let f=c.substring(0,d),h=n.split(f),m=-1;if(h.length===2)m=h[0].length;else if(h.length>2&&h[0]===""&&s[l-1].textContent!=="")m=n.indexOf(f,1);else if(h.length===1){if(f=f.substring(0,f.length-1),h=n.split(f),h.length<=1)return i.push(e),i;d=o+1}else d===c.length-1&&(m=n.indexOf(f));if(h.length>=2&&d>o){let p=s[l-1].textContent;if(p&&typeof p=="string"){let g=St(p).length;m=n.indexOf(f,g)}m===-1&&(m=h[0].length)}if(m!==-1){let p=Math.floor(m/u);for(;p>0&&p<e.length;){if(a+=1,a>50*s.length)return i.push(e),i;let g=St(e.substring(0,p),r);if(g.length===m){i.push(e.substring(0,p)),e=e.substring(p),n=n.substring(m);break}else g.length<m?p+=Math.max(1,Math.floor((m-g.length)/u)):p-=Math.max(1,Math.floor((g.length-m)*u))}break}}}}return i.push(e),i}function ul(e,t){return ll(e,t).join("/* rr_split */")}var cl=1,fl=new RegExp("[^a-z0-9-_:]"),ht=-2;function fo(){return cl++}function hl(e){if(e instanceof HTMLFormElement)return"form";let t=Me(e.tagName);return fl.test(t)?"div":t}var Ve,Es,dl=/^[^ \t\n\r\u000c]+/,pl=/^[, \t\n\r\u000c]+/;function ml(e,t){if(t.trim()==="")return t;let r=0;function s(a){let n,u=a.exec(t.substring(r));return u?(n=u[0],r+=n.length,n):""}let i=[];for(;s(pl),!(r>=t.length);){let a=s(dl);if(a.slice(-1)===",")a=Ye(e,a.substring(0,a.length-1)),i.push(a);else{let n="";a=Ye(e,a);let u=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((a+n).trim());break}else if(u)l===")"&&(u=!1);else if(l===","){r+=1,i.push((a+n).trim());break}else l==="("&&(u=!0);n+=l,r+=1}}}return i.join(", ")}var Ms=new WeakMap;function Ye(e,t){return!t||t.trim()===""?t:Gi(e,t)}function gl(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Gi(e,t){let r=Ms.get(e);if(r||(r=e.createElement("a"),Ms.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function ho(e,t,r,s){return s&&(r==="src"||r==="href"&&!(t==="use"&&s[0]==="#")||r==="xlink:href"&&s[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?Ye(e,s):r==="srcset"?ml(e,s):r==="style"?_t(s,Gi(e)):t==="object"&&r==="data"?Ye(e,s):s)}function po(e,t,r){return["video","audio"].includes(e)&&Me(t)==="autoplay"}function yl(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Lt(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Lt(ne.parentNode(e),t,r):!1;for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}return r?Lt(ne.parentNode(e),t,r):!1}function mo(e,t,r,s){let i;if(Vi(e)){if(i=e,!ne.childNodes(i).length)return!1}else{if(ne.parentElement(e)===null)return!1;i=ne.parentElement(e)}try{if(typeof t=="string"){if(s){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Lt(i,t,s))return!0;if(r){if(s){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function wl(e,t,r){let s=e.contentWindow;if(!s)return;let i=!1,a;try{a=s.document.readyState}catch{return}if(a!=="complete"){let u=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()});return}let n="about:blank";if(s.location.href!==n||e.src===n||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function bl(e,t,r){let s=!1,i;try{i=e.sheet}catch{return}if(i)return;let a=setTimeout(()=>{s||(t(),s=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),s=!0,t()})}function vl(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:n,inlineStylesheet:u,maskInputOptions:l={},maskTextFn:c,maskInputFn:o,dataURLOptions:d={},inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p=!1,cssCaptured:g=!1}=t,b=Sl(r,s);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:U.Document,childNodes:[],compatMode:e.compatMode}:{type:U.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:U.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:b};case e.ELEMENT_NODE:return xl(e,{doc:r,blockClass:i,blockSelector:a,inlineStylesheet:u,maskInputOptions:l,maskInputFn:o,dataURLOptions:d,inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p,rootId:b});case e.TEXT_NODE:return Cl(e,{doc:r,needsMask:n,maskTextFn:c,rootId:b,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:U.CDATA,textContent:"",rootId:b};case e.COMMENT_NODE:return{type:U.Comment,textContent:ne.textContent(e)||"",rootId:b};default:return!1}}function Sl(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function Cl(e,t){let{needsMask:r,maskTextFn:s,rootId:i,cssCaptured:a}=t,n=ne.parentNode(e),u=n&&n.tagName,l="",c=u==="STYLE"?!0:void 0,o=u==="SCRIPT"?!0:void 0;return o?l="SCRIPT_PLACEHOLDER":a||(l=ne.textContent(e),c&&l&&(l=_t(l,Gi(t.doc)))),!c&&!o&&l&&r&&(l=s?s(l,ne.parentElement(e)):l.replace(/[\S]/g,"*")),{type:U.Text,textContent:l||"",rootId:i}}function xl(e,t){let{doc:r,blockClass:s,blockSelector:i,inlineStylesheet:a,maskInputOptions:n={},maskInputFn:u,dataURLOptions:l={},inlineImages:c,recordCanvas:o,keepIframeSrcFn:d,newlyAddedElement:f=!1,rootId:h}=t,m=yl(e,s,i),p=hl(e),g={},b=e.attributes.length;for(let w=0;w<b;w++){let C=e.attributes[w];po(p,C.name,C.value)||(g[C.name]=ho(r,p,Me(C.name),C.value))}if(p==="link"&&a){let w=Array.from(r.styleSheets).find(v=>v.href===e.href),C=null;w&&(C=bi(w)),C&&(delete g.rel,delete g.href,g._cssText=C)}if(p==="style"&&e.sheet){let w=bi(e.sheet);w&&(e.childNodes.length>1&&(w=ul(w,e)),g._cssText=w)}if(["input","textarea","select"].includes(p)){let w=e.value,C=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&w?g.value=kt({element:e,type:Tt(e),tagName:p,value:w,maskInputOptions:n,maskInputFn:u}):C&&(g.checked=C)}if(p==="option"&&(e.selected&&!n.select?g.selected=!0:delete g.selected),p==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),p==="canvas"&&o){if(e.__context==="2d")tl(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let w=e.toDataURL(l.type,l.quality),C=r.createElement("canvas");C.width=e.width,C.height=e.height;let v=C.toDataURL(l.type,l.quality);w!==v&&(g.rr_dataURL=w)}}if(p==="img"&&c){Ve||(Ve=r.createElement("canvas"),Es=Ve.getContext("2d"));let w=e,C=w.currentSrc||w.getAttribute("src")||"<unknown-src>",v=w.crossOrigin,S=()=>{w.removeEventListener("load",S);try{Ve.width=w.naturalWidth,Ve.height=w.naturalHeight,Es.drawImage(w,0,0),g.rr_dataURL=Ve.toDataURL(l.type,l.quality)}catch(x){if(w.crossOrigin!=="anonymous"){w.crossOrigin="anonymous",w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S);return}else console.warn(`Cannot inline img src=${C}! Error: ${x}`)}w.crossOrigin==="anonymous"&&(v?g.crossOrigin=v:w.removeAttribute("crossorigin"))};w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S)}if(["audio","video"].includes(p)){let w=g;w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime,w.rr_mediaPlaybackRate=e.playbackRate,w.rr_mediaMuted=e.muted,w.rr_mediaLoop=e.loop,w.rr_mediaVolume=e.volume}if(f||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:w,height:C}=e.getBoundingClientRect();g={class:g.class,rr_width:`${w}px`,rr_height:`${C}px`}}p==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let y;try{customElements.get(p)&&(y=!0)}catch{}return{type:U.Element,tagName:p,attributes:g,childNodes:[],isSVG:gl(e)||void 0,needBlock:m,rootId:h,isCustom:y}}function X(e){return e==null?"":e.toLowerCase()}function go(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function El(e,t){if(t.comment&&e.type===U.Comment)return!0;if(e.type===U.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(X(e.attributes.name).match(/^msapplication-tile(image|color)$/)||X(e.attributes.name)==="application-name"||X(e.attributes.rel)==="icon"||X(e.attributes.rel)==="apple-touch-icon"||X(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&X(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(X(e.attributes.property).match(/^(og|twitter|fb):/)||X(e.attributes.name).match(/^(og|twitter):/)||X(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(X(e.attributes.name)==="robots"||X(e.attributes.name)==="googlebot"||X(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(X(e.attributes.name)==="author"||X(e.attributes.name)==="generator"||X(e.attributes.name)==="framework"||X(e.attributes.name)==="publisher"||X(e.attributes.name)==="progid"||X(e.attributes.property).match(/^article:/)||X(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(X(e.attributes.name)==="google-site-verification"||X(e.attributes.name)==="yandex-verification"||X(e.attributes.name)==="csrf-token"||X(e.attributes.name)==="p:domain_verify"||X(e.attributes.name)==="verify-v1"||X(e.attributes.name)==="verification"||X(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Xe(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,maskTextClass:n,maskTextSelector:u,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:o={},maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m={},inlineImages:p=!1,recordCanvas:g=!1,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:v=5e3,keepIframeSrcFn:S=()=>!1,newlyAddedElement:x=!1,cssCaptured:M=!1}=t,{needsMask:I}=t,{preserveWhiteSpace:N=!0}=t;I||(I=mo(e,n,u,I===void 0));let F=vl(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,dataURLOptions:m,inlineImages:p,recordCanvas:g,keepIframeSrcFn:S,newlyAddedElement:x,cssCaptured:M});if(!F)return console.warn(e,"not serialized"),null;let k;s.hasNode(e)?k=s.getId(e):El(F,h)||!N&&F.type===U.Text&&!F.textContent.replace(/^\s+|\s+$/gm,"").length?k=ht:k=fo();let E=Object.assign(F,{id:k});if(s.add(e,E),k===ht)return null;b&&b(e);let ce=!l;if(E.type===U.Element){ce=ce&&!E.needBlock,delete E.needBlock;let j=ne.shadowRoot(e);j&&at(j)&&(E.isShadowHost=!0)}if((E.type===U.Document||E.type===U.Element)&&ce){h.headWhitespace&&E.type===U.Element&&E.tagName==="head"&&(N=!1);let j={doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:l,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S,cssCaptured:!1};if(!(E.type===U.Element&&E.tagName==="textarea"&&E.attributes.value!==void 0)){E.type===U.Element&&E.attributes._cssText!==void 0&&typeof E.attributes._cssText=="string"&&(j.cssCaptured=!0);for(let J of Array.from(ne.childNodes(e))){let ie=Xe(J,j);ie&&E.childNodes.push(ie)}}let _=null;if(Vi(e)&&(_=ne.shadowRoot(e)))for(let J of Array.from(ne.childNodes(_))){let ie=Xe(J,j);ie&&(at(_)&&(ie.isShadow=!0),E.childNodes.push(ie))}}let oe=ne.parentNode(e);return oe&&ot(oe)&&at(oe)&&(E.isShadow=!0),E.type===U.Element&&E.tagName==="iframe"&&wl(e,()=>{let j=e.contentDocument;if(j&&y){let _=Xe(j,{doc:j,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});_&&y(e,_)}},w),E.type===U.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&qi(E.attributes.href)==="css")&&bl(e,()=>{if(C){let j=Xe(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});j&&C(e,j)}},v),E}function Ml(e,t){let{mirror:r=new ft,blockClass:s="rr-block",blockSelector:i=null,maskTextClass:a="rr-mask",maskTextSelector:n=null,inlineStylesheet:u=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:o=!1,maskTextFn:d,maskInputFn:f,slimDOM:h=!1,dataURLOptions:m,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v=()=>!1}=t,S=o===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:o===!1?{password:!0}:o,x=go(h);return Xe(e,{doc:e,mirror:r,blockClass:s,blockSelector:i,maskTextClass:a,maskTextSelector:n,skipChild:!1,inlineStylesheet:u,maskInputOptions:S,maskTextFn:d,maskInputFn:f,slimDOMOptions:x,dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v,newlyAddedElement:!1})}var Rl=/(max|min)-device-(width|height)/,Rs=new RegExp(Rl.source,"g"),Nl={postcssPlugin:"postcss-custom-selectors",prepare(){return{postcssPlugin:"postcss-custom-selectors",AtRule:function(e){e.params.match(Rs)&&(e.params=e.params.replace(Rs,"$1-$2"))}}}},Ol={postcssPlugin:"postcss-hover-classes",prepare:function(){let e=[];return{Rule:function(t){e.indexOf(t)===-1&&(e.push(t),t.selectors.forEach(function(r){r.includes(":hover")&&(t.selector+=`,
    104 `+r.replace(/:hover/g,".\\:hover"))}))}}}};function Il(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Al(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Ct={exports:{}},Ns;function Dl(){if(Ns)return Ct.exports;Ns=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Ct.exports=t(),Ct.exports.createColors=t,Ct.exports}var kl={},Tl=Object.freeze(Object.defineProperty({__proto__:null,default:kl},Symbol.toStringTag,{value:"Module"})),ge=Al(Tl),dr,Os;function Hi(){if(Os)return dr;Os=1;let e=Dl(),t=ge;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`
     103`||e.slice(12,16)!=="IHDR"||s(8)!==13)return null;for(let i=8;i+12<=e.length;){let a=s(i),n=e.slice(i+4,i+8);if(a>e.length-i-12||n==="acTL")return null;if(n==="IEND")return[s(16),s(20)];i+=a+12}return null}if(t==="image/jpeg"&&e.slice(0,2)==="\xFF\xD8")for(let i=2;i+4<e.length;){if(e.charCodeAt(i++)!==255)return null;for(;e.charCodeAt(i)===255;)i++;let a=e.charCodeAt(i++);if(a===217||a===218)return null;let n=r(i);if(n<2||i+n>e.length)return null;if([192,193,194].includes(a))return[r(i+5),r(i+3)];i+=n}return null}function ys(e){let t=new Map,r=0;if(!e||typeof e!="object"||Array.isArray(e))return t;for(let[s,i]of Object.entries(e).slice(0,64))if(!(!Aa.test(s)||!i||!["image/png","image/jpeg"].includes(i.mime)||!Number.isInteger(i.width)||!Number.isInteger(i.height)||i.width<1||i.height<1||i.width>1024||i.height>1024||typeof i.data!="string"||i.data.length>174764||!i.data.length||i.data.length%4||!/^[A-Za-z0-9+/]+={0,2}$/.test(i.data)))try{let a=atob(i.data);if(a.length>131072)continue;let n=Da(a,i.mime);if(!n||n[0]!==i.width||n[1]!==i.height||r+i.data.length+128>2097152)continue;r+=i.data.length+128,t.set(s,"data:"+i.mime+";base64,"+i.data)}catch{}return t}function ws(e,t){if(!e?.documentElement||!t.size)return()=>{};let r=i=>{if(i.nodeType!==1)return;let a=[...i.matches("[data-tw-media],.tw-approved-media")?[i]:[],...i.querySelectorAll("[data-tw-media],.tw-approved-media")];for(let n of a){let u=t.get(n.getAttribute(gs));if(u){n.classList.contains("tw-approved-media")||n.classList.add("tw-approved-media");let l='url("'+u+'")';n.style.backgroundImage!==l&&n.style.setProperty("background-image",l,"important");let c=bt(n.getAttribute("data-tw-image-fit")),o=c==="cover"?"cover":c==="fill"?"100% 100%":"contain";n.style.backgroundSize!==o&&n.style.setProperty("background-size",o,"important"),n.style.backgroundRepeat!=="no-repeat"&&n.style.setProperty("background-repeat","no-repeat","important");let d=wt(n.getAttribute("data-tw-image-position"));n.style.backgroundPosition!==d&&n.style.setProperty("background-position",d,"important")}else n.classList.contains("tw-approved-media")&&(n.classList.remove("tw-approved-media"),n.style.removeProperty("background-image"))}};r(e.documentElement);let s=new e.defaultView.MutationObserver(i=>{for(let a of i)if(a.type==="attributes")r(a.target);else for(let n of a.addedNodes)r(n)});return s.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[gs,"data-tw-image-fit","data-tw-image-position","class","style"]}),()=>s.disconnect()}var ka=Object.defineProperty,Ta=(e,t,r)=>t in e?ka(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>Ta(e,typeof t!="symbol"?t+"":t,r),bs,_a=Object.defineProperty,Pa=(e,t,r)=>t in e?_a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vs=(e,t,r)=>Pa(e,typeof t!="symbol"?t+"":t,r),U=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(U||{}),Ss={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Cs={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},vt={},oo={},La=()=>!!globalThis.Zone;function ji(e){if(vt[e])return vt[e];let t=globalThis[e],r=t.prototype,s=e in Ss?Ss[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Cs?Cs[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!La())return vt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),oo[e]=()=>u.remove()):u.remove(),vt[e]=c}catch{return r}}var fr={};function Ne(e,t,r){var s;let i=`${e}.${String(r)}`;if(fr[i])return fr[i].call(t);let a=ji(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(fr[i]=n,n.call(t)):t[r]}var hr={};function ao(e,t,r){let s=`${e}.${String(r)}`;if(hr[s])return hr[s].bind(t);let a=ji(e)[r];return typeof a!="function"?t[r]:(hr[s]=a,a.bind(t))}function Fa(e){return Ne("Node",e,"ownerDocument")}function Ua(e){return Ne("Node",e,"childNodes")}function $a(e){return Ne("Node",e,"parentNode")}function Ba(e){return Ne("Node",e,"parentElement")}function za(e){return Ne("Node",e,"textContent")}function Wa(e,t){return ao("Node",e,"contains")(t)}function ja(e){return ao("Node",e,"getRootNode")()}function Va(e){return!e||!("host"in e)?null:Ne("ShadowRoot",e,"host")}function qa(e){return e.styleSheets}function Ga(e){return!e||!("shadowRoot"in e)?null:Ne("Element",e,"shadowRoot")}function Ha(e,t){return Ne("Element",e,"querySelector")(t)}function Ya(e,t){return Ne("Element",e,"querySelectorAll")(t)}function Xa(){return[ji("MutationObserver").constructor,oo.MutationObserver??(()=>{})]}var lo=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(lo=()=>new Date().getTime());function Ja(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var ne={ownerDocument:Fa,childNodes:Ua,parentNode:$a,parentElement:Ba,textContent:za,contains:Wa,getRootNode:ja,host:Va,styleSheets:qa,shadowRoot:Ga,querySelector:Ha,querySelectorAll:Ya,nowTimestamp:lo,mutationObserverCtor:Xa,patch:Ja};function Vi(e){return e.nodeType===e.ELEMENT_NODE}function ot(e){let t=e&&"host"in e&&"mode"in e&&ne.host(e)||null;return!!(t&&"shadowRoot"in t&&ne.shadowRoot(t)===e)}function at(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function Qa(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function Ka(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function bi(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let s=Array.from(t,i=>uo(i,r)).join("");return Qa(s)}catch{return null}}function uo(e,t){if(el(e)){let r;try{r=bi(e.styleSheet)||Ka(e)}catch{r=e.cssText}return e.styleSheet.href?_t(r,e.styleSheet.href):r}else{let r=e.cssText;return tl(e)&&e.selectorText.includes(":")&&(r=Za(r)),t?_t(r,t):r}}function Za(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function el(e){return"styleSheet"in e}function tl(e){return"selectorText"in e}var ft=class{constructor(){vs(this,"idNodeMap",new Map),vs(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new ft}function kt({element:e,maskInputOptions:t,tagName:r,type:s,value:i,maskInputFn:a}){let n=i||"",u=s&&Me(s);return(t[r.toLowerCase()]||u&&t[u])&&(a?n=a(n,e):n="*".repeat(n.length)),n}function Me(e){return e.toLowerCase()}var xs="__rrweb_original__";function rl(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let s=0;s<e.width;s+=r)for(let i=0;i<e.height;i+=r){let a=t.getImageData,n=xs in a?a[xs]:a;if(new Uint32Array(n.call(t,s,i,Math.min(r,e.width-s),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function il(e,t){return!e||!t||e.type!==t.type?!1:e.type===U.Document?e.compatMode===t.compatMode:e.type===U.DocumentType?e.name===t.name&&e.publicId===t.publicId&&e.systemId===t.systemId:e.type===U.Comment||e.type===U.Text||e.type===U.CDATA?e.textContent===t.textContent:e.type===U.Element?e.tagName===t.tagName&&JSON.stringify(e.attributes)===JSON.stringify(t.attributes)&&e.isSVG===t.isSVG&&e.needBlock===t.needBlock:!1}function Tt(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Me(t):null}function qi(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let s=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(s);return i?.[1]??null}function sl(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var nl=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,ol=/^(?:[a-z+]+:)?\/\//i,al=/^www\..*/i,ll=/^(data:)([^,]*),(.*)/i;function _t(e,t){return(e||"").replace(nl,(r,s,i,a,n,u)=>{let l=i||n||u,c=s||a||"";if(!l)return r;if(ol.test(l)||al.test(l))return`url(${c}${l}${c})`;if(ll.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${sl(t)+l}${c})`;let o=l.split("#")[0],d=l.substring(o.length),f=t.split("#")[0].split("/"),h=o.split("/");f.pop();for(let m of h)m!=="."&&(m===".."?f.pop():f.push(m));return`url(${c}${f.join("/")}${d}${c})`})}function St(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function ul(e,t,r=!1){let s=Array.from(t.childNodes),i=[],a=0;if(s.length>1&&e&&typeof e=="string"){let n=St(e,r),u=n.length/e.length;for(let l=1;l<s.length;l++)if(s[l].textContent&&typeof s[l].textContent=="string"){let c=St(s[l].textContent,r),o=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let f=c.substring(0,d),h=n.split(f),m=-1;if(h.length===2)m=h[0].length;else if(h.length>2&&h[0]===""&&s[l-1].textContent!=="")m=n.indexOf(f,1);else if(h.length===1){if(f=f.substring(0,f.length-1),h=n.split(f),h.length<=1)return i.push(e),i;d=o+1}else d===c.length-1&&(m=n.indexOf(f));if(h.length>=2&&d>o){let p=s[l-1].textContent;if(p&&typeof p=="string"){let g=St(p).length;m=n.indexOf(f,g)}m===-1&&(m=h[0].length)}if(m!==-1){let p=Math.floor(m/u);for(;p>0&&p<e.length;){if(a+=1,a>50*s.length)return i.push(e),i;let g=St(e.substring(0,p),r);if(g.length===m){i.push(e.substring(0,p)),e=e.substring(p),n=n.substring(m);break}else g.length<m?p+=Math.max(1,Math.floor((m-g.length)/u)):p-=Math.max(1,Math.floor((g.length-m)*u))}break}}}}return i.push(e),i}function cl(e,t){return ul(e,t).join("/* rr_split */")}var fl=1,hl=new RegExp("[^a-z0-9-_:]"),ht=-2;function fo(){return fl++}function dl(e){if(e instanceof HTMLFormElement)return"form";let t=Me(e.tagName);return hl.test(t)?"div":t}var Ve,Es,pl=/^[^ \t\n\r\u000c]+/,ml=/^[, \t\n\r\u000c]+/;function gl(e,t){if(t.trim()==="")return t;let r=0;function s(a){let n,u=a.exec(t.substring(r));return u?(n=u[0],r+=n.length,n):""}let i=[];for(;s(ml),!(r>=t.length);){let a=s(pl);if(a.slice(-1)===",")a=Ye(e,a.substring(0,a.length-1)),i.push(a);else{let n="";a=Ye(e,a);let u=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((a+n).trim());break}else if(u)l===")"&&(u=!1);else if(l===","){r+=1,i.push((a+n).trim());break}else l==="("&&(u=!0);n+=l,r+=1}}}return i.join(", ")}var Ms=new WeakMap;function Ye(e,t){return!t||t.trim()===""?t:Gi(e,t)}function yl(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Gi(e,t){let r=Ms.get(e);if(r||(r=e.createElement("a"),Ms.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function ho(e,t,r,s){return s&&(r==="src"||r==="href"&&!(t==="use"&&s[0]==="#")||r==="xlink:href"&&s[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?Ye(e,s):r==="srcset"?gl(e,s):r==="style"?_t(s,Gi(e)):t==="object"&&r==="data"?Ye(e,s):s)}function po(e,t,r){return["video","audio"].includes(e)&&Me(t)==="autoplay"}function wl(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Pt(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Pt(ne.parentNode(e),t,r):!1;for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}return r?Pt(ne.parentNode(e),t,r):!1}function mo(e,t,r,s){let i;if(Vi(e)){if(i=e,!ne.childNodes(i).length)return!1}else{if(ne.parentElement(e)===null)return!1;i=ne.parentElement(e)}try{if(typeof t=="string"){if(s){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Pt(i,t,s))return!0;if(r){if(s){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function bl(e,t,r){let s=e.contentWindow;if(!s)return;let i=!1,a;try{a=s.document.readyState}catch{return}if(a!=="complete"){let u=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()});return}let n="about:blank";if(s.location.href!==n||e.src===n||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function vl(e,t,r){let s=!1,i;try{i=e.sheet}catch{return}if(i)return;let a=setTimeout(()=>{s||(t(),s=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),s=!0,t()})}function Sl(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:n,inlineStylesheet:u,maskInputOptions:l={},maskTextFn:c,maskInputFn:o,dataURLOptions:d={},inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p=!1,cssCaptured:g=!1}=t,b=Cl(r,s);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:U.Document,childNodes:[],compatMode:e.compatMode}:{type:U.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:U.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:b};case e.ELEMENT_NODE:return El(e,{doc:r,blockClass:i,blockSelector:a,inlineStylesheet:u,maskInputOptions:l,maskInputFn:o,dataURLOptions:d,inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p,rootId:b});case e.TEXT_NODE:return xl(e,{doc:r,needsMask:n,maskTextFn:c,rootId:b,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:U.CDATA,textContent:"",rootId:b};case e.COMMENT_NODE:return{type:U.Comment,textContent:ne.textContent(e)||"",rootId:b};default:return!1}}function Cl(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function xl(e,t){let{needsMask:r,maskTextFn:s,rootId:i,cssCaptured:a}=t,n=ne.parentNode(e),u=n&&n.tagName,l="",c=u==="STYLE"?!0:void 0,o=u==="SCRIPT"?!0:void 0;return o?l="SCRIPT_PLACEHOLDER":a||(l=ne.textContent(e),c&&l&&(l=_t(l,Gi(t.doc)))),!c&&!o&&l&&r&&(l=s?s(l,ne.parentElement(e)):l.replace(/[\S]/g,"*")),{type:U.Text,textContent:l||"",rootId:i}}function El(e,t){let{doc:r,blockClass:s,blockSelector:i,inlineStylesheet:a,maskInputOptions:n={},maskInputFn:u,dataURLOptions:l={},inlineImages:c,recordCanvas:o,keepIframeSrcFn:d,newlyAddedElement:f=!1,rootId:h}=t,m=wl(e,s,i),p=dl(e),g={},b=e.attributes.length;for(let w=0;w<b;w++){let C=e.attributes[w];po(p,C.name,C.value)||(g[C.name]=ho(r,p,Me(C.name),C.value))}if(p==="link"&&a){let w=Array.from(r.styleSheets).find(v=>v.href===e.href),C=null;w&&(C=bi(w)),C&&(delete g.rel,delete g.href,g._cssText=C)}if(p==="style"&&e.sheet){let w=bi(e.sheet);w&&(e.childNodes.length>1&&(w=cl(w,e)),g._cssText=w)}if(["input","textarea","select"].includes(p)){let w=e.value,C=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&w?g.value=kt({element:e,type:Tt(e),tagName:p,value:w,maskInputOptions:n,maskInputFn:u}):C&&(g.checked=C)}if(p==="option"&&(e.selected&&!n.select?g.selected=!0:delete g.selected),p==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),p==="canvas"&&o){if(e.__context==="2d")rl(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let w=e.toDataURL(l.type,l.quality),C=r.createElement("canvas");C.width=e.width,C.height=e.height;let v=C.toDataURL(l.type,l.quality);w!==v&&(g.rr_dataURL=w)}}if(p==="img"&&c){Ve||(Ve=r.createElement("canvas"),Es=Ve.getContext("2d"));let w=e,C=w.currentSrc||w.getAttribute("src")||"<unknown-src>",v=w.crossOrigin,S=()=>{w.removeEventListener("load",S);try{Ve.width=w.naturalWidth,Ve.height=w.naturalHeight,Es.drawImage(w,0,0),g.rr_dataURL=Ve.toDataURL(l.type,l.quality)}catch(x){if(w.crossOrigin!=="anonymous"){w.crossOrigin="anonymous",w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S);return}else console.warn(`Cannot inline img src=${C}! Error: ${x}`)}w.crossOrigin==="anonymous"&&(v?g.crossOrigin=v:w.removeAttribute("crossorigin"))};w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S)}if(["audio","video"].includes(p)){let w=g;w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime,w.rr_mediaPlaybackRate=e.playbackRate,w.rr_mediaMuted=e.muted,w.rr_mediaLoop=e.loop,w.rr_mediaVolume=e.volume}if(f||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:w,height:C}=e.getBoundingClientRect();g={class:g.class,rr_width:`${w}px`,rr_height:`${C}px`}}p==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let y;try{customElements.get(p)&&(y=!0)}catch{}return{type:U.Element,tagName:p,attributes:g,childNodes:[],isSVG:yl(e)||void 0,needBlock:m,rootId:h,isCustom:y}}function X(e){return e==null?"":e.toLowerCase()}function go(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function Ml(e,t){if(t.comment&&e.type===U.Comment)return!0;if(e.type===U.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(X(e.attributes.name).match(/^msapplication-tile(image|color)$/)||X(e.attributes.name)==="application-name"||X(e.attributes.rel)==="icon"||X(e.attributes.rel)==="apple-touch-icon"||X(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&X(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(X(e.attributes.property).match(/^(og|twitter|fb):/)||X(e.attributes.name).match(/^(og|twitter):/)||X(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(X(e.attributes.name)==="robots"||X(e.attributes.name)==="googlebot"||X(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(X(e.attributes.name)==="author"||X(e.attributes.name)==="generator"||X(e.attributes.name)==="framework"||X(e.attributes.name)==="publisher"||X(e.attributes.name)==="progid"||X(e.attributes.property).match(/^article:/)||X(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(X(e.attributes.name)==="google-site-verification"||X(e.attributes.name)==="yandex-verification"||X(e.attributes.name)==="csrf-token"||X(e.attributes.name)==="p:domain_verify"||X(e.attributes.name)==="verify-v1"||X(e.attributes.name)==="verification"||X(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Xe(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,maskTextClass:n,maskTextSelector:u,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:o={},maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m={},inlineImages:p=!1,recordCanvas:g=!1,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:v=5e3,keepIframeSrcFn:S=()=>!1,newlyAddedElement:x=!1,cssCaptured:M=!1}=t,{needsMask:I}=t,{preserveWhiteSpace:N=!0}=t;I||(I=mo(e,n,u,I===void 0));let F=Sl(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,dataURLOptions:m,inlineImages:p,recordCanvas:g,keepIframeSrcFn:S,newlyAddedElement:x,cssCaptured:M});if(!F)return console.warn(e,"not serialized"),null;let k;s.hasNode(e)?k=s.getId(e):Ml(F,h)||!N&&F.type===U.Text&&!F.textContent.replace(/^\s+|\s+$/gm,"").length?k=ht:k=fo();let E=Object.assign(F,{id:k});if(s.add(e,E),k===ht)return null;b&&b(e);let ce=!l;if(E.type===U.Element){ce=ce&&!E.needBlock,delete E.needBlock;let j=ne.shadowRoot(e);j&&at(j)&&(E.isShadowHost=!0)}if((E.type===U.Document||E.type===U.Element)&&ce){h.headWhitespace&&E.type===U.Element&&E.tagName==="head"&&(N=!1);let j={doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:l,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S,cssCaptured:!1};if(!(E.type===U.Element&&E.tagName==="textarea"&&E.attributes.value!==void 0)){E.type===U.Element&&E.attributes._cssText!==void 0&&typeof E.attributes._cssText=="string"&&(j.cssCaptured=!0);for(let J of Array.from(ne.childNodes(e))){let ie=Xe(J,j);ie&&E.childNodes.push(ie)}}let _=null;if(Vi(e)&&(_=ne.shadowRoot(e)))for(let J of Array.from(ne.childNodes(_))){let ie=Xe(J,j);ie&&(at(_)&&(ie.isShadow=!0),E.childNodes.push(ie))}}let oe=ne.parentNode(e);return oe&&ot(oe)&&at(oe)&&(E.isShadow=!0),E.type===U.Element&&E.tagName==="iframe"&&bl(e,()=>{let j=e.contentDocument;if(j&&y){let _=Xe(j,{doc:j,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});_&&y(e,_)}},w),E.type===U.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&qi(E.attributes.href)==="css")&&vl(e,()=>{if(C){let j=Xe(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});j&&C(e,j)}},v),E}function Rl(e,t){let{mirror:r=new ft,blockClass:s="rr-block",blockSelector:i=null,maskTextClass:a="rr-mask",maskTextSelector:n=null,inlineStylesheet:u=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:o=!1,maskTextFn:d,maskInputFn:f,slimDOM:h=!1,dataURLOptions:m,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v=()=>!1}=t,S=o===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:o===!1?{password:!0}:o,x=go(h);return Xe(e,{doc:e,mirror:r,blockClass:s,blockSelector:i,maskTextClass:a,maskTextSelector:n,skipChild:!1,inlineStylesheet:u,maskInputOptions:S,maskTextFn:d,maskInputFn:f,slimDOMOptions:x,dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v,newlyAddedElement:!1})}var Nl=/(max|min)-device-(width|height)/,Rs=new RegExp(Nl.source,"g"),Ol={postcssPlugin:"postcss-custom-selectors",prepare(){return{postcssPlugin:"postcss-custom-selectors",AtRule:function(e){e.params.match(Rs)&&(e.params=e.params.replace(Rs,"$1-$2"))}}}},Il={postcssPlugin:"postcss-hover-classes",prepare:function(){let e=[];return{Rule:function(t){e.indexOf(t)===-1&&(e.push(t),t.selectors.forEach(function(r){r.includes(":hover")&&(t.selector+=`,
     104`+r.replace(/:hover/g,".\\:hover"))}))}}}};function Al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Dl(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Ct={exports:{}},Ns;function kl(){if(Ns)return Ct.exports;Ns=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Ct.exports=t(),Ct.exports.createColors=t,Ct.exports}var Tl={},_l=Object.freeze(Object.defineProperty({__proto__:null,default:Tl},Symbol.toStringTag,{value:"Module"})),ge=Dl(_l),dr,Os;function Hi(){if(Os)return dr;Os=1;let e=kl(),t=ge;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`
    105105 `+g+o("^")}return" "+d(p)+f}).join(`
    106106`)}toString(){let i=this.showSourceCode();return i&&(i=`
    … …  
    119119`)&&(a=a.replace(/[^\n]+$/,"")),!1}),a&&(a=a.replace(/\S/g,"")),a}rawColon(i){let a;return i.walkDecls(n=>{if(typeof n.raws.between<"u")return a=n.raws.between.replace(/[^\s:]/g,""),!1}),a}rawEmptyBody(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length===0&&(a=n.raws.after,typeof a<"u"))return!1}),a}rawIndent(i){if(i.raws.indent)return i.raws.indent;let a;return i.walk(n=>{let u=n.parent;if(u&&u!==i&&u.parent&&u.parent===i&&typeof n.raws.before<"u"){let l=n.raws.before.split(`
    120120`);return a=l[l.length-1],a=a.replace(/\S/g,""),!1}}),a}rawSemicolon(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(a=n.raws.semicolon,typeof a<"u"))return!1}),a}rawValue(i,a){let n=i[a],u=i.raws[a];return u&&u.value===n?u.raw:n}root(i){this.body(i),i.raws.after&&this.builder(i.raws.after)}rule(i){this.block(i,this.rawValue(i,"selector")),i.raws.ownSemicolon&&this.builder(i.raws.ownSemicolon,i,"end")}stringify(i,a){if(!this[i.type])throw new Error("Unknown AST node type "+i.type+". Maybe you need to change PostCSS stringifier.");this[i.type](i,a)}}return pr=r,r.default=r,pr}var mr,Ds;function Yt(){if(Ds)return mr;Ds=1;let e=yo();function t(r,s){new e(s).stringify(r)}return mr=t,t.default=t,mr}var gr,ks;function Xt(){if(ks)return gr;ks=1;let{isClean:e,my:t}=Yi(),r=Hi(),s=yo(),i=Yt();function a(u,l){let c=new u.constructor;for(let o in u){if(!Object.prototype.hasOwnProperty.call(u,o)||o==="proxyCache")continue;let d=u[o],f=typeof d;o==="parent"&&f==="object"?l&&(c[o]=l):o==="source"?c[o]=d:Array.isArray(d)?c[o]=d.map(h=>a(h,c)):(f==="object"&&d!==null&&(d=a(d)),c[o]=d)}return c}class n{constructor(l={}){this.raws={},this[e]=!1,this[t]=!0;for(let c in l)if(c==="nodes"){this.nodes=[];for(let o of l[c])typeof o.clone=="function"?this.append(o.clone()):this.append(o)}else this[c]=l[c]}addToError(l){if(l.postcssNode=this,l.stack&&this.source&&/\n\s{4}at /.test(l.stack)){let c=this.source;l.stack=l.stack.replace(/\n\s{4}at /,`$&${c.input.from}:${c.start.line}:${c.start.column}$&`)}return l}after(l){return this.parent.insertAfter(this,l),this}assign(l={}){for(let c in l)this[c]=l[c];return this}before(l){return this.parent.insertBefore(this,l),this}cleanRaws(l){delete this.raws.before,delete this.raws.after,l||delete this.raws.between}clone(l={}){let c=a(this);for(let o in l)c[o]=l[o];return c}cloneAfter(l={}){let c=this.clone(l);return this.parent.insertAfter(this,c),c}cloneBefore(l={}){let c=this.clone(l);return this.parent.insertBefore(this,c),c}error(l,c={}){if(this.source){let{end:o,start:d}=this.rangeBy(c);return this.source.input.error(l,{column:d.column,line:d.line},{column:o.column,line:o.line},c)}return new r(l)}getProxyProcessor(){return{get(l,c){return c==="proxyOf"?l:c==="root"?()=>l.root().toProxy():l[c]},set(l,c,o){return l[c]===o||(l[c]=o,(c==="prop"||c==="value"||c==="name"||c==="params"||c==="important"||c==="text")&&l.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let l=this;for(;l=l.parent;)l[e]=!1}}next(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l+1]}positionBy(l,c){let o=this.source.start;if(l.index)o=this.positionInside(l.index,c);else if(l.word){c=this.toString();let d=c.indexOf(l.word);d!==-1&&(o=this.positionInside(d,c))}return o}positionInside(l,c){let o=c||this.toString(),d=this.source.start.column,f=this.source.start.line;for(let h=0;h<l;h++)o[h]===`
    121 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return gr=n,n.default=n,gr}var yr,Ts;function Jt(){if(Ts)return yr;Ts=1;let e=Xt();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return yr=t,t.default=t,yr}var wr,_s;function _l(){if(_s)return wr;_s=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return wr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},wr}var br,Ls;function wo(){if(Ls)return br;Ls=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:r,readFileSync:s}=ge,{dirname:i,join:a}=ge;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return br=u,u.default=u,br}var vr,Ps;function Qt(){if(Ps)return vr;Ps=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:r,pathToFileURL:s}=ge,{isAbsolute:i,resolve:a}=ge,{nanoid:n}=_l(),u=ge,l=Hi(),c=wo(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`
     121`?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return gr=n,n.default=n,gr}var yr,Ts;function Jt(){if(Ts)return yr;Ts=1;let e=Xt();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return yr=t,t.default=t,yr}var wr,_s;function Pl(){if(_s)return wr;_s=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return wr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},wr}var br,Ps;function wo(){if(Ps)return br;Ps=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:r,readFileSync:s}=ge,{dirname:i,join:a}=ge;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return br=u,u.default=u,br}var vr,Ls;function Qt(){if(Ls)return vr;Ls=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:r,pathToFileURL:s}=ge,{isAbsolute:i,resolve:a}=ge,{nanoid:n}=Pl(),u=ge,l=Hi(),c=wo(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`
    122122`);b=new Array(w.length);let C=0;for(let v=0,S=w.length;v<S;v++)b[v]=C,C+=w[v].length+1;this[o]=b}g=b[b.length-1];let y=0;if(p>=g)y=b.length-1;else{let w=b.length-2,C;for(;y<w;)if(C=y+(w-y>>1),p<b[C])w=C-1;else if(p>=b[C+1])y=C+1;else{y=C;break}}return{col:p-b[y]+1,line:y+1}}mapResolve(p){return/^\w+:\/\//.test(p)?p:a(this.map.consumer().sourceRoot||this.map.root||".",p)}origin(p,g,b,y){if(!this.map)return!1;let w=this.map.consumer(),C=w.originalPositionFor({column:g,line:p});if(!C.source)return!1;let v;typeof b=="number"&&(v=w.originalPositionFor({column:y,line:b}));let S;i(C.source)?S=s(C.source):S=new URL(C.source,this.map.consumer().sourceRoot||s(this.map.mapFile));let x={column:C.column,endColumn:v&&v.column,endLine:v&&v.line,line:C.line,url:S.toString()};if(S.protocol==="file:")if(r)x.file=r(S);else throw new Error("file: protocol is not available in this PostCSS build");let M=w.sourceContentFor(C.source);return M&&(x.source=M),x}toJSON(){let p={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(p[g]=this[g]);return this.map&&(p.map={...this.map},p.map.consumerCache&&(p.map.consumerCache=void 0)),p}get from(){return this.file||this.id}}return vr=h,h.default=h,u&&u.registerInput&&u.registerInput(h),vr}var Sr,Fs;function bo(){if(Fs)return Sr;Fs=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{dirname:r,relative:s,resolve:i,sep:a}=ge,{pathToFileURL:n}=ge,u=Qt(),l=!!(e&&t),c=!!(r&&i&&s&&a);class o{constructor(f,h,m,p){this.stringify=f,this.mapOpts=m.map||{},this.root=h,this.opts=m,this.css=p,this.originalCSS=p,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let f;this.isInline()?f="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?f=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?f=this.mapOpts.annotation(this.opts.to,this.root):f=this.outputFile()+".map";let h=`
    123123`;this.css.includes(`\r
    124124`)&&(h=`\r
    125125`),this.css+=h+"/*# sourceMappingURL="+f+" */"}applyPrevMaps(){for(let f of this.previous()){let h=this.toUrl(this.path(f.file)),m=f.root||r(f.file),p;this.mapOpts.sourcesContent===!1?(p=new e(f.text),p.sourcesContent&&(p.sourcesContent=null)):p=f.consumer(),this.map.applySourceMap(p,h,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let f;for(let h=this.root.nodes.length-1;h>=0;h--)f=this.root.nodes[h],f.type==="comment"&&f.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(h)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c&&l&&this.isMap())return this.generateMap();{let f="";return this.stringify(this.root,h=>{f+=h}),[f]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let f=this.previous()[0].consumer();f.file=this.outputFile(),this.map=t.fromSourceMap(f,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let f=1,h=1,m="<no source>",p={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,b;this.stringify(this.root,(y,w,C)=>{if(this.css+=y,w&&C!=="end"&&(p.generated.line=f,p.generated.column=h-1,w.source&&w.source.start?(p.source=this.sourcePath(w),p.original.line=w.source.start.line,p.original.column=w.source.start.column-1,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,this.map.addMapping(p))),g=y.match(/\n/g),g?(f+=g.length,b=y.lastIndexOf(`
    126 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Sr=o,Sr}var Cr,Us;function Kt(){if(Us)return Cr;Us=1;let e=Xt();class t extends e{constructor(s){super(s),this.type="comment"}}return Cr=t,t.default=t,Cr}var xr,$s;function Be(){if($s)return xr;$s=1;let{isClean:e,my:t}=Yi(),r=Jt(),s=Kt(),i=Xt(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},xr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},xr}var Er,Bs;function Xi(){if(Bs)return Er;Bs=1;let e=Be(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Er=s,s.default=s,Er}var Mr,zs;function vo(){if(zs)return Mr;zs=1;let e={};return Mr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Mr}var Rr,Ws;function So(){if(Ws)return Rr;Ws=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Rr=e,e.default=e,Rr}var Nr,js;function Ji(){if(js)return Nr;js=1;let e=So();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return Nr=t,t.default=t,Nr}var Or,Vs;function Ll(){if(Vs)return Or;Vs=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return Or=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(P){throw M.error("Unclosed "+P,O)}function pe(){return de.length===0&&O>=Ae}function Pe(P){if(de.length)return de.pop();if(O>=Ae)return;let se=P?P.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(P){de.push(P)}return{back:De,endOfFile:pe,nextToken:Pe,position:rt}},Or}var Ir,qs;function Qi(){if(qs)return Ir;qs=1;let e=Be();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return Ir=t,t.default=t,e.registerAtRule(t),Ir}var Ar,Gs;function mt(){if(Gs)return Ar;Gs=1;let e=Be(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Ar=s,s.default=s,e.registerRoot(s),Ar}var Dr,Hs;function Co(){if(Hs)return Dr;Hs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`
    127 `,"     "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return Dr=e,e.default=e,Dr}var kr,Ys;function Ki(){if(Ys)return kr;Ys=1;let e=Be(),t=Co();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return kr=r,r.default=r,e.registerRule(r),kr}var Tr,Xs;function Pl(){if(Xs)return Tr;Xs=1;let e=Jt(),t=Ll(),r=Kt(),s=Qi(),i=mt(),a=Ki(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Tr=l,Tr}var _r,Js;function Zi(){if(Js)return _r;Js=1;let e=Be(),t=Pl(),r=Qt();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return _r=s,s.default=s,e.registerParse(s),_r}var Lr,Qs;function xo(){if(Qs)return Lr;Qs=1;let{isClean:e,my:t}=Yi(),r=bo(),s=Yt(),i=Be(),a=Xi(),n=vo(),u=Ji(),l=Zi(),c=mt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},Lr=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),Lr}var Pr,Ks;function Fl(){if(Ks)return Pr;Ks=1;let e=bo(),t=Yt(),r=vo(),s=Zi(),i=Ji();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return Pr=a,a.default=a,Pr}var Fr,Zs;function Ul(){if(Zs)return Fr;Zs=1;let e=Fl(),t=xo(),r=Xi(),s=mt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return Fr=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),Fr}var Ur,en;function $l(){if(en)return Ur;en=1;let e=Jt(),t=wo(),r=Kt(),s=Qi(),i=Qt(),a=mt(),n=Ki();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return Ur=u,u.default=u,Ur}var $r,tn;function Bl(){if(tn)return $r;tn=1;let e=Hi(),t=Jt(),r=xo(),s=Be(),i=Ul(),a=Yt(),n=$l(),u=Xi(),l=So(),c=Kt(),o=Qi(),d=Ji(),f=Qt(),h=Zi(),m=Co(),p=Ki(),g=mt(),b=Xt();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:
     126`),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Sr=o,Sr}var Cr,Us;function Kt(){if(Us)return Cr;Us=1;let e=Xt();class t extends e{constructor(s){super(s),this.type="comment"}}return Cr=t,t.default=t,Cr}var xr,$s;function Be(){if($s)return xr;$s=1;let{isClean:e,my:t}=Yi(),r=Jt(),s=Kt(),i=Xt(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},xr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},xr}var Er,Bs;function Xi(){if(Bs)return Er;Bs=1;let e=Be(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Er=s,s.default=s,Er}var Mr,zs;function vo(){if(zs)return Mr;zs=1;let e={};return Mr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Mr}var Rr,Ws;function So(){if(Ws)return Rr;Ws=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Rr=e,e.default=e,Rr}var Nr,js;function Ji(){if(js)return Nr;js=1;let e=So();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return Nr=t,t.default=t,Nr}var Or,Vs;function Ll(){if(Vs)return Or;Vs=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return Or=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(L){throw M.error("Unclosed "+L,O)}function pe(){return de.length===0&&O>=Ae}function Le(L){if(de.length)return de.pop();if(O>=Ae)return;let se=L?L.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(L){de.push(L)}return{back:De,endOfFile:pe,nextToken:Le,position:rt}},Or}var Ir,qs;function Qi(){if(qs)return Ir;qs=1;let e=Be();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return Ir=t,t.default=t,e.registerAtRule(t),Ir}var Ar,Gs;function mt(){if(Gs)return Ar;Gs=1;let e=Be(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Ar=s,s.default=s,e.registerRoot(s),Ar}var Dr,Hs;function Co(){if(Hs)return Dr;Hs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`
     127`,"     "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return Dr=e,e.default=e,Dr}var kr,Ys;function Ki(){if(Ys)return kr;Ys=1;let e=Be(),t=Co();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return kr=r,r.default=r,e.registerRule(r),kr}var Tr,Xs;function Fl(){if(Xs)return Tr;Xs=1;let e=Jt(),t=Ll(),r=Kt(),s=Qi(),i=mt(),a=Ki(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Tr=l,Tr}var _r,Js;function Zi(){if(Js)return _r;Js=1;let e=Be(),t=Fl(),r=Qt();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return _r=s,s.default=s,e.registerParse(s),_r}var Pr,Qs;function xo(){if(Qs)return Pr;Qs=1;let{isClean:e,my:t}=Yi(),r=bo(),s=Yt(),i=Be(),a=Xi(),n=vo(),u=Ji(),l=Zi(),c=mt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},Pr=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),Pr}var Lr,Ks;function Ul(){if(Ks)return Lr;Ks=1;let e=bo(),t=Yt(),r=vo(),s=Zi(),i=Ji();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return Lr=a,a.default=a,Lr}var Fr,Zs;function $l(){if(Zs)return Fr;Zs=1;let e=Ul(),t=xo(),r=Xi(),s=mt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return Fr=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),Fr}var Ur,en;function Bl(){if(en)return Ur;en=1;let e=Jt(),t=wo(),r=Kt(),s=Qi(),i=Qt(),a=mt(),n=Ki();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return Ur=u,u.default=u,Ur}var $r,tn;function zl(){if(tn)return $r;tn=1;let e=Hi(),t=Jt(),r=xo(),s=Be(),i=$l(),a=Yt(),n=Bl(),u=Xi(),l=So(),c=Kt(),o=Qi(),d=Ji(),f=Qt(),h=Zi(),m=Co(),p=Ki(),g=mt(),b=Xt();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:
    128128https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(C+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
    129 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),$r=y,y.default=y,$r}var zl=Bl(),Q=Il(zl);Q.stringify;Q.fromJSON;Q.plugin;Q.parse;Q.list;Q.document;Q.comment;Q.atRule;Q.rule;Q.decl;Q.root;Q.CssSyntaxError;Q.Declaration;Q.Container;Q.Processor;Q.Document;Q.Comment;Q.Warning;Q.AtRule;Q.Result;Q.Input;Q.Rule;Q.Root;Q.Node;var rn={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function Wl(e){let t=rn[e.tagName]?rn[e.tagName]:e.tagName;return t==="link"&&e.attributes._cssText&&(t="style"),t}function Zt(e,t){let r=t?.stylesWithHoverClass.get(e);if(r)return r;let s=e;try{s=Q([Nl,Ol]).process(e).css}catch(i){console.warn("Failed to adapt css for replay",i)}return t?.stylesWithHoverClass.set(e,s),s}function sn(){return{stylesWithHoverClass:new Map}}var jl="rrweb-snapshot.rebuild() cannot rebuild into an unprotected browser document. Use rebuildIntoSandboxedIframe() or set UNSAFE_allowUnprotectedRebuild: true only when you accept the script-execution risk.",nn="rrweb-snapshot.createSandboxedIframe() requires root to be connected to a document before creating a sandboxed iframe.",Eo=new WeakSet;function Vl(e){if(!e||e.tagName!=="IFRAME"||!("sandbox"in e))return!1;let t=Array.from(e.sandbox);return t.length===1&&t[0]==="allow-same-origin"}function ql(e){if(e.UNSAFE_allowUnprotectedRebuild)return;let t=e.doc.defaultView;if(t&&!(Eo.has(e.doc)&&Vl(t.frameElement)))throw new Error(jl)}function Gl(e,t,r,s){let i=[];for(let l of e.childNodes)l.type===U.Text&&i.push(l);let a=t.split("/* rr_split */");for(;a.length>1&&a.length>i.length;)a.splice(-2,2,a.slice(-2).join(""));let n="";r&&(n=Zt(a.join(""),s));let u=0;for(let l=0;l<i.length&&l!==a.length;l++){let c=i[l];if(!r)c.textContent=a[l];else if(l<a.length-1){let o=u,d=a[l+1].length;d=Math.min(d,30);let f=!1;for(;d>2;d--){let h=a[l+1].substring(0,d),m=n.substring(u).indexOf(h);if(f=m!==-1,f){o+=m;break}}f||(o+=a[l].length),c.textContent=n.substring(u,o),u=o}else c.textContent=n.substring(u)}}function Hl(e,t,r,s){let{doc:i,hackCss:a,cache:n}=s;e.childNodes.length?Gl(e,r,a,n):(a&&(r=Zt(r,n)),t.appendChild(i.createTextNode(r)))}function Yl(e,t){var r;let{doc:s,hackCss:i,cache:a}=t;switch(e.type){case U.Document:return s.implementation.createDocument(null,"",null);case U.DocumentType:return s.implementation.createDocumentType(e.name||"html",e.publicId,e.systemId);case U.Element:{let n=Wl(e),u;e.isSVG?u=s.createElementNS("http://www.w3.org/2000/svg",n):(e.isCustom&&((r=s.defaultView)!=null&&r.customElements)&&!s.defaultView.customElements.get(e.tagName)&&s.defaultView.customElements.define(e.tagName,class extends s.defaultView.HTMLElement{}),u=s.createElement(n));let l={};for(let c in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,c))continue;let o=e.attributes[c];if(!(n==="option"&&c==="selected"&&o===!1)&&o!==null){if(o===!0&&(o=""),c.startsWith("rr_")){l[c]=o;continue}if(typeof o=="string"){if(n==="style"&&c==="_cssText"){Hl(e,u,o,t);continue}else if(n==="textarea"&&c==="value"){u.appendChild(s.createTextNode(o)),e.childNodes=[];continue}}try{if(e.isSVG&&c==="xlink:href")u.setAttributeNS("http://www.w3.org/1999/xlink",c,o.toString());else if(c==="onload"||c==="onclick"||c.substring(0,7)==="onmouse")u.setAttribute("_"+c,o.toString());else if(n==="meta"&&e.attributes["http-equiv"]==="Content-Security-Policy"&&c==="content"){u.setAttribute("csp-content",o.toString());continue}else n==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||n==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"||(n==="img"&&e.attributes.srcset&&e.attributes.rr_dataURL?u.setAttribute("rrweb-original-srcset",e.attributes.srcset):u.setAttribute(c,o.toString()))}catch{}}}for(let c in l){let o=l[c];if(n==="canvas"&&c==="rr_dataURL"){let d=s.createElement("img");d.onload=()=>{let f=u.getContext("2d");f&&f.drawImage(d,0,0,d.width,d.height)},d.src=o.toString(),u.RRNodeType&&(u.rr_dataURL=o.toString())}else if(n==="img"&&c==="rr_dataURL"){let d=u;d.currentSrc.startsWith("data:")||(d.setAttribute("rrweb-original-src",e.attributes.src),d.src=o.toString())}if(c==="rr_width")u.style.setProperty("width",o.toString());else if(c==="rr_height")u.style.setProperty("height",o.toString());else if(c==="rr_mediaCurrentTime"&&typeof o=="number")u.currentTime=o;else if(c==="rr_mediaState")switch(o){case"played":u.play().catch(d=>console.warn("media playback error",d));break;case"paused":u.pause();break}else c==="rr_mediaPlaybackRate"&&typeof o=="number"?u.playbackRate=o:c==="rr_mediaMuted"&&typeof o=="boolean"?u.muted=o:c==="rr_mediaLoop"&&typeof o=="boolean"?u.loop=o:c==="rr_mediaVolume"&&typeof o=="number"?u.volume=o:c==="rr_open_mode"&&u.setAttribute("rr_open_mode",o)}if(e.isShadowHost)if(!u.shadowRoot)u.attachShadow({mode:"open"});else for(;u.shadowRoot.firstChild;)u.shadowRoot.removeChild(u.shadowRoot.firstChild);return(n==="input"||n==="textarea")&&u.setAttribute("autocomplete","off"),u}case U.Text:return e.isStyle&&i?s.createTextNode(Zt(e.textContent,a)):s.createTextNode(e.textContent);case U.CDATA:return s.createCDATASection(e.textContent);case U.Comment:return s.createComment(e.textContent);default:return null}}function lt(e,t){let{doc:r,mirror:s,skipChild:i=!1,hackCss:a=!0,afterAppend:n,cache:u}=t;if(s.has(e.id)){let c=s.getNode(e.id),o=s.getMeta(c);if(rl(o,e))return s.getNode(e.id)}let l=Yl(e,{doc:r,hackCss:a,cache:u});if(!l)return null;if(e.rootId&&s.getNode(e.rootId)!==r&&s.replace(e.rootId,r),e.type===U.Document&&(r.close(),r.open(),e.compatMode==="BackCompat"&&e.childNodes&&e.childNodes[0].type!==U.DocumentType&&(e.childNodes[0].type===U.Element&&"xmlns"in e.childNodes[0].attributes&&e.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),l=r),s.add(l,e),(e.type===U.Document||e.type===U.Element)&&!i)for(let c of e.childNodes){let o=lt(c,{doc:r,mirror:s,skipChild:!1,hackCss:a,afterAppend:n,cache:u});if(!o){console.warn("Failed to rebuild",c);continue}if(c.isShadow&&Vi(l)&&l.shadowRoot)l.shadowRoot.appendChild(o);else if(e.type===U.Document&&c.type==U.Element){let d=o,f=null;d.childNodes.forEach(h=>{h.nodeName==="BODY"&&(f=h)}),f?(d.removeChild(f),l.appendChild(o),d.appendChild(f)):l.appendChild(o)}else l.appendChild(o);n&&n(o,c.id)}return l}function Xl(e,t){function r(s){t(s)}for(let s of e.getIds())e.has(s)&&r(e.getNode(s))}function Jl(e,t){let r=t.getMeta(e);if(r?.type!==U.Element)return;let s=e;for(let i in r.attributes){if(!(Object.prototype.hasOwnProperty.call(r.attributes,i)&&i.startsWith("rr_")))continue;let a=r.attributes[i];i==="rr_scrollLeft"&&(s.scrollLeft=a),i==="rr_scrollTop"&&(s.scrollTop=a)}}function Ql(e,t){ql(t);let{doc:r,onVisit:s,hackCss:i=!0,afterAppend:a,cache:n,mirror:u=new ft}=t,l=lt(e,{doc:r,mirror:u,skipChild:!1,hackCss:i,afterAppend:a,cache:n});return Xl(u,c=>{s&&s(c),Jl(c,u)}),l}function Kl(e){var t;if(!e.root.isConnected)throw new Error(nn);let r=e.root.ownerDocument.createElement("iframe");for(let[i,a]of Object.entries(e.iframeAttributes||{}))i!=="sandbox"&&r.setAttribute(i,a);r.setAttribute("sandbox","allow-same-origin"),e.root.appendChild(r);let s=r.contentDocument;if(!s||!r.contentWindow)throw(t=r.parentNode)==null||t.removeChild(r),new Error(nn);return Eo.add(s),r}var Zl=Object.defineProperty,eu=(e,t,r)=>t in e?Zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t,r)=>eu(e,typeof t!="symbol"?t+"":t,r),tu=Object.defineProperty,ru=(e,t,r)=>t in e?tu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t,r)=>ru(e,typeof t!="symbol"?t+"":t,r);Date.now().toString();var iu=class{constructor(){on(this,"idNodeMap",new Map),on(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function su(){return new iu}function nu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ou(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Et={exports:{}},an;function au(){if(an)return Et.exports;an=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Et.exports=t(),Et.exports.createColors=t,Et.exports}var lu={},uu=Object.freeze(Object.defineProperty({__proto__:null,default:lu},Symbol.toStringTag,{value:"Module"})),ye=ou(uu),Br,ln;function es(){if(ln)return Br;ln=1;let e=au(),t=ye;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`
     129https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),$r=y,y.default=y,$r}var Wl=zl(),Q=Al(Wl);Q.stringify;Q.fromJSON;Q.plugin;Q.parse;Q.list;Q.document;Q.comment;Q.atRule;Q.rule;Q.decl;Q.root;Q.CssSyntaxError;Q.Declaration;Q.Container;Q.Processor;Q.Document;Q.Comment;Q.Warning;Q.AtRule;Q.Result;Q.Input;Q.Rule;Q.Root;Q.Node;var rn={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function jl(e){let t=rn[e.tagName]?rn[e.tagName]:e.tagName;return t==="link"&&e.attributes._cssText&&(t="style"),t}function Zt(e,t){let r=t?.stylesWithHoverClass.get(e);if(r)return r;let s=e;try{s=Q([Ol,Il]).process(e).css}catch(i){console.warn("Failed to adapt css for replay",i)}return t?.stylesWithHoverClass.set(e,s),s}function sn(){return{stylesWithHoverClass:new Map}}var Vl="rrweb-snapshot.rebuild() cannot rebuild into an unprotected browser document. Use rebuildIntoSandboxedIframe() or set UNSAFE_allowUnprotectedRebuild: true only when you accept the script-execution risk.",nn="rrweb-snapshot.createSandboxedIframe() requires root to be connected to a document before creating a sandboxed iframe.",Eo=new WeakSet;function ql(e){if(!e||e.tagName!=="IFRAME"||!("sandbox"in e))return!1;let t=Array.from(e.sandbox);return t.length===1&&t[0]==="allow-same-origin"}function Gl(e){if(e.UNSAFE_allowUnprotectedRebuild)return;let t=e.doc.defaultView;if(t&&!(Eo.has(e.doc)&&ql(t.frameElement)))throw new Error(Vl)}function Hl(e,t,r,s){let i=[];for(let l of e.childNodes)l.type===U.Text&&i.push(l);let a=t.split("/* rr_split */");for(;a.length>1&&a.length>i.length;)a.splice(-2,2,a.slice(-2).join(""));let n="";r&&(n=Zt(a.join(""),s));let u=0;for(let l=0;l<i.length&&l!==a.length;l++){let c=i[l];if(!r)c.textContent=a[l];else if(l<a.length-1){let o=u,d=a[l+1].length;d=Math.min(d,30);let f=!1;for(;d>2;d--){let h=a[l+1].substring(0,d),m=n.substring(u).indexOf(h);if(f=m!==-1,f){o+=m;break}}f||(o+=a[l].length),c.textContent=n.substring(u,o),u=o}else c.textContent=n.substring(u)}}function Yl(e,t,r,s){let{doc:i,hackCss:a,cache:n}=s;e.childNodes.length?Hl(e,r,a,n):(a&&(r=Zt(r,n)),t.appendChild(i.createTextNode(r)))}function Xl(e,t){var r;let{doc:s,hackCss:i,cache:a}=t;switch(e.type){case U.Document:return s.implementation.createDocument(null,"",null);case U.DocumentType:return s.implementation.createDocumentType(e.name||"html",e.publicId,e.systemId);case U.Element:{let n=jl(e),u;e.isSVG?u=s.createElementNS("http://www.w3.org/2000/svg",n):(e.isCustom&&((r=s.defaultView)!=null&&r.customElements)&&!s.defaultView.customElements.get(e.tagName)&&s.defaultView.customElements.define(e.tagName,class extends s.defaultView.HTMLElement{}),u=s.createElement(n));let l={};for(let c in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,c))continue;let o=e.attributes[c];if(!(n==="option"&&c==="selected"&&o===!1)&&o!==null){if(o===!0&&(o=""),c.startsWith("rr_")){l[c]=o;continue}if(typeof o=="string"){if(n==="style"&&c==="_cssText"){Yl(e,u,o,t);continue}else if(n==="textarea"&&c==="value"){u.appendChild(s.createTextNode(o)),e.childNodes=[];continue}}try{if(e.isSVG&&c==="xlink:href")u.setAttributeNS("http://www.w3.org/1999/xlink",c,o.toString());else if(c==="onload"||c==="onclick"||c.substring(0,7)==="onmouse")u.setAttribute("_"+c,o.toString());else if(n==="meta"&&e.attributes["http-equiv"]==="Content-Security-Policy"&&c==="content"){u.setAttribute("csp-content",o.toString());continue}else n==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||n==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"||(n==="img"&&e.attributes.srcset&&e.attributes.rr_dataURL?u.setAttribute("rrweb-original-srcset",e.attributes.srcset):u.setAttribute(c,o.toString()))}catch{}}}for(let c in l){let o=l[c];if(n==="canvas"&&c==="rr_dataURL"){let d=s.createElement("img");d.onload=()=>{let f=u.getContext("2d");f&&f.drawImage(d,0,0,d.width,d.height)},d.src=o.toString(),u.RRNodeType&&(u.rr_dataURL=o.toString())}else if(n==="img"&&c==="rr_dataURL"){let d=u;d.currentSrc.startsWith("data:")||(d.setAttribute("rrweb-original-src",e.attributes.src),d.src=o.toString())}if(c==="rr_width")u.style.setProperty("width",o.toString());else if(c==="rr_height")u.style.setProperty("height",o.toString());else if(c==="rr_mediaCurrentTime"&&typeof o=="number")u.currentTime=o;else if(c==="rr_mediaState")switch(o){case"played":u.play().catch(d=>console.warn("media playback error",d));break;case"paused":u.pause();break}else c==="rr_mediaPlaybackRate"&&typeof o=="number"?u.playbackRate=o:c==="rr_mediaMuted"&&typeof o=="boolean"?u.muted=o:c==="rr_mediaLoop"&&typeof o=="boolean"?u.loop=o:c==="rr_mediaVolume"&&typeof o=="number"?u.volume=o:c==="rr_open_mode"&&u.setAttribute("rr_open_mode",o)}if(e.isShadowHost)if(!u.shadowRoot)u.attachShadow({mode:"open"});else for(;u.shadowRoot.firstChild;)u.shadowRoot.removeChild(u.shadowRoot.firstChild);return(n==="input"||n==="textarea")&&u.setAttribute("autocomplete","off"),u}case U.Text:return e.isStyle&&i?s.createTextNode(Zt(e.textContent,a)):s.createTextNode(e.textContent);case U.CDATA:return s.createCDATASection(e.textContent);case U.Comment:return s.createComment(e.textContent);default:return null}}function lt(e,t){let{doc:r,mirror:s,skipChild:i=!1,hackCss:a=!0,afterAppend:n,cache:u}=t;if(s.has(e.id)){let c=s.getNode(e.id),o=s.getMeta(c);if(il(o,e))return s.getNode(e.id)}let l=Xl(e,{doc:r,hackCss:a,cache:u});if(!l)return null;if(e.rootId&&s.getNode(e.rootId)!==r&&s.replace(e.rootId,r),e.type===U.Document&&(r.close(),r.open(),e.compatMode==="BackCompat"&&e.childNodes&&e.childNodes[0].type!==U.DocumentType&&(e.childNodes[0].type===U.Element&&"xmlns"in e.childNodes[0].attributes&&e.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),l=r),s.add(l,e),(e.type===U.Document||e.type===U.Element)&&!i)for(let c of e.childNodes){let o=lt(c,{doc:r,mirror:s,skipChild:!1,hackCss:a,afterAppend:n,cache:u});if(!o){console.warn("Failed to rebuild",c);continue}if(c.isShadow&&Vi(l)&&l.shadowRoot)l.shadowRoot.appendChild(o);else if(e.type===U.Document&&c.type==U.Element){let d=o,f=null;d.childNodes.forEach(h=>{h.nodeName==="BODY"&&(f=h)}),f?(d.removeChild(f),l.appendChild(o),d.appendChild(f)):l.appendChild(o)}else l.appendChild(o);n&&n(o,c.id)}return l}function Jl(e,t){function r(s){t(s)}for(let s of e.getIds())e.has(s)&&r(e.getNode(s))}function Ql(e,t){let r=t.getMeta(e);if(r?.type!==U.Element)return;let s=e;for(let i in r.attributes){if(!(Object.prototype.hasOwnProperty.call(r.attributes,i)&&i.startsWith("rr_")))continue;let a=r.attributes[i];i==="rr_scrollLeft"&&(s.scrollLeft=a),i==="rr_scrollTop"&&(s.scrollTop=a)}}function Kl(e,t){Gl(t);let{doc:r,onVisit:s,hackCss:i=!0,afterAppend:a,cache:n,mirror:u=new ft}=t,l=lt(e,{doc:r,mirror:u,skipChild:!1,hackCss:i,afterAppend:a,cache:n});return Jl(u,c=>{s&&s(c),Ql(c,u)}),l}function Zl(e){var t;if(!e.root.isConnected)throw new Error(nn);let r=e.root.ownerDocument.createElement("iframe");for(let[i,a]of Object.entries(e.iframeAttributes||{}))i!=="sandbox"&&r.setAttribute(i,a);r.setAttribute("sandbox","allow-same-origin"),e.root.appendChild(r);let s=r.contentDocument;if(!s||!r.contentWindow)throw(t=r.parentNode)==null||t.removeChild(r),new Error(nn);return Eo.add(s),r}var eu=Object.defineProperty,tu=(e,t,r)=>t in e?eu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t,r)=>tu(e,typeof t!="symbol"?t+"":t,r),ru=Object.defineProperty,iu=(e,t,r)=>t in e?ru(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t,r)=>iu(e,typeof t!="symbol"?t+"":t,r);Date.now().toString();var su=class{constructor(){on(this,"idNodeMap",new Map),on(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function nu(){return new su}function ou(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function au(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Et={exports:{}},an;function lu(){if(an)return Et.exports;an=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Et.exports=t(),Et.exports.createColors=t,Et.exports}var uu={},cu=Object.freeze(Object.defineProperty({__proto__:null,default:uu},Symbol.toStringTag,{value:"Module"})),ye=au(cu),Br,ln;function es(){if(ln)return Br;ln=1;let e=lu(),t=ye;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`
    130130 `+g+o("^")}return" "+d(p)+f}).join(`
    131131`)}toString(){let i=this.showSourceCode();return i&&(i=`
    … …  
    144144`)&&(a=a.replace(/[^\n]+$/,"")),!1}),a&&(a=a.replace(/\S/g,"")),a}rawColon(i){let a;return i.walkDecls(n=>{if(typeof n.raws.between<"u")return a=n.raws.between.replace(/[^\s:]/g,""),!1}),a}rawEmptyBody(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length===0&&(a=n.raws.after,typeof a<"u"))return!1}),a}rawIndent(i){if(i.raws.indent)return i.raws.indent;let a;return i.walk(n=>{let u=n.parent;if(u&&u!==i&&u.parent&&u.parent===i&&typeof n.raws.before<"u"){let l=n.raws.before.split(`
    145145`);return a=l[l.length-1],a=a.replace(/\S/g,""),!1}}),a}rawSemicolon(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(a=n.raws.semicolon,typeof a<"u"))return!1}),a}rawValue(i,a){let n=i[a],u=i.raws[a];return u&&u.value===n?u.raw:n}root(i){this.body(i),i.raws.after&&this.builder(i.raws.after)}rule(i){this.block(i,this.rawValue(i,"selector")),i.raws.ownSemicolon&&this.builder(i.raws.ownSemicolon,i,"end")}stringify(i,a){if(!this[i.type])throw new Error("Unknown AST node type "+i.type+". Maybe you need to change PostCSS stringifier.");this[i.type](i,a)}}return zr=r,r.default=r,zr}var Wr,fn;function er(){if(fn)return Wr;fn=1;let e=Mo();function t(r,s){new e(s).stringify(r)}return Wr=t,t.default=t,Wr}var jr,hn;function tr(){if(hn)return jr;hn=1;let{isClean:e,my:t}=ts(),r=es(),s=Mo(),i=er();function a(u,l){let c=new u.constructor;for(let o in u){if(!Object.prototype.hasOwnProperty.call(u,o)||o==="proxyCache")continue;let d=u[o],f=typeof d;o==="parent"&&f==="object"?l&&(c[o]=l):o==="source"?c[o]=d:Array.isArray(d)?c[o]=d.map(h=>a(h,c)):(f==="object"&&d!==null&&(d=a(d)),c[o]=d)}return c}class n{constructor(l={}){this.raws={},this[e]=!1,this[t]=!0;for(let c in l)if(c==="nodes"){this.nodes=[];for(let o of l[c])typeof o.clone=="function"?this.append(o.clone()):this.append(o)}else this[c]=l[c]}addToError(l){if(l.postcssNode=this,l.stack&&this.source&&/\n\s{4}at /.test(l.stack)){let c=this.source;l.stack=l.stack.replace(/\n\s{4}at /,`$&${c.input.from}:${c.start.line}:${c.start.column}$&`)}return l}after(l){return this.parent.insertAfter(this,l),this}assign(l={}){for(let c in l)this[c]=l[c];return this}before(l){return this.parent.insertBefore(this,l),this}cleanRaws(l){delete this.raws.before,delete this.raws.after,l||delete this.raws.between}clone(l={}){let c=a(this);for(let o in l)c[o]=l[o];return c}cloneAfter(l={}){let c=this.clone(l);return this.parent.insertAfter(this,c),c}cloneBefore(l={}){let c=this.clone(l);return this.parent.insertBefore(this,c),c}error(l,c={}){if(this.source){let{end:o,start:d}=this.rangeBy(c);return this.source.input.error(l,{column:d.column,line:d.line},{column:o.column,line:o.line},c)}return new r(l)}getProxyProcessor(){return{get(l,c){return c==="proxyOf"?l:c==="root"?()=>l.root().toProxy():l[c]},set(l,c,o){return l[c]===o||(l[c]=o,(c==="prop"||c==="value"||c==="name"||c==="params"||c==="important"||c==="text")&&l.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let l=this;for(;l=l.parent;)l[e]=!1}}next(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l+1]}positionBy(l,c){let o=this.source.start;if(l.index)o=this.positionInside(l.index,c);else if(l.word){c=this.toString();let d=c.indexOf(l.word);d!==-1&&(o=this.positionInside(d,c))}return o}positionInside(l,c){let o=c||this.toString(),d=this.source.start.column,f=this.source.start.line;for(let h=0;h<l;h++)o[h]===`
    146 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return jr=n,n.default=n,jr}var Vr,dn;function rr(){if(dn)return Vr;dn=1;let e=tr();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Vr=t,t.default=t,Vr}var qr,pn;function cu(){if(pn)return qr;pn=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return qr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},qr}var Gr,mn;function Ro(){if(mn)return Gr;mn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{existsSync:r,readFileSync:s}=ye,{dirname:i,join:a}=ye;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Gr=u,u.default=u,Gr}var Hr,gn;function ir(){if(gn)return Hr;gn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{fileURLToPath:r,pathToFileURL:s}=ye,{isAbsolute:i,resolve:a}=ye,{nanoid:n}=cu(),u=ye,l=es(),c=Ro(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`
     146`?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return jr=n,n.default=n,jr}var Vr,dn;function rr(){if(dn)return Vr;dn=1;let e=tr();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Vr=t,t.default=t,Vr}var qr,pn;function fu(){if(pn)return qr;pn=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return qr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},qr}var Gr,mn;function Ro(){if(mn)return Gr;mn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{existsSync:r,readFileSync:s}=ye,{dirname:i,join:a}=ye;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Gr=u,u.default=u,Gr}var Hr,gn;function ir(){if(gn)return Hr;gn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{fileURLToPath:r,pathToFileURL:s}=ye,{isAbsolute:i,resolve:a}=ye,{nanoid:n}=fu(),u=ye,l=es(),c=Ro(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`
    147147`);b=new Array(w.length);let C=0;for(let v=0,S=w.length;v<S;v++)b[v]=C,C+=w[v].length+1;this[o]=b}g=b[b.length-1];let y=0;if(p>=g)y=b.length-1;else{let w=b.length-2,C;for(;y<w;)if(C=y+(w-y>>1),p<b[C])w=C-1;else if(p>=b[C+1])y=C+1;else{y=C;break}}return{col:p-b[y]+1,line:y+1}}mapResolve(p){return/^\w+:\/\//.test(p)?p:a(this.map.consumer().sourceRoot||this.map.root||".",p)}origin(p,g,b,y){if(!this.map)return!1;let w=this.map.consumer(),C=w.originalPositionFor({column:g,line:p});if(!C.source)return!1;let v;typeof b=="number"&&(v=w.originalPositionFor({column:y,line:b}));let S;i(C.source)?S=s(C.source):S=new URL(C.source,this.map.consumer().sourceRoot||s(this.map.mapFile));let x={column:C.column,endColumn:v&&v.column,endLine:v&&v.line,line:C.line,url:S.toString()};if(S.protocol==="file:")if(r)x.file=r(S);else throw new Error("file: protocol is not available in this PostCSS build");let M=w.sourceContentFor(C.source);return M&&(x.source=M),x}toJSON(){let p={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(p[g]=this[g]);return this.map&&(p.map={...this.map},p.map.consumerCache&&(p.map.consumerCache=void 0)),p}get from(){return this.file||this.id}}return Hr=h,h.default=h,u&&u.registerInput&&u.registerInput(h),Hr}var Yr,yn;function No(){if(yn)return Yr;yn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{dirname:r,relative:s,resolve:i,sep:a}=ye,{pathToFileURL:n}=ye,u=ir(),l=!!(e&&t),c=!!(r&&i&&s&&a);class o{constructor(f,h,m,p){this.stringify=f,this.mapOpts=m.map||{},this.root=h,this.opts=m,this.css=p,this.originalCSS=p,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let f;this.isInline()?f="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?f=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?f=this.mapOpts.annotation(this.opts.to,this.root):f=this.outputFile()+".map";let h=`
    148148`;this.css.includes(`\r
    149149`)&&(h=`\r
    150150`),this.css+=h+"/*# sourceMappingURL="+f+" */"}applyPrevMaps(){for(let f of this.previous()){let h=this.toUrl(this.path(f.file)),m=f.root||r(f.file),p;this.mapOpts.sourcesContent===!1?(p=new e(f.text),p.sourcesContent&&(p.sourcesContent=null)):p=f.consumer(),this.map.applySourceMap(p,h,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let f;for(let h=this.root.nodes.length-1;h>=0;h--)f=this.root.nodes[h],f.type==="comment"&&f.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(h)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c&&l&&this.isMap())return this.generateMap();{let f="";return this.stringify(this.root,h=>{f+=h}),[f]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let f=this.previous()[0].consumer();f.file=this.outputFile(),this.map=t.fromSourceMap(f,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let f=1,h=1,m="<no source>",p={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,b;this.stringify(this.root,(y,w,C)=>{if(this.css+=y,w&&C!=="end"&&(p.generated.line=f,p.generated.column=h-1,w.source&&w.source.start?(p.source=this.sourcePath(w),p.original.line=w.source.start.line,p.original.column=w.source.start.column-1,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,this.map.addMapping(p))),g=y.match(/\n/g),g?(f+=g.length,b=y.lastIndexOf(`
    151 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Yr=o,Yr}var Xr,wn;function sr(){if(wn)return Xr;wn=1;let e=tr();class t extends e{constructor(s){super(s),this.type="comment"}}return Xr=t,t.default=t,Xr}var Jr,bn;function ze(){if(bn)return Jr;bn=1;let{isClean:e,my:t}=ts(),r=rr(),s=sr(),i=tr(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},Jr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},Jr}var Qr,vn;function rs(){if(vn)return Qr;vn=1;let e=ze(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Qr=s,s.default=s,Qr}var Kr,Sn;function Oo(){if(Sn)return Kr;Sn=1;let e={};return Kr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Kr}var Zr,Cn;function Io(){if(Cn)return Zr;Cn=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Zr=e,e.default=e,Zr}var ei,xn;function is(){if(xn)return ei;xn=1;let e=Io();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return ei=t,t.default=t,ei}var ti,En;function fu(){if(En)return ti;En=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return ti=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(P){throw M.error("Unclosed "+P,O)}function pe(){return de.length===0&&O>=Ae}function Pe(P){if(de.length)return de.pop();if(O>=Ae)return;let se=P?P.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(P){de.push(P)}return{back:De,endOfFile:pe,nextToken:Pe,position:rt}},ti}var ri,Mn;function ss(){if(Mn)return ri;Mn=1;let e=ze();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return ri=t,t.default=t,e.registerAtRule(t),ri}var ii,Rn;function gt(){if(Rn)return ii;Rn=1;let e=ze(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},ii=s,s.default=s,e.registerRoot(s),ii}var si,Nn;function Ao(){if(Nn)return si;Nn=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`
    152 `,"     "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return si=e,e.default=e,si}var ni,On;function ns(){if(On)return ni;On=1;let e=ze(),t=Ao();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return ni=r,r.default=r,e.registerRule(r),ni}var oi,In;function hu(){if(In)return oi;In=1;let e=rr(),t=fu(),r=sr(),s=ss(),i=gt(),a=ns(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return oi=l,oi}var ai,An;function os(){if(An)return ai;An=1;let e=ze(),t=hu(),r=ir();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return ai=s,s.default=s,e.registerParse(s),ai}var li,Dn;function Do(){if(Dn)return li;Dn=1;let{isClean:e,my:t}=ts(),r=No(),s=er(),i=ze(),a=rs(),n=Oo(),u=is(),l=os(),c=gt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},li=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),li}var ui,kn;function du(){if(kn)return ui;kn=1;let e=No(),t=er(),r=Oo(),s=os(),i=is();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return ui=a,a.default=a,ui}var ci,Tn;function pu(){if(Tn)return ci;Tn=1;let e=du(),t=Do(),r=rs(),s=gt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return ci=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),ci}var fi,_n;function mu(){if(_n)return fi;_n=1;let e=rr(),t=Ro(),r=sr(),s=ss(),i=ir(),a=gt(),n=ns();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return fi=u,u.default=u,fi}var hi,Ln;function gu(){if(Ln)return hi;Ln=1;let e=es(),t=rr(),r=Do(),s=ze(),i=pu(),a=er(),n=mu(),u=rs(),l=Io(),c=sr(),o=ss(),d=is(),f=ir(),h=os(),m=Ao(),p=ns(),g=gt(),b=tr();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:
     151`),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Yr=o,Yr}var Xr,wn;function sr(){if(wn)return Xr;wn=1;let e=tr();class t extends e{constructor(s){super(s),this.type="comment"}}return Xr=t,t.default=t,Xr}var Jr,bn;function ze(){if(bn)return Jr;bn=1;let{isClean:e,my:t}=ts(),r=rr(),s=sr(),i=tr(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},Jr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},Jr}var Qr,vn;function rs(){if(vn)return Qr;vn=1;let e=ze(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Qr=s,s.default=s,Qr}var Kr,Sn;function Oo(){if(Sn)return Kr;Sn=1;let e={};return Kr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Kr}var Zr,Cn;function Io(){if(Cn)return Zr;Cn=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Zr=e,e.default=e,Zr}var ei,xn;function is(){if(xn)return ei;xn=1;let e=Io();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return ei=t,t.default=t,ei}var ti,En;function hu(){if(En)return ti;En=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return ti=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(L){throw M.error("Unclosed "+L,O)}function pe(){return de.length===0&&O>=Ae}function Le(L){if(de.length)return de.pop();if(O>=Ae)return;let se=L?L.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(L){de.push(L)}return{back:De,endOfFile:pe,nextToken:Le,position:rt}},ti}var ri,Mn;function ss(){if(Mn)return ri;Mn=1;let e=ze();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return ri=t,t.default=t,e.registerAtRule(t),ri}var ii,Rn;function gt(){if(Rn)return ii;Rn=1;let e=ze(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},ii=s,s.default=s,e.registerRoot(s),ii}var si,Nn;function Ao(){if(Nn)return si;Nn=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`
     152`,"     "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return si=e,e.default=e,si}var ni,On;function ns(){if(On)return ni;On=1;let e=ze(),t=Ao();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return ni=r,r.default=r,e.registerRule(r),ni}var oi,In;function du(){if(In)return oi;In=1;let e=rr(),t=hu(),r=sr(),s=ss(),i=gt(),a=ns(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return oi=l,oi}var ai,An;function os(){if(An)return ai;An=1;let e=ze(),t=du(),r=ir();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return ai=s,s.default=s,e.registerParse(s),ai}var li,Dn;function Do(){if(Dn)return li;Dn=1;let{isClean:e,my:t}=ts(),r=No(),s=er(),i=ze(),a=rs(),n=Oo(),u=is(),l=os(),c=gt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},li=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),li}var ui,kn;function pu(){if(kn)return ui;kn=1;let e=No(),t=er(),r=Oo(),s=os(),i=is();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return ui=a,a.default=a,ui}var ci,Tn;function mu(){if(Tn)return ci;Tn=1;let e=pu(),t=Do(),r=rs(),s=gt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return ci=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),ci}var fi,_n;function gu(){if(_n)return fi;_n=1;let e=rr(),t=Ro(),r=sr(),s=ss(),i=ir(),a=gt(),n=ns();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return fi=u,u.default=u,fi}var hi,Pn;function yu(){if(Pn)return hi;Pn=1;let e=es(),t=rr(),r=Do(),s=ze(),i=mu(),a=er(),n=gu(),u=rs(),l=Io(),c=sr(),o=ss(),d=is(),f=ir(),h=os(),m=Ao(),p=ns(),g=gt(),b=tr();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:
    153153https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(C+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
    154 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),hi=y,y.default=y,hi}var yu=gu(),Z=nu(yu);Z.stringify;Z.fromJSON;Z.plugin;Z.parse;Z.list;Z.document;Z.comment;Z.atRule;Z.rule;Z.decl;Z.root;Z.CssSyntaxError;Z.Declaration;Z.Container;Z.Processor;Z.Document;Z.Comment;Z.Warning;Z.AtRule;Z.Result;Z.Input;Z.Rule;Z.Root;Z.Node;var B=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(B||{});function wu(e){let t={},r=/;(?![^(]*\))/g,s=/:(.+)/,i=/\/\*.*?\*\//g;return e.replace(i,"").split(r).forEach(function(a){if(a){let n=a.split(s);n.length>1&&(t[vi(n[0].trim())]=n[1].trim())}}),t}function Pn(e){let t=[];for(let r in e){let s=e[r];if(typeof s!="string")continue;let i=Cu(r);t.push(`${i}: ${s};`)}return t.join(" ")}var bu=/-([a-z])/g,vu=/^--[a-zA-Z0-9-]+$/,vi=e=>vu.test(e)?e:e.replace(bu,(t,r)=>r?r.toUpperCase():""),Su=/\B([A-Z])/g,Cu=e=>e.replace(Su,"-$1").toLowerCase(),we=class e{constructor(...t){A(this,"parentElement",null),A(this,"parentNode",null),A(this,"ownerDocument"),A(this,"firstChild",null),A(this,"lastChild",null),A(this,"previousSibling",null),A(this,"nextSibling",null),A(this,"ELEMENT_NODE",1),A(this,"TEXT_NODE",3),A(this,"nodeType"),A(this,"nodeName"),A(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}},Si=class e extends we{constructor(...t){super(t),A(this,"nodeType",9),A(this,"nodeName","#document"),A(this,"compatMode","CSS1Compat"),A(this,"RRNodeType",B.Document),A(this,"textContent",null),this.ownerDocument=this}get documentElement(){return this.childNodes.find(t=>t.RRNodeType===B.Element&&t.tagName==="HTML")||null}get body(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="BODY"))||null}get head(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(t){let r=t.RRNodeType;if((r===B.Element||r===B.DocumentType)&&this.childNodes.some(i=>i.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${r===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let s=as(this,t);return s.parentElement=null,s}insertBefore(t,r){let s=t.RRNodeType;if((s===B.Element||s===B.DocumentType)&&this.childNodes.some(a=>a.RRNodeType===s))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${s===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let i=ko(this,t,r);return i.parentElement=null,i}removeChild(t){return To(this,t)}open(){this.firstChild=null,this.lastChild=null}close(){}write(t){let r;if(t==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?r="-//W3C//DTD XHTML 1.0 Transitional//EN":t==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(r="-//W3C//DTD HTML 4.0 Transitional//EN"),r){let s=this.createDocumentType("html",r,"");this.open(),this.appendChild(s)}}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Pt(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=new Ke(t);return r.ownerDocument=this,r}createElementNS(t,r){return this.createElement(r)}createTextNode(t){let r=new Ft(t);return r.ownerDocument=this,r}createComment(t){let r=new Ut(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new $t(t);return r.ownerDocument=this,r}toString(){return"RRDocument"}},Pt=class extends we{constructor(t,r,s){super(),A(this,"nodeType",10),A(this,"RRNodeType",B.DocumentType),A(this,"name"),A(this,"publicId"),A(this,"systemId"),A(this,"textContent",null),this.name=t,this.publicId=r,this.systemId=s,this.nodeName=t}toString(){return"RRDocumentType"}},Ke=class extends we{constructor(t){super(),A(this,"nodeType",1),A(this,"RRNodeType",B.Element),A(this,"tagName"),A(this,"attributes",{}),A(this,"shadowRoot",null),A(this,"scrollLeft"),A(this,"scrollTop"),this.tagName=t.toUpperCase(),this.nodeName=t.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(r=>t+=r.textContent),t}set textContent(t){this.firstChild=null,this.lastChild=null,this.appendChild(this.ownerDocument.createTextNode(t))}get classList(){return new Ei(this.attributes.class,t=>{this.attributes.class=t})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){let t=this.attributes.style?wu(this.attributes.style):{},r=/\B([A-Z])/g;return t.setProperty=(s,i,a)=>{if(r.test(s))return;let n=vi(s);i?t[n]=i:delete t[n],a==="important"&&(t[n]+=" !important"),this.attributes.style=Pn(t)},t.removeProperty=s=>{if(r.test(s))return"";let i=vi(s),a=t[i]||"";return delete t[i],this.attributes.style=Pn(t),a},t}getAttribute(t){return this.attributes[t]===void 0?null:this.attributes[t]}setAttribute(t,r){this.attributes[t]=r}setAttributeNS(t,r,s){this.setAttribute(r,s)}removeAttribute(t){delete this.attributes[t]}appendChild(t){return as(this,t)}insertBefore(t,r){return ko(this,t,r)}removeChild(t){return To(this,t)}attachShadow(t){let r=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=r,r}dispatchEvent(t){return!0}toString(){let t="";for(let r in this.attributes)t+=`${r}="${this.attributes[r]}" `;return`${this.tagName} ${t}`}},Ci=class extends Ke{constructor(){super(...arguments),A(this,"currentTime"),A(this,"volume"),A(this,"paused"),A(this,"muted"),A(this,"playbackRate"),A(this,"loop")}attachShadow(t){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}},xi=class extends Ke{constructor(){super(...arguments),A(this,"tagName","DIALOG"),A(this,"nodeName","DIALOG")}get isModal(){return this.getAttribute("rr_open_mode")==="modal"}get open(){return this.getAttribute("open")!==null}close(){this.removeAttribute("open"),this.removeAttribute("rr_open_mode")}show(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","non-modal")}showModal(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","modal")}},Ft=class extends we{constructor(t){super(),A(this,"nodeType",3),A(this,"nodeName","#text"),A(this,"RRNodeType",B.Text),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRText text=${JSON.stringify(this.data)}`}},Ut=class extends we{constructor(t){super(),A(this,"nodeType",8),A(this,"nodeName","#comment"),A(this,"RRNodeType",B.Comment),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRComment text=${JSON.stringify(this.data)}`}},$t=class extends we{constructor(t){super(),A(this,"nodeName","#cdata-section"),A(this,"nodeType",4),A(this,"RRNodeType",B.CDATA),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}},Ei=class{constructor(t,r){if(A(this,"onChange"),A(this,"classes",[]),A(this,"add",(...s)=>{for(let i of s){let a=String(i);this.classes.indexOf(a)>=0||this.classes.push(a)}this.onChange&&this.onChange(this.classes.join(" "))}),A(this,"remove",(...s)=>{this.classes=this.classes.filter(i=>s.indexOf(i)===-1),this.onChange&&this.onChange(this.classes.join(" "))}),t){let s=t.trim().split(/\s+/);this.classes.push(...s)}this.onChange=r}};function as(e,t){return t.parentNode&&t.parentNode.removeChild(t),e.lastChild?(e.lastChild.nextSibling=t,t.previousSibling=e.lastChild):(e.firstChild=t,t.previousSibling=null),e.lastChild=t,t.nextSibling=null,t.parentNode=e,t.parentElement=e,t.ownerDocument=e.ownerDocument,t}function ko(e,t,r){if(!r)return as(e,t);if(r.parentNode!==e)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return t===r||(t.parentNode&&t.parentNode.removeChild(t),t.previousSibling=r.previousSibling,r.previousSibling=t,t.nextSibling=r,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,t.parentElement=e,t.parentNode=e,t.ownerDocument=e.ownerDocument),t}function To(e,t){if(t.parentNode!==e)throw new Error("Failed to execute 'removeChild' on 'RRNode': The RRNode to be removed is not a child of this RRNode.");return t.previousSibling?t.previousSibling.nextSibling=t.nextSibling:e.firstChild=t.nextSibling,t.nextSibling?t.nextSibling.previousSibling=t.previousSibling:e.lastChild=t.previousSibling,t.previousSibling=null,t.nextSibling=null,t.parentElement=null,t.parentNode=null,t}var he=(e=>(e[e.PLACEHOLDER=0]="PLACEHOLDER",e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE",e[e.DOCUMENT_NODE=9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",e))(he||{}),Mi={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},xu={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"},Se=null;function Bt(e,t,r,s=t.mirror||t.ownerDocument.mirror){e=Eu(e,t,r,s),_o(e,t,r,s),Mu(e,t,r)}function Eu(e,t,r,s){var i;if(r.afterAppend&&!Se&&(Se=new WeakSet,setTimeout(()=>{Se=null},0)),!ls(e,t)){let a=zt(t,r.mirror,s);(i=e.parentNode)==null||i.replaceChild(a,e),e=a}switch(t.RRNodeType){case B.Document:{if(!qe(e,t,r.mirror,s)){let a=s.getMeta(t);a&&(r.mirror.removeNodeFromMap(e),e.close(),e.open(),r.mirror.add(e,a),Se?.add(e))}break}case B.Element:{let a=e,n=t;switch(n.tagName){case"IFRAME":{let u=e.contentDocument;if(!u)break;Bt(u,t.contentDocument,r,s);break}}n.shadowRoot&&(a.shadowRoot||a.attachShadow({mode:"open"}),_o(a.shadowRoot,n.shadowRoot,r,s)),Ru(a,n,s);break}}return e}function Mu(e,t,r){var s;switch(t.RRNodeType){case B.Document:{let i=t.scrollData;i&&r.applyScroll(i,!0);break}case B.Element:{let i=e,a=t;switch(a.scrollData&&r.applyScroll(a.scrollData,!0),a.inputData&&r.applyInput(a.inputData),a.tagName){case"AUDIO":case"VIDEO":{let n=e,u=a;u.paused!==void 0&&(u.paused?n.pause():n.play()),u.muted!==void 0&&(n.muted=u.muted),u.volume!==void 0&&(n.volume=u.volume),u.currentTime!==void 0&&(n.currentTime=u.currentTime),u.playbackRate!==void 0&&(n.playbackRate=u.playbackRate),u.loop!==void 0&&(n.loop=u.loop);break}case"CANVAS":{let n=t;if(n.rr_dataURL!==null){let u=document.createElement("img");u.onload=()=>{let l=i.getContext("2d");l&&l.drawImage(u,0,0,u.width,u.height)},u.src=n.rr_dataURL}n.canvasMutations.forEach(u=>r.applyCanvas(u.event,u.mutation,e));break}case"STYLE":{let n=i.sheet;n&&t.rules.forEach(u=>r.applyStyleSheetMutation(u,n));break}case"DIALOG":{let n=i,u=a,l=n.open,c=n.matches("dialog:modal"),o=u.open,d=u.isModal,f=c!==d,h=l!==o;if((f||l&&h)&&n.close(),o&&(h||f))try{d?n.showModal():n.show()}catch(m){console.warn(m)}break}}break}case B.Text:case B.Comment:case B.CDATA:{e.textContent!==t.data&&(e.textContent=t.data);break}}Se?.has(e)&&(Se.delete(e),(s=r.afterAppend)==null||s.call(r,e,r.mirror.getId(e)))}function Ru(e,t,r){let s=e.attributes,i=t.attributes;for(let a in i){let n=i[a],u=r.getMeta(t);if(u?.isSVG&&Mi[a])e.setAttributeNS(Mi[a],a,n);else if(t.tagName==="CANVAS"&&a==="rr_dataURL"){let l=document.createElement("img");l.src=n,l.onload=()=>{let c=e.getContext("2d");c&&c.drawImage(l,0,0,l.width,l.height)}}else{if(t.tagName==="IFRAME"&&a==="srcdoc")continue;try{e.setAttribute(a,n)}catch(l){console.warn(l)}}}for(let{name:a}of Array.from(s))a in i||e.removeAttribute(a);t.scrollLeft&&(e.scrollLeft=t.scrollLeft),t.scrollTop&&(e.scrollTop=t.scrollTop)}function _o(e,t,r,s){let i=Array.from(e.childNodes),a=t.childNodes;if(i.length===0&&a.length===0)return;let n=0,u=i.length-1,l=0,c=a.length-1,o=i[n],d=i[u],f=a[l],h=a[c],m,p;for(;n<=u&&l<=c;)if(o===void 0)o=i[++n];else if(d===void 0)d=i[--u];else if(qe(o,f,r.mirror,s))o=i[++n],f=a[++l];else if(qe(d,h,r.mirror,s))d=i[--u],h=a[--c];else if(qe(o,h,r.mirror,s)){try{e.insertBefore(o,d.nextSibling)}catch(y){console.warn(y)}o=i[++n],h=a[--c]}else if(qe(d,f,r.mirror,s)){try{e.insertBefore(d,o)}catch(y){console.warn(y)}d=i[--u],f=a[++l]}else{if(!m){m={};for(let w=n;w<=u;w++){let C=i[w];C&&r.mirror.hasNode(C)&&(m[r.mirror.getId(C)]=w)}}p=m[s.getId(f)];let y=i[p];if(p!==void 0&&y&&qe(y,f,r.mirror,s)){try{e.insertBefore(y,o)}catch(w){console.warn(w)}i[p]=void 0}else{let w=zt(f,r.mirror,s);e.nodeName==="#document"&&o&&(w.nodeType===w.DOCUMENT_TYPE_NODE&&o.nodeType===o.DOCUMENT_TYPE_NODE||w.nodeType===w.ELEMENT_NODE&&o.nodeType===o.ELEMENT_NODE)&&(e.removeChild(o),r.mirror.removeNodeFromMap(o),o=i[++n]);try{e.insertBefore(w,o||null)}catch(C){console.warn(C)}}f=a[++l]}if(n>u){let y=a[c+1],w=null;for(y&&(w=r.mirror.getNode(s.getId(y)));l<=c;++l){let C=zt(a[l],r.mirror,s);try{e.insertBefore(C,w)}catch(v){console.warn(v)}}}else if(l>c)for(;n<=u;n++){let y=i[n];if(!(!y||y.parentNode!==e))try{e.removeChild(y),r.mirror.removeNodeFromMap(y)}catch(w){console.warn(w)}}let g=e.firstChild,b=t.firstChild;for(;g!==null&&b!==null;)Bt(g,b,r,s),g=g.nextSibling,b=b.nextSibling}function zt(e,t,r){let s=r.getId(e),i=r.getMeta(e),a=null;if(s>-1&&(a=t.getNode(s)),a!==null&&ls(a,e))return a;switch(e.RRNodeType){case B.Document:a=new Document;break;case B.DocumentType:a=document.implementation.createDocumentType(e.name,e.publicId,e.systemId);break;case B.Element:{let n=e.tagName.toLowerCase();n=xu[n]||n,i&&"isSVG"in i&&i?.isSVG?a=document.createElementNS(Mi.svg,n):a=document.createElement(e.tagName);break}case B.Text:a=document.createTextNode(e.data);break;case B.Comment:a=document.createComment(e.data);break;case B.CDATA:a=document.createCDATASection(e.data);break}i&&t.add(a,{...i});try{Se?.add(a)}catch{}return a}function ls(e,t){return e.nodeType!==t.nodeType?!1:e.nodeType!==e.ELEMENT_NODE||e.tagName.toUpperCase()===t.tagName}function qe(e,t,r,s){let i=r.getId(e),a=s.getId(t);return i===-1||i!==a?!1:ls(e,t)}var Ze=class e extends Si{constructor(t){super(),A(this,"UNSERIALIZED_STARTING_ID",-2),A(this,"_unserializedId",this.UNSERIALIZED_STARTING_ID),A(this,"mirror",Tu()),A(this,"scrollData",null),t&&(this.mirror=t)}get unserializedId(){return this._unserializedId--}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Nu(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=t.toUpperCase(),s;switch(r){case"AUDIO":case"VIDEO":s=new Ri(r);break;case"IFRAME":s=new Ai(r,this.mirror);break;case"CANVAS":s=new Oi(r);break;case"STYLE":s=new Ii(r);break;case"DIALOG":s=new Ni(r);break;default:s=new et(r);break}return s.ownerDocument=this,s}createComment(t){let r=new Iu(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new Au(t);return r.ownerDocument=this,r}createTextNode(t){let r=new Ou(t);return r.ownerDocument=this,r}destroyTree(){this.firstChild=null,this.lastChild=null,this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}},Nu=Pt,et=class extends Ke{constructor(){super(...arguments),A(this,"inputData",null),A(this,"scrollData",null)}},Ri=class extends Ci{},Ni=class extends xi{},Oi=class extends et{constructor(){super(...arguments),A(this,"rr_dataURL",null),A(this,"canvasMutations",[])}getContext(){return null}},Ii=class extends et{constructor(){super(...arguments),A(this,"rules",[])}},Ai=class extends et{constructor(t,r){super(t),A(this,"contentDocument",new Ze),this.contentDocument.mirror=r}},Ou=Ft,Iu=Ut,Au=$t;function Du(e){return e instanceof HTMLFormElement?"FORM":e.tagName.toUpperCase()}function Lo(e,t,r,s){let i;switch(e.nodeType){case he.DOCUMENT_NODE:s&&s.nodeName==="IFRAME"?i=s.contentDocument:(i=t,i.compatMode=e.compatMode);break;case he.DOCUMENT_TYPE_NODE:{let n=e;i=t.createDocumentType(n.name,n.publicId,n.systemId);break}case he.ELEMENT_NODE:{let n=e,u=Du(n);i=t.createElement(u);let l=i;for(let{name:c,value:o}of Array.from(n.attributes))l.attributes[c]=o;n.scrollLeft&&(l.scrollLeft=n.scrollLeft),n.scrollTop&&(l.scrollTop=n.scrollTop);break}case he.TEXT_NODE:i=t.createTextNode(e.textContent||"");break;case he.CDATA_SECTION_NODE:i=t.createCDATASection(e.data);break;case he.COMMENT_NODE:i=t.createComment(e.textContent||"");break;case he.DOCUMENT_FRAGMENT_NODE:i=s.attachShadow({mode:"open"});break;default:return null}let a=r.getMeta(e);return t instanceof Ze&&(a||(a=Po(i,t.unserializedId),r.add(e,a)),t.mirror.add(i,{...a})),i}function ku(e,t=su(),r=new Ze){function s(i,a){let n=Lo(i,r,t,a);if(n!==null)if(a?.nodeName!=="IFRAME"&&i.nodeType!==he.DOCUMENT_FRAGMENT_NODE&&(a?.appendChild(n),n.parentNode=a,n.parentElement=a),i.nodeName==="IFRAME"){let u=i.contentDocument;u&&s(u,n)}else(i.nodeType===he.DOCUMENT_NODE||i.nodeType===he.ELEMENT_NODE||i.nodeType===he.DOCUMENT_FRAGMENT_NODE)&&(i.nodeType===he.ELEMENT_NODE&&i.shadowRoot&&s(i.shadowRoot,n),i.childNodes.forEach(u=>s(u,n)))}return s(e,null),r}function Tu(){return new Di}var Di=class{constructor(){A(this,"idNodeMap",new Map),A(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function Po(e,t){switch(e.RRNodeType){case B.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case B.DocumentType:{let r=e;return{id:t,type:e.RRNodeType,name:r.name,publicId:r.publicId,systemId:r.systemId}}case B.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case B.Text:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}var Fn={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Un={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Rt={},Fo={},_u=()=>!!globalThis.Zone;function us(e){if(Rt[e])return Rt[e];let t=globalThis[e],r=t.prototype,s=e in Fn?Fn[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Un?Un[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!_u())return Rt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),Fo[e]=()=>u.remove()):u.remove(),Rt[e]=c}catch{return r}}var di={};function Oe(e,t,r){var s;let i=`${e}.${String(r)}`;if(di[i])return di[i].call(t);let a=us(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(di[i]=n,n.call(t)):t[r]}var pi={};function Uo(e,t,r){let s=`${e}.${String(r)}`;if(pi[s])return pi[s].bind(t);let a=us(e)[r];return typeof a!="function"?t[r]:(pi[s]=a,a.bind(t))}function Lu(e){return Oe("Node",e,"ownerDocument")}function Pu(e){return Oe("Node",e,"childNodes")}function Fu(e){return Oe("Node",e,"parentNode")}function Uu(e){return Oe("Node",e,"parentElement")}function $u(e){return Oe("Node",e,"textContent")}function Bu(e,t){return Uo("Node",e,"contains")(t)}function zu(e){return Uo("Node",e,"getRootNode")()}function Wu(e){return!e||!("host"in e)?null:Oe("ShadowRoot",e,"host")}function ju(e){return e.styleSheets}function Vu(e){return!e||!("shadowRoot"in e)?null:Oe("Element",e,"shadowRoot")}function qu(e,t){return Oe("Element",e,"querySelector")(t)}function Gu(e,t){return Oe("Element",e,"querySelectorAll")(t)}function $o(){return[us("MutationObserver").constructor,Fo.MutationObserver??(()=>{})]}var dt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(dt=()=>new Date().getTime());function We(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var $={ownerDocument:Lu,childNodes:Pu,parentNode:Fu,parentElement:Uu,textContent:$u,contains:Bu,getRootNode:zu,host:Wu,styleSheets:ju,shadowRoot:Vu,querySelector:qu,querySelectorAll:Gu,nowTimestamp:dt,mutationObserverCtor:$o,patch:We};function le(e,t,r=document){let s={capture:!0,passive:!0};return r.addEventListener(e,t,s),()=>r.removeEventListener(e,t,s)}var Ge=`Please stop import mirror directly. Instead of that,\r
     154https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),hi=y,y.default=y,hi}var wu=yu(),Z=ou(wu);Z.stringify;Z.fromJSON;Z.plugin;Z.parse;Z.list;Z.document;Z.comment;Z.atRule;Z.rule;Z.decl;Z.root;Z.CssSyntaxError;Z.Declaration;Z.Container;Z.Processor;Z.Document;Z.Comment;Z.Warning;Z.AtRule;Z.Result;Z.Input;Z.Rule;Z.Root;Z.Node;var B=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(B||{});function bu(e){let t={},r=/;(?![^(]*\))/g,s=/:(.+)/,i=/\/\*.*?\*\//g;return e.replace(i,"").split(r).forEach(function(a){if(a){let n=a.split(s);n.length>1&&(t[vi(n[0].trim())]=n[1].trim())}}),t}function Ln(e){let t=[];for(let r in e){let s=e[r];if(typeof s!="string")continue;let i=xu(r);t.push(`${i}: ${s};`)}return t.join(" ")}var vu=/-([a-z])/g,Su=/^--[a-zA-Z0-9-]+$/,vi=e=>Su.test(e)?e:e.replace(vu,(t,r)=>r?r.toUpperCase():""),Cu=/\B([A-Z])/g,xu=e=>e.replace(Cu,"-$1").toLowerCase(),we=class e{constructor(...t){A(this,"parentElement",null),A(this,"parentNode",null),A(this,"ownerDocument"),A(this,"firstChild",null),A(this,"lastChild",null),A(this,"previousSibling",null),A(this,"nextSibling",null),A(this,"ELEMENT_NODE",1),A(this,"TEXT_NODE",3),A(this,"nodeType"),A(this,"nodeName"),A(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}},Si=class e extends we{constructor(...t){super(t),A(this,"nodeType",9),A(this,"nodeName","#document"),A(this,"compatMode","CSS1Compat"),A(this,"RRNodeType",B.Document),A(this,"textContent",null),this.ownerDocument=this}get documentElement(){return this.childNodes.find(t=>t.RRNodeType===B.Element&&t.tagName==="HTML")||null}get body(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="BODY"))||null}get head(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(t){let r=t.RRNodeType;if((r===B.Element||r===B.DocumentType)&&this.childNodes.some(i=>i.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${r===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let s=as(this,t);return s.parentElement=null,s}insertBefore(t,r){let s=t.RRNodeType;if((s===B.Element||s===B.DocumentType)&&this.childNodes.some(a=>a.RRNodeType===s))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${s===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let i=ko(this,t,r);return i.parentElement=null,i}removeChild(t){return To(this,t)}open(){this.firstChild=null,this.lastChild=null}close(){}write(t){let r;if(t==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?r="-//W3C//DTD XHTML 1.0 Transitional//EN":t==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(r="-//W3C//DTD HTML 4.0 Transitional//EN"),r){let s=this.createDocumentType("html",r,"");this.open(),this.appendChild(s)}}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Lt(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=new Ke(t);return r.ownerDocument=this,r}createElementNS(t,r){return this.createElement(r)}createTextNode(t){let r=new Ft(t);return r.ownerDocument=this,r}createComment(t){let r=new Ut(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new $t(t);return r.ownerDocument=this,r}toString(){return"RRDocument"}},Lt=class extends we{constructor(t,r,s){super(),A(this,"nodeType",10),A(this,"RRNodeType",B.DocumentType),A(this,"name"),A(this,"publicId"),A(this,"systemId"),A(this,"textContent",null),this.name=t,this.publicId=r,this.systemId=s,this.nodeName=t}toString(){return"RRDocumentType"}},Ke=class extends we{constructor(t){super(),A(this,"nodeType",1),A(this,"RRNodeType",B.Element),A(this,"tagName"),A(this,"attributes",{}),A(this,"shadowRoot",null),A(this,"scrollLeft"),A(this,"scrollTop"),this.tagName=t.toUpperCase(),this.nodeName=t.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(r=>t+=r.textContent),t}set textContent(t){this.firstChild=null,this.lastChild=null,this.appendChild(this.ownerDocument.createTextNode(t))}get classList(){return new Ei(this.attributes.class,t=>{this.attributes.class=t})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){let t=this.attributes.style?bu(this.attributes.style):{},r=/\B([A-Z])/g;return t.setProperty=(s,i,a)=>{if(r.test(s))return;let n=vi(s);i?t[n]=i:delete t[n],a==="important"&&(t[n]+=" !important"),this.attributes.style=Ln(t)},t.removeProperty=s=>{if(r.test(s))return"";let i=vi(s),a=t[i]||"";return delete t[i],this.attributes.style=Ln(t),a},t}getAttribute(t){return this.attributes[t]===void 0?null:this.attributes[t]}setAttribute(t,r){this.attributes[t]=r}setAttributeNS(t,r,s){this.setAttribute(r,s)}removeAttribute(t){delete this.attributes[t]}appendChild(t){return as(this,t)}insertBefore(t,r){return ko(this,t,r)}removeChild(t){return To(this,t)}attachShadow(t){let r=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=r,r}dispatchEvent(t){return!0}toString(){let t="";for(let r in this.attributes)t+=`${r}="${this.attributes[r]}" `;return`${this.tagName} ${t}`}},Ci=class extends Ke{constructor(){super(...arguments),A(this,"currentTime"),A(this,"volume"),A(this,"paused"),A(this,"muted"),A(this,"playbackRate"),A(this,"loop")}attachShadow(t){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}},xi=class extends Ke{constructor(){super(...arguments),A(this,"tagName","DIALOG"),A(this,"nodeName","DIALOG")}get isModal(){return this.getAttribute("rr_open_mode")==="modal"}get open(){return this.getAttribute("open")!==null}close(){this.removeAttribute("open"),this.removeAttribute("rr_open_mode")}show(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","non-modal")}showModal(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","modal")}},Ft=class extends we{constructor(t){super(),A(this,"nodeType",3),A(this,"nodeName","#text"),A(this,"RRNodeType",B.Text),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRText text=${JSON.stringify(this.data)}`}},Ut=class extends we{constructor(t){super(),A(this,"nodeType",8),A(this,"nodeName","#comment"),A(this,"RRNodeType",B.Comment),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRComment text=${JSON.stringify(this.data)}`}},$t=class extends we{constructor(t){super(),A(this,"nodeName","#cdata-section"),A(this,"nodeType",4),A(this,"RRNodeType",B.CDATA),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}},Ei=class{constructor(t,r){if(A(this,"onChange"),A(this,"classes",[]),A(this,"add",(...s)=>{for(let i of s){let a=String(i);this.classes.indexOf(a)>=0||this.classes.push(a)}this.onChange&&this.onChange(this.classes.join(" "))}),A(this,"remove",(...s)=>{this.classes=this.classes.filter(i=>s.indexOf(i)===-1),this.onChange&&this.onChange(this.classes.join(" "))}),t){let s=t.trim().split(/\s+/);this.classes.push(...s)}this.onChange=r}};function as(e,t){return t.parentNode&&t.parentNode.removeChild(t),e.lastChild?(e.lastChild.nextSibling=t,t.previousSibling=e.lastChild):(e.firstChild=t,t.previousSibling=null),e.lastChild=t,t.nextSibling=null,t.parentNode=e,t.parentElement=e,t.ownerDocument=e.ownerDocument,t}function ko(e,t,r){if(!r)return as(e,t);if(r.parentNode!==e)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return t===r||(t.parentNode&&t.parentNode.removeChild(t),t.previousSibling=r.previousSibling,r.previousSibling=t,t.nextSibling=r,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,t.parentElement=e,t.parentNode=e,t.ownerDocument=e.ownerDocument),t}function To(e,t){if(t.parentNode!==e)throw new Error("Failed to execute 'removeChild' on 'RRNode': The RRNode to be removed is not a child of this RRNode.");return t.previousSibling?t.previousSibling.nextSibling=t.nextSibling:e.firstChild=t.nextSibling,t.nextSibling?t.nextSibling.previousSibling=t.previousSibling:e.lastChild=t.previousSibling,t.previousSibling=null,t.nextSibling=null,t.parentElement=null,t.parentNode=null,t}var he=(e=>(e[e.PLACEHOLDER=0]="PLACEHOLDER",e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE",e[e.DOCUMENT_NODE=9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",e))(he||{}),Mi={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},Eu={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"},Se=null;function Bt(e,t,r,s=t.mirror||t.ownerDocument.mirror){e=Mu(e,t,r,s),_o(e,t,r,s),Ru(e,t,r)}function Mu(e,t,r,s){var i;if(r.afterAppend&&!Se&&(Se=new WeakSet,setTimeout(()=>{Se=null},0)),!ls(e,t)){let a=zt(t,r.mirror,s);(i=e.parentNode)==null||i.replaceChild(a,e),e=a}switch(t.RRNodeType){case B.Document:{if(!qe(e,t,r.mirror,s)){let a=s.getMeta(t);a&&(r.mirror.removeNodeFromMap(e),e.close(),e.open(),r.mirror.add(e,a),Se?.add(e))}break}case B.Element:{let a=e,n=t;switch(n.tagName){case"IFRAME":{let u=e.contentDocument;if(!u)break;Bt(u,t.contentDocument,r,s);break}}n.shadowRoot&&(a.shadowRoot||a.attachShadow({mode:"open"}),_o(a.shadowRoot,n.shadowRoot,r,s)),Nu(a,n,s);break}}return e}function Ru(e,t,r){var s;switch(t.RRNodeType){case B.Document:{let i=t.scrollData;i&&r.applyScroll(i,!0);break}case B.Element:{let i=e,a=t;switch(a.scrollData&&r.applyScroll(a.scrollData,!0),a.inputData&&r.applyInput(a.inputData),a.tagName){case"AUDIO":case"VIDEO":{let n=e,u=a;u.paused!==void 0&&(u.paused?n.pause():n.play()),u.muted!==void 0&&(n.muted=u.muted),u.volume!==void 0&&(n.volume=u.volume),u.currentTime!==void 0&&(n.currentTime=u.currentTime),u.playbackRate!==void 0&&(n.playbackRate=u.playbackRate),u.loop!==void 0&&(n.loop=u.loop);break}case"CANVAS":{let n=t;if(n.rr_dataURL!==null){let u=document.createElement("img");u.onload=()=>{let l=i.getContext("2d");l&&l.drawImage(u,0,0,u.width,u.height)},u.src=n.rr_dataURL}n.canvasMutations.forEach(u=>r.applyCanvas(u.event,u.mutation,e));break}case"STYLE":{let n=i.sheet;n&&t.rules.forEach(u=>r.applyStyleSheetMutation(u,n));break}case"DIALOG":{let n=i,u=a,l=n.open,c=n.matches("dialog:modal"),o=u.open,d=u.isModal,f=c!==d,h=l!==o;if((f||l&&h)&&n.close(),o&&(h||f))try{d?n.showModal():n.show()}catch(m){console.warn(m)}break}}break}case B.Text:case B.Comment:case B.CDATA:{e.textContent!==t.data&&(e.textContent=t.data);break}}Se?.has(e)&&(Se.delete(e),(s=r.afterAppend)==null||s.call(r,e,r.mirror.getId(e)))}function Nu(e,t,r){let s=e.attributes,i=t.attributes;for(let a in i){let n=i[a],u=r.getMeta(t);if(u?.isSVG&&Mi[a])e.setAttributeNS(Mi[a],a,n);else if(t.tagName==="CANVAS"&&a==="rr_dataURL"){let l=document.createElement("img");l.src=n,l.onload=()=>{let c=e.getContext("2d");c&&c.drawImage(l,0,0,l.width,l.height)}}else{if(t.tagName==="IFRAME"&&a==="srcdoc")continue;try{e.setAttribute(a,n)}catch(l){console.warn(l)}}}for(let{name:a}of Array.from(s))a in i||e.removeAttribute(a);t.scrollLeft&&(e.scrollLeft=t.scrollLeft),t.scrollTop&&(e.scrollTop=t.scrollTop)}function _o(e,t,r,s){let i=Array.from(e.childNodes),a=t.childNodes;if(i.length===0&&a.length===0)return;let n=0,u=i.length-1,l=0,c=a.length-1,o=i[n],d=i[u],f=a[l],h=a[c],m,p;for(;n<=u&&l<=c;)if(o===void 0)o=i[++n];else if(d===void 0)d=i[--u];else if(qe(o,f,r.mirror,s))o=i[++n],f=a[++l];else if(qe(d,h,r.mirror,s))d=i[--u],h=a[--c];else if(qe(o,h,r.mirror,s)){try{e.insertBefore(o,d.nextSibling)}catch(y){console.warn(y)}o=i[++n],h=a[--c]}else if(qe(d,f,r.mirror,s)){try{e.insertBefore(d,o)}catch(y){console.warn(y)}d=i[--u],f=a[++l]}else{if(!m){m={};for(let w=n;w<=u;w++){let C=i[w];C&&r.mirror.hasNode(C)&&(m[r.mirror.getId(C)]=w)}}p=m[s.getId(f)];let y=i[p];if(p!==void 0&&y&&qe(y,f,r.mirror,s)){try{e.insertBefore(y,o)}catch(w){console.warn(w)}i[p]=void 0}else{let w=zt(f,r.mirror,s);e.nodeName==="#document"&&o&&(w.nodeType===w.DOCUMENT_TYPE_NODE&&o.nodeType===o.DOCUMENT_TYPE_NODE||w.nodeType===w.ELEMENT_NODE&&o.nodeType===o.ELEMENT_NODE)&&(e.removeChild(o),r.mirror.removeNodeFromMap(o),o=i[++n]);try{e.insertBefore(w,o||null)}catch(C){console.warn(C)}}f=a[++l]}if(n>u){let y=a[c+1],w=null;for(y&&(w=r.mirror.getNode(s.getId(y)));l<=c;++l){let C=zt(a[l],r.mirror,s);try{e.insertBefore(C,w)}catch(v){console.warn(v)}}}else if(l>c)for(;n<=u;n++){let y=i[n];if(!(!y||y.parentNode!==e))try{e.removeChild(y),r.mirror.removeNodeFromMap(y)}catch(w){console.warn(w)}}let g=e.firstChild,b=t.firstChild;for(;g!==null&&b!==null;)Bt(g,b,r,s),g=g.nextSibling,b=b.nextSibling}function zt(e,t,r){let s=r.getId(e),i=r.getMeta(e),a=null;if(s>-1&&(a=t.getNode(s)),a!==null&&ls(a,e))return a;switch(e.RRNodeType){case B.Document:a=new Document;break;case B.DocumentType:a=document.implementation.createDocumentType(e.name,e.publicId,e.systemId);break;case B.Element:{let n=e.tagName.toLowerCase();n=Eu[n]||n,i&&"isSVG"in i&&i?.isSVG?a=document.createElementNS(Mi.svg,n):a=document.createElement(e.tagName);break}case B.Text:a=document.createTextNode(e.data);break;case B.Comment:a=document.createComment(e.data);break;case B.CDATA:a=document.createCDATASection(e.data);break}i&&t.add(a,{...i});try{Se?.add(a)}catch{}return a}function ls(e,t){return e.nodeType!==t.nodeType?!1:e.nodeType!==e.ELEMENT_NODE||e.tagName.toUpperCase()===t.tagName}function qe(e,t,r,s){let i=r.getId(e),a=s.getId(t);return i===-1||i!==a?!1:ls(e,t)}var Ze=class e extends Si{constructor(t){super(),A(this,"UNSERIALIZED_STARTING_ID",-2),A(this,"_unserializedId",this.UNSERIALIZED_STARTING_ID),A(this,"mirror",_u()),A(this,"scrollData",null),t&&(this.mirror=t)}get unserializedId(){return this._unserializedId--}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Ou(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=t.toUpperCase(),s;switch(r){case"AUDIO":case"VIDEO":s=new Ri(r);break;case"IFRAME":s=new Ai(r,this.mirror);break;case"CANVAS":s=new Oi(r);break;case"STYLE":s=new Ii(r);break;case"DIALOG":s=new Ni(r);break;default:s=new et(r);break}return s.ownerDocument=this,s}createComment(t){let r=new Au(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new Du(t);return r.ownerDocument=this,r}createTextNode(t){let r=new Iu(t);return r.ownerDocument=this,r}destroyTree(){this.firstChild=null,this.lastChild=null,this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}},Ou=Lt,et=class extends Ke{constructor(){super(...arguments),A(this,"inputData",null),A(this,"scrollData",null)}},Ri=class extends Ci{},Ni=class extends xi{},Oi=class extends et{constructor(){super(...arguments),A(this,"rr_dataURL",null),A(this,"canvasMutations",[])}getContext(){return null}},Ii=class extends et{constructor(){super(...arguments),A(this,"rules",[])}},Ai=class extends et{constructor(t,r){super(t),A(this,"contentDocument",new Ze),this.contentDocument.mirror=r}},Iu=Ft,Au=Ut,Du=$t;function ku(e){return e instanceof HTMLFormElement?"FORM":e.tagName.toUpperCase()}function Po(e,t,r,s){let i;switch(e.nodeType){case he.DOCUMENT_NODE:s&&s.nodeName==="IFRAME"?i=s.contentDocument:(i=t,i.compatMode=e.compatMode);break;case he.DOCUMENT_TYPE_NODE:{let n=e;i=t.createDocumentType(n.name,n.publicId,n.systemId);break}case he.ELEMENT_NODE:{let n=e,u=ku(n);i=t.createElement(u);let l=i;for(let{name:c,value:o}of Array.from(n.attributes))l.attributes[c]=o;n.scrollLeft&&(l.scrollLeft=n.scrollLeft),n.scrollTop&&(l.scrollTop=n.scrollTop);break}case he.TEXT_NODE:i=t.createTextNode(e.textContent||"");break;case he.CDATA_SECTION_NODE:i=t.createCDATASection(e.data);break;case he.COMMENT_NODE:i=t.createComment(e.textContent||"");break;case he.DOCUMENT_FRAGMENT_NODE:i=s.attachShadow({mode:"open"});break;default:return null}let a=r.getMeta(e);return t instanceof Ze&&(a||(a=Lo(i,t.unserializedId),r.add(e,a)),t.mirror.add(i,{...a})),i}function Tu(e,t=nu(),r=new Ze){function s(i,a){let n=Po(i,r,t,a);if(n!==null)if(a?.nodeName!=="IFRAME"&&i.nodeType!==he.DOCUMENT_FRAGMENT_NODE&&(a?.appendChild(n),n.parentNode=a,n.parentElement=a),i.nodeName==="IFRAME"){let u=i.contentDocument;u&&s(u,n)}else(i.nodeType===he.DOCUMENT_NODE||i.nodeType===he.ELEMENT_NODE||i.nodeType===he.DOCUMENT_FRAGMENT_NODE)&&(i.nodeType===he.ELEMENT_NODE&&i.shadowRoot&&s(i.shadowRoot,n),i.childNodes.forEach(u=>s(u,n)))}return s(e,null),r}function _u(){return new Di}var Di=class{constructor(){A(this,"idNodeMap",new Map),A(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function Lo(e,t){switch(e.RRNodeType){case B.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case B.DocumentType:{let r=e;return{id:t,type:e.RRNodeType,name:r.name,publicId:r.publicId,systemId:r.systemId}}case B.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case B.Text:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}var Fn={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Un={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Rt={},Fo={},Pu=()=>!!globalThis.Zone;function us(e){if(Rt[e])return Rt[e];let t=globalThis[e],r=t.prototype,s=e in Fn?Fn[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Un?Un[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!Pu())return Rt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),Fo[e]=()=>u.remove()):u.remove(),Rt[e]=c}catch{return r}}var di={};function Oe(e,t,r){var s;let i=`${e}.${String(r)}`;if(di[i])return di[i].call(t);let a=us(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(di[i]=n,n.call(t)):t[r]}var pi={};function Uo(e,t,r){let s=`${e}.${String(r)}`;if(pi[s])return pi[s].bind(t);let a=us(e)[r];return typeof a!="function"?t[r]:(pi[s]=a,a.bind(t))}function Lu(e){return Oe("Node",e,"ownerDocument")}function Fu(e){return Oe("Node",e,"childNodes")}function Uu(e){return Oe("Node",e,"parentNode")}function $u(e){return Oe("Node",e,"parentElement")}function Bu(e){return Oe("Node",e,"textContent")}function zu(e,t){return Uo("Node",e,"contains")(t)}function Wu(e){return Uo("Node",e,"getRootNode")()}function ju(e){return!e||!("host"in e)?null:Oe("ShadowRoot",e,"host")}function Vu(e){return e.styleSheets}function qu(e){return!e||!("shadowRoot"in e)?null:Oe("Element",e,"shadowRoot")}function Gu(e,t){return Oe("Element",e,"querySelector")(t)}function Hu(e,t){return Oe("Element",e,"querySelectorAll")(t)}function $o(){return[us("MutationObserver").constructor,Fo.MutationObserver??(()=>{})]}var dt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(dt=()=>new Date().getTime());function We(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var $={ownerDocument:Lu,childNodes:Fu,parentNode:Uu,parentElement:$u,textContent:Bu,contains:zu,getRootNode:Wu,host:ju,styleSheets:Vu,shadowRoot:qu,querySelector:Gu,querySelectorAll:Hu,nowTimestamp:dt,mutationObserverCtor:$o,patch:We};function le(e,t,r=document){let s={capture:!0,passive:!0};return r.addEventListener(e,t,s),()=>r.removeEventListener(e,t,s)}var Ge=`Please stop import mirror directly. Instead of that,\r
    155155now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
    156 or you can use record.mirror to access the mirror instance during recording.`,$n={map:{},getId(){return console.error(Ge),-1},getNode(){return console.error(Ge),null},removeNodeFromMap(){console.error(Ge)},has(){return console.error(Ge),!1},reset(){console.error(Ge)}};typeof window<"u"&&window.Proxy&&window.Reflect&&($n=new Proxy($n,{get(e,t,r){return t==="map"&&console.error(Ge),Reflect.get(e,t,r)}}));function pt(e,t,r={}){let s=null,i=0;return function(...a){let n=Date.now();!i&&r.leading===!1&&(i=n);let u=t-(n-i),l=this;u<=0||u>t?(s&&(clearTimeout(s),s=null),i=n,e.apply(l,a)):!s&&r.trailing!==!1&&(s=setTimeout(()=>{i=r.leading===!1?0:Date.now(),s=null,e.apply(l,a)},u))}}function nr(e,t,r,s,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,s?r:{set(n){setTimeout(()=>{r.set.call(this,n)},0),a&&a.set&&a.set.call(this,n)}}),()=>nr(e,t,a||{},!0)}function Bo(e){var t,r,s,i;let a=e.document;return{left:a.scrollingElement?a.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:a.documentElement.scrollLeft||a?.body&&((t=$.parentElement(a.body))==null?void 0:t.scrollLeft)||((r=a?.body)==null?void 0:r.scrollLeft)||0,top:a.scrollingElement?a.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:a?.documentElement.scrollTop||a?.body&&((s=$.parentElement(a.body))==null?void 0:s.scrollTop)||((i=a?.body)==null?void 0:i.scrollTop)||0}}function zo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Wo(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function jo(e){return e?e.nodeType===e.ELEMENT_NODE?e:$.parentElement(e):null}function ue(e,t,r,s){if(!e)return!1;let i=jo(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||s&&i.closest("."+t)!==null)return!0}else if(Lt(i,t,s))return!0}catch{}return!!(r&&(i.matches(r)||s&&i.closest(r)!==null))}function Hu(e,t){return t.getId(e)!==-1}function mi(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===ht}function Vo(e,t){if(ot(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let s=$.parentNode(e);return s&&s.nodeType===e.DOCUMENT_NODE?!1:s?Vo(s,t):!0}function ki(e){return!!e.changedTouches}function qo(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Yu(e){let t={},r=(i,a)=>{let n={value:i,parent:a,children:[]};return t[i.node.id]=n,n},s=[];for(let i of e){let{nextId:a,parentId:n}=i;if(a&&a in t){let u=t[a];if(u.parent){let l=u.parent.children.indexOf(u);u.parent.children.splice(l,0,r(i,u.parent))}else{let l=s.indexOf(u);s.splice(l,0,r(i,null))}continue}if(n in t){let u=t[n];u.children.push(r(i,u));continue}s.push(r(i,null))}return s}function Go(e,t){t(e.value);for(let r=e.children.length-1;r>=0;r--)Go(e.children[r],t)}function ut(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Ho(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yo(e,t){var r,s;let i=(s=(r=e.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.frameElement;if(!i||i===t)return{x:0,y:0,relativeScale:1,absoluteScale:1};let a=i.getBoundingClientRect(),n=Yo(i,t),u=a.height/i.clientHeight;return{x:a.x*n.relativeScale+n.x,y:a.y*n.relativeScale+n.y,relativeScale:u,absoluteScale:n.absoluteScale*u}}function Ue(e){return e?e instanceof we&&"shadowRoot"in e?!!e.shadowRoot:!!$.shadowRoot(e):!1}function st(e,t){let r=e?.[t[0]];return r?t.length===1?r:st(r.cssRules,t.slice(1)):null}function Bn(e){let t=[...e],r=t.pop();return{positions:t,index:r}}function Xu(e){let t=new Set,r=[];for(let s=e.length;s--;){let i=e[s];t.has(i.id)||(r.push(i),t.add(i.id))}return r}var Wt=class{constructor(){R(this,"id",1),R(this,"styleIDMap",new WeakMap),R(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let s;return r===void 0?s=this.id++:s=r,this.styleIDMap.set(t,s),this.idStyleMap.set(s,t),s}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Xo(e){var t;let r=null;return"getRootNode"in e&&((t=$.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&$.host($.getRootNode(e))&&(r=$.host($.getRootNode(e))),r}function Ju(e){let t=e,r;for(;r=Xo(t);)t=r;return t}function Qu(e){let t=$.ownerDocument(e);if(!t)return!1;let r=Ju(e);return $.contains(t,r)}function Jo(e){let t=$.ownerDocument(e);return t?$.contains(t,e)||Qu(e):!1}var T=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(T||{}),D=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(D||{}),q=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(q||{}),xe=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(xe||{}),Re=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Re||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{}),V=(e=>(e.Start="start",e.Pause="pause",e.Resume="resume",e.Resize="resize",e.Finish="finish",e.FullsnapshotRebuilded="fullsnapshot-rebuilded",e.LoadStylesheetStart="load-stylesheet-start",e.LoadStylesheetEnd="load-stylesheet-end",e.SkipStart="skip-start",e.SkipEnd="skip-end",e.MouseInteraction="mouse-interaction",e.EventCast="event-cast",e.CustomEvent="custom-event",e.Flush="flush",e.StateChange="state-change",e.PlayBack="play-back",e.Destroy="destroy",e))(V||{}),Ee=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Ee||{});function zn(e){return"__ln"in e}var Ti=class{constructor(){R(this,"length",0),R(this,"head",null),R(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let s=0;s<t;s++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&zn(t.previousSibling)){let s=t.previousSibling.__ln.next;r.next=s,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,s&&(s.previous=r)}else if(t.nextSibling&&zn(t.nextSibling)&&t.nextSibling.__ln.previous){let s=t.nextSibling.__ln.previous;r.previous=s,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,s&&(s.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Wn=(e,t)=>`${e}@${t}`,_i=class{constructor(){R(this,"frozen",!1),R(this,"locked",!1),R(this,"texts",[]),R(this,"attributes",[]),R(this,"attributeMap",new WeakMap),R(this,"removes",[]),R(this,"mapRemoves",[]),R(this,"movedMap",{}),R(this,"addedSet",new Set),R(this,"movedSet",new Set),R(this,"droppedSet",new Set),R(this,"removesSubTreeCache",new Set),R(this,"mutationCb"),R(this,"blockClass"),R(this,"blockSelector"),R(this,"maskTextClass"),R(this,"maskTextSelector"),R(this,"inlineStylesheet"),R(this,"maskInputOptions"),R(this,"maskTextFn"),R(this,"maskInputFn"),R(this,"keepIframeSrcFn"),R(this,"recordCanvas"),R(this,"inlineImages"),R(this,"slimDOMOptions"),R(this,"dataURLOptions"),R(this,"doc"),R(this,"mirror"),R(this,"iframeManager"),R(this,"stylesheetManager"),R(this,"shadowDomManager"),R(this,"canvasManager"),R(this,"processedNodeManager"),R(this,"unattachedDoc"),R(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),R(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,s=new Ti,i=l=>{let c=l,o=ht;for(;o===ht;)c=c&&c.nextSibling,o=c&&this.mirror.getId(c);return o},a=l=>{let c=$.parentNode(l);if(!c||!Jo(l))return;let o=!1;if(l.nodeType===Node.TEXT_NODE){let m=c.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(c)&&(o=!0)}let d=ot(c)?this.mirror.getId(Xo(l)):this.mirror.getId(c),f=i(l);if(d===-1||f===-1)return s.addNode(l);let h=Xe(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{ut(m,this.mirror)&&this.iframeManager.addIframe(m),Ho(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ue(l)&&this.shadowDomManager.addShadowRoot($.shadowRoot(l),this.doc)},onIframeLoad:(m,p)=>{this.iframeManager.attachIframe(m,p),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,p)=>{this.stylesheetManager.attachLinkElement(m,p)},cssCaptured:o});h&&(t.push({parentId:d,nextId:f,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)jn(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has($.parentNode(l))||a(l);for(let l of this.addedSet)!Vn(this.droppedSet,l)&&!jn(this.removesSubTreeCache,l,this.mirror)||Vn(this.movedSet,l)?a(l):this.droppedSet.add(l);let n=null;for(;s.length;){let l=null;if(n){let c=this.mirror.getId($.parentNode(n.value)),o=i(n.value);c!==-1&&o!==-1&&(l=n)}if(!l){let c=s.tail;for(;c;){let o=c;if(c=c.previous,o){let d=this.mirror.getId($.parentNode(o.value));if(i(o.value)===-1)continue;if(d!==-1){l=o;break}else{let h=o.value,m=$.parentNode(h);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let p=$.host(m);if(this.mirror.getId(p)!==-1){l=o;break}}}}}}if(!l){for(;s.head;)s.removeNode(s.head.value);break}n=l.previous,s.removeNode(l.value),a(l.value)}let u={texts:this.texts.map(l=>{let c=l.node,o=$.parentNode(c);return o&&o.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(o),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let o=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);o.length<c.style.length&&(o+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),R(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let s=Array.from($.childNodes(t),i=>$.textContent(i)||"").join("");r.attributes.value=kt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Tt(t),value:s,maskInputFn:this.maskInputFn})}),R(this,"processMutation",t=>{if(!mi(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=$.textContent(t.target);!ue(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:mo(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,jo(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,s=Me(r.tagName),i=t.attributeName,a=t.target.getAttribute(i);if(i==="value"){let u=Tt(r);a=kt({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:u,value:a,maskInputFn:this.maskInputFn})}if(ue(t.target,this.blockClass,this.blockSelector,!1)||a===t.oldValue)return;let n=this.attributeMap.get(t.target);if(s==="iframe"&&i==="src"&&!this.keepIframeSrcFn(a))if(!r.contentDocument)i="rr_src";else return;if(n||(n={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(t.target,n)),i==="type"&&s==="input"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!po(s,i))if(n.attributes[i]=ho(this.doc,s,Me(i),a),i==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let u=this.unattachedDoc.createElement("span");t.oldValue&&u.setAttribute("style",t.oldValue);for(let l of Array.from(r.style)){let c=r.style.getPropertyValue(l),o=r.style.getPropertyPriority(l);c!==u.style.getPropertyValue(l)||o!==u.style.getPropertyPriority(l)?o===""?n.styleDiff[l]=c:n.styleDiff[l]=[c,o]:n._unchangedStyles[l]=[c,o]}for(let l of Array.from(u.style))r.style.getPropertyValue(l)===""&&(n.styleDiff[l]=!1)}else i==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":{if(ue(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let s=this.mirror.getId(r),i=ot(t.target)?this.mirror.getId($.host(t.target)):this.mirror.getId(t.target);ue(t.target,this.blockClass,this.blockSelector,!1)||mi(r,this.mirror,this.slimDOMOptions)||!Hu(r,this.mirror)||(this.addedSet.has(r)?(Li(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&s===-1||Vo(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Wn(s,i)]?Li(this.movedSet,r):(this.removes.push({parentId:i,id:s,isShadow:ot(t.target)&&at(t.target)?!0:void 0}),Ku(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),R(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mi(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let s=null;r&&this.mirror.hasNode(r)&&(s=this.mirror.getId(r)),s&&s!==-1&&(this.movedMap[Wn(this.mirror.getId(t),s)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ue(t,this.blockClass,this.blockSelector,!1)||($.childNodes(t).forEach(s=>this.genAdds(s)),Ue(t)&&$.childNodes($.shadowRoot(t)).forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function Li(e,t){e.delete(t),$.childNodes(t).forEach(r=>Li(e,r))}function Ku(e,t){let r=[e];for(;r.length;){let s=r.pop();t.has(s)||(t.add(s),$.childNodes(s).forEach(i=>r.push(i)))}}function jn(e,t,r){return e.size===0?!1:Zu(e,t)}function Zu(e,t,r){let s=$.parentNode(t);return s?e.has(s):!1}function Vn(e,t){return e.size===0?!1:Qo(e,t)}function Qo(e,t){let r=$.parentNode(t);return r?e.has(r)?!0:Qo(e,r):!1}var ct;function ec(e){ct=e}function tc(){ct=void 0}var W=e=>ct?(...r)=>{try{return e(...r)}catch(s){if(ct&&ct(s)===!0)return;throw s}}:e,$e=[];function yt(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ko(e,t){let r=new _i;$e.push(r),r.init(e);let[s,i]=$o(),a=new s(W(r.processMutations.bind(r)));return a.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[a,i]}function rc({mousemoveCb:e,sampling:t,doc:r,mirror:s}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,a=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,n=[],u,l=pt(W(d=>{let f=Date.now()-u;e(n.map(h=>(h.timeOffset-=f,h)),d),n=[],u=null}),a),c=W(pt(W(d=>{let f=yt(d),{clientX:h,clientY:m}=ki(d)?d.changedTouches[0]:d;u||(u=dt()),n.push({x:h,y:m,id:s.getId(f),timeOffset:dt()-u}),l(typeof DragEvent<"u"&&d instanceof DragEvent?D.Drag:d instanceof MouseEvent?D.MouseMove:D.TouchMove)}),i,{trailing:!1})),o=[le("mousemove",c,r),le("touchmove",c,r),le("drag",c,r)];return W(()=>{o.forEach(d=>d())})}function ic({mouseInteractionCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){if(a.mouseInteraction===!1)return()=>{};let n=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,u=[],l=null,c=o=>d=>{let f=yt(d);if(ue(f,s,i,!0))return;let h=null,m=o;if("pointerType"in d){switch(d.pointerType){case"mouse":h=xe.Mouse;break;case"touch":h=xe.Touch;break;case"pen":h=xe.Pen;break}h===xe.Touch?q[o]===q.MouseDown?m="TouchStart":q[o]===q.MouseUp&&(m="TouchEnd"):xe.Pen}else ki(d)&&(h=xe.Touch);h!==null?(l=h,(m.startsWith("Touch")&&h===xe.Touch||m.startsWith("Mouse")&&h===xe.Mouse)&&(h=null)):q[o]===q.Click&&(h=l,l=null);let p=ki(d)?d.changedTouches[0]:d;if(!p)return;let g=r.getId(f),{clientX:b,clientY:y}=p;W(e)({type:q[m],id:g,x:b,y,...h!==null&&{pointerType:h}})};return Object.keys(q).filter(o=>Number.isNaN(Number(o))&&!o.endsWith("_Departed")&&n[o]!==!1).forEach(o=>{let d=Me(o),f=c(o);if(window.PointerEvent)switch(q[o]){case q.MouseDown:case q.MouseUp:d=d.replace("mouse","pointer");break;case q.TouchStart:case q.TouchEnd:return}u.push(le(d,f,t))}),W(()=>{u.forEach(o=>o())})}function Zo({scrollCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){let n=W(pt(W(u=>{let l=yt(u);if(!l||ue(l,s,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let o=Bo(t.defaultView);e({id:c,x:o.left,y:o.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),a.scroll||100));return le("scroll",n,t)}function sc({viewportResizeCb:e},{win:t}){let r=-1,s=-1,i=W(pt(W(()=>{let a=zo(),n=Wo();(r!==a||s!==n)&&(e({width:Number(n),height:Number(a)}),r=a,s=n)}),200));return le("resize",i,t)}var nc=["INPUT","TEXTAREA","SELECT"],qn=new WeakMap;function oc({inputCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,ignoreClass:a,ignoreSelector:n,maskInputOptions:u,maskInputFn:l,sampling:c,userTriggeredOnInput:o}){function d(y){let w=yt(y),C=y.isTrusted,v=w&&w.tagName;if(w&&v==="OPTION"&&(w=$.parentElement(w)),!w||!v||nc.indexOf(v)<0||ue(w,s,i,!0)||w.classList.contains(a)||n&&w.matches(n))return;let S=w.value,x=!1,M=Tt(w)||"";M==="radio"||M==="checkbox"?x=w.checked:(u[v.toLowerCase()]||u[M])&&(S=kt({element:w,maskInputOptions:u,tagName:v,type:M,value:S,maskInputFn:l})),f(w,o?{text:S,isChecked:x,userTriggered:C}:{text:S,isChecked:x});let I=w.name;M==="radio"&&I&&x&&t.querySelectorAll(`input[type="radio"][name="${I}"]`).forEach(N=>{if(N!==w){let F=N.value;f(N,o?{text:F,isChecked:!x,userTriggered:!1}:{text:F,isChecked:!x})}})}function f(y,w){let C=qn.get(y);if(!C||C.text!==w.text||C.isChecked!==w.isChecked){qn.set(y,w);let v=r.getId(y);W(e)({...w,id:v})}}let m=(c.input==="last"?["change"]:["input","change"]).map(y=>le(y,W(d),t)),p=t.defaultView;if(!p)return()=>{m.forEach(y=>y())};let g=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),b=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...b.map(y=>nr(y[0],y[1],{set(){W(d)({target:this,isTrusted:!1})}},!1,p))),W(()=>{m.forEach(y=>y())})}function jt(e){let t=[];function r(s,i){if(Nt("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Nt("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Nt("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Nt("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){let n=Array.from(s.parentRule.cssRules).indexOf(s);return i.unshift(n),r(s.parentRule,i)}else if(s.parentStyleSheet){let n=Array.from(s.parentStyleSheet.cssRules).indexOf(s);i.unshift(n)}return i}return r(e,t)}function ke(e,t,r){let s,i;return e?(e.ownerNode?s=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:s}):{}}function ac({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};let i=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:W((o,d,f)=>{let[h,m]=f,{id:p,styleId:g}=ke(d,t,r.styleMirror);return(p&&p!==-1||g&&g!==-1)&&e({id:p,styleId:g,adds:[{rule:h,index:m}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.addRule=function(o,d,f=this.cssRules.length){let h=`${o} { ${d} }`;return s.CSSStyleSheet.prototype.insertRule.apply(this,[h,f])};let a=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(a,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,removes:[{index:h}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.removeRule=function(o){return s.CSSStyleSheet.prototype.deleteRule.apply(this,[o])};let n;s.CSSStyleSheet.prototype.replace&&(n=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(n,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replace:h}),o.apply(d,f)})}));let u;s.CSSStyleSheet.prototype.replaceSync&&(u=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replaceSync:h}),o.apply(d,f)})}));let l={};Ot("CSSGroupingRule")?l.CSSGroupingRule=s.CSSGroupingRule:(Ot("CSSMediaRule")&&(l.CSSMediaRule=s.CSSMediaRule),Ot("CSSConditionRule")&&(l.CSSConditionRule=s.CSSConditionRule),Ot("CSSSupportsRule")&&(l.CSSSupportsRule=s.CSSSupportsRule));let c={};return Object.entries(l).forEach(([o,d])=>{c[o]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[o].insertRule,{apply:W((f,h,m)=>{let[p,g]=m,{id:b,styleId:y}=ke(h.parentStyleSheet,t,r.styleMirror);return(b&&b!==-1||y&&y!==-1)&&e({id:b,styleId:y,adds:[{rule:p,index:[...jt(h),g||0]}]}),f.apply(h,m)})}),d.prototype.deleteRule=new Proxy(c[o].deleteRule,{apply:W((f,h,m)=>{let[p]=m,{id:g,styleId:b}=ke(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||b&&b!==-1)&&e({id:g,styleId:b,removes:[{index:[...jt(h),p]}]}),f.apply(h,m)})})}),W(()=>{s.CSSStyleSheet.prototype.insertRule=i,s.CSSStyleSheet.prototype.deleteRule=a,n&&(s.CSSStyleSheet.prototype.replace=n),u&&(s.CSSStyleSheet.prototype.replaceSync=u),Object.entries(l).forEach(([o,d])=>{d.prototype.insertRule=c[o].insertRule,d.prototype.deleteRule=c[o].deleteRule})})}function ea({mirror:e,stylesheetManager:t},r){var s,i,a;let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId($.host(r));let u=r.nodeName==="#document"?(s=r.defaultView)==null?void 0:s.Document:(a=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:a.ShadowRoot,l=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!u||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var o;let d=(o=l.set)==null?void 0:o.call(this,c);if(n!==null&&n!==-1)try{t.adoptStyleSheets(c,n)}catch{}return d}}),W(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function lc({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:s},{win:i}){let a=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(a,{apply:W((u,l,c)=>{var o;let[d,f,h]=c;if(r.has(d))return a.apply(l,[d,f,h]);let{id:m,styleId:p}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,set:{property:d,value:f,priority:h},index:jt(l.parentRule)}),u.apply(l,c)})});let n=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(n,{apply:W((u,l,c)=>{var o;let[d]=c;if(r.has(d))return n.apply(l,[d]);let{id:f,styleId:h}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,remove:{property:d},index:jt(l.parentRule)}),u.apply(l,c)})}),W(()=>{i.CSSStyleDeclaration.prototype.setProperty=a,i.CSSStyleDeclaration.prototype.removeProperty=n})}function uc({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:s,sampling:i,doc:a}){let n=W(l=>pt(W(c=>{let o=yt(c);if(!o||ue(o,t,r,!0))return;let{currentTime:d,volume:f,muted:h,playbackRate:m,loop:p}=o;e({type:l,id:s.getId(o),currentTime:d,volume:f,muted:h,playbackRate:m,loop:p})}),i.media||500)),u=[le("play",n(Te.Play),a),le("pause",n(Te.Pause),a),le("seeked",n(Te.Seeked),a),le("volumechange",n(Te.VolumeChange),a),le("ratechange",n(Te.RateChange),a)];return W(()=>{u.forEach(l=>l())})}function cc({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let s=[],i=new WeakMap,a=r.FontFace;r.FontFace=function(l,c,o){let d=new a(l,c,o);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:o,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let n=We(t.fonts,"add",function(u){return function(l){return setTimeout(W(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),u.apply(this,[l])}});return s.push(()=>{r.FontFace=a}),s.push(n),W(()=>{s.forEach(u=>u())})}function fc(e){let{doc:t,mirror:r,blockClass:s,blockSelector:i,selectionCb:a}=e,n=!0,u=W(()=>{let l=t.getSelection();if(!l||n&&l?.isCollapsed)return;n=l.isCollapsed||!1;let c=[],o=l.rangeCount||0;for(let d=0;d<o;d++){let f=l.getRangeAt(d),{startContainer:h,startOffset:m,endContainer:p,endOffset:g}=f;ue(h,s,i,!0)||ue(p,s,i,!0)||c.push({start:r.getId(h),startOffset:m,end:r.getId(p),endOffset:g})}a({ranges:c})});return u(),le("selectionchange",u)}function hc({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:We(r.customElements,"define",function(i){return function(a,n,u){try{t({define:{name:a}})}catch{console.warn(`Custom element callback failed for ${a}`)}return i.apply(this,[a,n,u])}})}function dc(e,t){let{mutationCb:r,mousemoveCb:s,mouseInteractionCb:i,scrollCb:a,viewportResizeCb:n,inputCb:u,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:o,canvasMutationCb:d,fontCb:f,selectionCb:h,customElementCb:m}=e;e.mutationCb=(...p)=>{t.mutation&&t.mutation(...p),r(...p)},e.mousemoveCb=(...p)=>{t.mousemove&&t.mousemove(...p),s(...p)},e.mouseInteractionCb=(...p)=>{t.mouseInteraction&&t.mouseInteraction(...p),i(...p)},e.scrollCb=(...p)=>{t.scroll&&t.scroll(...p),a(...p)},e.viewportResizeCb=(...p)=>{t.viewportResize&&t.viewportResize(...p),n(...p)},e.inputCb=(...p)=>{t.input&&t.input(...p),u(...p)},e.mediaInteractionCb=(...p)=>{t.mediaInteaction&&t.mediaInteaction(...p),l(...p)},e.styleSheetRuleCb=(...p)=>{t.styleSheetRule&&t.styleSheetRule(...p),c(...p)},e.styleDeclarationCb=(...p)=>{t.styleDeclaration&&t.styleDeclaration(...p),o(...p)},e.canvasMutationCb=(...p)=>{t.canvasMutation&&t.canvasMutation(...p),d(...p)},e.fontCb=(...p)=>{t.font&&t.font(...p),f(...p)},e.selectionCb=(...p)=>{t.selection&&t.selection(...p),h(...p)},e.customElementCb=(...p)=>{t.customElement&&t.customElement(...p),m(...p)}}function pc(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};dc(e,t);let s,i=()=>{};e.recordDOM&&([s,i]=Ko(e,e.doc));let a=rc(e),n=ic(e),u=Zo(e),l=sc(e,{win:r}),c=oc(e),o=uc(e),d=()=>{},f=()=>{},h=()=>{},m=()=>{};e.recordDOM&&(d=ac(e,{win:r}),f=ea(e,e.doc),h=lc(e,{win:r}),e.collectFonts&&(m=cc(e)));let p=fc(e),g=hc(e),b=[];for(let y of e.plugins)b.push(y.observer(y.callback,r,y.options));return W(()=>{$e.forEach(y=>y.reset()),s?.disconnect(),i(),a(),n(),u(),l(),c(),o(),d(),f(),h(),m(),p(),g(),b.forEach(y=>y())})}function Nt(e){return typeof window[e]<"u"}function Ot(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Vt=class{constructor(t){R(this,"iframeIdToRemoteIdMap",new WeakMap),R(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,s,i){let a=s||this.getIdToRemoteIdMap(t),n=i||this.getRemoteIdToIdMap(t),u=a.get(r);return u||(u=this.generateIdFn(),a.set(r,u),n.set(u,r)),u}getIds(t,r){let s=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(a=>this.getId(t,a,s,i))}getRemoteId(t,r,s){let i=s||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let a=i.get(r);return a||-1}getRemoteIds(t,r){let s=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,s))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Pi=class{constructor(t){R(this,"iframes",new WeakMap),R(this,"crossOriginIframeMap",new WeakMap),R(this,"crossOriginIframeMirror",new Vt(fo)),R(this,"crossOriginIframeStyleMirror"),R(this,"crossOriginIframeRootIdMap",new WeakMap),R(this,"mirror"),R(this,"mutationCb"),R(this,"wrappedEmit"),R(this,"loadListener"),R(this,"stylesheetManager"),R(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Vt(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let a=this.transformCrossOriginEvent(i,r.data.event);a&&this.wrappedEmit(a,r.data.isCheckout)}transformCrossOriginEvent(t,r){var s;switch(r.type){case T.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:T.IncrementalSnapshot,data:{source:D.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case T.Meta:case T.Load:case T.DomContentLoaded:return!1;case T.Plugin:return r;case T.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case T.IncrementalSnapshot:switch(r.data.source){case D.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let a=this.crossOriginIframeRootIdMap.get(t);a&&this.patchRootIdOnNode(i.node,a)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.Drag:case D.TouchMove:case D.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.ViewportResize:return!1;case D.MediaInteraction:case D.MouseInteraction:case D.Scroll:case D.CanvasMutation:case D.Input:return this.replaceIds(r.data,t,["id"]),r;case D.StyleSheetRule:case D.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case D.Font:return r;case D.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case D.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(s=r.data.styles)==null||s.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,s,i){for(let a of i)!Array.isArray(r[a])&&typeof r[a]!="number"||(Array.isArray(r[a])?r[a]=t.getIds(s,r[a]):r[a]=t.getId(s,r[a]));return r}replaceIds(t,r,s){return this.replace(this.crossOriginIframeMirror,t,r,s)}replaceStyleIds(t,r,s){return this.replace(this.crossOriginIframeStyleMirror,t,r,s)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(s=>{this.replaceIdOnNode(s,r)})}patchRootIdOnNode(t,r){t.type!==Ee.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(s=>{this.patchRootIdOnNode(s,r)})}},Fi=class{constructor(t){R(this,"shadowDoms",new WeakSet),R(this,"mutationCb"),R(this,"scrollCb"),R(this,"bypassOptions"),R(this,"mirror"),R(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!at(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[s]=Ko({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Zo({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId($.host(t))),this.restoreHandlers.push(ea({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let s=this;this.restoreHandlers.push(We(t.prototype,"attachShadow",function(i){return function(a){let n=i.call(this,a),u=$.shadowRoot(this);return u&&Jo(this)&&s.addShadowRoot(u,r),n}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(it=0;it<Je.length;it++)nt[Je.charCodeAt(it)]=it;var it,mc=function(e){var t=new Uint8Array(e),r,s=t.length,i="";for(r=0;r<s;r+=3)i+=Je[t[r]>>2],i+=Je[(t[r]&3)<<4|t[r+1]>>4],i+=Je[(t[r+1]&15)<<2|t[r+2]>>6],i+=Je[t[r+2]&63];return s%3===2?i=i.substring(0,i.length-1)+"=":s%3===1&&(i=i.substring(0,i.length-2)+"=="),i},gc=function(e){var t=e.length*.75,r=e.length,s,i=0,a,n,u,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var c=new ArrayBuffer(t),o=new Uint8Array(c);for(s=0;s<r;s+=4)a=nt[e.charCodeAt(s)],n=nt[e.charCodeAt(s+1)],u=nt[e.charCodeAt(s+2)],l=nt[e.charCodeAt(s+3)],o[i++]=a<<2|n>>4,o[i++]=(n&15)<<4|u>>2,o[i++]=(u&3)<<6|l&63;return c},Gn=new Map;function yc(e,t){let r=Gn.get(e);return r||(r=new Map,Gn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var ta=(e,t,r)=>{if(!e||!(ia(e,t)||typeof e=="object"))return;let s=e.constructor.name,i=yc(r,s),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function At(e,t,r){if(e instanceof Array)return e.map(s=>At(s,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let s=e.constructor.name,i=mc(e);return{rr_type:s,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[At(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let s=e.constructor.name,{src:i}=e;return{rr_type:s,src:i}}else if(e instanceof HTMLCanvasElement){let s="HTMLImageElement",i=e.toDataURL();return{rr_type:s,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[At(e.data,t,r),e.width,e.height]};if(ia(e,t)||typeof e=="object"){let s=e.constructor.name,i=ta(e,t,r);return{rr_type:s,index:i}}}}return e}var ra=(e,t,r)=>e.map(s=>At(s,t,r)),ia=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function wc(e,t,r,s){let i=[],a=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let n of a)try{if(typeof t.CanvasRenderingContext2D.prototype[n]!="function")continue;let u=We(t.CanvasRenderingContext2D.prototype,n,function(l){return function(...c){return ue(this.canvas,r,s,!0)||setTimeout(()=>{let o=ra(c,t,this);e(this.canvas,{type:Re["2D"],property:n,args:o})},0),l.apply(this,c)}});i.push(u)}catch{let u=nr(t.CanvasRenderingContext2D.prototype,n,{set(l){e(this.canvas,{type:Re["2D"],property:n,args:[l],setter:!0})}});i.push(u)}return()=>{i.forEach(n=>n())}}function bc(e){return e==="experimental-webgl"?"webgl":e}function Hn(e,t,r,s){let i=[];try{let a=We(e.HTMLCanvasElement.prototype,"getContext",function(n){return function(u,...l){if(!ue(this,t,r,!0)){let c=bc(u);if("__context"in this||(this.__context=c),s&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let o=l[0];o.preserveDrawingBuffer||(o.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return n.apply(this,[u,...l])}});i.push(a)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(a=>a())}}function Yn(e,t,r,s,i,a){let n=[],u=Object.getOwnPropertyNames(e);for(let l of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=We(e,l,function(o){return function(...d){let f=o.apply(this,d);if(ta(f,a,this),"tagName"in this.canvas&&!ue(this.canvas,s,i,!0)){let h=ra(d,a,this),m={type:t,property:l,args:h};r(this.canvas,m)}return f}});n.push(c)}catch{let c=nr(e,l,{set(o){r(this.canvas,{type:t,property:l,args:[o],setter:!0})}});n.push(c)}return n}function vc(e,t,r,s){let i=[];return typeof t.WebGLRenderingContext<"u"&&i.push(...Yn(t.WebGLRenderingContext.prototype,Re.WebGL,e,r,s,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...Yn(t.WebGL2RenderingContext.prototype,Re.WebGL2,e,r,s,t)),()=>{i.forEach(a=>a())}}var sa=`(function() {
     156or you can use record.mirror to access the mirror instance during recording.`,$n={map:{},getId(){return console.error(Ge),-1},getNode(){return console.error(Ge),null},removeNodeFromMap(){console.error(Ge)},has(){return console.error(Ge),!1},reset(){console.error(Ge)}};typeof window<"u"&&window.Proxy&&window.Reflect&&($n=new Proxy($n,{get(e,t,r){return t==="map"&&console.error(Ge),Reflect.get(e,t,r)}}));function pt(e,t,r={}){let s=null,i=0;return function(...a){let n=Date.now();!i&&r.leading===!1&&(i=n);let u=t-(n-i),l=this;u<=0||u>t?(s&&(clearTimeout(s),s=null),i=n,e.apply(l,a)):!s&&r.trailing!==!1&&(s=setTimeout(()=>{i=r.leading===!1?0:Date.now(),s=null,e.apply(l,a)},u))}}function nr(e,t,r,s,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,s?r:{set(n){setTimeout(()=>{r.set.call(this,n)},0),a&&a.set&&a.set.call(this,n)}}),()=>nr(e,t,a||{},!0)}function Bo(e){var t,r,s,i;let a=e.document;return{left:a.scrollingElement?a.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:a.documentElement.scrollLeft||a?.body&&((t=$.parentElement(a.body))==null?void 0:t.scrollLeft)||((r=a?.body)==null?void 0:r.scrollLeft)||0,top:a.scrollingElement?a.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:a?.documentElement.scrollTop||a?.body&&((s=$.parentElement(a.body))==null?void 0:s.scrollTop)||((i=a?.body)==null?void 0:i.scrollTop)||0}}function zo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Wo(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function jo(e){return e?e.nodeType===e.ELEMENT_NODE?e:$.parentElement(e):null}function ue(e,t,r,s){if(!e)return!1;let i=jo(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||s&&i.closest("."+t)!==null)return!0}else if(Pt(i,t,s))return!0}catch{}return!!(r&&(i.matches(r)||s&&i.closest(r)!==null))}function Yu(e,t){return t.getId(e)!==-1}function mi(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===ht}function Vo(e,t){if(ot(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let s=$.parentNode(e);return s&&s.nodeType===e.DOCUMENT_NODE?!1:s?Vo(s,t):!0}function ki(e){return!!e.changedTouches}function qo(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Xu(e){let t={},r=(i,a)=>{let n={value:i,parent:a,children:[]};return t[i.node.id]=n,n},s=[];for(let i of e){let{nextId:a,parentId:n}=i;if(a&&a in t){let u=t[a];if(u.parent){let l=u.parent.children.indexOf(u);u.parent.children.splice(l,0,r(i,u.parent))}else{let l=s.indexOf(u);s.splice(l,0,r(i,null))}continue}if(n in t){let u=t[n];u.children.push(r(i,u));continue}s.push(r(i,null))}return s}function Go(e,t){t(e.value);for(let r=e.children.length-1;r>=0;r--)Go(e.children[r],t)}function ut(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Ho(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yo(e,t){var r,s;let i=(s=(r=e.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.frameElement;if(!i||i===t)return{x:0,y:0,relativeScale:1,absoluteScale:1};let a=i.getBoundingClientRect(),n=Yo(i,t),u=a.height/i.clientHeight;return{x:a.x*n.relativeScale+n.x,y:a.y*n.relativeScale+n.y,relativeScale:u,absoluteScale:n.absoluteScale*u}}function Ue(e){return e?e instanceof we&&"shadowRoot"in e?!!e.shadowRoot:!!$.shadowRoot(e):!1}function st(e,t){let r=e?.[t[0]];return r?t.length===1?r:st(r.cssRules,t.slice(1)):null}function Bn(e){let t=[...e],r=t.pop();return{positions:t,index:r}}function Ju(e){let t=new Set,r=[];for(let s=e.length;s--;){let i=e[s];t.has(i.id)||(r.push(i),t.add(i.id))}return r}var Wt=class{constructor(){R(this,"id",1),R(this,"styleIDMap",new WeakMap),R(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let s;return r===void 0?s=this.id++:s=r,this.styleIDMap.set(t,s),this.idStyleMap.set(s,t),s}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Xo(e){var t;let r=null;return"getRootNode"in e&&((t=$.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&$.host($.getRootNode(e))&&(r=$.host($.getRootNode(e))),r}function Qu(e){let t=e,r;for(;r=Xo(t);)t=r;return t}function Ku(e){let t=$.ownerDocument(e);if(!t)return!1;let r=Qu(e);return $.contains(t,r)}function Jo(e){let t=$.ownerDocument(e);return t?$.contains(t,e)||Ku(e):!1}var T=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(T||{}),D=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(D||{}),q=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(q||{}),xe=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(xe||{}),Re=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Re||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{}),V=(e=>(e.Start="start",e.Pause="pause",e.Resume="resume",e.Resize="resize",e.Finish="finish",e.FullsnapshotRebuilded="fullsnapshot-rebuilded",e.LoadStylesheetStart="load-stylesheet-start",e.LoadStylesheetEnd="load-stylesheet-end",e.SkipStart="skip-start",e.SkipEnd="skip-end",e.MouseInteraction="mouse-interaction",e.EventCast="event-cast",e.CustomEvent="custom-event",e.Flush="flush",e.StateChange="state-change",e.PlayBack="play-back",e.Destroy="destroy",e))(V||{}),Ee=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Ee||{});function zn(e){return"__ln"in e}var Ti=class{constructor(){R(this,"length",0),R(this,"head",null),R(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let s=0;s<t;s++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&zn(t.previousSibling)){let s=t.previousSibling.__ln.next;r.next=s,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,s&&(s.previous=r)}else if(t.nextSibling&&zn(t.nextSibling)&&t.nextSibling.__ln.previous){let s=t.nextSibling.__ln.previous;r.previous=s,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,s&&(s.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Wn=(e,t)=>`${e}@${t}`,_i=class{constructor(){R(this,"frozen",!1),R(this,"locked",!1),R(this,"texts",[]),R(this,"attributes",[]),R(this,"attributeMap",new WeakMap),R(this,"removes",[]),R(this,"mapRemoves",[]),R(this,"movedMap",{}),R(this,"addedSet",new Set),R(this,"movedSet",new Set),R(this,"droppedSet",new Set),R(this,"removesSubTreeCache",new Set),R(this,"mutationCb"),R(this,"blockClass"),R(this,"blockSelector"),R(this,"maskTextClass"),R(this,"maskTextSelector"),R(this,"inlineStylesheet"),R(this,"maskInputOptions"),R(this,"maskTextFn"),R(this,"maskInputFn"),R(this,"keepIframeSrcFn"),R(this,"recordCanvas"),R(this,"inlineImages"),R(this,"slimDOMOptions"),R(this,"dataURLOptions"),R(this,"doc"),R(this,"mirror"),R(this,"iframeManager"),R(this,"stylesheetManager"),R(this,"shadowDomManager"),R(this,"canvasManager"),R(this,"processedNodeManager"),R(this,"unattachedDoc"),R(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),R(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,s=new Ti,i=l=>{let c=l,o=ht;for(;o===ht;)c=c&&c.nextSibling,o=c&&this.mirror.getId(c);return o},a=l=>{let c=$.parentNode(l);if(!c||!Jo(l))return;let o=!1;if(l.nodeType===Node.TEXT_NODE){let m=c.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(c)&&(o=!0)}let d=ot(c)?this.mirror.getId(Xo(l)):this.mirror.getId(c),f=i(l);if(d===-1||f===-1)return s.addNode(l);let h=Xe(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{ut(m,this.mirror)&&this.iframeManager.addIframe(m),Ho(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ue(l)&&this.shadowDomManager.addShadowRoot($.shadowRoot(l),this.doc)},onIframeLoad:(m,p)=>{this.iframeManager.attachIframe(m,p),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,p)=>{this.stylesheetManager.attachLinkElement(m,p)},cssCaptured:o});h&&(t.push({parentId:d,nextId:f,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)jn(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has($.parentNode(l))||a(l);for(let l of this.addedSet)!Vn(this.droppedSet,l)&&!jn(this.removesSubTreeCache,l,this.mirror)||Vn(this.movedSet,l)?a(l):this.droppedSet.add(l);let n=null;for(;s.length;){let l=null;if(n){let c=this.mirror.getId($.parentNode(n.value)),o=i(n.value);c!==-1&&o!==-1&&(l=n)}if(!l){let c=s.tail;for(;c;){let o=c;if(c=c.previous,o){let d=this.mirror.getId($.parentNode(o.value));if(i(o.value)===-1)continue;if(d!==-1){l=o;break}else{let h=o.value,m=$.parentNode(h);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let p=$.host(m);if(this.mirror.getId(p)!==-1){l=o;break}}}}}}if(!l){for(;s.head;)s.removeNode(s.head.value);break}n=l.previous,s.removeNode(l.value),a(l.value)}let u={texts:this.texts.map(l=>{let c=l.node,o=$.parentNode(c);return o&&o.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(o),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let o=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);o.length<c.style.length&&(o+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),R(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let s=Array.from($.childNodes(t),i=>$.textContent(i)||"").join("");r.attributes.value=kt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Tt(t),value:s,maskInputFn:this.maskInputFn})}),R(this,"processMutation",t=>{if(!mi(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=$.textContent(t.target);!ue(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:mo(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,jo(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,s=Me(r.tagName),i=t.attributeName,a=t.target.getAttribute(i);if(i==="value"){let u=Tt(r);a=kt({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:u,value:a,maskInputFn:this.maskInputFn})}if(ue(t.target,this.blockClass,this.blockSelector,!1)||a===t.oldValue)return;let n=this.attributeMap.get(t.target);if(s==="iframe"&&i==="src"&&!this.keepIframeSrcFn(a))if(!r.contentDocument)i="rr_src";else return;if(n||(n={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(t.target,n)),i==="type"&&s==="input"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!po(s,i))if(n.attributes[i]=ho(this.doc,s,Me(i),a),i==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let u=this.unattachedDoc.createElement("span");t.oldValue&&u.setAttribute("style",t.oldValue);for(let l of Array.from(r.style)){let c=r.style.getPropertyValue(l),o=r.style.getPropertyPriority(l);c!==u.style.getPropertyValue(l)||o!==u.style.getPropertyPriority(l)?o===""?n.styleDiff[l]=c:n.styleDiff[l]=[c,o]:n._unchangedStyles[l]=[c,o]}for(let l of Array.from(u.style))r.style.getPropertyValue(l)===""&&(n.styleDiff[l]=!1)}else i==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":{if(ue(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let s=this.mirror.getId(r),i=ot(t.target)?this.mirror.getId($.host(t.target)):this.mirror.getId(t.target);ue(t.target,this.blockClass,this.blockSelector,!1)||mi(r,this.mirror,this.slimDOMOptions)||!Yu(r,this.mirror)||(this.addedSet.has(r)?(Pi(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&s===-1||Vo(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Wn(s,i)]?Pi(this.movedSet,r):(this.removes.push({parentId:i,id:s,isShadow:ot(t.target)&&at(t.target)?!0:void 0}),Zu(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),R(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mi(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let s=null;r&&this.mirror.hasNode(r)&&(s=this.mirror.getId(r)),s&&s!==-1&&(this.movedMap[Wn(this.mirror.getId(t),s)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ue(t,this.blockClass,this.blockSelector,!1)||($.childNodes(t).forEach(s=>this.genAdds(s)),Ue(t)&&$.childNodes($.shadowRoot(t)).forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function Pi(e,t){e.delete(t),$.childNodes(t).forEach(r=>Pi(e,r))}function Zu(e,t){let r=[e];for(;r.length;){let s=r.pop();t.has(s)||(t.add(s),$.childNodes(s).forEach(i=>r.push(i)))}}function jn(e,t,r){return e.size===0?!1:ec(e,t)}function ec(e,t,r){let s=$.parentNode(t);return s?e.has(s):!1}function Vn(e,t){return e.size===0?!1:Qo(e,t)}function Qo(e,t){let r=$.parentNode(t);return r?e.has(r)?!0:Qo(e,r):!1}var ct;function tc(e){ct=e}function rc(){ct=void 0}var W=e=>ct?(...r)=>{try{return e(...r)}catch(s){if(ct&&ct(s)===!0)return;throw s}}:e,$e=[];function yt(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ko(e,t){let r=new _i;$e.push(r),r.init(e);let[s,i]=$o(),a=new s(W(r.processMutations.bind(r)));return a.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[a,i]}function ic({mousemoveCb:e,sampling:t,doc:r,mirror:s}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,a=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,n=[],u,l=pt(W(d=>{let f=Date.now()-u;e(n.map(h=>(h.timeOffset-=f,h)),d),n=[],u=null}),a),c=W(pt(W(d=>{let f=yt(d),{clientX:h,clientY:m}=ki(d)?d.changedTouches[0]:d;u||(u=dt()),n.push({x:h,y:m,id:s.getId(f),timeOffset:dt()-u}),l(typeof DragEvent<"u"&&d instanceof DragEvent?D.Drag:d instanceof MouseEvent?D.MouseMove:D.TouchMove)}),i,{trailing:!1})),o=[le("mousemove",c,r),le("touchmove",c,r),le("drag",c,r)];return W(()=>{o.forEach(d=>d())})}function sc({mouseInteractionCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){if(a.mouseInteraction===!1)return()=>{};let n=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,u=[],l=null,c=o=>d=>{let f=yt(d);if(ue(f,s,i,!0))return;let h=null,m=o;if("pointerType"in d){switch(d.pointerType){case"mouse":h=xe.Mouse;break;case"touch":h=xe.Touch;break;case"pen":h=xe.Pen;break}h===xe.Touch?q[o]===q.MouseDown?m="TouchStart":q[o]===q.MouseUp&&(m="TouchEnd"):xe.Pen}else ki(d)&&(h=xe.Touch);h!==null?(l=h,(m.startsWith("Touch")&&h===xe.Touch||m.startsWith("Mouse")&&h===xe.Mouse)&&(h=null)):q[o]===q.Click&&(h=l,l=null);let p=ki(d)?d.changedTouches[0]:d;if(!p)return;let g=r.getId(f),{clientX:b,clientY:y}=p;W(e)({type:q[m],id:g,x:b,y,...h!==null&&{pointerType:h}})};return Object.keys(q).filter(o=>Number.isNaN(Number(o))&&!o.endsWith("_Departed")&&n[o]!==!1).forEach(o=>{let d=Me(o),f=c(o);if(window.PointerEvent)switch(q[o]){case q.MouseDown:case q.MouseUp:d=d.replace("mouse","pointer");break;case q.TouchStart:case q.TouchEnd:return}u.push(le(d,f,t))}),W(()=>{u.forEach(o=>o())})}function Zo({scrollCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){let n=W(pt(W(u=>{let l=yt(u);if(!l||ue(l,s,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let o=Bo(t.defaultView);e({id:c,x:o.left,y:o.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),a.scroll||100));return le("scroll",n,t)}function nc({viewportResizeCb:e},{win:t}){let r=-1,s=-1,i=W(pt(W(()=>{let a=zo(),n=Wo();(r!==a||s!==n)&&(e({width:Number(n),height:Number(a)}),r=a,s=n)}),200));return le("resize",i,t)}var oc=["INPUT","TEXTAREA","SELECT"],qn=new WeakMap;function ac({inputCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,ignoreClass:a,ignoreSelector:n,maskInputOptions:u,maskInputFn:l,sampling:c,userTriggeredOnInput:o}){function d(y){let w=yt(y),C=y.isTrusted,v=w&&w.tagName;if(w&&v==="OPTION"&&(w=$.parentElement(w)),!w||!v||oc.indexOf(v)<0||ue(w,s,i,!0)||w.classList.contains(a)||n&&w.matches(n))return;let S=w.value,x=!1,M=Tt(w)||"";M==="radio"||M==="checkbox"?x=w.checked:(u[v.toLowerCase()]||u[M])&&(S=kt({element:w,maskInputOptions:u,tagName:v,type:M,value:S,maskInputFn:l})),f(w,o?{text:S,isChecked:x,userTriggered:C}:{text:S,isChecked:x});let I=w.name;M==="radio"&&I&&x&&t.querySelectorAll(`input[type="radio"][name="${I}"]`).forEach(N=>{if(N!==w){let F=N.value;f(N,o?{text:F,isChecked:!x,userTriggered:!1}:{text:F,isChecked:!x})}})}function f(y,w){let C=qn.get(y);if(!C||C.text!==w.text||C.isChecked!==w.isChecked){qn.set(y,w);let v=r.getId(y);W(e)({...w,id:v})}}let m=(c.input==="last"?["change"]:["input","change"]).map(y=>le(y,W(d),t)),p=t.defaultView;if(!p)return()=>{m.forEach(y=>y())};let g=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),b=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...b.map(y=>nr(y[0],y[1],{set(){W(d)({target:this,isTrusted:!1})}},!1,p))),W(()=>{m.forEach(y=>y())})}function jt(e){let t=[];function r(s,i){if(Nt("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Nt("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Nt("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Nt("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){let n=Array.from(s.parentRule.cssRules).indexOf(s);return i.unshift(n),r(s.parentRule,i)}else if(s.parentStyleSheet){let n=Array.from(s.parentStyleSheet.cssRules).indexOf(s);i.unshift(n)}return i}return r(e,t)}function ke(e,t,r){let s,i;return e?(e.ownerNode?s=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:s}):{}}function lc({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};let i=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:W((o,d,f)=>{let[h,m]=f,{id:p,styleId:g}=ke(d,t,r.styleMirror);return(p&&p!==-1||g&&g!==-1)&&e({id:p,styleId:g,adds:[{rule:h,index:m}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.addRule=function(o,d,f=this.cssRules.length){let h=`${o} { ${d} }`;return s.CSSStyleSheet.prototype.insertRule.apply(this,[h,f])};let a=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(a,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,removes:[{index:h}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.removeRule=function(o){return s.CSSStyleSheet.prototype.deleteRule.apply(this,[o])};let n;s.CSSStyleSheet.prototype.replace&&(n=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(n,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replace:h}),o.apply(d,f)})}));let u;s.CSSStyleSheet.prototype.replaceSync&&(u=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replaceSync:h}),o.apply(d,f)})}));let l={};Ot("CSSGroupingRule")?l.CSSGroupingRule=s.CSSGroupingRule:(Ot("CSSMediaRule")&&(l.CSSMediaRule=s.CSSMediaRule),Ot("CSSConditionRule")&&(l.CSSConditionRule=s.CSSConditionRule),Ot("CSSSupportsRule")&&(l.CSSSupportsRule=s.CSSSupportsRule));let c={};return Object.entries(l).forEach(([o,d])=>{c[o]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[o].insertRule,{apply:W((f,h,m)=>{let[p,g]=m,{id:b,styleId:y}=ke(h.parentStyleSheet,t,r.styleMirror);return(b&&b!==-1||y&&y!==-1)&&e({id:b,styleId:y,adds:[{rule:p,index:[...jt(h),g||0]}]}),f.apply(h,m)})}),d.prototype.deleteRule=new Proxy(c[o].deleteRule,{apply:W((f,h,m)=>{let[p]=m,{id:g,styleId:b}=ke(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||b&&b!==-1)&&e({id:g,styleId:b,removes:[{index:[...jt(h),p]}]}),f.apply(h,m)})})}),W(()=>{s.CSSStyleSheet.prototype.insertRule=i,s.CSSStyleSheet.prototype.deleteRule=a,n&&(s.CSSStyleSheet.prototype.replace=n),u&&(s.CSSStyleSheet.prototype.replaceSync=u),Object.entries(l).forEach(([o,d])=>{d.prototype.insertRule=c[o].insertRule,d.prototype.deleteRule=c[o].deleteRule})})}function ea({mirror:e,stylesheetManager:t},r){var s,i,a;let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId($.host(r));let u=r.nodeName==="#document"?(s=r.defaultView)==null?void 0:s.Document:(a=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:a.ShadowRoot,l=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!u||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var o;let d=(o=l.set)==null?void 0:o.call(this,c);if(n!==null&&n!==-1)try{t.adoptStyleSheets(c,n)}catch{}return d}}),W(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function uc({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:s},{win:i}){let a=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(a,{apply:W((u,l,c)=>{var o;let[d,f,h]=c;if(r.has(d))return a.apply(l,[d,f,h]);let{id:m,styleId:p}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,set:{property:d,value:f,priority:h},index:jt(l.parentRule)}),u.apply(l,c)})});let n=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(n,{apply:W((u,l,c)=>{var o;let[d]=c;if(r.has(d))return n.apply(l,[d]);let{id:f,styleId:h}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,remove:{property:d},index:jt(l.parentRule)}),u.apply(l,c)})}),W(()=>{i.CSSStyleDeclaration.prototype.setProperty=a,i.CSSStyleDeclaration.prototype.removeProperty=n})}function cc({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:s,sampling:i,doc:a}){let n=W(l=>pt(W(c=>{let o=yt(c);if(!o||ue(o,t,r,!0))return;let{currentTime:d,volume:f,muted:h,playbackRate:m,loop:p}=o;e({type:l,id:s.getId(o),currentTime:d,volume:f,muted:h,playbackRate:m,loop:p})}),i.media||500)),u=[le("play",n(Te.Play),a),le("pause",n(Te.Pause),a),le("seeked",n(Te.Seeked),a),le("volumechange",n(Te.VolumeChange),a),le("ratechange",n(Te.RateChange),a)];return W(()=>{u.forEach(l=>l())})}function fc({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let s=[],i=new WeakMap,a=r.FontFace;r.FontFace=function(l,c,o){let d=new a(l,c,o);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:o,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let n=We(t.fonts,"add",function(u){return function(l){return setTimeout(W(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),u.apply(this,[l])}});return s.push(()=>{r.FontFace=a}),s.push(n),W(()=>{s.forEach(u=>u())})}function hc(e){let{doc:t,mirror:r,blockClass:s,blockSelector:i,selectionCb:a}=e,n=!0,u=W(()=>{let l=t.getSelection();if(!l||n&&l?.isCollapsed)return;n=l.isCollapsed||!1;let c=[],o=l.rangeCount||0;for(let d=0;d<o;d++){let f=l.getRangeAt(d),{startContainer:h,startOffset:m,endContainer:p,endOffset:g}=f;ue(h,s,i,!0)||ue(p,s,i,!0)||c.push({start:r.getId(h),startOffset:m,end:r.getId(p),endOffset:g})}a({ranges:c})});return u(),le("selectionchange",u)}function dc({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:We(r.customElements,"define",function(i){return function(a,n,u){try{t({define:{name:a}})}catch{console.warn(`Custom element callback failed for ${a}`)}return i.apply(this,[a,n,u])}})}function pc(e,t){let{mutationCb:r,mousemoveCb:s,mouseInteractionCb:i,scrollCb:a,viewportResizeCb:n,inputCb:u,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:o,canvasMutationCb:d,fontCb:f,selectionCb:h,customElementCb:m}=e;e.mutationCb=(...p)=>{t.mutation&&t.mutation(...p),r(...p)},e.mousemoveCb=(...p)=>{t.mousemove&&t.mousemove(...p),s(...p)},e.mouseInteractionCb=(...p)=>{t.mouseInteraction&&t.mouseInteraction(...p),i(...p)},e.scrollCb=(...p)=>{t.scroll&&t.scroll(...p),a(...p)},e.viewportResizeCb=(...p)=>{t.viewportResize&&t.viewportResize(...p),n(...p)},e.inputCb=(...p)=>{t.input&&t.input(...p),u(...p)},e.mediaInteractionCb=(...p)=>{t.mediaInteaction&&t.mediaInteaction(...p),l(...p)},e.styleSheetRuleCb=(...p)=>{t.styleSheetRule&&t.styleSheetRule(...p),c(...p)},e.styleDeclarationCb=(...p)=>{t.styleDeclaration&&t.styleDeclaration(...p),o(...p)},e.canvasMutationCb=(...p)=>{t.canvasMutation&&t.canvasMutation(...p),d(...p)},e.fontCb=(...p)=>{t.font&&t.font(...p),f(...p)},e.selectionCb=(...p)=>{t.selection&&t.selection(...p),h(...p)},e.customElementCb=(...p)=>{t.customElement&&t.customElement(...p),m(...p)}}function mc(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};pc(e,t);let s,i=()=>{};e.recordDOM&&([s,i]=Ko(e,e.doc));let a=ic(e),n=sc(e),u=Zo(e),l=nc(e,{win:r}),c=ac(e),o=cc(e),d=()=>{},f=()=>{},h=()=>{},m=()=>{};e.recordDOM&&(d=lc(e,{win:r}),f=ea(e,e.doc),h=uc(e,{win:r}),e.collectFonts&&(m=fc(e)));let p=hc(e),g=dc(e),b=[];for(let y of e.plugins)b.push(y.observer(y.callback,r,y.options));return W(()=>{$e.forEach(y=>y.reset()),s?.disconnect(),i(),a(),n(),u(),l(),c(),o(),d(),f(),h(),m(),p(),g(),b.forEach(y=>y())})}function Nt(e){return typeof window[e]<"u"}function Ot(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Vt=class{constructor(t){R(this,"iframeIdToRemoteIdMap",new WeakMap),R(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,s,i){let a=s||this.getIdToRemoteIdMap(t),n=i||this.getRemoteIdToIdMap(t),u=a.get(r);return u||(u=this.generateIdFn(),a.set(r,u),n.set(u,r)),u}getIds(t,r){let s=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(a=>this.getId(t,a,s,i))}getRemoteId(t,r,s){let i=s||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let a=i.get(r);return a||-1}getRemoteIds(t,r){let s=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,s))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Li=class{constructor(t){R(this,"iframes",new WeakMap),R(this,"crossOriginIframeMap",new WeakMap),R(this,"crossOriginIframeMirror",new Vt(fo)),R(this,"crossOriginIframeStyleMirror"),R(this,"crossOriginIframeRootIdMap",new WeakMap),R(this,"mirror"),R(this,"mutationCb"),R(this,"wrappedEmit"),R(this,"loadListener"),R(this,"stylesheetManager"),R(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Vt(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let a=this.transformCrossOriginEvent(i,r.data.event);a&&this.wrappedEmit(a,r.data.isCheckout)}transformCrossOriginEvent(t,r){var s;switch(r.type){case T.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:T.IncrementalSnapshot,data:{source:D.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case T.Meta:case T.Load:case T.DomContentLoaded:return!1;case T.Plugin:return r;case T.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case T.IncrementalSnapshot:switch(r.data.source){case D.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let a=this.crossOriginIframeRootIdMap.get(t);a&&this.patchRootIdOnNode(i.node,a)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.Drag:case D.TouchMove:case D.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.ViewportResize:return!1;case D.MediaInteraction:case D.MouseInteraction:case D.Scroll:case D.CanvasMutation:case D.Input:return this.replaceIds(r.data,t,["id"]),r;case D.StyleSheetRule:case D.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case D.Font:return r;case D.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case D.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(s=r.data.styles)==null||s.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,s,i){for(let a of i)!Array.isArray(r[a])&&typeof r[a]!="number"||(Array.isArray(r[a])?r[a]=t.getIds(s,r[a]):r[a]=t.getId(s,r[a]));return r}replaceIds(t,r,s){return this.replace(this.crossOriginIframeMirror,t,r,s)}replaceStyleIds(t,r,s){return this.replace(this.crossOriginIframeStyleMirror,t,r,s)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(s=>{this.replaceIdOnNode(s,r)})}patchRootIdOnNode(t,r){t.type!==Ee.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(s=>{this.patchRootIdOnNode(s,r)})}},Fi=class{constructor(t){R(this,"shadowDoms",new WeakSet),R(this,"mutationCb"),R(this,"scrollCb"),R(this,"bypassOptions"),R(this,"mirror"),R(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!at(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[s]=Ko({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Zo({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId($.host(t))),this.restoreHandlers.push(ea({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let s=this;this.restoreHandlers.push(We(t.prototype,"attachShadow",function(i){return function(a){let n=i.call(this,a),u=$.shadowRoot(this);return u&&Jo(this)&&s.addShadowRoot(u,r),n}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(it=0;it<Je.length;it++)nt[Je.charCodeAt(it)]=it;var it,gc=function(e){var t=new Uint8Array(e),r,s=t.length,i="";for(r=0;r<s;r+=3)i+=Je[t[r]>>2],i+=Je[(t[r]&3)<<4|t[r+1]>>4],i+=Je[(t[r+1]&15)<<2|t[r+2]>>6],i+=Je[t[r+2]&63];return s%3===2?i=i.substring(0,i.length-1)+"=":s%3===1&&(i=i.substring(0,i.length-2)+"=="),i},yc=function(e){var t=e.length*.75,r=e.length,s,i=0,a,n,u,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var c=new ArrayBuffer(t),o=new Uint8Array(c);for(s=0;s<r;s+=4)a=nt[e.charCodeAt(s)],n=nt[e.charCodeAt(s+1)],u=nt[e.charCodeAt(s+2)],l=nt[e.charCodeAt(s+3)],o[i++]=a<<2|n>>4,o[i++]=(n&15)<<4|u>>2,o[i++]=(u&3)<<6|l&63;return c},Gn=new Map;function wc(e,t){let r=Gn.get(e);return r||(r=new Map,Gn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var ta=(e,t,r)=>{if(!e||!(ia(e,t)||typeof e=="object"))return;let s=e.constructor.name,i=wc(r,s),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function At(e,t,r){if(e instanceof Array)return e.map(s=>At(s,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let s=e.constructor.name,i=gc(e);return{rr_type:s,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[At(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let s=e.constructor.name,{src:i}=e;return{rr_type:s,src:i}}else if(e instanceof HTMLCanvasElement){let s="HTMLImageElement",i=e.toDataURL();return{rr_type:s,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[At(e.data,t,r),e.width,e.height]};if(ia(e,t)||typeof e=="object"){let s=e.constructor.name,i=ta(e,t,r);return{rr_type:s,index:i}}}}return e}var ra=(e,t,r)=>e.map(s=>At(s,t,r)),ia=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function bc(e,t,r,s){let i=[],a=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let n of a)try{if(typeof t.CanvasRenderingContext2D.prototype[n]!="function")continue;let u=We(t.CanvasRenderingContext2D.prototype,n,function(l){return function(...c){return ue(this.canvas,r,s,!0)||setTimeout(()=>{let o=ra(c,t,this);e(this.canvas,{type:Re["2D"],property:n,args:o})},0),l.apply(this,c)}});i.push(u)}catch{let u=nr(t.CanvasRenderingContext2D.prototype,n,{set(l){e(this.canvas,{type:Re["2D"],property:n,args:[l],setter:!0})}});i.push(u)}return()=>{i.forEach(n=>n())}}function vc(e){return e==="experimental-webgl"?"webgl":e}function Hn(e,t,r,s){let i=[];try{let a=We(e.HTMLCanvasElement.prototype,"getContext",function(n){return function(u,...l){if(!ue(this,t,r,!0)){let c=vc(u);if("__context"in this||(this.__context=c),s&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let o=l[0];o.preserveDrawingBuffer||(o.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return n.apply(this,[u,...l])}});i.push(a)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(a=>a())}}function Yn(e,t,r,s,i,a){let n=[],u=Object.getOwnPropertyNames(e);for(let l of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=We(e,l,function(o){return function(...d){let f=o.apply(this,d);if(ta(f,a,this),"tagName"in this.canvas&&!ue(this.canvas,s,i,!0)){let h=ra(d,a,this),m={type:t,property:l,args:h};r(this.canvas,m)}return f}});n.push(c)}catch{let c=nr(e,l,{set(o){r(this.canvas,{type:t,property:l,args:[o],setter:!0})}});n.push(c)}return n}function Sc(e,t,r,s){let i=[];return typeof t.WebGLRenderingContext<"u"&&i.push(...Yn(t.WebGLRenderingContext.prototype,Re.WebGL,e,r,s,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...Yn(t.WebGL2RenderingContext.prototype,Re.WebGL2,e,r,s,t)),()=>{i.forEach(a=>a())}}var sa=`(function() {
    157157  "use strict";
    158158  var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    … …  
    229229})();
    230230//# sourceMappingURL=image-bitmap-data-url-worker-IJpC7g_b.js.map
    231 `,Xn=typeof self<"u"&&self.Blob&&new Blob([sa],{type:"text/javascript;charset=utf-8"});function Sc(e){let t;try{if(t=Xn&&(self.URL||self.webkitURL).createObjectURL(Xn),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(sa),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ui=class{constructor(t){R(this,"pendingCanvasMutations",new Map),R(this,"rafStamps",{latestId:0,invokeId:null}),R(this,"mirror"),R(this,"mutationCb"),R(this,"resetObservers"),R(this,"frozen",!1),R(this,"locked",!1),R(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:s,blockClass:i,blockSelector:a,recordCanvas:n,dataURLOptions:u}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,n&&r==="all"&&this.initCanvasMutationObserver(s,i,a),n&&typeof r=="number"&&this.initCanvasFPSObserver(r,s,i,a,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,s,i,a){let n=Hn(r,s,i,!0),u=new Map,l=new Sc;l.onmessage=m=>{let{id:p}=m.data;if(u.set(p,!1),!("base64"in m.data))return;let{base64:g,type:b,width:y,height:w}=m.data;this.mutationCb({id:p,type:Re["2D"],commands:[{property:"clearRect",args:[0,0,y,w]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:b}]},0,0]}]})};let c=1e3/t,o=0,d,f=()=>{let m=[];return r.document.querySelectorAll("canvas").forEach(p=>{ue(p,s,i,!0)||m.push(p)}),m},h=m=>{if(o&&m-o<c){d=requestAnimationFrame(h);return}o=m,f().forEach(async p=>{var g;let b=this.mirror.getId(p);if(u.get(b)||p.width===0||p.height===0)return;if(u.set(b,!0),["webgl","webgl2"].includes(p.__context)){let w=p.getContext(p.__context);((g=w?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&w.clear(w.COLOR_BUFFER_BIT)}let y=await createImageBitmap(p);l.postMessage({id:b,bitmap:y,width:p.width,height:p.height,dataURLOptions:a.dataURLOptions},[y])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{n(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Hn(t,r,s,!1),a=wc(this.processMutation.bind(this),t,r,s),n=vc(this.processMutation.bind(this),t,r,s);this.resetObservers=()=>{i(),a(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let s=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let s=this.pendingCanvasMutations.get(t);if(!s||r===-1)return;let i=s.map(n=>{let{type:u,...l}=n;return l}),{type:a}=s[0];this.mutationCb({id:r,type:a,commands:i}),this.pendingCanvasMutations.delete(t)}},$i=class{constructor(t){R(this,"trackedLinkElements",new WeakSet),R(this,"mutationCb"),R(this,"adoptedStyleSheetCb"),R(this,"styleMirror",new Wt),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let s={id:r,styleIds:[]},i=[];for(let a of t){let n;this.styleMirror.has(a)?n=this.styleMirror.getId(a):(n=this.styleMirror.add(a),i.push({styleId:n,rules:Array.from(a.rules||CSSRule,(u,l)=>({rule:uo(u,a.href),index:l}))})),s.styleIds.push(n)}i.length>0&&(s.styles=i),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Bi=class{constructor(){R(this,"nodeMap",new WeakMap),R(this,"active",!1)}inOtherBuffer(t,r){let s=this.nodeMap.get(t);return s&&Array.from(s).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},re,Dt,gi,qt=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((bs=e.contentWindow)==null?void 0:bs.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var me=co();function je(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:s,blockClass:i="rr-block",blockSelector:a=null,ignoreClass:n="rr-ignore",ignoreSelector:u=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:o=!0,maskAllInputs:d,maskInputOptions:f,slimDOMOptions:h,maskInputFn:m,maskTextFn:p,hooks:g,packFn:b,sampling:y={},dataURLOptions:w={},mousemoveWait:C,recordDOM:v=!0,recordCanvas:S=!1,recordCrossOriginIframes:x=!1,recordAfter:M=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:I=!1,collectFonts:N=!1,inlineImages:F=!1,plugins:k,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:ce=new Set([]),errorHandler:oe}=e;ec(oe);let j=x?window.parent===window:!0,_=!1;if(!j)try{window.parent.document&&(_=!1)}catch{_=!0}if(j&&!t)throw new Error("emit function is required");if(!j&&!_)return()=>{};C!==void 0&&y.mousemove===void 0&&(y.mousemove=C),me.reset();let J=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:f!==void 0?f:{password:!0},ie=go(h);qo();let ee,G=0,Ae=P=>{for(let se of k||[])se.eventProcessor&&(P=se.eventProcessor(P));return b&&!_&&(P=b(P)),P};re=(P,se)=>{var H;let te=P;if(te.timestamp=dt(),(H=$e[0])!=null&&H.isFrozen()&&te.type!==T.FullSnapshot&&!(te.type===T.IncrementalSnapshot&&te.data.source===D.Mutation)&&$e.forEach(fe=>fe.unfreeze()),j)t?.(Ae(te),se);else if(_){let fe={type:"rrweb",event:Ae(te),origin:window.location.origin,isCheckout:se};window.parent.postMessage(fe,"*")}if(te.type===T.FullSnapshot)ee=te,G=0;else if(te.type===T.IncrementalSnapshot){if(te.data.source===D.Mutation&&te.data.isAttachIframe)return;G++;let fe=s&&G>=s,Y=r&&te.timestamp-ee.timestamp>r;(fe||Y)&&Dt(!0)}};let O=P=>{re({type:T.IncrementalSnapshot,data:{source:D.Mutation,...P}})},ve=P=>re({type:T.IncrementalSnapshot,data:{source:D.Scroll,...P}}),de=P=>re({type:T.IncrementalSnapshot,data:{source:D.CanvasMutation,...P}}),rt=P=>re({type:T.IncrementalSnapshot,data:{source:D.AdoptedStyleSheet,...P}}),ae=new $i({mutationCb:O,adoptedStyleSheetCb:rt}),pe=new Pi({mirror:me,mutationCb:O,stylesheetManager:ae,recordCrossOriginIframes:x,wrappedEmit:re});for(let P of k||[])P.getMirror&&P.getMirror({nodeMirror:me,crossOriginIframeMirror:pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:pe.crossOriginIframeStyleMirror});let Pe=new Bi;gi=new Ui({recordCanvas:S,mutationCb:de,win:window,blockClass:i,blockSelector:a,mirror:me,sampling:y.canvas,dataURLOptions:w});let De=new Fi({mutationCb:O,scrollCb:ve,bypassOptions:{blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskInputOptions:J,dataURLOptions:w,maskTextFn:p,maskInputFn:m,recordCanvas:S,inlineImages:F,sampling:y,slimDOMOptions:ie,iframeManager:pe,stylesheetManager:ae,canvasManager:gi,keepIframeSrcFn:E,processedNodeManager:Pe},mirror:me});Dt=(P=!1)=>{if(!v)return;re({type:T.Meta,data:{href:window.location.href,width:Wo(),height:zo()}},P),ae.reset(),De.init(),$e.forEach(H=>H.lock());let se=Ml(document,{mirror:me,blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskAllInputs:J,maskTextFn:p,maskInputFn:m,slimDOM:ie,dataURLOptions:w,recordCanvas:S,inlineImages:F,onSerialize:H=>{ut(H,me)&&pe.addIframe(H),Ho(H,me)&&ae.trackLinkElement(H),Ue(H)&&De.addShadowRoot($.shadowRoot(H),document)},onIframeLoad:(H,te)=>{pe.attachIframe(H,te),De.observeAttachShadow(H)},onStylesheetLoad:(H,te)=>{ae.attachLinkElement(H,te)},keepIframeSrcFn:E});if(!se)return console.warn("Failed to snapshot the document");re({type:T.FullSnapshot,data:{node:se,initialOffset:Bo(window)}},P),$e.forEach(H=>H.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ae.adoptStyleSheets(document.adoptedStyleSheets,me.getId(document))};try{let P=[],se=te=>{var fe;return W(pc)({mutationCb:O,mousemoveCb:(Y,cr)=>re({type:T.IncrementalSnapshot,data:{source:cr,positions:Y}}),mouseInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MouseInteraction,...Y}}),scrollCb:ve,viewportResizeCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.ViewportResize,...Y}}),inputCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Input,...Y}}),mediaInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleDeclaration,...Y}}),canvasMutationCb:de,fontCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Font,...Y}}),selectionCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.Selection,...Y}})},customElementCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.CustomElement,...Y}})},blockClass:i,ignoreClass:n,ignoreSelector:u,maskTextClass:l,maskTextSelector:c,maskInputOptions:J,inlineStylesheet:o,sampling:y,recordDOM:v,recordCanvas:S,inlineImages:F,userTriggeredOnInput:I,collectFonts:N,doc:te,maskInputFn:m,maskTextFn:p,keepIframeSrcFn:E,blockSelector:a,slimDOMOptions:ie,dataURLOptions:w,mirror:me,iframeManager:pe,stylesheetManager:ae,shadowDomManager:De,processedNodeManager:Pe,canvasManager:gi,ignoreCSSAttributes:ce,plugins:((fe=k?.filter(Y=>Y.observer))==null?void 0:fe.map(Y=>({observer:Y.observer,options:Y.options,callback:cr=>re({type:T.Plugin,data:{plugin:Y.name,payload:cr}})})))||[]},g)};pe.addLoadListener(te=>{try{P.push(se(te.contentDocument))}catch(fe){console.warn(fe)}});let H=()=>{Dt(),P.push(se(document)),qt=!0};return["interactive","complete"].includes(document.readyState)?H():(P.push(le("DOMContentLoaded",()=>{re({type:T.DomContentLoaded,data:{}}),M==="DOMContentLoaded"&&H()})),P.push(le("load",()=>{re({type:T.Load,data:{}}),M==="load"&&H()},window))),()=>{P.forEach(te=>{try{te()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),Pe.destroy(),qt=!1,tc()}}catch(P){console.warn(P)}}je.addCustomEvent=(e,t)=>{if(!qt)throw new Error("please add custom event after start recording");re({type:T.Custom,data:{tag:e,payload:t}})};je.freezePage=()=>{$e.forEach(e=>e.freeze())};je.takeFullSnapshot=e=>{if(!qt)throw new Error("please take full snapshot after start recording");Dt(e)};je.mirror=me;function Cc(e){return{all:e=e||new Map,on:function(t,r){var s=e.get(t);s?s.push(r):e.set(t,[r])},off:function(t,r){var s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var s=e.get(t);s&&s.slice().map(function(i){i(r)}),(s=e.get("*"))&&s.slice().map(function(i){i(t,r)})}}}function xc(e=window,t=document){if("scrollBehavior"in t.documentElement.style&&e.__forceSmoothScrollPolyfill__!==!0)return;let r=e.HTMLElement||e.Element,s=468,i={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||l,scrollIntoView:r.prototype.scrollIntoView},a=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now;function n(b){let y=["MSIE ","Trident/","Edge/"];return new RegExp(y.join("|")).test(b)}let u=n(e.navigator.userAgent)?1:0;function l(b,y){this.scrollLeft=b,this.scrollTop=y}function c(b){return .5*(1-Math.cos(Math.PI*b))}function o(b){if(b===null||typeof b!="object"||b.behavior===void 0||b.behavior==="auto"||b.behavior==="instant")return!0;if(typeof b=="object"&&b.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+b.behavior+" is not a valid value for enumeration ScrollBehavior.")}function d(b,y){if(y==="Y")return b.clientHeight+u<b.scrollHeight;if(y==="X")return b.clientWidth+u<b.scrollWidth}function f(b,y){let w=e.getComputedStyle(b,null)["overflow"+y];return w==="auto"||w==="scroll"}function h(b){let y=d(b,"Y")&&f(b,"Y"),w=d(b,"X")&&f(b,"X");return y||w}function m(b){for(;b!==t.body&&h(b)===!1;)b=b.parentNode||b.host;return b}function p(b){let y=a(),w,C,v,S=(y-b.startTime)/s;S=S>1?1:S,w=c(S),C=b.startX+(b.x-b.startX)*w,v=b.startY+(b.y-b.startY)*w,b.method.call(b.scrollable,C,v),(C!==b.x||v!==b.y)&&e.requestAnimationFrame(p.bind(e,b))}function g(b,y,w){let C,v,S,x,M=a();b===t.body?(C=e,v=e.scrollX||e.pageXOffset,S=e.scrollY||e.pageYOffset,x=i.scroll):(C=b,v=b.scrollLeft,S=b.scrollTop,x=l),p({scrollable:C,method:x,startTime:M,startX:v,startY:S,x:y,y:w})}e.scroll=e.scrollTo=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}g.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)}},e.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])){i.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}g.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))}},r.prototype.scroll=r.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(o(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let b=arguments[0].left,y=arguments[0].top;g.call(this,this,typeof b>"u"?this.scrollLeft:~~b,typeof y>"u"?this.scrollTop:~~y)},r.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},r.prototype.scrollIntoView=function(){if(o(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let b=m(this),y=b.getBoundingClientRect(),w=this.getBoundingClientRect();b!==t.body?(g.call(this,b,b.scrollLeft+w.left-y.left,b.scrollTop+w.top-y.top),e.getComputedStyle(b).position!=="fixed"&&e.scrollBy({left:y.left,top:y.top,behavior:"smooth"})):e.scrollBy({left:w.left,top:w.top,behavior:"smooth"})}}var zi=class{constructor(t=[],r){R(this,"timeOffset",0),R(this,"speed"),R(this,"actions"),R(this,"raf",null),R(this,"lastTimestamp"),this.actions=t,this.speed=r.speed}addAction(t){let r=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=t.delay)this.actions.push(t);else{let s=this.findActionIndex(t);this.actions.splice(s,0,t)}r&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}updateLiveTime(){this.raf===!0&&this.rafCheck()}rafCheck(){let t=performance.now();for(this.timeOffset+=(t-this.lastTimestamp)*this.speed,this.lastTimestamp=t;this.actions.length;){let r=this.actions[0];if(this.timeOffset>=r.delay)this.actions.shift(),r.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(t){this.speed=t}isActive(){return this.raf!==null}findActionIndex(t){let r=0,s=this.actions.length-1;for(;r<=s;){let i=Math.floor((r+s)/2);if(this.actions[i].delay<t.delay)r=i+1;else if(this.actions[i].delay>t.delay)s=i-1;else return i+1}return r}};function Jn(e,t){if(e.type===T.IncrementalSnapshot&&e.data.source===D.MouseMove&&e.data.positions&&e.data.positions.length){let r=e.data.positions[0].timeOffset,s=e.timestamp+r;return e.delay=s-t,s-t}return e.delay=e.timestamp-t,e.delay}function Qn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),n=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)n.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return n}var Qe;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Qe||(Qe={}));var na={type:"xstate.init"};function yi(e){return e===void 0?[]:[].concat(e)}function He(e){return{type:"xstate.assign",assignment:e}}function Kn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function Gt(e){return function(t){return e===t}}function oa(e){return typeof e=="string"?{type:e}:e}function Zn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:Gt(e)}}function eo(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var n=Object.assign({},s);return typeof a.assignment=="function"?n=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){n[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=n,!1}return!0}),s,i]}function aa(e,t){t===void 0&&(t={});var r=Qn(eo(yi(e.states[e.initial].entry).map(function(n){return Kn(n,t.actions)}),e.context,na),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:Gt(e.initial)},transition:function(n,u){var l,c,o=typeof n=="string"?{value:n,context:e.context}:n,d=o.value,f=o.context,h=oa(u),m=e.states[d];if(m.on){var p=yi(m.on[h.type]);try{for(var g=(function(_){var J=typeof Symbol=="function"&&Symbol.iterator,ie=J&&_[J],ee=0;if(ie)return ie.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&ee>=_.length&&(_=void 0),{value:_&&_[ee++],done:!_}}};throw new TypeError(J?"Object is not iterable.":"Symbol.iterator is not defined.")})(p),b=g.next();!b.done;b=g.next()){var y=b.value;if(y===void 0)return Zn(d,f);var w=typeof y=="string"?{target:y}:y,C=w.target,v=w.actions,S=v===void 0?[]:v,x=w.cond,M=x===void 0?function(){return!0}:x,I=C===void 0,N=C??d,F=e.states[N];if(M(f,h)){var k=Qn(eo((I?yi(S):[].concat(m.exit,S,F.entry).filter(function(_){return _})).map(function(_){return Kn(_,a._options.actions)}),f,h),3),E=k[0],ce=k[1],oe=k[2],j=C??d;return{value:j,context:ce,actions:E,changed:C!==d||E.length>0||oe,matches:Gt(j)}}}}catch(_){l={error:_}}finally{try{b&&!b.done&&(c=g.return)&&c.call(g)}finally{if(l)throw l.error}}}return Zn(d,f)}};return a}var to=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function la(e){var t=e.initialState,r=Qe.NotStarted,s=new Set,i={_machine:e,send:function(a){r===Qe.Running&&(t=e.transition(t,a),to(t,oa(a)),s.forEach(function(n){return n(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var n=typeof a=="object"?a:{context:e.config.context,value:a};t={value:n.value,actions:[],context:n.context,matches:Gt(n.value)}}return r=Qe.Running,to(t,na),i},stop:function(){return r=Qe.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function Ec(e,t){for(let r=e.length-1;r>=0;r--){let s=e[r];if(s.type===T.Meta&&s.timestamp<=t)return e.slice(r)}return e}function Mc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){let i=aa({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:He({lastPlayedEvent:(a,n)=>n.type==="CAST_EVENT"?n.payload.event:a.lastPlayedEvent}),recordTimeOffset:He((a,n)=>{let u=a.timeOffset;return"payload"in n&&"timeOffset"in n.payload&&(u=n.payload.timeOffset),{...a,timeOffset:u,baselineTime:a.events[0].timestamp+u}}),play(a){var n;let{timer:u,events:l,baselineTime:c,lastPlayedEvent:o}=a;u.clear();for(let m of l)Jn(m,c);let d=Ec(l,c),f=o?.timestamp;o?.type===T.IncrementalSnapshot&&o.data.source===D.MouseMove&&(f=o.timestamp+((n=o.data.positions[0])==null?void 0:n.timeOffset)),c<(f||0)&&s.emit(V.PlayBack);let h=new Array;for(let m of d)if(!(f&&f<c&&(m.timestamp<=f||m===o)))if(m.timestamp<c)h.push(m);else{let p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(h),s.emit(V.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:He(a=>({...a,lastPlayedEvent:null})),startLive:He({baselineTime:(a,n)=>(a.timer.start(),n.type==="TO_LIVE"&&n.payload.baselineTime?n.payload.baselineTime:Date.now())}),addEvent:He((a,n)=>{let{baselineTime:u,timer:l,events:c}=a;if(n.type==="ADD_EVENT"){let{event:o}=n.payload;Jn(o,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=o.timestamp)c.push(o);else{let m=-1,p=0;for(;p<=d;){let g=Math.floor((p+d)/2);c[g].timestamp<=o.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,o)}let f=o.timestamp<u,h=t(o,f);f?h():l.isActive()&&l.addAction({doAction:()=>{h()},delay:o.delay})}return{...a,events:c}})}});return la(i)}function Rc(e){let t=aa({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:He({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return la(t)}var Nc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],ro=new Map;function ua(e,t){let r=ro.get(e);return r||(r=new Map,ro.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function _e(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){let i=await _e(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;let{rr_type:i,index:a}=s;return ua(t,i)[a]}else if("args"in s){let{rr_type:i,args:a}=s,n=window[i];return new n(...await Promise.all(a.map(_e(e,t,r))))}else{if("base64"in s)return gc(s.base64);if("src"in s){let i=e.get(s.src);if(i)return i;{let a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){let i=await Promise.all(s.data.map(_e(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(_e(e,t,r)));return s}}function Oc(e,t){try{return t===Re.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch{return null}}var Ic=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function Ac(e,t){if(!t?.constructor)return;let{name:r}=t.constructor;if(!Ic.includes(r))return;let s=ua(e,r);s.includes(t)||s.push(t)}async function Dc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{let a=Oc(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}let n=a[e.property],u=await Promise.all(e.args.map(_e(s,a))),l=n.apply(a,u);Ac(a,l);let c=!1}catch(a){i(e,a)}}async function kc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){let a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}let n=t.map(async l=>Promise.all(l.args.map(_e(s,a))));(await Promise.all(n)).forEach((l,c)=>{let o=t[c];try{if(o.setter){a[o.property]=o.args[0];return}let d=a[o.property];o.property==="drawImage"&&typeof o.args[0]=="string"?(s.get(e),d.apply(a,o.args)):d.apply(a,l)}catch(d){i(o,d)}})}async function io({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{let n=i.get(e)||t,u="commands"in n?n.commands:[n];if([Re.WebGL,Re.WebGL2].includes(t.type)){for(let l=0;l<u.length;l++){let c=u[l];await Dc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await kc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(n){a(t,n)}}var Wi=class{constructor(t){R(this,"mediaMap",new Map),R(this,"warn"),R(this,"service"),R(this,"speedService"),R(this,"emitter"),R(this,"getCurrentTime"),R(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(V.Start,this.start.bind(this)),this.emitter.on(V.SkipStart,this.start.bind(this)),this.emitter.on(V.Pause,this.pause.bind(this)),this.emitter.on(V.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){let a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,n="duration"in r&&r.duration;if(Number.isNaN(n)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&n!==!1&&(u=u%n),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;let r=()=>{this.metadataCallbackMap.delete(t);let s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){let i=this.mediaMap.get(t),{type:a,playbackRate:n,currentTime:u,muted:l,volume:c,loop:o}=s;return{isPlaying:a===Te.Play||a!==Te.Pause&&(i?.isPlaying||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:r,playbackRate:n??i?.playbackRate??1,volume:c??i?.volume??1,muted:l??i?.muted??t.getAttribute("muted")===null,loop:o??i?.loop??t.getAttribute("loop")===null}}syncTargetWithState(t){let r=this.mediaMap.get(t);if(!r)return;let{muted:s,loop:i,volume:a,isPlaying:n}=r,u=this.service.state.matches("paused"),l=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==l&&(t.playbackRate=l),n&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;let i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;let n=this.service.state.matches("paused"),u=a.attributes,l=!1;u.rr_mediaState?l=u.rr_mediaState==="played":l=i.getAttribute("autoplay")!==null,l&&n&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let o=!1;typeof u.rr_mediaMuted=="boolean"?o=u.rr_mediaMuted:o=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let f=1;typeof u.rr_mediaVolume=="number"&&(f=u.rr_mediaVolume);let h=0;typeof u.rr_mediaCurrentTime=="number"&&(h=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:l,currentTimeAtLastInteraction:h,lastInteractionTimeOffset:r,playbackRate:c,volume:f,muted:o,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}};function It(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),n=typeof t?.attributes.open=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),n&&(u?r.showModal():r.show())}}function Tc(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}var _c=5*1e3,Lc=Cc,so="[replayer]",wi={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function no(e){return e.type==T.IncrementalSnapshot&&(e.data.source==D.TouchMove||e.data.source==D.MouseInteraction&&e.data.type==q.TouchStart)}var Ht=class{constructor(t,r){if(R(this,"wrapper"),R(this,"iframe"),R(this,"UNSAFE_replayCanvas",!1),R(this,"service"),R(this,"speedService"),R(this,"config"),R(this,"usingVirtualDom",!1),R(this,"virtualDom",new Ze),R(this,"mouse"),R(this,"mouseTail",null),R(this,"tailPositions",[]),R(this,"emitter",Lc()),R(this,"nextUserInteractionEvent"),R(this,"legacy_missingNodeRetryMap",{}),R(this,"cache",sn()),R(this,"imageMap",new Map),R(this,"canvasEventMap",new Map),R(this,"mirror",co()),R(this,"styleMirror",new Wt),R(this,"mediaManager"),R(this,"firstFullSnapshot",null),R(this,"newDocumentQueue",[]),R(this,"mousePos",null),R(this,"touchActive",null),R(this,"lastMouseDownEvent",null),R(this,"lastHoveredRootNode"),R(this,"lastSelectionData",null),R(this,"constructedStyleMutations",[]),R(this,"adoptedStyleSheets",[]),R(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let l of[this.mouseTail,this.iframe])l&&(l.setAttribute("width",String(u.width)),l.setAttribute("height",String(u.height)))}),R(this,"applyEventsSynchronously",u=>{for(let l of u){switch(l.type){case T.DomContentLoaded:case T.Load:continue;case T.FullSnapshot:case T.Meta:case T.Plugin:case T.IncrementalSnapshot:break}this.getCastFn(l,!0)()}}),R(this,"getCastFn",(u,l=!1)=>{let c;switch(u.type){case T.DomContentLoaded:case T.Load:break;case T.Custom:c=()=>{this.emitter.emit(V.CustomEvent,u)};break;case T.Meta:c=()=>this.emitter.emit(V.Resize,{width:u.data.width,height:u.data.height});break;case T.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,l),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case T.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,l),!l&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){let d=this.nextUserInteractionEvent.delay-u.delay,f={speed:Math.min(Math.round(d/_c),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:f}),this.emitter.emit(V.SkipStart,f)}}};break}return()=>{c&&c();for(let f of this.config.plugins||[])f.handler&&f.handler(u,l,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){let f=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(V.Finish))},h=50;u.type===T.IncrementalSnapshot&&u.data.source===D.MouseMove&&u.data.positions.length&&(h+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(f,h)}this.emitter.emit(V.EventCast,u)}}),!r?.liveMode&&t.length<2)throw new Error("Replayer need at least 2 events.");let s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:wi,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(V.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(V.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:(l,c,o)=>{io({event:l,mutation:c,target:o,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(l,c)=>{l.source===D.StyleSheetRule?this.applyStyleSheetRule(l,c):l.source===D.StyleDeclaration&&this.applyStyleDeclaration(l,c)},afterAppend:(l,c)=>{for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{Bt(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(l){this.warn(l)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let l in this.legacy_missingNodeRetryMap)try{let c=this.legacy_missingNodeRetryMap[l],o=zt(c.node,this.mirror,this.virtualDom.mirror);Bt(o,c.node,u,this.virtualDom.mirror),c.node=o}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(l=>{this.applyStyleSheetMutation(l)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(l=>{this.applyAdoptedStyleSheet(l)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,l]=this.lastMouseDownEvent;u.dispatchEvent(l)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(V.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new zi([],{speed:this.config.speed});this.service=Mc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,l)=>u.timestamp-l.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(V.StateChange,{player:u})}),this.speedService=Rc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(V.StateChange,{speed:u})}),this.mediaManager=new Wi({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let a=this.service.state.context.events.find(u=>u.type===T.Meta),n=this.service.state.context.events.find(u=>u.type===T.FullSnapshot);if(a){let{width:u,height:l}=a.data;setTimeout(()=>{this.emitter.emit(V.Resize,{width:u,height:l})},0)}n&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=n,this.rebuildFullSnapshot(n),(u=this.iframe.contentWindow)==null||u.scrollTo(n.data.initialOffset))},1),this.service.state.context.events.find(no)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail<"u"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.config.liveMode&&this.timer.updateLiveTime(),this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(V.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(V.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(V.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(V.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){let r=this.config.unpackFn?this.config.unpackFn(t):t;no(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=sn()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.config.UNSAFE_replayCanvas?(this.iframe=document.createElement("iframe"),this.iframe.setAttribute("sandbox","allow-same-origin allow-scripts"),this.wrapper.appendChild(this.iframe),this.UNSAFE_replayCanvas=!0):(this.iframe=Kl({root:this.wrapper}),this.UNSAFE_replayCanvas=!1),this.iframe.style.display="none",this.disableInteract(),this.iframe.contentWindow&&this.iframe.contentDocument&&(xc(this.iframe.contentWindow,this.iframe.contentDocument),qo(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let s=[],i=new Set,a=(l,c)=>{if(l.nodeName==="DIALOG"&&i.add(l),this.collectIframeAndAttachDocument(s,l),this.mediaManager.isSupportedMediaElement(l)){let{events:o}=this.service.state.context;this.mediaManager.addMediaElements(l,t.timestamp-o[0].timestamp,this.mirror)}for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Ql(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror,UNSAFE_allowUnprotectedRebuild:this.UNSAFE_replayCanvas}),a(this.iframe.contentDocument,t.data.node.id);for(let{mutationInQueue:l,builtNode:c}of s)this.attachDocumentToIframe(l,c),this.newDocumentQueue=this.newDocumentQueue.filter(o=>o!==l);let{documentElement:n,head:u}=this.iframe.contentDocument;this.insertStyleRules(n,u),i.forEach(l=>It(l)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(V.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;let i=Nc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,Po(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:D.StyleSheetRule,adds:i.map((n,u)=>({rule:n,index:u}))})}else{let a=document.createElement("style");t.insertBefore(a,r);for(let n=0;n<i.length;n++)(s=a.sheet)==null||s.insertRule(i[n],n)}}attachDocumentToIframe(t,r){let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,n=(u,l)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);let c=s.getMeta(u);if(c?.type===Ee.Element&&c?.tagName.toUpperCase()==="HTML"){let{documentElement:o,head:d}=r.contentDocument;this.insertStyleRules(o,d)}if(!this.usingVirtualDom)for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(u,{id:l,replayer:this})};lt(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:n,cache:this.cache}),n(r.contentDocument,t.node.id);for(let{mutationInQueue:u,builtNode:l}of i)this.attachDocumentToIframe(u,l),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>It(u))}collectIframeAndAttachDocument(t,r){if(ut(r,this.mirror)){let s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;let r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){let s=new Set,i,a=this.service.state,n=()=>{a=this.service.state};this.emitter.on(V.Start,n),this.emitter.on(V.Pause,n);let u=()=>{this.emitter.off(V.Start,n),this.emitter.off(V.Pause,n)};r.querySelectorAll('link[rel="stylesheet"]').forEach(l=>{l.sheet||(s.add(l),l.addEventListener("load",()=>{s.delete(l),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(V.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(V.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let t=[];for(let r of this.service.state.context.events)r.type===T.IncrementalSnapshot&&r.data.source===D.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){let s=document.createElement("canvas"),i=s.getContext("2d"),a=i?.createImageData(s.width,s.height);i?.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){let s={isUnchanged:!0};if("commands"in t){let i=await Promise.all(t.commands.map(async a=>{let n=await Promise.all(a.args.map(_e(this.imageMap,null,s)));return{...a,args:n}}));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,commands:i})}else{let i=await Promise.all(t.args.map(_e(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,args:i})}}}applyIncremental(t,r){var s,i,a;let{data:n}=t;switch(n.source){case D.Mutation:{try{this.applyMutation(n,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,n)}break}case D.Drag:case D.TouchMove:case D.MouseMove:if(r){let u=n.positions[n.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:n}}else n.positions.forEach(u=>{let l={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,n)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(l)}),this.timer.addAction({doAction(){},delay:t.delay-((s=n.positions[0])==null?void 0:s.timeOffset)});break;case D.MouseInteraction:{if(n.id===-1)break;let u=new Event(Me(q[n.type])),l=this.mirror.getNode(n.id);if(!l)return this.debugNodeNotFound(n,n.id);this.emitter.emit(V.MouseInteraction,{type:n.type,target:l});let{triggerFocus:c}=this.config;switch(n.type){case q.Blur:"blur"in l&&l.blur();break;case q.Focus:c&&l.focus&&l.focus({preventScroll:!0});break;case q.Click:case q.TouchStart:case q.TouchEnd:case q.MouseDown:case q.MouseUp:r?(n.type===q.TouchStart?this.touchActive=!0:n.type===q.TouchEnd&&(this.touchActive=!1),n.type===q.MouseDown?this.lastMouseDownEvent=[l,u]:n.type===q.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:n.x||0,y:n.y||0,id:n.id,debugData:n}):(n.type===q.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x||0,n.y||0,n.id,r,n),n.type===q.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===q.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===q.TouchEnd?this.mouse.classList.remove("touch-active"):l.dispatchEvent(u));break;case q.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:l.dispatchEvent(u)}break}case D.Scroll:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.scrollData=n;break}this.applyScroll(n,r);break}case D.ViewportResize:this.emitter.emit(V.Resize,{width:n.width,height:n.height});break;case D.Input:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.inputData=n;break}this.applyInput(n);break}case D.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(n.id):this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);let l=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:l,timeOffset:t.timestamp-c[0].timestamp,mutation:n});break}case D.StyleSheetRule:case D.StyleDeclaration:{this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&((i=this.virtualDom.mirror.getNode(n.id))==null||i.rules.push(n)):this.applyStyleSheetMutation(n);break}case D.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.canvasMutations.push({event:t,mutation:n})}else{let u=this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);io({event:t,mutation:n,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case D.Font:{try{let u=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case D.Selection:{if(r){this.lastSelectionData=n;break}this.applySelection(n);break}case D.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,ku(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let c in this.legacy_missingNodeRetryMap)try{let o=this.legacy_missingNodeRetryMap[c],d=Lo(o.node,this.virtualDom,this.mirror);d&&(o.node=d)}catch(o){this.warn(o)}let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return;let f=s.getNode(c.parentId);if(!f)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(f)&&(f=f.shadowRoot),s.removeNodeFromMap(d),f)try{f.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&f.nodeName==="STYLE"&&((o=f.rules)==null?void 0:o.length)>0&&(f.rules=[])}catch(h){if(h instanceof DOMException)this.warn("parent could not remove child in mutation",f,d,t);else throw h}});let i={...this.legacy_missingNodeRetryMap},a=[],n=c=>{let o=null;return c.nextId&&(o=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!o},u=c=>{var o,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let f=s.getNode(c.parentId);if(!f)return c.node.type===Ee.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(f)||f.attachShadow({mode:"open"}),f=f.shadowRoot);let h=null,m=null;if(c.previousId&&(h=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),n(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;let p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(ut(f,s)){this.attachDocumentToIframe(c,f);return}let g=(w,C)=>{if(!this.usingVirtualDom){It(w);for(let v of this.config.plugins||[])v.onBuild&&v.onBuild(w,{id:C,replayer:this})}},b=lt(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:b,mutation:c};return}let y=s.getMeta(f);if(y&&y.type===Ee.Element&&c.node.type===Ee.Text){let w=Array.isArray(f.childNodes)?f.childNodes:Array.from(f.childNodes);if(y.tagName==="textarea")for(let C of w)C.nodeType===f.TEXT_NODE&&f.removeChild(C);else if(y.tagName==="style"&&w.length===1)for(let C of w)C.nodeType===f.TEXT_NODE&&!s.hasNode(C)&&(b.textContent=C.textContent,f.removeChild(C))}else if(y?.type===Ee.Document){let w=f;c.node.type===Ee.DocumentType&&((o=w.childNodes[0])==null?void 0:o.nodeType)===Node.DOCUMENT_TYPE_NODE&&w.removeChild(w.childNodes[0]),b.nodeName==="HTML"&&w.documentElement&&w.removeChild(w.documentElement)}if(h&&h.nextSibling&&h.nextSibling.parentNode?f.insertBefore(b,h.nextSibling):m&&m.parentNode?f.contains(m)?f.insertBefore(b,m):f.insertBefore(b,null):f.appendChild(b),g(b,c.node.id),this.usingVirtualDom&&b.nodeName==="#text"&&f.nodeName==="STYLE"&&((d=f.rules)==null?void 0:d.length)>0&&(f.rules=[]),ut(b,this.mirror)){let w=this.mirror.getId(b),C=this.newDocumentQueue.find(v=>v.parentId===w);C&&(this.attachDocumentToIframe(C,b),this.newDocumentQueue=this.newDocumentQueue.filter(v=>v!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,f,b,c)};t.adds.forEach(c=>{u(c)});let l=Date.now();for(;a.length;){let c=Yu(a);if(a.length=0,Date.now()-l>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(let o of c)s.getNode(o.value.parentId)?Go(o,f=>{u(f)}):this.debug("Drop resolve tree since there is no parent for the root node.",o)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Xu(t.texts).forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);let f=d.parentElement;if(c.value&&f&&f.tagName==="STYLE"?d.textContent=Zt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){let h=d.parentNode;((o=h?.rules)==null?void 0:o.length)>0&&(h.rules=[])}}),t.attributes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(let f in c.attributes)if(typeof f=="string"){let h=c.attributes[f];if(h===null)d.removeAttribute(f),f==="open"&&Tc(d,c);else if(typeof h=="string")try{if(f==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{let m=s.getMeta(d),p=lt({...m,attributes:{...m.attributes,...c.attributes}},{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);let g=d.nextSibling,b=d.parentNode;if(p&&b){b.removeChild(d),b.insertBefore(p,g),s.replace(c.id,p);break}}catch{}if(f==="value"&&d.nodeName==="TEXTAREA"){let m=d;m.childNodes.forEach(g=>m.removeChild(g));let p=(o=d.ownerDocument)==null?void 0:o.createTextNode(h);p&&m.appendChild(p)}else d.setAttribute(f,h);f==="rr_open_mode"&&d.nodeName==="DIALOG"&&It(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(f==="style"){let m=h,p=d;for(let g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){let b=m[g];p.style.setProperty(g,b[0],b[1])}else{let b=m[g];p.style.setProperty(g,b)}}}})}applyScroll(t,r){var s,i;let a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);let n=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if(n?.type===Ee.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch{}}applyInput(t){let r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch{}}applySelection(t){try{let r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:n,endOffset:u})=>{let l=this.mirror.getNode(i),c=this.mirror.getNode(n);if(!l||!c)return;let o=new Range;o.setStart(l,a),o.setEnd(c,u);let d=l.ownerDocument,f=d?.getSelection();return f&&r.add(f),{range:o,selection:f}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch{}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===D.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===D.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,n;if((s=t.adds)==null||s.forEach(({rule:u,index:l})=>{try{if(Array.isArray(l)){let{positions:c,index:o}=Bn(l),d=st(r.cssRules,c);d?.insertRule(u,o)}else{let c=l===void 0?void 0:Math.min(l,r.cssRules.length);r?.insertRule(u,c)}}catch{}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:l,index:c}=Bn(u),o=st(r.cssRules,l);o?.deleteRule(c||0)}else r?.deleteRule(u)}catch{}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch{}if(typeof t.replaceSync=="string")try{(n=r.replaceSync)==null||n.call(r,t.replaceSync)}catch{}}applyStyleDeclaration(t,r){if(t.set){let s=st(r.rules,t.index);s?.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){let s=st(r.rules,t.index);s?.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;let s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var l;let c=null,o=null;if(Ue(s)?o=((l=s.ownerDocument)==null?void 0:l.defaultView)||null:s.nodeName==="#document"&&(o=s.defaultView),!!o)try{c=new o.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:D.StyleSheetRule,adds:u.rules},c)}catch{}});let i=10,a=0,n=(u,l)=>{let c=l.map(o=>this.styleMirror.getStyle(o)).filter(o=>o!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==l.length&&a<i&&(setTimeout(()=>n(u,l),0+100*a),a++)};n(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){let{previousId:a,nextId:n}=i,u=a&&t[a],l=n&&t[n];if(u){let{node:c,mutation:o}=u;r.insertBefore(c,s),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}if(l){let{node:c,mutation:o}=l;r.insertBefore(c,s.nextSibling),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}}moveAndHover(t,r,s,i,a){let n=this.mirror.getNode(s);if(!n)return this.debugNodeNotFound(a,s);let u=Yo(n,this.iframe),l=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${l}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:l,y:c}),this.hoverElements(n)}drawMouseTail(t){if(!this.mouseTail)return;let{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?wi:Object.assign({},wi,this.config.mouseTail),n=()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(l=>u.lineTo(l.x,l.y)),u.stroke())};this.tailPositions.push(t),n(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),n()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==T.IncrementalSnapshot?!1:t.data.source>D.Mutation&&t.data.source<=D.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(V.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(so,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(so,...t)}},{addCustomEvent:Qc}=je,{freezePage:Kc}=je,{takeFullSnapshot:Zc}=je;function fa(e,t){e.pause(t+1)}var ca=new WeakMap,tt=e=>`${Math.floor(Math.max(0,e)/6e4)}:${String(Math.floor(Math.max(0,e)/1e3)%60).padStart(2,"0")}`;function ha(e,t){let r=e.getElementById("completeness");if(!r)return;let s={confirmed:z.__("Received through the last confirmed checkpoint. This does not confirm that the entire visit was recorded.","clickclue"),interrupted:z.__("Recording interrupted. Some activity is missing; interpret this replay as a partial visit.","clickclue"),unconfirmed:z.__("Uploads may still be arriving. You can watch the saved activity now and load the latest activity after the visit ends. If the final upload never arrives, later activity may be missing.","clickclue"),legacy:z.__("Delivery status is unavailable for this older recording.","clickclue")},i=Object.hasOwn(s,t?.status)?t.status:"legacy";r.textContent=s[i],r.dataset.status=i}function Pc(e,t,r="width"){let s=(o,d,f)=>Number.isFinite(Number(o))&&Number(o)>0?Math.min(f,Number(o)):d,i=s(e?.width,1280,1e5),a=s(e?.height,800,1e5),n=s(t?.width,1,1e5),u=s(t?.height,1,1e5),l=Number(r),c=r==="fit"?Math.min(n/i,u/a,1):["0.5","0.75","1","1.25","1.5","2"].includes(r)?l:Math.min(n/i,1);return{width:i,height:a,scale:Math.max(.001,c)}}function da(e,t=new Map){if(!e?.head)return;let r=ca.get(e);if(e.getElementById("clickclue-placeholder-style")&&r?.media===t)return;r?.dispose(),e.getElementById("clickclue-placeholder-style")?.remove();let s=e.createElement("style");s.id="clickclue-placeholder-style";let i=a=>'"'+Array.from(a,n=>"\\"+n.codePointAt(0).toString(16)+" ").join("")+'"';s.textContent=".tw-redacted{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#eef1e9!important;outline:1px dashed #9aab8c!important}.tw-redacted::after{display:block!important;padding:8px!important;color:#435737!important;font:12px/1.4 Arial,sans-serif!important;overflow:hidden!important;content:"+i(z.__("Content excluded","clickclue"))+"}.tw-media-image::after{content:"+i(z.__("Image excluded","clickclue"))+"}.tw-media-video::after{content:"+i(z.__("Video excluded","clickclue"))+"}.tw-media-audio::after{content:"+i(z.__("Audio excluded","clickclue"))+"}.tw-media-embedded::after{content:"+i(z.__("Embedded content excluded","clickclue"))+"}.tw-media-canvas::after{content:"+i(z.__("Canvas excluded","clickclue"))+"}.tw-approved-media{outline:none!important}.tw-approved-media::after{display:none!important}",e.head.append(s),ca.set(e,{media:t,dispose:ws(e,t)})}function pa({doc:e=document,getDimensions:t,isReady:r}){let s=e.defaultView,i=c=>e.getElementById(c),a=!1;function n(){let c=i("viewport"),{width:o,height:d,scale:f}=Pc(t(),{width:c.clientWidth-24,height:c.clientHeight-24},i("zoom").value);Object.assign(i("stage").style,{width:o+"px",height:d+"px",transform:`scale(${f})`}),Object.assign(i("stage-size").style,{width:Math.ceil(o*f)+"px",height:Math.ceil(d*f)+"px"}),i("viewport-size").textContent=`${Math.round(o)} \xD7 ${Math.round(d)} \xB7 ${Math.round(f*100)}%`}function u(c){a=c,i("zoom").disabled=!c,i("fullscreen").disabled=!c,c?n():i("viewport-size").textContent=z.__("Recorded viewport","clickclue")}return i("zoom").onchange=()=>{n(),i("viewport").scrollTop=0,i("viewport").scrollLeft=0},i("fullscreen").hidden=!e.fullscreenEnabled||typeof e.documentElement.requestFullscreen!="function",i("fullscreen").onclick=async()=>{try{e.fullscreenElement?await e.exitFullscreen():await e.documentElement.requestFullscreen(),i("view-feedback").textContent=""}catch{i("view-feedback").textContent=z.__("Fullscreen is unavailable in this browser. Use Fit width or a zoom level to inspect the recording.","clickclue")}},e.addEventListener("fullscreenchange",()=>{i("fullscreen").textContent=e.fullscreenElement?z.__("Exit fullscreen","clickclue"):z.__("Fullscreen","clickclue"),n()}),(typeof s.ResizeObserver=="function"?new s.ResizeObserver(()=>{a&&r()&&n()}):null)?.observe(i("viewport")),s.addEventListener("resize",()=>{a&&r()&&n()}),{fit:n,ready:u}}function ma(e,t,r){let s=e.getElementById("markers"),i=e.getElementById("event-ticks");s.replaceChildren(),i.replaceChildren();let a=e.createElement("option");a.value="",a.textContent=t.length?z.sprintf(/* translators: %1$s: number of event markers. */ z.__("Jump to an event (%1$s)","clickclue"),t.length):z.__("No event markers in this recording","clickclue"),s.append(a);for(let n of t.slice(0,200)){let u=`${tt(n.time)} \xB7 ${n.label}`,l=e.createElement("option");l.value=String(n.time),l.textContent=u,s.append(l);let c=e.createElement("span");c.className="event-tick"+(n.error||n.clue?" event-clue":""),c.style.left=Math.min(100,Math.max(0,n.time/Math.max(1,r)*100))+"%",c.title=u,i.append(c)}e.getElementById("event-count").textContent=t.length>200?z.__("First 200 markers shown; Previous and Next reach every event.","clickclue"):z.__("Use Previous, Next or the event list to inspect a moment.","clickclue")}var or={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ga=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),ya=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),wa=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),lf=[...Object.keys(or),...ga,...ya,...wa,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function Fc(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(or,e))return or[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&or[e].includes(t)?t:null;if(ga.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(ya.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let r=t.split(" ");return t==="none"?"none":r.length<=64&&r.every(s=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=1e5)?t:null}if(wa.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(r=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(r)&&parseFloat(r)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let r=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!r)return null;let s=r[2].split(",").map(i=>i.trim());return s.length===(r[1]==="matrix"?6:16)&&s.every(i=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(i)&&Number.isFinite(Number(i))&&Math.abs(Number(i))<=1e5)?t:null}if(["color","background-color"].includes(e)){let r=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return r&&r.slice(1,4).every(s=>Number(s)<=255)?t:null}return null}function cs(e){if(typeof e!="string"||e.length>4096)return"";let t=[],r=new Set;for(let i of e.split(";").slice(0,100)){let a=i.indexOf(":");if(a<1)continue;let n=i.slice(0,a).trim();if(r.has(n))continue;let u=Fc(n,i.slice(a+1));u!==null&&(r.add(n),t.push(n+":"+u))}let s=t.join(";");return s.length<=4096?s:""}function ba(e){return cs(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}var fs=e=>String(e??"").replace(/\S/g,"*");function Uc(e,t="https://example.invalid"){try{return new URL(e,t).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500)}catch{return"/"}}function Ce(e){let t=String(e??""),r="",s=0,i=u=>{let l=t.slice(u+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(l){let c=parseInt(l[0],16);return[c>0&&c<=1114111?String.fromCodePoint(c):"\uFFFD",u+1+l[0].length]}return[t[u+1]||"",Math.min(t.length,u+2)]},a=u=>{let l=t[u++];for(;u<t.length;)if(t[u]==="\\")u=i(u)[1];else if(t[u++]===l)break;return u},n=u=>{let l=t.indexOf("*/",u+2);return l<0?t.length:l+2};for(;s<t.length;){if(t.startsWith("/*",s)){s=n(s),r+=" ";continue}if(t[s]==='"'||t[s]==="'"){s=a(s),r+='""';continue}if(/[a-z_\\-]/i.test(t[s])){let u=s,l="";for(;s<t.length&&/[a-z0-9_\\-]/i.test(t[s]);)if(t[s]==="\\"){let[o,d]=i(s);l+=o,s=d}else l+=t[s++];let c=s;for(;c<t.length;)if(/\s/.test(t[c]))c++;else if(t.startsWith("/*",c))c=n(c);else break;if(l.toLowerCase()==="url"&&t[c]==="("){s=c+1;let o=1;for(;s<t.length&&o;)t[s]==="\\"?s=i(s)[1]:t[s]==='"'||t[s]==="'"?s=a(s):t.startsWith("/*",s)?s=n(s):(t[s]==="("&&o++,t[s]===")"&&o--,s++);r+="none"}else r+=t.slice(u,s);continue}r+=t[s++]}return r.replace(/@import[^;{}]*;?/gi,"")}var $c=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function va(e={}){let t={};for(let[r,s]of Object.entries(e))if(s===null)t[r]=null;else if(r==="style"&&s&&typeof s=="object"&&!Array.isArray(s))t[r]=Object.fromEntries(Object.entries(s).map(([i,a])=>[i,a===!1?!1:Array.isArray(a)?[Ce(a[0]),a[1]==="important"?"important":""]:Ce(a)]));else if(r==="style"||r==="_cssText")t[r]=Ce(s);else if(r==="data-tw-image-fit")t[r]=bt(s);else if(r==="data-tw-image-position")t[r]=wt(s);else if(r==="data-tw-layout"){let i=cs(s);i&&(t[r]=i)}else r==="data-tw-media"&&typeof s=="string"&&/^[a-f0-9]{64}$/.test(s)?t[r]=s:r==="href"?t[r]="#":$c.has(r)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(s))?t[r]=s:s===null&&(t[r]=null);if(t["data-tw-layout"]){let r=ba(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let s of r.split(";")){let i=s.indexOf(":");i>0&&(t.style[s.slice(0,i)]=[s.slice(i+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+r}return t}var Bc=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),zc={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function Wc(e,t={}){let r=u=>{if(typeof u!="number"&&typeof u!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(u)))return null;let l=parseFloat(u);return Number.isFinite(l)?Math.min(8192,Math.max(0,l)):null},s=r(t.rr_width??t.width),i=r(t.rr_height??t.height),a=zc[e];if(!a)return{class:"tw-redacted",style:"display:none"};let n=(s===null?"":`;width:${s}px`)+(i===null?";min-height:24px":`;height:${i}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":bt(t["data-tw-image-fit"]),"data-tw-image-position":wt(t["data-tw-image-position"])}:{},class:"tw-redacted"+(a?" tw-media-"+a:""),style:"background:#edf0e9;overflow:hidden"+n}}function hs(e,t,r="",s=null){if(!e||typeof e!="object")return e;let i={...e},a=r==="style"||i.isStyle||i.tagName?.toLowerCase()==="style";return s&&a&&s.styleNodes.add(i.id),i.tagName&&Bc.has(i.tagName.toLowerCase())?{type:2,tagName:"div",attributes:Wc(i.tagName.toLowerCase(),i.attributes),childNodes:[],id:i.id,needBlock:!0}:(i.attributes&&(i.attributes=va(i.attributes)),typeof i.textContent=="string"&&(i.textContent=a?Ce(i.textContent):t.maskText?fs(i.textContent):i.textContent),i.childNodes&&(i.childNodes=i.childNodes.map(n=>hs(n,t,i.tagName||r,s))),i)}var jc=new Set(["page","click","rage_click"]);function Sa(e={maskText:!0}){let t={styleNodes:new Set};return r=>Vc(r,e,t)}function Vc(e,t={maskText:!0},r=null){if(!e||e.type>5)return null;let s={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(s.type===2&&(r?.styleNodes.clear(),s.data.node=hs(s.data.node,t,"",r)),s.type===4&&(s.data.href=Uc(s.data.href)),s.type===5){let i=jc.has(s.data.tag)?{}:t.sanitizeCustom?.(s.data.tag,s.data.payload)??null;if(i===null)return null;s.data={tag:s.data.tag,payload:i}}if(s.type===3){if([7,9,10,11].includes(s.data.source))return null;if(s.data.source===5&&(s.data.text=fs(s.data.text)),s.data.attributes&&(s.data.attributes=s.data.attributes.map(i=>({...i,attributes:va(i.attributes)}))),s.data.adds&&s.data.source===0&&(s.data.adds=s.data.adds.map(i=>({...i,node:hs(i.node,t,r?.styleNodes.has(i.parentId)?"style":"",r)}))),s.data.texts&&(s.data.texts=s.data.texts.map(i=>({...i,value:r?.styleNodes.has(i.id)?Ce(i.value):t.maskText?fs(i.value):r?i.value:Ce(i.value)}))),s.data.source===8&&s.data.adds&&(s.data.adds=s.data.adds.map(i=>({...i,rule:Ce(i.rule??"")}))),s.data.source===8)for(let i of["replace","replaceSync"])typeof s.data[i]=="string"&&(s.data[i]=Ce(s.data[i]));s.data.source===15&&s.data.styles&&(s.data.styles=s.data.styles.map(i=>({...i,rules:i.rules.map(a=>({...a,rule:Ce(a.rule)}))}))),s.data.source===13&&s.data.set&&(s.data.set={...s.data.set,value:Ce(s.data.set.value)})}return s}var Ca=Object.freeze({get page(){return z.__("Page opened","clickclue")},get click(){return z.__("Click","clickclue")},get rage_click(){return z.__("Repeated clicks","clickclue")}});function xa(e){let t=e[0]?.timestamp||0;return e.filter(r=>r.type===5&&r.data?.tag!=="click"&&Ca[r.data?.tag]).map(r=>({time:Math.max(0,r.timestamp-t),label:Ca[r.data.tag],error:!1,clue:r.data.tag==="rage_click"}))}var K,be=0,lr=!1,Ie=[],ds={width:1280,height:800},L=e=>document.getElementById(e),ar=pa({getDimensions:()=>ds,isReady:()=>!!K}),Ea=()=>ar.fit();function ps(e){L("seek").value=String(e),L("time").textContent=`${tt(e)} / ${tt(be)}`,L("seek").setAttribute("aria-valuetext",z.sprintf(/* translators: 1: current replay time, 2: total replay duration. */ z.__("%1$s of %2$s","clickclue"),tt(e),tt(be)));let t=[...Ie].reverse().find(r=>r.time<=e);L("current-event").textContent=t?t.label:z.__("Recording start","clickclue"),L("previous-event").disabled=!Ie.some(r=>r.time<e-100),L("next-event").disabled=!Ie.some(r=>r.time>e+100)}function ur(){K?.pause(),lr=!1,L("play").textContent=z.__("Play","clickclue"),L("activity").textContent=""}function Le(e){if(!K)return;ur();let t=Math.min(be,Math.max(0,Number(e)||0));fa(K,t),ps(t)}function Ma(e){let t=Number(L("seek").value),r=e>0?Ie.find(s=>s.time>t+100):[...Ie].reverse().find(s=>s.time<t-100);r&&Le(r.time)}function qc(e,t=0,r=null,s=null){ha(document,s),ur(),K?.destroy(),K=null,be=0,Ie=[],ar.ready(!1),L("event-ticks").replaceChildren(),L("current-event").textContent="",L("view-feedback").textContent="",L("viewport").scrollTop=0,L("viewport").scrollLeft=0,L("stage").replaceChildren(),L("markers").replaceChildren();for(let i of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])L(i).disabled=!0;try{let i=ys(r),a=Sa({maskText:!1}),n=[...e].sort((f,h)=>f.timestamp-h.timestamp).map(a).filter(Boolean);if(n.length<2||!n.some(f=>f.type===2))throw new Error(z.__("This session has no complete page snapshot.","clickclue"));let u=n.find(f=>f.type===4)?.data;ds={width:Math.max(1,Number(u?.width)||1280),height:Math.max(1,Number(u?.height)||800)},be=Math.max(1,n.at(-1).timestamp-n[0].timestamp),Ie=xa(n),K=new Ht(n,{root:L("stage"),showWarning:!1,showDebug:!1,blockClass:"rr-block",skipInactive:L("skip-inactive").checked,inactivePeriodThreshold:5e3,maxSpeed:16,speed:Number(L("speed").value),mouseTail:{duration:500,lineCap:"round",lineWidth:2,strokeStyle:"#789255"},UNSAFE_replayCanvas:!1}),K.on("resize",f=>{ds=f,Ea()}),K.on("finish",()=>{ur(),ps(be)}),K.on("skip-start",()=>{L("activity").textContent=z.__("Skipping inactivity","clickclue")}),K.on("skip-end",()=>{L("activity").textContent=""}),ma(document,Ie,be);for(let f of["play","seek","speed","skip-inactive"])L(f).disabled=!1;L("markers").disabled=!Ie.length,L("seek").max=String(be),L("notice").textContent="";let l=n.find(f=>f.type===2),c=K,o=!1,d=()=>{K===c&&da(c.iframe.contentDocument,i),!(o||K!==c||!c.iframe.contentDocument||!c.getMirror().getNode(l.data.node.id))&&(o=!0,queueMicrotask(()=>{K===c&&(ar.ready(!0),window.parent.postMessage({type:"tracewell-player-loaded"},"*"))}))};K.on("fullsnapshot-rebuilded",d),Ea(),Le(t),d()}catch(i){K?.destroy(),K=null,ar.ready(!1),L("stage").replaceChildren();for(let a of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])L(a).disabled=!0;L("notice").textContent=z.sprintf(/* translators: %s: reconstruction error message. */ z.__("Unable to play this recording: %s","clickclue"),i.message),L("time").textContent="0:00 / 0:00",L("current-event").textContent="",L("event-ticks").replaceChildren(),window.parent.postMessage({type:"tracewell-player-error"},"*")}}L("play").onclick=()=>{if(K)if(lr)ur();else{let e=Number(L("seek").value);e>=be-100&&(e=0),K.play(e),lr=!0,L("play").textContent=z.__("Pause","clickclue")}};L("speed").onchange=()=>K?.setConfig({speed:Number(L("speed").value)});L("skip-inactive").onchange=()=>K?.setConfig({skipInactive:L("skip-inactive").checked});L("seek").oninput=e=>Le(e.target.value);L("previous-event").onclick=()=>Ma(-1);L("next-event").onclick=()=>Ma(1);L("markers").onchange=e=>{e.target.value!==""&&Le(e.target.value)};window.addEventListener("keydown",e=>{e.target.closest?.("input,select,button,textarea,a")||e.altKey||e.ctrlKey||e.metaKey||!K||(e.code==="Space"&&(e.preventDefault(),L("play").click()),e.key==="Home"&&(e.preventDefault(),Le(0)),e.key==="End"&&(e.preventDefault(),Le(be)),["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),Le(Number(L("seek").value)+(e.key==="ArrowRight"?5e3:-5e3))))});setInterval(()=>{lr&&K&&ps(Math.min(be,K.getCurrentTime()))},100);window.addEventListener("message",e=>{e.source===window.parent&&(e.data?.type==="tracewell-player-ping"&&window.parent.postMessage({type:"tracewell-player-ready"},"*"),e.data?.type==="load"&&Array.isArray(e.data.events)&&(ms(document,e.data),qc(e.data.events,e.data.startAt,e.data.media,e.data.completeness)),e.data?.type==="seek"&&Le(e.data.time))});window.parent.postMessage({type:"tracewell-player-ready"},"*");})();
     231`,Xn=typeof self<"u"&&self.Blob&&new Blob([sa],{type:"text/javascript;charset=utf-8"});function Cc(e){let t;try{if(t=Xn&&(self.URL||self.webkitURL).createObjectURL(Xn),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(sa),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ui=class{constructor(t){R(this,"pendingCanvasMutations",new Map),R(this,"rafStamps",{latestId:0,invokeId:null}),R(this,"mirror"),R(this,"mutationCb"),R(this,"resetObservers"),R(this,"frozen",!1),R(this,"locked",!1),R(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:s,blockClass:i,blockSelector:a,recordCanvas:n,dataURLOptions:u}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,n&&r==="all"&&this.initCanvasMutationObserver(s,i,a),n&&typeof r=="number"&&this.initCanvasFPSObserver(r,s,i,a,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,s,i,a){let n=Hn(r,s,i,!0),u=new Map,l=new Cc;l.onmessage=m=>{let{id:p}=m.data;if(u.set(p,!1),!("base64"in m.data))return;let{base64:g,type:b,width:y,height:w}=m.data;this.mutationCb({id:p,type:Re["2D"],commands:[{property:"clearRect",args:[0,0,y,w]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:b}]},0,0]}]})};let c=1e3/t,o=0,d,f=()=>{let m=[];return r.document.querySelectorAll("canvas").forEach(p=>{ue(p,s,i,!0)||m.push(p)}),m},h=m=>{if(o&&m-o<c){d=requestAnimationFrame(h);return}o=m,f().forEach(async p=>{var g;let b=this.mirror.getId(p);if(u.get(b)||p.width===0||p.height===0)return;if(u.set(b,!0),["webgl","webgl2"].includes(p.__context)){let w=p.getContext(p.__context);((g=w?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&w.clear(w.COLOR_BUFFER_BIT)}let y=await createImageBitmap(p);l.postMessage({id:b,bitmap:y,width:p.width,height:p.height,dataURLOptions:a.dataURLOptions},[y])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{n(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Hn(t,r,s,!1),a=bc(this.processMutation.bind(this),t,r,s),n=Sc(this.processMutation.bind(this),t,r,s);this.resetObservers=()=>{i(),a(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let s=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let s=this.pendingCanvasMutations.get(t);if(!s||r===-1)return;let i=s.map(n=>{let{type:u,...l}=n;return l}),{type:a}=s[0];this.mutationCb({id:r,type:a,commands:i}),this.pendingCanvasMutations.delete(t)}},$i=class{constructor(t){R(this,"trackedLinkElements",new WeakSet),R(this,"mutationCb"),R(this,"adoptedStyleSheetCb"),R(this,"styleMirror",new Wt),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let s={id:r,styleIds:[]},i=[];for(let a of t){let n;this.styleMirror.has(a)?n=this.styleMirror.getId(a):(n=this.styleMirror.add(a),i.push({styleId:n,rules:Array.from(a.rules||CSSRule,(u,l)=>({rule:uo(u,a.href),index:l}))})),s.styleIds.push(n)}i.length>0&&(s.styles=i),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Bi=class{constructor(){R(this,"nodeMap",new WeakMap),R(this,"active",!1)}inOtherBuffer(t,r){let s=this.nodeMap.get(t);return s&&Array.from(s).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},re,Dt,gi,qt=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((bs=e.contentWindow)==null?void 0:bs.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var me=co();function je(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:s,blockClass:i="rr-block",blockSelector:a=null,ignoreClass:n="rr-ignore",ignoreSelector:u=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:o=!0,maskAllInputs:d,maskInputOptions:f,slimDOMOptions:h,maskInputFn:m,maskTextFn:p,hooks:g,packFn:b,sampling:y={},dataURLOptions:w={},mousemoveWait:C,recordDOM:v=!0,recordCanvas:S=!1,recordCrossOriginIframes:x=!1,recordAfter:M=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:I=!1,collectFonts:N=!1,inlineImages:F=!1,plugins:k,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:ce=new Set([]),errorHandler:oe}=e;tc(oe);let j=x?window.parent===window:!0,_=!1;if(!j)try{window.parent.document&&(_=!1)}catch{_=!0}if(j&&!t)throw new Error("emit function is required");if(!j&&!_)return()=>{};C!==void 0&&y.mousemove===void 0&&(y.mousemove=C),me.reset();let J=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:f!==void 0?f:{password:!0},ie=go(h);qo();let ee,G=0,Ae=L=>{for(let se of k||[])se.eventProcessor&&(L=se.eventProcessor(L));return b&&!_&&(L=b(L)),L};re=(L,se)=>{var H;let te=L;if(te.timestamp=dt(),(H=$e[0])!=null&&H.isFrozen()&&te.type!==T.FullSnapshot&&!(te.type===T.IncrementalSnapshot&&te.data.source===D.Mutation)&&$e.forEach(fe=>fe.unfreeze()),j)t?.(Ae(te),se);else if(_){let fe={type:"rrweb",event:Ae(te),origin:window.location.origin,isCheckout:se};window.parent.postMessage(fe,"*")}if(te.type===T.FullSnapshot)ee=te,G=0;else if(te.type===T.IncrementalSnapshot){if(te.data.source===D.Mutation&&te.data.isAttachIframe)return;G++;let fe=s&&G>=s,Y=r&&te.timestamp-ee.timestamp>r;(fe||Y)&&Dt(!0)}};let O=L=>{re({type:T.IncrementalSnapshot,data:{source:D.Mutation,...L}})},ve=L=>re({type:T.IncrementalSnapshot,data:{source:D.Scroll,...L}}),de=L=>re({type:T.IncrementalSnapshot,data:{source:D.CanvasMutation,...L}}),rt=L=>re({type:T.IncrementalSnapshot,data:{source:D.AdoptedStyleSheet,...L}}),ae=new $i({mutationCb:O,adoptedStyleSheetCb:rt}),pe=new Li({mirror:me,mutationCb:O,stylesheetManager:ae,recordCrossOriginIframes:x,wrappedEmit:re});for(let L of k||[])L.getMirror&&L.getMirror({nodeMirror:me,crossOriginIframeMirror:pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:pe.crossOriginIframeStyleMirror});let Le=new Bi;gi=new Ui({recordCanvas:S,mutationCb:de,win:window,blockClass:i,blockSelector:a,mirror:me,sampling:y.canvas,dataURLOptions:w});let De=new Fi({mutationCb:O,scrollCb:ve,bypassOptions:{blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskInputOptions:J,dataURLOptions:w,maskTextFn:p,maskInputFn:m,recordCanvas:S,inlineImages:F,sampling:y,slimDOMOptions:ie,iframeManager:pe,stylesheetManager:ae,canvasManager:gi,keepIframeSrcFn:E,processedNodeManager:Le},mirror:me});Dt=(L=!1)=>{if(!v)return;re({type:T.Meta,data:{href:window.location.href,width:Wo(),height:zo()}},L),ae.reset(),De.init(),$e.forEach(H=>H.lock());let se=Rl(document,{mirror:me,blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskAllInputs:J,maskTextFn:p,maskInputFn:m,slimDOM:ie,dataURLOptions:w,recordCanvas:S,inlineImages:F,onSerialize:H=>{ut(H,me)&&pe.addIframe(H),Ho(H,me)&&ae.trackLinkElement(H),Ue(H)&&De.addShadowRoot($.shadowRoot(H),document)},onIframeLoad:(H,te)=>{pe.attachIframe(H,te),De.observeAttachShadow(H)},onStylesheetLoad:(H,te)=>{ae.attachLinkElement(H,te)},keepIframeSrcFn:E});if(!se)return console.warn("Failed to snapshot the document");re({type:T.FullSnapshot,data:{node:se,initialOffset:Bo(window)}},L),$e.forEach(H=>H.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ae.adoptStyleSheets(document.adoptedStyleSheets,me.getId(document))};try{let L=[],se=te=>{var fe;return W(mc)({mutationCb:O,mousemoveCb:(Y,cr)=>re({type:T.IncrementalSnapshot,data:{source:cr,positions:Y}}),mouseInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MouseInteraction,...Y}}),scrollCb:ve,viewportResizeCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.ViewportResize,...Y}}),inputCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Input,...Y}}),mediaInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleDeclaration,...Y}}),canvasMutationCb:de,fontCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Font,...Y}}),selectionCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.Selection,...Y}})},customElementCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.CustomElement,...Y}})},blockClass:i,ignoreClass:n,ignoreSelector:u,maskTextClass:l,maskTextSelector:c,maskInputOptions:J,inlineStylesheet:o,sampling:y,recordDOM:v,recordCanvas:S,inlineImages:F,userTriggeredOnInput:I,collectFonts:N,doc:te,maskInputFn:m,maskTextFn:p,keepIframeSrcFn:E,blockSelector:a,slimDOMOptions:ie,dataURLOptions:w,mirror:me,iframeManager:pe,stylesheetManager:ae,shadowDomManager:De,processedNodeManager:Le,canvasManager:gi,ignoreCSSAttributes:ce,plugins:((fe=k?.filter(Y=>Y.observer))==null?void 0:fe.map(Y=>({observer:Y.observer,options:Y.options,callback:cr=>re({type:T.Plugin,data:{plugin:Y.name,payload:cr}})})))||[]},g)};pe.addLoadListener(te=>{try{L.push(se(te.contentDocument))}catch(fe){console.warn(fe)}});let H=()=>{Dt(),L.push(se(document)),qt=!0};return["interactive","complete"].includes(document.readyState)?H():(L.push(le("DOMContentLoaded",()=>{re({type:T.DomContentLoaded,data:{}}),M==="DOMContentLoaded"&&H()})),L.push(le("load",()=>{re({type:T.Load,data:{}}),M==="load"&&H()},window))),()=>{L.forEach(te=>{try{te()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),Le.destroy(),qt=!1,rc()}}catch(L){console.warn(L)}}je.addCustomEvent=(e,t)=>{if(!qt)throw new Error("please add custom event after start recording");re({type:T.Custom,data:{tag:e,payload:t}})};je.freezePage=()=>{$e.forEach(e=>e.freeze())};je.takeFullSnapshot=e=>{if(!qt)throw new Error("please take full snapshot after start recording");Dt(e)};je.mirror=me;function xc(e){return{all:e=e||new Map,on:function(t,r){var s=e.get(t);s?s.push(r):e.set(t,[r])},off:function(t,r){var s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var s=e.get(t);s&&s.slice().map(function(i){i(r)}),(s=e.get("*"))&&s.slice().map(function(i){i(t,r)})}}}function Ec(e=window,t=document){if("scrollBehavior"in t.documentElement.style&&e.__forceSmoothScrollPolyfill__!==!0)return;let r=e.HTMLElement||e.Element,s=468,i={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||l,scrollIntoView:r.prototype.scrollIntoView},a=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now;function n(b){let y=["MSIE ","Trident/","Edge/"];return new RegExp(y.join("|")).test(b)}let u=n(e.navigator.userAgent)?1:0;function l(b,y){this.scrollLeft=b,this.scrollTop=y}function c(b){return .5*(1-Math.cos(Math.PI*b))}function o(b){if(b===null||typeof b!="object"||b.behavior===void 0||b.behavior==="auto"||b.behavior==="instant")return!0;if(typeof b=="object"&&b.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+b.behavior+" is not a valid value for enumeration ScrollBehavior.")}function d(b,y){if(y==="Y")return b.clientHeight+u<b.scrollHeight;if(y==="X")return b.clientWidth+u<b.scrollWidth}function f(b,y){let w=e.getComputedStyle(b,null)["overflow"+y];return w==="auto"||w==="scroll"}function h(b){let y=d(b,"Y")&&f(b,"Y"),w=d(b,"X")&&f(b,"X");return y||w}function m(b){for(;b!==t.body&&h(b)===!1;)b=b.parentNode||b.host;return b}function p(b){let y=a(),w,C,v,S=(y-b.startTime)/s;S=S>1?1:S,w=c(S),C=b.startX+(b.x-b.startX)*w,v=b.startY+(b.y-b.startY)*w,b.method.call(b.scrollable,C,v),(C!==b.x||v!==b.y)&&e.requestAnimationFrame(p.bind(e,b))}function g(b,y,w){let C,v,S,x,M=a();b===t.body?(C=e,v=e.scrollX||e.pageXOffset,S=e.scrollY||e.pageYOffset,x=i.scroll):(C=b,v=b.scrollLeft,S=b.scrollTop,x=l),p({scrollable:C,method:x,startTime:M,startX:v,startY:S,x:y,y:w})}e.scroll=e.scrollTo=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}g.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)}},e.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])){i.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}g.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))}},r.prototype.scroll=r.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(o(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let b=arguments[0].left,y=arguments[0].top;g.call(this,this,typeof b>"u"?this.scrollLeft:~~b,typeof y>"u"?this.scrollTop:~~y)},r.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},r.prototype.scrollIntoView=function(){if(o(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let b=m(this),y=b.getBoundingClientRect(),w=this.getBoundingClientRect();b!==t.body?(g.call(this,b,b.scrollLeft+w.left-y.left,b.scrollTop+w.top-y.top),e.getComputedStyle(b).position!=="fixed"&&e.scrollBy({left:y.left,top:y.top,behavior:"smooth"})):e.scrollBy({left:w.left,top:w.top,behavior:"smooth"})}}var zi=class{constructor(t=[],r){R(this,"timeOffset",0),R(this,"speed"),R(this,"actions"),R(this,"raf",null),R(this,"lastTimestamp"),this.actions=t,this.speed=r.speed}addAction(t){let r=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=t.delay)this.actions.push(t);else{let s=this.findActionIndex(t);this.actions.splice(s,0,t)}r&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}updateLiveTime(){this.raf===!0&&this.rafCheck()}rafCheck(){let t=performance.now();for(this.timeOffset+=(t-this.lastTimestamp)*this.speed,this.lastTimestamp=t;this.actions.length;){let r=this.actions[0];if(this.timeOffset>=r.delay)this.actions.shift(),r.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(t){this.speed=t}isActive(){return this.raf!==null}findActionIndex(t){let r=0,s=this.actions.length-1;for(;r<=s;){let i=Math.floor((r+s)/2);if(this.actions[i].delay<t.delay)r=i+1;else if(this.actions[i].delay>t.delay)s=i-1;else return i+1}return r}};function Jn(e,t){if(e.type===T.IncrementalSnapshot&&e.data.source===D.MouseMove&&e.data.positions&&e.data.positions.length){let r=e.data.positions[0].timeOffset,s=e.timestamp+r;return e.delay=s-t,s-t}return e.delay=e.timestamp-t,e.delay}function Qn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),n=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)n.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return n}var Qe;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Qe||(Qe={}));var na={type:"xstate.init"};function yi(e){return e===void 0?[]:[].concat(e)}function He(e){return{type:"xstate.assign",assignment:e}}function Kn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function Gt(e){return function(t){return e===t}}function oa(e){return typeof e=="string"?{type:e}:e}function Zn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:Gt(e)}}function eo(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var n=Object.assign({},s);return typeof a.assignment=="function"?n=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){n[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=n,!1}return!0}),s,i]}function aa(e,t){t===void 0&&(t={});var r=Qn(eo(yi(e.states[e.initial].entry).map(function(n){return Kn(n,t.actions)}),e.context,na),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:Gt(e.initial)},transition:function(n,u){var l,c,o=typeof n=="string"?{value:n,context:e.context}:n,d=o.value,f=o.context,h=oa(u),m=e.states[d];if(m.on){var p=yi(m.on[h.type]);try{for(var g=(function(_){var J=typeof Symbol=="function"&&Symbol.iterator,ie=J&&_[J],ee=0;if(ie)return ie.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&ee>=_.length&&(_=void 0),{value:_&&_[ee++],done:!_}}};throw new TypeError(J?"Object is not iterable.":"Symbol.iterator is not defined.")})(p),b=g.next();!b.done;b=g.next()){var y=b.value;if(y===void 0)return Zn(d,f);var w=typeof y=="string"?{target:y}:y,C=w.target,v=w.actions,S=v===void 0?[]:v,x=w.cond,M=x===void 0?function(){return!0}:x,I=C===void 0,N=C??d,F=e.states[N];if(M(f,h)){var k=Qn(eo((I?yi(S):[].concat(m.exit,S,F.entry).filter(function(_){return _})).map(function(_){return Kn(_,a._options.actions)}),f,h),3),E=k[0],ce=k[1],oe=k[2],j=C??d;return{value:j,context:ce,actions:E,changed:C!==d||E.length>0||oe,matches:Gt(j)}}}}catch(_){l={error:_}}finally{try{b&&!b.done&&(c=g.return)&&c.call(g)}finally{if(l)throw l.error}}}return Zn(d,f)}};return a}var to=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function la(e){var t=e.initialState,r=Qe.NotStarted,s=new Set,i={_machine:e,send:function(a){r===Qe.Running&&(t=e.transition(t,a),to(t,oa(a)),s.forEach(function(n){return n(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var n=typeof a=="object"?a:{context:e.config.context,value:a};t={value:n.value,actions:[],context:n.context,matches:Gt(n.value)}}return r=Qe.Running,to(t,na),i},stop:function(){return r=Qe.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function Mc(e,t){for(let r=e.length-1;r>=0;r--){let s=e[r];if(s.type===T.Meta&&s.timestamp<=t)return e.slice(r)}return e}function Rc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){let i=aa({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:He({lastPlayedEvent:(a,n)=>n.type==="CAST_EVENT"?n.payload.event:a.lastPlayedEvent}),recordTimeOffset:He((a,n)=>{let u=a.timeOffset;return"payload"in n&&"timeOffset"in n.payload&&(u=n.payload.timeOffset),{...a,timeOffset:u,baselineTime:a.events[0].timestamp+u}}),play(a){var n;let{timer:u,events:l,baselineTime:c,lastPlayedEvent:o}=a;u.clear();for(let m of l)Jn(m,c);let d=Mc(l,c),f=o?.timestamp;o?.type===T.IncrementalSnapshot&&o.data.source===D.MouseMove&&(f=o.timestamp+((n=o.data.positions[0])==null?void 0:n.timeOffset)),c<(f||0)&&s.emit(V.PlayBack);let h=new Array;for(let m of d)if(!(f&&f<c&&(m.timestamp<=f||m===o)))if(m.timestamp<c)h.push(m);else{let p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(h),s.emit(V.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:He(a=>({...a,lastPlayedEvent:null})),startLive:He({baselineTime:(a,n)=>(a.timer.start(),n.type==="TO_LIVE"&&n.payload.baselineTime?n.payload.baselineTime:Date.now())}),addEvent:He((a,n)=>{let{baselineTime:u,timer:l,events:c}=a;if(n.type==="ADD_EVENT"){let{event:o}=n.payload;Jn(o,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=o.timestamp)c.push(o);else{let m=-1,p=0;for(;p<=d;){let g=Math.floor((p+d)/2);c[g].timestamp<=o.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,o)}let f=o.timestamp<u,h=t(o,f);f?h():l.isActive()&&l.addAction({doAction:()=>{h()},delay:o.delay})}return{...a,events:c}})}});return la(i)}function Nc(e){let t=aa({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:He({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return la(t)}var Oc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],ro=new Map;function ua(e,t){let r=ro.get(e);return r||(r=new Map,ro.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function _e(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){let i=await _e(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;let{rr_type:i,index:a}=s;return ua(t,i)[a]}else if("args"in s){let{rr_type:i,args:a}=s,n=window[i];return new n(...await Promise.all(a.map(_e(e,t,r))))}else{if("base64"in s)return yc(s.base64);if("src"in s){let i=e.get(s.src);if(i)return i;{let a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){let i=await Promise.all(s.data.map(_e(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(_e(e,t,r)));return s}}function Ic(e,t){try{return t===Re.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch{return null}}var Ac=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function Dc(e,t){if(!t?.constructor)return;let{name:r}=t.constructor;if(!Ac.includes(r))return;let s=ua(e,r);s.includes(t)||s.push(t)}async function kc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{let a=Ic(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}let n=a[e.property],u=await Promise.all(e.args.map(_e(s,a))),l=n.apply(a,u);Dc(a,l);let c=!1}catch(a){i(e,a)}}async function Tc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){let a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}let n=t.map(async l=>Promise.all(l.args.map(_e(s,a))));(await Promise.all(n)).forEach((l,c)=>{let o=t[c];try{if(o.setter){a[o.property]=o.args[0];return}let d=a[o.property];o.property==="drawImage"&&typeof o.args[0]=="string"?(s.get(e),d.apply(a,o.args)):d.apply(a,l)}catch(d){i(o,d)}})}async function io({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{let n=i.get(e)||t,u="commands"in n?n.commands:[n];if([Re.WebGL,Re.WebGL2].includes(t.type)){for(let l=0;l<u.length;l++){let c=u[l];await kc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await Tc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(n){a(t,n)}}var Wi=class{constructor(t){R(this,"mediaMap",new Map),R(this,"warn"),R(this,"service"),R(this,"speedService"),R(this,"emitter"),R(this,"getCurrentTime"),R(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(V.Start,this.start.bind(this)),this.emitter.on(V.SkipStart,this.start.bind(this)),this.emitter.on(V.Pause,this.pause.bind(this)),this.emitter.on(V.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){let a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,n="duration"in r&&r.duration;if(Number.isNaN(n)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&n!==!1&&(u=u%n),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;let r=()=>{this.metadataCallbackMap.delete(t);let s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){let i=this.mediaMap.get(t),{type:a,playbackRate:n,currentTime:u,muted:l,volume:c,loop:o}=s;return{isPlaying:a===Te.Play||a!==Te.Pause&&(i?.isPlaying||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:r,playbackRate:n??i?.playbackRate??1,volume:c??i?.volume??1,muted:l??i?.muted??t.getAttribute("muted")===null,loop:o??i?.loop??t.getAttribute("loop")===null}}syncTargetWithState(t){let r=this.mediaMap.get(t);if(!r)return;let{muted:s,loop:i,volume:a,isPlaying:n}=r,u=this.service.state.matches("paused"),l=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==l&&(t.playbackRate=l),n&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;let i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;let n=this.service.state.matches("paused"),u=a.attributes,l=!1;u.rr_mediaState?l=u.rr_mediaState==="played":l=i.getAttribute("autoplay")!==null,l&&n&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let o=!1;typeof u.rr_mediaMuted=="boolean"?o=u.rr_mediaMuted:o=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let f=1;typeof u.rr_mediaVolume=="number"&&(f=u.rr_mediaVolume);let h=0;typeof u.rr_mediaCurrentTime=="number"&&(h=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:l,currentTimeAtLastInteraction:h,lastInteractionTimeOffset:r,playbackRate:c,volume:f,muted:o,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}};function It(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),n=typeof t?.attributes.open=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),n&&(u?r.showModal():r.show())}}function _c(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}var Pc=5*1e3,Lc=xc,so="[replayer]",wi={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function no(e){return e.type==T.IncrementalSnapshot&&(e.data.source==D.TouchMove||e.data.source==D.MouseInteraction&&e.data.type==q.TouchStart)}var Ht=class{constructor(t,r){if(R(this,"wrapper"),R(this,"iframe"),R(this,"UNSAFE_replayCanvas",!1),R(this,"service"),R(this,"speedService"),R(this,"config"),R(this,"usingVirtualDom",!1),R(this,"virtualDom",new Ze),R(this,"mouse"),R(this,"mouseTail",null),R(this,"tailPositions",[]),R(this,"emitter",Lc()),R(this,"nextUserInteractionEvent"),R(this,"legacy_missingNodeRetryMap",{}),R(this,"cache",sn()),R(this,"imageMap",new Map),R(this,"canvasEventMap",new Map),R(this,"mirror",co()),R(this,"styleMirror",new Wt),R(this,"mediaManager"),R(this,"firstFullSnapshot",null),R(this,"newDocumentQueue",[]),R(this,"mousePos",null),R(this,"touchActive",null),R(this,"lastMouseDownEvent",null),R(this,"lastHoveredRootNode"),R(this,"lastSelectionData",null),R(this,"constructedStyleMutations",[]),R(this,"adoptedStyleSheets",[]),R(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let l of[this.mouseTail,this.iframe])l&&(l.setAttribute("width",String(u.width)),l.setAttribute("height",String(u.height)))}),R(this,"applyEventsSynchronously",u=>{for(let l of u){switch(l.type){case T.DomContentLoaded:case T.Load:continue;case T.FullSnapshot:case T.Meta:case T.Plugin:case T.IncrementalSnapshot:break}this.getCastFn(l,!0)()}}),R(this,"getCastFn",(u,l=!1)=>{let c;switch(u.type){case T.DomContentLoaded:case T.Load:break;case T.Custom:c=()=>{this.emitter.emit(V.CustomEvent,u)};break;case T.Meta:c=()=>this.emitter.emit(V.Resize,{width:u.data.width,height:u.data.height});break;case T.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,l),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case T.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,l),!l&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){let d=this.nextUserInteractionEvent.delay-u.delay,f={speed:Math.min(Math.round(d/Pc),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:f}),this.emitter.emit(V.SkipStart,f)}}};break}return()=>{c&&c();for(let f of this.config.plugins||[])f.handler&&f.handler(u,l,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){let f=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(V.Finish))},h=50;u.type===T.IncrementalSnapshot&&u.data.source===D.MouseMove&&u.data.positions.length&&(h+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(f,h)}this.emitter.emit(V.EventCast,u)}}),!r?.liveMode&&t.length<2)throw new Error("Replayer need at least 2 events.");let s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:wi,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(V.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(V.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:(l,c,o)=>{io({event:l,mutation:c,target:o,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(l,c)=>{l.source===D.StyleSheetRule?this.applyStyleSheetRule(l,c):l.source===D.StyleDeclaration&&this.applyStyleDeclaration(l,c)},afterAppend:(l,c)=>{for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{Bt(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(l){this.warn(l)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let l in this.legacy_missingNodeRetryMap)try{let c=this.legacy_missingNodeRetryMap[l],o=zt(c.node,this.mirror,this.virtualDom.mirror);Bt(o,c.node,u,this.virtualDom.mirror),c.node=o}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(l=>{this.applyStyleSheetMutation(l)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(l=>{this.applyAdoptedStyleSheet(l)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,l]=this.lastMouseDownEvent;u.dispatchEvent(l)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(V.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new zi([],{speed:this.config.speed});this.service=Rc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,l)=>u.timestamp-l.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(V.StateChange,{player:u})}),this.speedService=Nc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(V.StateChange,{speed:u})}),this.mediaManager=new Wi({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let a=this.service.state.context.events.find(u=>u.type===T.Meta),n=this.service.state.context.events.find(u=>u.type===T.FullSnapshot);if(a){let{width:u,height:l}=a.data;setTimeout(()=>{this.emitter.emit(V.Resize,{width:u,height:l})},0)}n&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=n,this.rebuildFullSnapshot(n),(u=this.iframe.contentWindow)==null||u.scrollTo(n.data.initialOffset))},1),this.service.state.context.events.find(no)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail<"u"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.config.liveMode&&this.timer.updateLiveTime(),this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(V.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(V.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(V.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(V.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){let r=this.config.unpackFn?this.config.unpackFn(t):t;no(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=sn()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.config.UNSAFE_replayCanvas?(this.iframe=document.createElement("iframe"),this.iframe.setAttribute("sandbox","allow-same-origin allow-scripts"),this.wrapper.appendChild(this.iframe),this.UNSAFE_replayCanvas=!0):(this.iframe=Zl({root:this.wrapper}),this.UNSAFE_replayCanvas=!1),this.iframe.style.display="none",this.disableInteract(),this.iframe.contentWindow&&this.iframe.contentDocument&&(Ec(this.iframe.contentWindow,this.iframe.contentDocument),qo(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let s=[],i=new Set,a=(l,c)=>{if(l.nodeName==="DIALOG"&&i.add(l),this.collectIframeAndAttachDocument(s,l),this.mediaManager.isSupportedMediaElement(l)){let{events:o}=this.service.state.context;this.mediaManager.addMediaElements(l,t.timestamp-o[0].timestamp,this.mirror)}for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Kl(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror,UNSAFE_allowUnprotectedRebuild:this.UNSAFE_replayCanvas}),a(this.iframe.contentDocument,t.data.node.id);for(let{mutationInQueue:l,builtNode:c}of s)this.attachDocumentToIframe(l,c),this.newDocumentQueue=this.newDocumentQueue.filter(o=>o!==l);let{documentElement:n,head:u}=this.iframe.contentDocument;this.insertStyleRules(n,u),i.forEach(l=>It(l)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(V.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;let i=Oc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,Lo(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:D.StyleSheetRule,adds:i.map((n,u)=>({rule:n,index:u}))})}else{let a=document.createElement("style");t.insertBefore(a,r);for(let n=0;n<i.length;n++)(s=a.sheet)==null||s.insertRule(i[n],n)}}attachDocumentToIframe(t,r){let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,n=(u,l)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);let c=s.getMeta(u);if(c?.type===Ee.Element&&c?.tagName.toUpperCase()==="HTML"){let{documentElement:o,head:d}=r.contentDocument;this.insertStyleRules(o,d)}if(!this.usingVirtualDom)for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(u,{id:l,replayer:this})};lt(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:n,cache:this.cache}),n(r.contentDocument,t.node.id);for(let{mutationInQueue:u,builtNode:l}of i)this.attachDocumentToIframe(u,l),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>It(u))}collectIframeAndAttachDocument(t,r){if(ut(r,this.mirror)){let s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;let r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){let s=new Set,i,a=this.service.state,n=()=>{a=this.service.state};this.emitter.on(V.Start,n),this.emitter.on(V.Pause,n);let u=()=>{this.emitter.off(V.Start,n),this.emitter.off(V.Pause,n)};r.querySelectorAll('link[rel="stylesheet"]').forEach(l=>{l.sheet||(s.add(l),l.addEventListener("load",()=>{s.delete(l),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(V.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(V.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let t=[];for(let r of this.service.state.context.events)r.type===T.IncrementalSnapshot&&r.data.source===D.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){let s=document.createElement("canvas"),i=s.getContext("2d"),a=i?.createImageData(s.width,s.height);i?.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){let s={isUnchanged:!0};if("commands"in t){let i=await Promise.all(t.commands.map(async a=>{let n=await Promise.all(a.args.map(_e(this.imageMap,null,s)));return{...a,args:n}}));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,commands:i})}else{let i=await Promise.all(t.args.map(_e(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,args:i})}}}applyIncremental(t,r){var s,i,a;let{data:n}=t;switch(n.source){case D.Mutation:{try{this.applyMutation(n,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,n)}break}case D.Drag:case D.TouchMove:case D.MouseMove:if(r){let u=n.positions[n.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:n}}else n.positions.forEach(u=>{let l={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,n)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(l)}),this.timer.addAction({doAction(){},delay:t.delay-((s=n.positions[0])==null?void 0:s.timeOffset)});break;case D.MouseInteraction:{if(n.id===-1)break;let u=new Event(Me(q[n.type])),l=this.mirror.getNode(n.id);if(!l)return this.debugNodeNotFound(n,n.id);this.emitter.emit(V.MouseInteraction,{type:n.type,target:l});let{triggerFocus:c}=this.config;switch(n.type){case q.Blur:"blur"in l&&l.blur();break;case q.Focus:c&&l.focus&&l.focus({preventScroll:!0});break;case q.Click:case q.TouchStart:case q.TouchEnd:case q.MouseDown:case q.MouseUp:r?(n.type===q.TouchStart?this.touchActive=!0:n.type===q.TouchEnd&&(this.touchActive=!1),n.type===q.MouseDown?this.lastMouseDownEvent=[l,u]:n.type===q.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:n.x||0,y:n.y||0,id:n.id,debugData:n}):(n.type===q.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x||0,n.y||0,n.id,r,n),n.type===q.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===q.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===q.TouchEnd?this.mouse.classList.remove("touch-active"):l.dispatchEvent(u));break;case q.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:l.dispatchEvent(u)}break}case D.Scroll:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.scrollData=n;break}this.applyScroll(n,r);break}case D.ViewportResize:this.emitter.emit(V.Resize,{width:n.width,height:n.height});break;case D.Input:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.inputData=n;break}this.applyInput(n);break}case D.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(n.id):this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);let l=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:l,timeOffset:t.timestamp-c[0].timestamp,mutation:n});break}case D.StyleSheetRule:case D.StyleDeclaration:{this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&((i=this.virtualDom.mirror.getNode(n.id))==null||i.rules.push(n)):this.applyStyleSheetMutation(n);break}case D.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.canvasMutations.push({event:t,mutation:n})}else{let u=this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);io({event:t,mutation:n,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case D.Font:{try{let u=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case D.Selection:{if(r){this.lastSelectionData=n;break}this.applySelection(n);break}case D.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,Tu(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let c in this.legacy_missingNodeRetryMap)try{let o=this.legacy_missingNodeRetryMap[c],d=Po(o.node,this.virtualDom,this.mirror);d&&(o.node=d)}catch(o){this.warn(o)}let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return;let f=s.getNode(c.parentId);if(!f)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(f)&&(f=f.shadowRoot),s.removeNodeFromMap(d),f)try{f.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&f.nodeName==="STYLE"&&((o=f.rules)==null?void 0:o.length)>0&&(f.rules=[])}catch(h){if(h instanceof DOMException)this.warn("parent could not remove child in mutation",f,d,t);else throw h}});let i={...this.legacy_missingNodeRetryMap},a=[],n=c=>{let o=null;return c.nextId&&(o=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!o},u=c=>{var o,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let f=s.getNode(c.parentId);if(!f)return c.node.type===Ee.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(f)||f.attachShadow({mode:"open"}),f=f.shadowRoot);let h=null,m=null;if(c.previousId&&(h=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),n(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;let p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(ut(f,s)){this.attachDocumentToIframe(c,f);return}let g=(w,C)=>{if(!this.usingVirtualDom){It(w);for(let v of this.config.plugins||[])v.onBuild&&v.onBuild(w,{id:C,replayer:this})}},b=lt(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:b,mutation:c};return}let y=s.getMeta(f);if(y&&y.type===Ee.Element&&c.node.type===Ee.Text){let w=Array.isArray(f.childNodes)?f.childNodes:Array.from(f.childNodes);if(y.tagName==="textarea")for(let C of w)C.nodeType===f.TEXT_NODE&&f.removeChild(C);else if(y.tagName==="style"&&w.length===1)for(let C of w)C.nodeType===f.TEXT_NODE&&!s.hasNode(C)&&(b.textContent=C.textContent,f.removeChild(C))}else if(y?.type===Ee.Document){let w=f;c.node.type===Ee.DocumentType&&((o=w.childNodes[0])==null?void 0:o.nodeType)===Node.DOCUMENT_TYPE_NODE&&w.removeChild(w.childNodes[0]),b.nodeName==="HTML"&&w.documentElement&&w.removeChild(w.documentElement)}if(h&&h.nextSibling&&h.nextSibling.parentNode?f.insertBefore(b,h.nextSibling):m&&m.parentNode?f.contains(m)?f.insertBefore(b,m):f.insertBefore(b,null):f.appendChild(b),g(b,c.node.id),this.usingVirtualDom&&b.nodeName==="#text"&&f.nodeName==="STYLE"&&((d=f.rules)==null?void 0:d.length)>0&&(f.rules=[]),ut(b,this.mirror)){let w=this.mirror.getId(b),C=this.newDocumentQueue.find(v=>v.parentId===w);C&&(this.attachDocumentToIframe(C,b),this.newDocumentQueue=this.newDocumentQueue.filter(v=>v!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,f,b,c)};t.adds.forEach(c=>{u(c)});let l=Date.now();for(;a.length;){let c=Xu(a);if(a.length=0,Date.now()-l>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(let o of c)s.getNode(o.value.parentId)?Go(o,f=>{u(f)}):this.debug("Drop resolve tree since there is no parent for the root node.",o)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Ju(t.texts).forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);let f=d.parentElement;if(c.value&&f&&f.tagName==="STYLE"?d.textContent=Zt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){let h=d.parentNode;((o=h?.rules)==null?void 0:o.length)>0&&(h.rules=[])}}),t.attributes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(let f in c.attributes)if(typeof f=="string"){let h=c.attributes[f];if(h===null)d.removeAttribute(f),f==="open"&&_c(d,c);else if(typeof h=="string")try{if(f==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{let m=s.getMeta(d),p=lt({...m,attributes:{...m.attributes,...c.attributes}},{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);let g=d.nextSibling,b=d.parentNode;if(p&&b){b.removeChild(d),b.insertBefore(p,g),s.replace(c.id,p);break}}catch{}if(f==="value"&&d.nodeName==="TEXTAREA"){let m=d;m.childNodes.forEach(g=>m.removeChild(g));let p=(o=d.ownerDocument)==null?void 0:o.createTextNode(h);p&&m.appendChild(p)}else d.setAttribute(f,h);f==="rr_open_mode"&&d.nodeName==="DIALOG"&&It(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(f==="style"){let m=h,p=d;for(let g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){let b=m[g];p.style.setProperty(g,b[0],b[1])}else{let b=m[g];p.style.setProperty(g,b)}}}})}applyScroll(t,r){var s,i;let a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);let n=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if(n?.type===Ee.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch{}}applyInput(t){let r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch{}}applySelection(t){try{let r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:n,endOffset:u})=>{let l=this.mirror.getNode(i),c=this.mirror.getNode(n);if(!l||!c)return;let o=new Range;o.setStart(l,a),o.setEnd(c,u);let d=l.ownerDocument,f=d?.getSelection();return f&&r.add(f),{range:o,selection:f}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch{}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===D.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===D.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,n;if((s=t.adds)==null||s.forEach(({rule:u,index:l})=>{try{if(Array.isArray(l)){let{positions:c,index:o}=Bn(l),d=st(r.cssRules,c);d?.insertRule(u,o)}else{let c=l===void 0?void 0:Math.min(l,r.cssRules.length);r?.insertRule(u,c)}}catch{}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:l,index:c}=Bn(u),o=st(r.cssRules,l);o?.deleteRule(c||0)}else r?.deleteRule(u)}catch{}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch{}if(typeof t.replaceSync=="string")try{(n=r.replaceSync)==null||n.call(r,t.replaceSync)}catch{}}applyStyleDeclaration(t,r){if(t.set){let s=st(r.rules,t.index);s?.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){let s=st(r.rules,t.index);s?.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;let s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var l;let c=null,o=null;if(Ue(s)?o=((l=s.ownerDocument)==null?void 0:l.defaultView)||null:s.nodeName==="#document"&&(o=s.defaultView),!!o)try{c=new o.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:D.StyleSheetRule,adds:u.rules},c)}catch{}});let i=10,a=0,n=(u,l)=>{let c=l.map(o=>this.styleMirror.getStyle(o)).filter(o=>o!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==l.length&&a<i&&(setTimeout(()=>n(u,l),0+100*a),a++)};n(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){let{previousId:a,nextId:n}=i,u=a&&t[a],l=n&&t[n];if(u){let{node:c,mutation:o}=u;r.insertBefore(c,s),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}if(l){let{node:c,mutation:o}=l;r.insertBefore(c,s.nextSibling),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}}moveAndHover(t,r,s,i,a){let n=this.mirror.getNode(s);if(!n)return this.debugNodeNotFound(a,s);let u=Yo(n,this.iframe),l=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${l}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:l,y:c}),this.hoverElements(n)}drawMouseTail(t){if(!this.mouseTail)return;let{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?wi:Object.assign({},wi,this.config.mouseTail),n=()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(l=>u.lineTo(l.x,l.y)),u.stroke())};this.tailPositions.push(t),n(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),n()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==T.IncrementalSnapshot?!1:t.data.source>D.Mutation&&t.data.source<=D.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(V.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(so,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(so,...t)}},{addCustomEvent:Zc}=je,{freezePage:ef}=je,{takeFullSnapshot:tf}=je;function fa(e,t){e.pause(t+1)}var ca=new WeakMap,tt=e=>`${Math.floor(Math.max(0,e)/6e4)}:${String(Math.floor(Math.max(0,e)/1e3)%60).padStart(2,"0")}`;function ha(e,t){let r=e.getElementById("completeness");if(!r)return;let s={confirmed:z.__("Received through the last confirmed checkpoint. This does not confirm that the entire visit was recorded.","clickclue"),interrupted:z.__("Recording interrupted. Some activity is missing; interpret this replay as a partial visit.","clickclue"),unconfirmed:z.__("Uploads may still be arriving. You can watch the saved activity now and load the latest activity after the visit ends. If the final upload never arrives, later activity may be missing.","clickclue"),legacy:z.__("Delivery status is unavailable for this older recording.","clickclue")},i=Object.hasOwn(s,t?.status)?t.status:"legacy";r.textContent=s[i],r.dataset.status=i}function Fc(e,t,r="width"){let s=(o,d,f)=>Number.isFinite(Number(o))&&Number(o)>0?Math.min(f,Number(o)):d,i=s(e?.width,1280,1e5),a=s(e?.height,800,1e5),n=s(t?.width,1,1e5),u=s(t?.height,1,1e5),l=Number(r),c=r==="fit"?Math.min(n/i,u/a,1):["0.5","0.75","1","1.25","1.5","2"].includes(r)?l:Math.min(n/i,1);return{width:i,height:a,scale:Math.max(.001,c)}}function da(e,t=new Map){if(!e?.head)return;let r=ca.get(e);if(e.getElementById("clickclue-placeholder-style")&&r?.media===t)return;r?.dispose(),e.getElementById("clickclue-placeholder-style")?.remove();let s=e.createElement("style");s.id="clickclue-placeholder-style";let i=a=>'"'+Array.from(a,n=>"\\"+n.codePointAt(0).toString(16)+" ").join("")+'"';s.textContent=".tw-redacted{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#eef1e9!important;outline:1px dashed #9aab8c!important}.tw-redacted::after{display:block!important;padding:8px!important;color:#435737!important;font:12px/1.4 Arial,sans-serif!important;overflow:hidden!important;content:"+i(z.__("Content excluded","clickclue"))+"}.tw-media-image::after{content:"+i(z.__("Image excluded","clickclue"))+"}.tw-media-video::after{content:"+i(z.__("Video excluded","clickclue"))+"}.tw-media-audio::after{content:"+i(z.__("Audio excluded","clickclue"))+"}.tw-media-embedded::after{content:"+i(z.__("Embedded content excluded","clickclue"))+"}.tw-media-canvas::after{content:"+i(z.__("Canvas excluded","clickclue"))+"}.tw-approved-media{outline:none!important}.tw-approved-media::after{display:none!important}",e.head.append(s),ca.set(e,{media:t,dispose:ws(e,t)})}function pa({doc:e=document,getDimensions:t,isReady:r}){let s=e.defaultView,i=c=>e.getElementById(c),a=!1;function n(){let c=i("viewport"),{width:o,height:d,scale:f}=Fc(t(),{width:c.clientWidth-24,height:c.clientHeight-24},i("zoom").value);Object.assign(i("stage").style,{width:o+"px",height:d+"px",transform:`scale(${f})`}),Object.assign(i("stage-size").style,{width:Math.ceil(o*f)+"px",height:Math.ceil(d*f)+"px"}),i("viewport-size").textContent=`${Math.round(o)} \xD7 ${Math.round(d)} \xB7 ${Math.round(f*100)}%`}function u(c){a=c,i("zoom").disabled=!c,i("fullscreen").disabled=!c,c?n():i("viewport-size").textContent=z.__("Recorded viewport","clickclue")}return i("zoom").onchange=()=>{n(),i("viewport").scrollTop=0,i("viewport").scrollLeft=0},i("fullscreen").hidden=!e.fullscreenEnabled||typeof e.documentElement.requestFullscreen!="function",i("fullscreen").onclick=async()=>{try{e.fullscreenElement?await e.exitFullscreen():await e.documentElement.requestFullscreen(),i("view-feedback").textContent=""}catch{i("view-feedback").textContent=z.__("Fullscreen is unavailable in this browser. Use Fit width or a zoom level to inspect the recording.","clickclue")}},e.addEventListener("fullscreenchange",()=>{i("fullscreen").textContent=e.fullscreenElement?z.__("Exit fullscreen","clickclue"):z.__("Fullscreen","clickclue"),n()}),(typeof s.ResizeObserver=="function"?new s.ResizeObserver(()=>{a&&r()&&n()}):null)?.observe(i("viewport")),s.addEventListener("resize",()=>{a&&r()&&n()}),{fit:n,ready:u}}function ma(e,t,r){let s=e.getElementById("markers"),i=e.getElementById("event-ticks");s.replaceChildren(),i.replaceChildren();let a=e.createElement("option");a.value="",a.textContent=t.length?z.sprintf(/* translators: %1$s: number of event markers. */ z.__("Jump to an event (%1$s)","clickclue"),t.length):z.__("No event markers in this recording","clickclue"),s.append(a);for(let n of t.slice(0,200)){let u=`${tt(n.time)} \xB7 ${n.label}`,l=e.createElement("option");l.value=String(n.time),l.textContent=u,s.append(l);let c=e.createElement("span");c.className="event-tick"+(n.error||n.clue?" event-clue":""),c.style.left=Math.min(100,Math.max(0,n.time/Math.max(1,r)*100))+"%",c.title=u,i.append(c)}e.getElementById("event-count").textContent=t.length>200?z.__("First 200 markers shown; Previous and Next reach every event.","clickclue"):z.__("Use Previous, Next or the event list to inspect a moment.","clickclue")}function Uc(e,t="https://example.invalid"){try{let r=new URL(e,t),i=["p","page_id"].filter(u=>r.searchParams.has(u));if(i.length!==1)return null;let a=i[0],n=r.searchParams.getAll(a);return n.length!==1||!/^[1-9][0-9]{0,9}$/.test(n[0])?null:{path:r.pathname,key:a,id:n[0],identity:r.pathname+"?"+a+"="+n[0]}}catch{return null}}function ga(e,t="https://example.invalid"){try{let r=new URL(e,t),s=r.pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500),i=Uc(e,t);return i&&s===i.path&&r.search==="?"+i.key+"="+i.id&&(s+r.search).length<=500?s+r.search:s}catch{return"/"}}var or={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ya=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),wa=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),ba=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),ff=[...Object.keys(or),...ya,...wa,...ba,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function $c(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(or,e))return or[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&or[e].includes(t)?t:null;if(ya.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(wa.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let r=t.split(" ");return t==="none"?"none":r.length<=64&&r.every(s=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=1e5)?t:null}if(ba.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(r=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(r)&&parseFloat(r)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let r=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!r)return null;let s=r[2].split(",").map(i=>i.trim());return s.length===(r[1]==="matrix"?6:16)&&s.every(i=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(i)&&Number.isFinite(Number(i))&&Math.abs(Number(i))<=1e5)?t:null}if(["color","background-color"].includes(e)){let r=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return r&&r.slice(1,4).every(s=>Number(s)<=255)?t:null}return null}function cs(e){if(typeof e!="string"||e.length>4096)return"";let t=[],r=new Set;for(let i of e.split(";").slice(0,100)){let a=i.indexOf(":");if(a<1)continue;let n=i.slice(0,a).trim();if(r.has(n))continue;let u=$c(n,i.slice(a+1));u!==null&&(r.add(n),t.push(n+":"+u))}let s=t.join(";");return s.length<=4096?s:""}function va(e){return cs(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}var fs=e=>String(e??"").replace(/\S/g,"*"),Bc=ga;function Ce(e){let t=String(e??""),r="",s=0,i=u=>{let l=t.slice(u+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(l){let c=parseInt(l[0],16);return[c>0&&c<=1114111?String.fromCodePoint(c):"\uFFFD",u+1+l[0].length]}return[t[u+1]||"",Math.min(t.length,u+2)]},a=u=>{let l=t[u++];for(;u<t.length;)if(t[u]==="\\")u=i(u)[1];else if(t[u++]===l)break;return u},n=u=>{let l=t.indexOf("*/",u+2);return l<0?t.length:l+2};for(;s<t.length;){if(t.startsWith("/*",s)){s=n(s),r+=" ";continue}if(t[s]==='"'||t[s]==="'"){s=a(s),r+='""';continue}if(/[a-z_\\-]/i.test(t[s])){let u=s,l="";for(;s<t.length&&/[a-z0-9_\\-]/i.test(t[s]);)if(t[s]==="\\"){let[o,d]=i(s);l+=o,s=d}else l+=t[s++];let c=s;for(;c<t.length;)if(/\s/.test(t[c]))c++;else if(t.startsWith("/*",c))c=n(c);else break;if(l.toLowerCase()==="url"&&t[c]==="("){s=c+1;let o=1;for(;s<t.length&&o;)t[s]==="\\"?s=i(s)[1]:t[s]==='"'||t[s]==="'"?s=a(s):t.startsWith("/*",s)?s=n(s):(t[s]==="("&&o++,t[s]===")"&&o--,s++);r+="none"}else r+=t.slice(u,s);continue}r+=t[s++]}return r.replace(/@import[^;{}]*;?/gi,"")}var zc=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function Sa(e={}){let t={};for(let[r,s]of Object.entries(e))if(s===null)t[r]=null;else if(r==="style"&&s&&typeof s=="object"&&!Array.isArray(s))t[r]=Object.fromEntries(Object.entries(s).map(([i,a])=>[i,a===!1?!1:Array.isArray(a)?[Ce(a[0]),a[1]==="important"?"important":""]:Ce(a)]));else if(r==="style"||r==="_cssText")t[r]=Ce(s);else if(r==="data-tw-image-fit")t[r]=bt(s);else if(r==="data-tw-image-position")t[r]=wt(s);else if(r==="data-tw-layout"){let i=cs(s);i&&(t[r]=i)}else r==="data-tw-media"&&typeof s=="string"&&/^[a-f0-9]{64}$/.test(s)?t[r]=s:r==="href"?t[r]="#":zc.has(r)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(s))?t[r]=s:s===null&&(t[r]=null);if(t["data-tw-layout"]){let r=va(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let s of r.split(";")){let i=s.indexOf(":");i>0&&(t.style[s.slice(0,i)]=[s.slice(i+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+r}return t}var Wc=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),jc={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function Vc(e,t={}){let r=u=>{if(typeof u!="number"&&typeof u!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(u)))return null;let l=parseFloat(u);return Number.isFinite(l)?Math.min(8192,Math.max(0,l)):null},s=r(t.rr_width??t.width),i=r(t.rr_height??t.height),a=jc[e];if(!a)return{class:"tw-redacted",style:"display:none"};let n=(s===null?"":`;width:${s}px`)+(i===null?";min-height:24px":`;height:${i}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":bt(t["data-tw-image-fit"]),"data-tw-image-position":wt(t["data-tw-image-position"])}:{},class:"tw-redacted"+(a?" tw-media-"+a:""),style:"background:#edf0e9;overflow:hidden"+n}}function hs(e,t,r="",s=null){if(!e||typeof e!="object")return e;let i={...e},a=r==="style"||i.isStyle||i.tagName?.toLowerCase()==="style";return s&&a&&s.styleNodes.add(i.id),i.tagName&&Wc.has(i.tagName.toLowerCase())?{type:2,tagName:"div",attributes:Vc(i.tagName.toLowerCase(),i.attributes),childNodes:[],id:i.id,needBlock:!0}:(i.attributes&&(i.attributes=Sa(i.attributes)),typeof i.textContent=="string"&&(i.textContent=a?Ce(i.textContent):t.maskText?fs(i.textContent):i.textContent),i.childNodes&&(i.childNodes=i.childNodes.map(n=>hs(n,t,i.tagName||r,s))),i)}var qc=new Set(["page","click","rage_click"]);function Ca(e={maskText:!0}){let t={styleNodes:new Set};return r=>Gc(r,e,t)}function Gc(e,t={maskText:!0},r=null){if(!e||e.type>5)return null;let s={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(s.type===2&&(r?.styleNodes.clear(),s.data.node=hs(s.data.node,t,"",r)),s.type===4&&(s.data.href=Bc(s.data.href)),s.type===5){let i=qc.has(s.data.tag)?{}:t.sanitizeCustom?.(s.data.tag,s.data.payload)??null;if(i===null)return null;s.data={tag:s.data.tag,payload:i}}if(s.type===3){if([7,9,10,11].includes(s.data.source))return null;if(s.data.source===5&&(s.data.text=fs(s.data.text)),s.data.attributes&&(s.data.attributes=s.data.attributes.map(i=>({...i,attributes:Sa(i.attributes)}))),s.data.adds&&s.data.source===0&&(s.data.adds=s.data.adds.map(i=>({...i,node:hs(i.node,t,r?.styleNodes.has(i.parentId)?"style":"",r)}))),s.data.texts&&(s.data.texts=s.data.texts.map(i=>({...i,value:r?.styleNodes.has(i.id)?Ce(i.value):t.maskText?fs(i.value):r?i.value:Ce(i.value)}))),s.data.source===8&&s.data.adds&&(s.data.adds=s.data.adds.map(i=>({...i,rule:Ce(i.rule??"")}))),s.data.source===8)for(let i of["replace","replaceSync"])typeof s.data[i]=="string"&&(s.data[i]=Ce(s.data[i]));s.data.source===15&&s.data.styles&&(s.data.styles=s.data.styles.map(i=>({...i,rules:i.rules.map(a=>({...a,rule:Ce(a.rule)}))}))),s.data.source===13&&s.data.set&&(s.data.set={...s.data.set,value:Ce(s.data.set.value)})}return s}var xa=Object.freeze({get page(){return z.__("Page opened","clickclue")},get click(){return z.__("Click","clickclue")},get rage_click(){return z.__("Repeated clicks","clickclue")}});function Ea(e){let t=e[0]?.timestamp||0;return e.filter(r=>r.type===5&&r.data?.tag!=="click"&&xa[r.data?.tag]).map(r=>({time:Math.max(0,r.timestamp-t),label:xa[r.data.tag],error:!1,clue:r.data.tag==="rage_click"}))}var K,be=0,lr=!1,Ie=[],ds={width:1280,height:800},P=e=>document.getElementById(e),ar=pa({getDimensions:()=>ds,isReady:()=>!!K}),Ma=()=>ar.fit();function ps(e){P("seek").value=String(e),P("time").textContent=`${tt(e)} / ${tt(be)}`,P("seek").setAttribute("aria-valuetext",z.sprintf(/* translators: 1: current replay time, 2: total replay duration. */ z.__("%1$s of %2$s","clickclue"),tt(e),tt(be)));let t=[...Ie].reverse().find(r=>r.time<=e);P("current-event").textContent=t?t.label:z.__("Recording start","clickclue"),P("previous-event").disabled=!Ie.some(r=>r.time<e-100),P("next-event").disabled=!Ie.some(r=>r.time>e+100)}function ur(){K?.pause(),lr=!1,P("play").textContent=z.__("Play","clickclue"),P("activity").textContent=""}function Pe(e){if(!K)return;ur();let t=Math.min(be,Math.max(0,Number(e)||0));fa(K,t),ps(t)}function Ra(e){let t=Number(P("seek").value),r=e>0?Ie.find(s=>s.time>t+100):[...Ie].reverse().find(s=>s.time<t-100);r&&Pe(r.time)}function Hc(e,t=0,r=null,s=null){ha(document,s),ur(),K?.destroy(),K=null,be=0,Ie=[],ar.ready(!1),P("event-ticks").replaceChildren(),P("current-event").textContent="",P("view-feedback").textContent="",P("viewport").scrollTop=0,P("viewport").scrollLeft=0,P("stage").replaceChildren(),P("markers").replaceChildren();for(let i of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])P(i).disabled=!0;try{let i=ys(r),a=Ca({maskText:!1}),n=[...e].sort((f,h)=>f.timestamp-h.timestamp).map(a).filter(Boolean);if(n.length<2||!n.some(f=>f.type===2))throw new Error(z.__("This session has no complete page snapshot.","clickclue"));let u=n.find(f=>f.type===4)?.data;ds={width:Math.max(1,Number(u?.width)||1280),height:Math.max(1,Number(u?.height)||800)},be=Math.max(1,n.at(-1).timestamp-n[0].timestamp),Ie=Ea(n),K=new Ht(n,{root:P("stage"),showWarning:!1,showDebug:!1,blockClass:"rr-block",skipInactive:P("skip-inactive").checked,inactivePeriodThreshold:5e3,maxSpeed:16,speed:Number(P("speed").value),mouseTail:{duration:500,lineCap:"round",lineWidth:2,strokeStyle:"#789255"},UNSAFE_replayCanvas:!1}),K.on("resize",f=>{ds=f,Ma()}),K.on("finish",()=>{ur(),ps(be)}),K.on("skip-start",()=>{P("activity").textContent=z.__("Skipping inactivity","clickclue")}),K.on("skip-end",()=>{P("activity").textContent=""}),ma(document,Ie,be);for(let f of["play","seek","speed","skip-inactive"])P(f).disabled=!1;P("markers").disabled=!Ie.length,P("seek").max=String(be),P("notice").textContent="";let l=n.find(f=>f.type===2),c=K,o=!1,d=()=>{K===c&&da(c.iframe.contentDocument,i),!(o||K!==c||!c.iframe.contentDocument||!c.getMirror().getNode(l.data.node.id))&&(o=!0,queueMicrotask(()=>{K===c&&(ar.ready(!0),window.parent.postMessage({type:"tracewell-player-loaded"},"*"))}))};K.on("fullsnapshot-rebuilded",d),Ma(),Pe(t),d()}catch(i){K?.destroy(),K=null,ar.ready(!1),P("stage").replaceChildren();for(let a of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])P(a).disabled=!0;P("notice").textContent=z.sprintf(/* translators: %s: reconstruction error message. */ z.__("Unable to play this recording: %s","clickclue"),i.message),P("time").textContent="0:00 / 0:00",P("current-event").textContent="",P("event-ticks").replaceChildren(),window.parent.postMessage({type:"tracewell-player-error"},"*")}}P("play").onclick=()=>{if(K)if(lr)ur();else{let e=Number(P("seek").value);e>=be-100&&(e=0),K.play(e),lr=!0,P("play").textContent=z.__("Pause","clickclue")}};P("speed").onchange=()=>K?.setConfig({speed:Number(P("speed").value)});P("skip-inactive").onchange=()=>K?.setConfig({skipInactive:P("skip-inactive").checked});P("seek").oninput=e=>Pe(e.target.value);P("previous-event").onclick=()=>Ra(-1);P("next-event").onclick=()=>Ra(1);P("markers").onchange=e=>{e.target.value!==""&&Pe(e.target.value)};window.addEventListener("keydown",e=>{e.target.closest?.("input,select,button,textarea,a")||e.altKey||e.ctrlKey||e.metaKey||!K||(e.code==="Space"&&(e.preventDefault(),P("play").click()),e.key==="Home"&&(e.preventDefault(),Pe(0)),e.key==="End"&&(e.preventDefault(),Pe(be)),["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),Pe(Number(P("seek").value)+(e.key==="ArrowRight"?5e3:-5e3))))});setInterval(()=>{lr&&K&&ps(Math.min(be,K.getCurrentTime()))},100);window.addEventListener("message",e=>{e.source===window.parent&&(e.data?.type==="tracewell-player-ping"&&window.parent.postMessage({type:"tracewell-player-ready"},"*"),e.data?.type==="load"&&Array.isArray(e.data.events)&&(ms(document,e.data),Hc(e.data.events,e.data.startAt,e.data.media,e.data.completeness)),e.data?.type==="seek"&&Pe(e.data.time))});window.parent.postMessage({type:"tracewell-player-ready"},"*");})();
    232232/*! Bundled license information:
    233233
  • clickclue/trunk/assets/player.js

    r3775799 r3776421  
    1 "use strict";(()=>{var Fe=Object.create(null);function Ra(e){let t=Object.create(null);if(e&&typeof e=="object"&&!Array.isArray(e)){let r=0;for(let[s,i]of Object.entries(e).slice(0,500))if(!(typeof i!="string"||s.length>8192||i.length>8192)){if(r+=s.length+i.length,r>131072)break;t[s]=i}}Fe=t}var Na=(e,...t)=>{let r=0;return String(e).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,i,a)=>{if(s==="%%")return"%";let n=t[i?Number(i)-1:r++];return String(a==="d"?Math.trunc(Number(n)):n??"")})},z={__(e,t="clickclue"){return Object.hasOwn(Fe,e)?Fe[e]:globalThis.wp?.i18n?.__(e,t)??e},_n(e,t,r,s="clickclue"){return globalThis.wp?.i18n?._n(e,t,r,s)??(r===1?e:t)},sprintf(e,...t){return globalThis.wp?.i18n?.sprintf(e,...t)??Na(e,...t)}};function ms(e,t){Ra(t.translations),e.documentElement.lang=typeof t.language=="string"&&/^[A-Za-z0-9-]{1,64}$/.test(t.language)?t.language:"en",e.documentElement.dir=t.direction==="rtl"?"rtl":"ltr";for(let r of e.querySelectorAll("[data-clickclue-text]")){let s=r.getAttribute("data-clickclue-text");r.textContent=Object.hasOwn(Fe,s)?Fe[s]:s}for(let r of e.querySelectorAll("[data-clickclue-label]")){let s=r.getAttribute("data-clickclue-label");r.setAttribute("aria-label",Object.hasOwn(Fe,s)?Fe[s]:s)}}var gs="data-tw-media",Ia=/^[a-f0-9]{64}$/,wt=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",bt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain";function Aa(e,t){let r=i=>e.charCodeAt(i)*256+e.charCodeAt(i+1),s=i=>r(i)*65536+r(i+2);if(t==="image/png"){if(e.slice(0,8)!==`\x89PNG\r
     1"use strict";(()=>{var Fe=Object.create(null);function Na(e){let t=Object.create(null);if(e&&typeof e=="object"&&!Array.isArray(e)){let r=0;for(let[s,i]of Object.entries(e).slice(0,500))if(!(typeof i!="string"||s.length>8192||i.length>8192)){if(r+=s.length+i.length,r>131072)break;t[s]=i}}Fe=t}var Oa=(e,...t)=>{let r=0;return String(e).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,i,a)=>{if(s==="%%")return"%";let n=t[i?Number(i)-1:r++];return String(a==="d"?Math.trunc(Number(n)):n??"")})},z={__(e,t="clickclue"){return Object.hasOwn(Fe,e)?Fe[e]:globalThis.wp?.i18n?.__(e,t)??e},_n(e,t,r,s="clickclue"){return globalThis.wp?.i18n?._n(e,t,r,s)??(r===1?e:t)},sprintf(e,...t){return globalThis.wp?.i18n?.sprintf(e,...t)??Oa(e,...t)}};function ms(e,t){Na(t.translations),e.documentElement.lang=typeof t.language=="string"&&/^[A-Za-z0-9-]{1,64}$/.test(t.language)?t.language:"en",e.documentElement.dir=t.direction==="rtl"?"rtl":"ltr";for(let r of e.querySelectorAll("[data-clickclue-text]")){let s=r.getAttribute("data-clickclue-text");r.textContent=Object.hasOwn(Fe,s)?Fe[s]:s}for(let r of e.querySelectorAll("[data-clickclue-label]")){let s=r.getAttribute("data-clickclue-label");r.setAttribute("aria-label",Object.hasOwn(Fe,s)?Fe[s]:s)}}var gs="data-tw-media",Aa=/^[a-f0-9]{64}$/,wt=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",bt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain";function Da(e,t){let r=i=>e.charCodeAt(i)*256+e.charCodeAt(i+1),s=i=>r(i)*65536+r(i+2);if(t==="image/png"){if(e.slice(0,8)!==`\x89PNG\r
    22
    3 `||e.slice(12,16)!=="IHDR"||s(8)!==13)return null;for(let i=8;i+12<=e.length;){let a=s(i),n=e.slice(i+4,i+8);if(a>e.length-i-12||n==="acTL")return null;if(n==="IEND")return[s(16),s(20)];i+=a+12}return null}if(t==="image/jpeg"&&e.slice(0,2)==="\xFF\xD8")for(let i=2;i+4<e.length;){if(e.charCodeAt(i++)!==255)return null;for(;e.charCodeAt(i)===255;)i++;let a=e.charCodeAt(i++);if(a===217||a===218)return null;let n=r(i);if(n<2||i+n>e.length)return null;if([192,193,194].includes(a))return[r(i+5),r(i+3)];i+=n}return null}function ys(e){let t=new Map,r=0;if(!e||typeof e!="object"||Array.isArray(e))return t;for(let[s,i]of Object.entries(e).slice(0,64))if(!(!Ia.test(s)||!i||!["image/png","image/jpeg"].includes(i.mime)||!Number.isInteger(i.width)||!Number.isInteger(i.height)||i.width<1||i.height<1||i.width>1024||i.height>1024||typeof i.data!="string"||i.data.length>174764||!i.data.length||i.data.length%4||!/^[A-Za-z0-9+/]+={0,2}$/.test(i.data)))try{let a=atob(i.data);if(a.length>131072)continue;let n=Aa(a,i.mime);if(!n||n[0]!==i.width||n[1]!==i.height||r+i.data.length+128>2097152)continue;r+=i.data.length+128,t.set(s,"data:"+i.mime+";base64,"+i.data)}catch{}return t}function ws(e,t){if(!e?.documentElement||!t.size)return()=>{};let r=i=>{if(i.nodeType!==1)return;let a=[...i.matches("[data-tw-media],.tw-approved-media")?[i]:[],...i.querySelectorAll("[data-tw-media],.tw-approved-media")];for(let n of a){let u=t.get(n.getAttribute(gs));if(u){n.classList.contains("tw-approved-media")||n.classList.add("tw-approved-media");let l='url("'+u+'")';n.style.backgroundImage!==l&&n.style.setProperty("background-image",l,"important");let c=bt(n.getAttribute("data-tw-image-fit")),o=c==="cover"?"cover":c==="fill"?"100% 100%":"contain";n.style.backgroundSize!==o&&n.style.setProperty("background-size",o,"important"),n.style.backgroundRepeat!=="no-repeat"&&n.style.setProperty("background-repeat","no-repeat","important");let d=wt(n.getAttribute("data-tw-image-position"));n.style.backgroundPosition!==d&&n.style.setProperty("background-position",d,"important")}else n.classList.contains("tw-approved-media")&&(n.classList.remove("tw-approved-media"),n.style.removeProperty("background-image"))}};r(e.documentElement);let s=new e.defaultView.MutationObserver(i=>{for(let a of i)if(a.type==="attributes")r(a.target);else for(let n of a.addedNodes)r(n)});return s.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[gs,"data-tw-image-fit","data-tw-image-position","class","style"]}),()=>s.disconnect()}var Da=Object.defineProperty,ka=(e,t,r)=>t in e?Da(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>ka(e,typeof t!="symbol"?t+"":t,r),bs,Ta=Object.defineProperty,_a=(e,t,r)=>t in e?Ta(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vs=(e,t,r)=>_a(e,typeof t!="symbol"?t+"":t,r),U=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(U||{}),Ss={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Cs={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},vt={},oo={},La=()=>!!globalThis.Zone;function ji(e){if(vt[e])return vt[e];let t=globalThis[e],r=t.prototype,s=e in Ss?Ss[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Cs?Cs[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!La())return vt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),oo[e]=()=>u.remove()):u.remove(),vt[e]=c}catch{return r}}var fr={};function Ne(e,t,r){var s;let i=`${e}.${String(r)}`;if(fr[i])return fr[i].call(t);let a=ji(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(fr[i]=n,n.call(t)):t[r]}var hr={};function ao(e,t,r){let s=`${e}.${String(r)}`;if(hr[s])return hr[s].bind(t);let a=ji(e)[r];return typeof a!="function"?t[r]:(hr[s]=a,a.bind(t))}function Pa(e){return Ne("Node",e,"ownerDocument")}function Fa(e){return Ne("Node",e,"childNodes")}function Ua(e){return Ne("Node",e,"parentNode")}function $a(e){return Ne("Node",e,"parentElement")}function Ba(e){return Ne("Node",e,"textContent")}function za(e,t){return ao("Node",e,"contains")(t)}function Wa(e){return ao("Node",e,"getRootNode")()}function ja(e){return!e||!("host"in e)?null:Ne("ShadowRoot",e,"host")}function Va(e){return e.styleSheets}function qa(e){return!e||!("shadowRoot"in e)?null:Ne("Element",e,"shadowRoot")}function Ga(e,t){return Ne("Element",e,"querySelector")(t)}function Ha(e,t){return Ne("Element",e,"querySelectorAll")(t)}function Ya(){return[ji("MutationObserver").constructor,oo.MutationObserver??(()=>{})]}var lo=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(lo=()=>new Date().getTime());function Xa(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var ne={ownerDocument:Pa,childNodes:Fa,parentNode:Ua,parentElement:$a,textContent:Ba,contains:za,getRootNode:Wa,host:ja,styleSheets:Va,shadowRoot:qa,querySelector:Ga,querySelectorAll:Ha,nowTimestamp:lo,mutationObserverCtor:Ya,patch:Xa};function Vi(e){return e.nodeType===e.ELEMENT_NODE}function ot(e){let t=e&&"host"in e&&"mode"in e&&ne.host(e)||null;return!!(t&&"shadowRoot"in t&&ne.shadowRoot(t)===e)}function at(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function Ja(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function Qa(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function bi(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let s=Array.from(t,i=>uo(i,r)).join("");return Ja(s)}catch{return null}}function uo(e,t){if(Za(e)){let r;try{r=bi(e.styleSheet)||Qa(e)}catch{r=e.cssText}return e.styleSheet.href?_t(r,e.styleSheet.href):r}else{let r=e.cssText;return el(e)&&e.selectorText.includes(":")&&(r=Ka(r)),t?_t(r,t):r}}function Ka(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function Za(e){return"styleSheet"in e}function el(e){return"selectorText"in e}var ft=class{constructor(){vs(this,"idNodeMap",new Map),vs(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new ft}function kt({element:e,maskInputOptions:t,tagName:r,type:s,value:i,maskInputFn:a}){let n=i||"",u=s&&Me(s);return(t[r.toLowerCase()]||u&&t[u])&&(a?n=a(n,e):n="*".repeat(n.length)),n}function Me(e){return e.toLowerCase()}var xs="__rrweb_original__";function tl(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let s=0;s<e.width;s+=r)for(let i=0;i<e.height;i+=r){let a=t.getImageData,n=xs in a?a[xs]:a;if(new Uint32Array(n.call(t,s,i,Math.min(r,e.width-s),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function rl(e,t){return!e||!t||e.type!==t.type?!1:e.type===U.Document?e.compatMode===t.compatMode:e.type===U.DocumentType?e.name===t.name&&e.publicId===t.publicId&&e.systemId===t.systemId:e.type===U.Comment||e.type===U.Text||e.type===U.CDATA?e.textContent===t.textContent:e.type===U.Element?e.tagName===t.tagName&&JSON.stringify(e.attributes)===JSON.stringify(t.attributes)&&e.isSVG===t.isSVG&&e.needBlock===t.needBlock:!1}function Tt(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Me(t):null}function qi(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let s=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(s);return i?.[1]??null}function il(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var sl=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,nl=/^(?:[a-z+]+:)?\/\//i,ol=/^www\..*/i,al=/^(data:)([^,]*),(.*)/i;function _t(e,t){return(e||"").replace(sl,(r,s,i,a,n,u)=>{let l=i||n||u,c=s||a||"";if(!l)return r;if(nl.test(l)||ol.test(l))return`url(${c}${l}${c})`;if(al.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${il(t)+l}${c})`;let o=l.split("#")[0],d=l.substring(o.length),f=t.split("#")[0].split("/"),h=o.split("/");f.pop();for(let m of h)m!=="."&&(m===".."?f.pop():f.push(m));return`url(${c}${f.join("/")}${d}${c})`})}function St(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function ll(e,t,r=!1){let s=Array.from(t.childNodes),i=[],a=0;if(s.length>1&&e&&typeof e=="string"){let n=St(e,r),u=n.length/e.length;for(let l=1;l<s.length;l++)if(s[l].textContent&&typeof s[l].textContent=="string"){let c=St(s[l].textContent,r),o=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let f=c.substring(0,d),h=n.split(f),m=-1;if(h.length===2)m=h[0].length;else if(h.length>2&&h[0]===""&&s[l-1].textContent!=="")m=n.indexOf(f,1);else if(h.length===1){if(f=f.substring(0,f.length-1),h=n.split(f),h.length<=1)return i.push(e),i;d=o+1}else d===c.length-1&&(m=n.indexOf(f));if(h.length>=2&&d>o){let p=s[l-1].textContent;if(p&&typeof p=="string"){let g=St(p).length;m=n.indexOf(f,g)}m===-1&&(m=h[0].length)}if(m!==-1){let p=Math.floor(m/u);for(;p>0&&p<e.length;){if(a+=1,a>50*s.length)return i.push(e),i;let g=St(e.substring(0,p),r);if(g.length===m){i.push(e.substring(0,p)),e=e.substring(p),n=n.substring(m);break}else g.length<m?p+=Math.max(1,Math.floor((m-g.length)/u)):p-=Math.max(1,Math.floor((g.length-m)*u))}break}}}}return i.push(e),i}function ul(e,t){return ll(e,t).join("/* rr_split */")}var cl=1,fl=new RegExp("[^a-z0-9-_:]"),ht=-2;function fo(){return cl++}function hl(e){if(e instanceof HTMLFormElement)return"form";let t=Me(e.tagName);return fl.test(t)?"div":t}var Ve,Es,dl=/^[^ \t\n\r\u000c]+/,pl=/^[, \t\n\r\u000c]+/;function ml(e,t){if(t.trim()==="")return t;let r=0;function s(a){let n,u=a.exec(t.substring(r));return u?(n=u[0],r+=n.length,n):""}let i=[];for(;s(pl),!(r>=t.length);){let a=s(dl);if(a.slice(-1)===",")a=Ye(e,a.substring(0,a.length-1)),i.push(a);else{let n="";a=Ye(e,a);let u=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((a+n).trim());break}else if(u)l===")"&&(u=!1);else if(l===","){r+=1,i.push((a+n).trim());break}else l==="("&&(u=!0);n+=l,r+=1}}}return i.join(", ")}var Ms=new WeakMap;function Ye(e,t){return!t||t.trim()===""?t:Gi(e,t)}function gl(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Gi(e,t){let r=Ms.get(e);if(r||(r=e.createElement("a"),Ms.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function ho(e,t,r,s){return s&&(r==="src"||r==="href"&&!(t==="use"&&s[0]==="#")||r==="xlink:href"&&s[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?Ye(e,s):r==="srcset"?ml(e,s):r==="style"?_t(s,Gi(e)):t==="object"&&r==="data"?Ye(e,s):s)}function po(e,t,r){return["video","audio"].includes(e)&&Me(t)==="autoplay"}function yl(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Lt(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Lt(ne.parentNode(e),t,r):!1;for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}return r?Lt(ne.parentNode(e),t,r):!1}function mo(e,t,r,s){let i;if(Vi(e)){if(i=e,!ne.childNodes(i).length)return!1}else{if(ne.parentElement(e)===null)return!1;i=ne.parentElement(e)}try{if(typeof t=="string"){if(s){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Lt(i,t,s))return!0;if(r){if(s){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function wl(e,t,r){let s=e.contentWindow;if(!s)return;let i=!1,a;try{a=s.document.readyState}catch{return}if(a!=="complete"){let u=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()});return}let n="about:blank";if(s.location.href!==n||e.src===n||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function bl(e,t,r){let s=!1,i;try{i=e.sheet}catch{return}if(i)return;let a=setTimeout(()=>{s||(t(),s=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),s=!0,t()})}function vl(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:n,inlineStylesheet:u,maskInputOptions:l={},maskTextFn:c,maskInputFn:o,dataURLOptions:d={},inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p=!1,cssCaptured:g=!1}=t,b=Sl(r,s);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:U.Document,childNodes:[],compatMode:e.compatMode}:{type:U.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:U.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:b};case e.ELEMENT_NODE:return xl(e,{doc:r,blockClass:i,blockSelector:a,inlineStylesheet:u,maskInputOptions:l,maskInputFn:o,dataURLOptions:d,inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p,rootId:b});case e.TEXT_NODE:return Cl(e,{doc:r,needsMask:n,maskTextFn:c,rootId:b,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:U.CDATA,textContent:"",rootId:b};case e.COMMENT_NODE:return{type:U.Comment,textContent:ne.textContent(e)||"",rootId:b};default:return!1}}function Sl(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function Cl(e,t){let{needsMask:r,maskTextFn:s,rootId:i,cssCaptured:a}=t,n=ne.parentNode(e),u=n&&n.tagName,l="",c=u==="STYLE"?!0:void 0,o=u==="SCRIPT"?!0:void 0;return o?l="SCRIPT_PLACEHOLDER":a||(l=ne.textContent(e),c&&l&&(l=_t(l,Gi(t.doc)))),!c&&!o&&l&&r&&(l=s?s(l,ne.parentElement(e)):l.replace(/[\S]/g,"*")),{type:U.Text,textContent:l||"",rootId:i}}function xl(e,t){let{doc:r,blockClass:s,blockSelector:i,inlineStylesheet:a,maskInputOptions:n={},maskInputFn:u,dataURLOptions:l={},inlineImages:c,recordCanvas:o,keepIframeSrcFn:d,newlyAddedElement:f=!1,rootId:h}=t,m=yl(e,s,i),p=hl(e),g={},b=e.attributes.length;for(let w=0;w<b;w++){let C=e.attributes[w];po(p,C.name,C.value)||(g[C.name]=ho(r,p,Me(C.name),C.value))}if(p==="link"&&a){let w=Array.from(r.styleSheets).find(v=>v.href===e.href),C=null;w&&(C=bi(w)),C&&(delete g.rel,delete g.href,g._cssText=C)}if(p==="style"&&e.sheet){let w=bi(e.sheet);w&&(e.childNodes.length>1&&(w=ul(w,e)),g._cssText=w)}if(["input","textarea","select"].includes(p)){let w=e.value,C=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&w?g.value=kt({element:e,type:Tt(e),tagName:p,value:w,maskInputOptions:n,maskInputFn:u}):C&&(g.checked=C)}if(p==="option"&&(e.selected&&!n.select?g.selected=!0:delete g.selected),p==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),p==="canvas"&&o){if(e.__context==="2d")tl(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let w=e.toDataURL(l.type,l.quality),C=r.createElement("canvas");C.width=e.width,C.height=e.height;let v=C.toDataURL(l.type,l.quality);w!==v&&(g.rr_dataURL=w)}}if(p==="img"&&c){Ve||(Ve=r.createElement("canvas"),Es=Ve.getContext("2d"));let w=e,C=w.currentSrc||w.getAttribute("src")||"<unknown-src>",v=w.crossOrigin,S=()=>{w.removeEventListener("load",S);try{Ve.width=w.naturalWidth,Ve.height=w.naturalHeight,Es.drawImage(w,0,0),g.rr_dataURL=Ve.toDataURL(l.type,l.quality)}catch(x){if(w.crossOrigin!=="anonymous"){w.crossOrigin="anonymous",w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S);return}else console.warn(`Cannot inline img src=${C}! Error: ${x}`)}w.crossOrigin==="anonymous"&&(v?g.crossOrigin=v:w.removeAttribute("crossorigin"))};w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S)}if(["audio","video"].includes(p)){let w=g;w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime,w.rr_mediaPlaybackRate=e.playbackRate,w.rr_mediaMuted=e.muted,w.rr_mediaLoop=e.loop,w.rr_mediaVolume=e.volume}if(f||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:w,height:C}=e.getBoundingClientRect();g={class:g.class,rr_width:`${w}px`,rr_height:`${C}px`}}p==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let y;try{customElements.get(p)&&(y=!0)}catch{}return{type:U.Element,tagName:p,attributes:g,childNodes:[],isSVG:gl(e)||void 0,needBlock:m,rootId:h,isCustom:y}}function X(e){return e==null?"":e.toLowerCase()}function go(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function El(e,t){if(t.comment&&e.type===U.Comment)return!0;if(e.type===U.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(X(e.attributes.name).match(/^msapplication-tile(image|color)$/)||X(e.attributes.name)==="application-name"||X(e.attributes.rel)==="icon"||X(e.attributes.rel)==="apple-touch-icon"||X(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&X(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(X(e.attributes.property).match(/^(og|twitter|fb):/)||X(e.attributes.name).match(/^(og|twitter):/)||X(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(X(e.attributes.name)==="robots"||X(e.attributes.name)==="googlebot"||X(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(X(e.attributes.name)==="author"||X(e.attributes.name)==="generator"||X(e.attributes.name)==="framework"||X(e.attributes.name)==="publisher"||X(e.attributes.name)==="progid"||X(e.attributes.property).match(/^article:/)||X(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(X(e.attributes.name)==="google-site-verification"||X(e.attributes.name)==="yandex-verification"||X(e.attributes.name)==="csrf-token"||X(e.attributes.name)==="p:domain_verify"||X(e.attributes.name)==="verify-v1"||X(e.attributes.name)==="verification"||X(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Xe(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,maskTextClass:n,maskTextSelector:u,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:o={},maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m={},inlineImages:p=!1,recordCanvas:g=!1,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:v=5e3,keepIframeSrcFn:S=()=>!1,newlyAddedElement:x=!1,cssCaptured:M=!1}=t,{needsMask:I}=t,{preserveWhiteSpace:N=!0}=t;I||(I=mo(e,n,u,I===void 0));let F=vl(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,dataURLOptions:m,inlineImages:p,recordCanvas:g,keepIframeSrcFn:S,newlyAddedElement:x,cssCaptured:M});if(!F)return console.warn(e,"not serialized"),null;let k;s.hasNode(e)?k=s.getId(e):El(F,h)||!N&&F.type===U.Text&&!F.textContent.replace(/^\s+|\s+$/gm,"").length?k=ht:k=fo();let E=Object.assign(F,{id:k});if(s.add(e,E),k===ht)return null;b&&b(e);let ce=!l;if(E.type===U.Element){ce=ce&&!E.needBlock,delete E.needBlock;let j=ne.shadowRoot(e);j&&at(j)&&(E.isShadowHost=!0)}if((E.type===U.Document||E.type===U.Element)&&ce){h.headWhitespace&&E.type===U.Element&&E.tagName==="head"&&(N=!1);let j={doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:l,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S,cssCaptured:!1};if(!(E.type===U.Element&&E.tagName==="textarea"&&E.attributes.value!==void 0)){E.type===U.Element&&E.attributes._cssText!==void 0&&typeof E.attributes._cssText=="string"&&(j.cssCaptured=!0);for(let J of Array.from(ne.childNodes(e))){let ie=Xe(J,j);ie&&E.childNodes.push(ie)}}let _=null;if(Vi(e)&&(_=ne.shadowRoot(e)))for(let J of Array.from(ne.childNodes(_))){let ie=Xe(J,j);ie&&(at(_)&&(ie.isShadow=!0),E.childNodes.push(ie))}}let oe=ne.parentNode(e);return oe&&ot(oe)&&at(oe)&&(E.isShadow=!0),E.type===U.Element&&E.tagName==="iframe"&&wl(e,()=>{let j=e.contentDocument;if(j&&y){let _=Xe(j,{doc:j,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});_&&y(e,_)}},w),E.type===U.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&qi(E.attributes.href)==="css")&&bl(e,()=>{if(C){let j=Xe(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});j&&C(e,j)}},v),E}function Ml(e,t){let{mirror:r=new ft,blockClass:s="rr-block",blockSelector:i=null,maskTextClass:a="rr-mask",maskTextSelector:n=null,inlineStylesheet:u=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:o=!1,maskTextFn:d,maskInputFn:f,slimDOM:h=!1,dataURLOptions:m,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v=()=>!1}=t,S=o===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:o===!1?{password:!0}:o,x=go(h);return Xe(e,{doc:e,mirror:r,blockClass:s,blockSelector:i,maskTextClass:a,maskTextSelector:n,skipChild:!1,inlineStylesheet:u,maskInputOptions:S,maskTextFn:d,maskInputFn:f,slimDOMOptions:x,dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v,newlyAddedElement:!1})}var Rl=/(max|min)-device-(width|height)/,Rs=new RegExp(Rl.source,"g"),Nl={postcssPlugin:"postcss-custom-selectors",prepare(){return{postcssPlugin:"postcss-custom-selectors",AtRule:function(e){e.params.match(Rs)&&(e.params=e.params.replace(Rs,"$1-$2"))}}}},Ol={postcssPlugin:"postcss-hover-classes",prepare:function(){let e=[];return{Rule:function(t){e.indexOf(t)===-1&&(e.push(t),t.selectors.forEach(function(r){r.includes(":hover")&&(t.selector+=`,
    4 `+r.replace(/:hover/g,".\\:hover"))}))}}}};function Il(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Al(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Ct={exports:{}},Ns;function Dl(){if(Ns)return Ct.exports;Ns=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Ct.exports=t(),Ct.exports.createColors=t,Ct.exports}var kl={},Tl=Object.freeze(Object.defineProperty({__proto__:null,default:kl},Symbol.toStringTag,{value:"Module"})),ge=Al(Tl),dr,Os;function Hi(){if(Os)return dr;Os=1;let e=Dl(),t=ge;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`
     3`||e.slice(12,16)!=="IHDR"||s(8)!==13)return null;for(let i=8;i+12<=e.length;){let a=s(i),n=e.slice(i+4,i+8);if(a>e.length-i-12||n==="acTL")return null;if(n==="IEND")return[s(16),s(20)];i+=a+12}return null}if(t==="image/jpeg"&&e.slice(0,2)==="\xFF\xD8")for(let i=2;i+4<e.length;){if(e.charCodeAt(i++)!==255)return null;for(;e.charCodeAt(i)===255;)i++;let a=e.charCodeAt(i++);if(a===217||a===218)return null;let n=r(i);if(n<2||i+n>e.length)return null;if([192,193,194].includes(a))return[r(i+5),r(i+3)];i+=n}return null}function ys(e){let t=new Map,r=0;if(!e||typeof e!="object"||Array.isArray(e))return t;for(let[s,i]of Object.entries(e).slice(0,64))if(!(!Aa.test(s)||!i||!["image/png","image/jpeg"].includes(i.mime)||!Number.isInteger(i.width)||!Number.isInteger(i.height)||i.width<1||i.height<1||i.width>1024||i.height>1024||typeof i.data!="string"||i.data.length>174764||!i.data.length||i.data.length%4||!/^[A-Za-z0-9+/]+={0,2}$/.test(i.data)))try{let a=atob(i.data);if(a.length>131072)continue;let n=Da(a,i.mime);if(!n||n[0]!==i.width||n[1]!==i.height||r+i.data.length+128>2097152)continue;r+=i.data.length+128,t.set(s,"data:"+i.mime+";base64,"+i.data)}catch{}return t}function ws(e,t){if(!e?.documentElement||!t.size)return()=>{};let r=i=>{if(i.nodeType!==1)return;let a=[...i.matches("[data-tw-media],.tw-approved-media")?[i]:[],...i.querySelectorAll("[data-tw-media],.tw-approved-media")];for(let n of a){let u=t.get(n.getAttribute(gs));if(u){n.classList.contains("tw-approved-media")||n.classList.add("tw-approved-media");let l='url("'+u+'")';n.style.backgroundImage!==l&&n.style.setProperty("background-image",l,"important");let c=bt(n.getAttribute("data-tw-image-fit")),o=c==="cover"?"cover":c==="fill"?"100% 100%":"contain";n.style.backgroundSize!==o&&n.style.setProperty("background-size",o,"important"),n.style.backgroundRepeat!=="no-repeat"&&n.style.setProperty("background-repeat","no-repeat","important");let d=wt(n.getAttribute("data-tw-image-position"));n.style.backgroundPosition!==d&&n.style.setProperty("background-position",d,"important")}else n.classList.contains("tw-approved-media")&&(n.classList.remove("tw-approved-media"),n.style.removeProperty("background-image"))}};r(e.documentElement);let s=new e.defaultView.MutationObserver(i=>{for(let a of i)if(a.type==="attributes")r(a.target);else for(let n of a.addedNodes)r(n)});return s.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[gs,"data-tw-image-fit","data-tw-image-position","class","style"]}),()=>s.disconnect()}var ka=Object.defineProperty,Ta=(e,t,r)=>t in e?ka(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>Ta(e,typeof t!="symbol"?t+"":t,r),bs,_a=Object.defineProperty,Pa=(e,t,r)=>t in e?_a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vs=(e,t,r)=>Pa(e,typeof t!="symbol"?t+"":t,r),U=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(U||{}),Ss={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Cs={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},vt={},oo={},La=()=>!!globalThis.Zone;function ji(e){if(vt[e])return vt[e];let t=globalThis[e],r=t.prototype,s=e in Ss?Ss[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Cs?Cs[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!La())return vt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),oo[e]=()=>u.remove()):u.remove(),vt[e]=c}catch{return r}}var fr={};function Ne(e,t,r){var s;let i=`${e}.${String(r)}`;if(fr[i])return fr[i].call(t);let a=ji(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(fr[i]=n,n.call(t)):t[r]}var hr={};function ao(e,t,r){let s=`${e}.${String(r)}`;if(hr[s])return hr[s].bind(t);let a=ji(e)[r];return typeof a!="function"?t[r]:(hr[s]=a,a.bind(t))}function Fa(e){return Ne("Node",e,"ownerDocument")}function Ua(e){return Ne("Node",e,"childNodes")}function $a(e){return Ne("Node",e,"parentNode")}function Ba(e){return Ne("Node",e,"parentElement")}function za(e){return Ne("Node",e,"textContent")}function Wa(e,t){return ao("Node",e,"contains")(t)}function ja(e){return ao("Node",e,"getRootNode")()}function Va(e){return!e||!("host"in e)?null:Ne("ShadowRoot",e,"host")}function qa(e){return e.styleSheets}function Ga(e){return!e||!("shadowRoot"in e)?null:Ne("Element",e,"shadowRoot")}function Ha(e,t){return Ne("Element",e,"querySelector")(t)}function Ya(e,t){return Ne("Element",e,"querySelectorAll")(t)}function Xa(){return[ji("MutationObserver").constructor,oo.MutationObserver??(()=>{})]}var lo=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(lo=()=>new Date().getTime());function Ja(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var ne={ownerDocument:Fa,childNodes:Ua,parentNode:$a,parentElement:Ba,textContent:za,contains:Wa,getRootNode:ja,host:Va,styleSheets:qa,shadowRoot:Ga,querySelector:Ha,querySelectorAll:Ya,nowTimestamp:lo,mutationObserverCtor:Xa,patch:Ja};function Vi(e){return e.nodeType===e.ELEMENT_NODE}function ot(e){let t=e&&"host"in e&&"mode"in e&&ne.host(e)||null;return!!(t&&"shadowRoot"in t&&ne.shadowRoot(t)===e)}function at(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function Qa(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function Ka(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function bi(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let s=Array.from(t,i=>uo(i,r)).join("");return Qa(s)}catch{return null}}function uo(e,t){if(el(e)){let r;try{r=bi(e.styleSheet)||Ka(e)}catch{r=e.cssText}return e.styleSheet.href?_t(r,e.styleSheet.href):r}else{let r=e.cssText;return tl(e)&&e.selectorText.includes(":")&&(r=Za(r)),t?_t(r,t):r}}function Za(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function el(e){return"styleSheet"in e}function tl(e){return"selectorText"in e}var ft=class{constructor(){vs(this,"idNodeMap",new Map),vs(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new ft}function kt({element:e,maskInputOptions:t,tagName:r,type:s,value:i,maskInputFn:a}){let n=i||"",u=s&&Me(s);return(t[r.toLowerCase()]||u&&t[u])&&(a?n=a(n,e):n="*".repeat(n.length)),n}function Me(e){return e.toLowerCase()}var xs="__rrweb_original__";function rl(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let s=0;s<e.width;s+=r)for(let i=0;i<e.height;i+=r){let a=t.getImageData,n=xs in a?a[xs]:a;if(new Uint32Array(n.call(t,s,i,Math.min(r,e.width-s),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function il(e,t){return!e||!t||e.type!==t.type?!1:e.type===U.Document?e.compatMode===t.compatMode:e.type===U.DocumentType?e.name===t.name&&e.publicId===t.publicId&&e.systemId===t.systemId:e.type===U.Comment||e.type===U.Text||e.type===U.CDATA?e.textContent===t.textContent:e.type===U.Element?e.tagName===t.tagName&&JSON.stringify(e.attributes)===JSON.stringify(t.attributes)&&e.isSVG===t.isSVG&&e.needBlock===t.needBlock:!1}function Tt(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Me(t):null}function qi(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let s=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(s);return i?.[1]??null}function sl(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var nl=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,ol=/^(?:[a-z+]+:)?\/\//i,al=/^www\..*/i,ll=/^(data:)([^,]*),(.*)/i;function _t(e,t){return(e||"").replace(nl,(r,s,i,a,n,u)=>{let l=i||n||u,c=s||a||"";if(!l)return r;if(ol.test(l)||al.test(l))return`url(${c}${l}${c})`;if(ll.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${sl(t)+l}${c})`;let o=l.split("#")[0],d=l.substring(o.length),f=t.split("#")[0].split("/"),h=o.split("/");f.pop();for(let m of h)m!=="."&&(m===".."?f.pop():f.push(m));return`url(${c}${f.join("/")}${d}${c})`})}function St(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function ul(e,t,r=!1){let s=Array.from(t.childNodes),i=[],a=0;if(s.length>1&&e&&typeof e=="string"){let n=St(e,r),u=n.length/e.length;for(let l=1;l<s.length;l++)if(s[l].textContent&&typeof s[l].textContent=="string"){let c=St(s[l].textContent,r),o=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let f=c.substring(0,d),h=n.split(f),m=-1;if(h.length===2)m=h[0].length;else if(h.length>2&&h[0]===""&&s[l-1].textContent!=="")m=n.indexOf(f,1);else if(h.length===1){if(f=f.substring(0,f.length-1),h=n.split(f),h.length<=1)return i.push(e),i;d=o+1}else d===c.length-1&&(m=n.indexOf(f));if(h.length>=2&&d>o){let p=s[l-1].textContent;if(p&&typeof p=="string"){let g=St(p).length;m=n.indexOf(f,g)}m===-1&&(m=h[0].length)}if(m!==-1){let p=Math.floor(m/u);for(;p>0&&p<e.length;){if(a+=1,a>50*s.length)return i.push(e),i;let g=St(e.substring(0,p),r);if(g.length===m){i.push(e.substring(0,p)),e=e.substring(p),n=n.substring(m);break}else g.length<m?p+=Math.max(1,Math.floor((m-g.length)/u)):p-=Math.max(1,Math.floor((g.length-m)*u))}break}}}}return i.push(e),i}function cl(e,t){return ul(e,t).join("/* rr_split */")}var fl=1,hl=new RegExp("[^a-z0-9-_:]"),ht=-2;function fo(){return fl++}function dl(e){if(e instanceof HTMLFormElement)return"form";let t=Me(e.tagName);return hl.test(t)?"div":t}var Ve,Es,pl=/^[^ \t\n\r\u000c]+/,ml=/^[, \t\n\r\u000c]+/;function gl(e,t){if(t.trim()==="")return t;let r=0;function s(a){let n,u=a.exec(t.substring(r));return u?(n=u[0],r+=n.length,n):""}let i=[];for(;s(ml),!(r>=t.length);){let a=s(pl);if(a.slice(-1)===",")a=Ye(e,a.substring(0,a.length-1)),i.push(a);else{let n="";a=Ye(e,a);let u=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((a+n).trim());break}else if(u)l===")"&&(u=!1);else if(l===","){r+=1,i.push((a+n).trim());break}else l==="("&&(u=!0);n+=l,r+=1}}}return i.join(", ")}var Ms=new WeakMap;function Ye(e,t){return!t||t.trim()===""?t:Gi(e,t)}function yl(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Gi(e,t){let r=Ms.get(e);if(r||(r=e.createElement("a"),Ms.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function ho(e,t,r,s){return s&&(r==="src"||r==="href"&&!(t==="use"&&s[0]==="#")||r==="xlink:href"&&s[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?Ye(e,s):r==="srcset"?gl(e,s):r==="style"?_t(s,Gi(e)):t==="object"&&r==="data"?Ye(e,s):s)}function po(e,t,r){return["video","audio"].includes(e)&&Me(t)==="autoplay"}function wl(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Pt(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Pt(ne.parentNode(e),t,r):!1;for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}return r?Pt(ne.parentNode(e),t,r):!1}function mo(e,t,r,s){let i;if(Vi(e)){if(i=e,!ne.childNodes(i).length)return!1}else{if(ne.parentElement(e)===null)return!1;i=ne.parentElement(e)}try{if(typeof t=="string"){if(s){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Pt(i,t,s))return!0;if(r){if(s){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function bl(e,t,r){let s=e.contentWindow;if(!s)return;let i=!1,a;try{a=s.document.readyState}catch{return}if(a!=="complete"){let u=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()});return}let n="about:blank";if(s.location.href!==n||e.src===n||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function vl(e,t,r){let s=!1,i;try{i=e.sheet}catch{return}if(i)return;let a=setTimeout(()=>{s||(t(),s=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),s=!0,t()})}function Sl(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:n,inlineStylesheet:u,maskInputOptions:l={},maskTextFn:c,maskInputFn:o,dataURLOptions:d={},inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p=!1,cssCaptured:g=!1}=t,b=Cl(r,s);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:U.Document,childNodes:[],compatMode:e.compatMode}:{type:U.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:U.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:b};case e.ELEMENT_NODE:return El(e,{doc:r,blockClass:i,blockSelector:a,inlineStylesheet:u,maskInputOptions:l,maskInputFn:o,dataURLOptions:d,inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p,rootId:b});case e.TEXT_NODE:return xl(e,{doc:r,needsMask:n,maskTextFn:c,rootId:b,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:U.CDATA,textContent:"",rootId:b};case e.COMMENT_NODE:return{type:U.Comment,textContent:ne.textContent(e)||"",rootId:b};default:return!1}}function Cl(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function xl(e,t){let{needsMask:r,maskTextFn:s,rootId:i,cssCaptured:a}=t,n=ne.parentNode(e),u=n&&n.tagName,l="",c=u==="STYLE"?!0:void 0,o=u==="SCRIPT"?!0:void 0;return o?l="SCRIPT_PLACEHOLDER":a||(l=ne.textContent(e),c&&l&&(l=_t(l,Gi(t.doc)))),!c&&!o&&l&&r&&(l=s?s(l,ne.parentElement(e)):l.replace(/[\S]/g,"*")),{type:U.Text,textContent:l||"",rootId:i}}function El(e,t){let{doc:r,blockClass:s,blockSelector:i,inlineStylesheet:a,maskInputOptions:n={},maskInputFn:u,dataURLOptions:l={},inlineImages:c,recordCanvas:o,keepIframeSrcFn:d,newlyAddedElement:f=!1,rootId:h}=t,m=wl(e,s,i),p=dl(e),g={},b=e.attributes.length;for(let w=0;w<b;w++){let C=e.attributes[w];po(p,C.name,C.value)||(g[C.name]=ho(r,p,Me(C.name),C.value))}if(p==="link"&&a){let w=Array.from(r.styleSheets).find(v=>v.href===e.href),C=null;w&&(C=bi(w)),C&&(delete g.rel,delete g.href,g._cssText=C)}if(p==="style"&&e.sheet){let w=bi(e.sheet);w&&(e.childNodes.length>1&&(w=cl(w,e)),g._cssText=w)}if(["input","textarea","select"].includes(p)){let w=e.value,C=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&w?g.value=kt({element:e,type:Tt(e),tagName:p,value:w,maskInputOptions:n,maskInputFn:u}):C&&(g.checked=C)}if(p==="option"&&(e.selected&&!n.select?g.selected=!0:delete g.selected),p==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),p==="canvas"&&o){if(e.__context==="2d")rl(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let w=e.toDataURL(l.type,l.quality),C=r.createElement("canvas");C.width=e.width,C.height=e.height;let v=C.toDataURL(l.type,l.quality);w!==v&&(g.rr_dataURL=w)}}if(p==="img"&&c){Ve||(Ve=r.createElement("canvas"),Es=Ve.getContext("2d"));let w=e,C=w.currentSrc||w.getAttribute("src")||"<unknown-src>",v=w.crossOrigin,S=()=>{w.removeEventListener("load",S);try{Ve.width=w.naturalWidth,Ve.height=w.naturalHeight,Es.drawImage(w,0,0),g.rr_dataURL=Ve.toDataURL(l.type,l.quality)}catch(x){if(w.crossOrigin!=="anonymous"){w.crossOrigin="anonymous",w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S);return}else console.warn(`Cannot inline img src=${C}! Error: ${x}`)}w.crossOrigin==="anonymous"&&(v?g.crossOrigin=v:w.removeAttribute("crossorigin"))};w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S)}if(["audio","video"].includes(p)){let w=g;w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime,w.rr_mediaPlaybackRate=e.playbackRate,w.rr_mediaMuted=e.muted,w.rr_mediaLoop=e.loop,w.rr_mediaVolume=e.volume}if(f||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:w,height:C}=e.getBoundingClientRect();g={class:g.class,rr_width:`${w}px`,rr_height:`${C}px`}}p==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let y;try{customElements.get(p)&&(y=!0)}catch{}return{type:U.Element,tagName:p,attributes:g,childNodes:[],isSVG:yl(e)||void 0,needBlock:m,rootId:h,isCustom:y}}function X(e){return e==null?"":e.toLowerCase()}function go(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function Ml(e,t){if(t.comment&&e.type===U.Comment)return!0;if(e.type===U.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(X(e.attributes.name).match(/^msapplication-tile(image|color)$/)||X(e.attributes.name)==="application-name"||X(e.attributes.rel)==="icon"||X(e.attributes.rel)==="apple-touch-icon"||X(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&X(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(X(e.attributes.property).match(/^(og|twitter|fb):/)||X(e.attributes.name).match(/^(og|twitter):/)||X(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(X(e.attributes.name)==="robots"||X(e.attributes.name)==="googlebot"||X(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(X(e.attributes.name)==="author"||X(e.attributes.name)==="generator"||X(e.attributes.name)==="framework"||X(e.attributes.name)==="publisher"||X(e.attributes.name)==="progid"||X(e.attributes.property).match(/^article:/)||X(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(X(e.attributes.name)==="google-site-verification"||X(e.attributes.name)==="yandex-verification"||X(e.attributes.name)==="csrf-token"||X(e.attributes.name)==="p:domain_verify"||X(e.attributes.name)==="verify-v1"||X(e.attributes.name)==="verification"||X(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Xe(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,maskTextClass:n,maskTextSelector:u,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:o={},maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m={},inlineImages:p=!1,recordCanvas:g=!1,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:v=5e3,keepIframeSrcFn:S=()=>!1,newlyAddedElement:x=!1,cssCaptured:M=!1}=t,{needsMask:I}=t,{preserveWhiteSpace:N=!0}=t;I||(I=mo(e,n,u,I===void 0));let F=Sl(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,dataURLOptions:m,inlineImages:p,recordCanvas:g,keepIframeSrcFn:S,newlyAddedElement:x,cssCaptured:M});if(!F)return console.warn(e,"not serialized"),null;let k;s.hasNode(e)?k=s.getId(e):Ml(F,h)||!N&&F.type===U.Text&&!F.textContent.replace(/^\s+|\s+$/gm,"").length?k=ht:k=fo();let E=Object.assign(F,{id:k});if(s.add(e,E),k===ht)return null;b&&b(e);let ce=!l;if(E.type===U.Element){ce=ce&&!E.needBlock,delete E.needBlock;let j=ne.shadowRoot(e);j&&at(j)&&(E.isShadowHost=!0)}if((E.type===U.Document||E.type===U.Element)&&ce){h.headWhitespace&&E.type===U.Element&&E.tagName==="head"&&(N=!1);let j={doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:l,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S,cssCaptured:!1};if(!(E.type===U.Element&&E.tagName==="textarea"&&E.attributes.value!==void 0)){E.type===U.Element&&E.attributes._cssText!==void 0&&typeof E.attributes._cssText=="string"&&(j.cssCaptured=!0);for(let J of Array.from(ne.childNodes(e))){let ie=Xe(J,j);ie&&E.childNodes.push(ie)}}let _=null;if(Vi(e)&&(_=ne.shadowRoot(e)))for(let J of Array.from(ne.childNodes(_))){let ie=Xe(J,j);ie&&(at(_)&&(ie.isShadow=!0),E.childNodes.push(ie))}}let oe=ne.parentNode(e);return oe&&ot(oe)&&at(oe)&&(E.isShadow=!0),E.type===U.Element&&E.tagName==="iframe"&&bl(e,()=>{let j=e.contentDocument;if(j&&y){let _=Xe(j,{doc:j,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});_&&y(e,_)}},w),E.type===U.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&qi(E.attributes.href)==="css")&&vl(e,()=>{if(C){let j=Xe(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});j&&C(e,j)}},v),E}function Rl(e,t){let{mirror:r=new ft,blockClass:s="rr-block",blockSelector:i=null,maskTextClass:a="rr-mask",maskTextSelector:n=null,inlineStylesheet:u=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:o=!1,maskTextFn:d,maskInputFn:f,slimDOM:h=!1,dataURLOptions:m,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v=()=>!1}=t,S=o===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:o===!1?{password:!0}:o,x=go(h);return Xe(e,{doc:e,mirror:r,blockClass:s,blockSelector:i,maskTextClass:a,maskTextSelector:n,skipChild:!1,inlineStylesheet:u,maskInputOptions:S,maskTextFn:d,maskInputFn:f,slimDOMOptions:x,dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v,newlyAddedElement:!1})}var Nl=/(max|min)-device-(width|height)/,Rs=new RegExp(Nl.source,"g"),Ol={postcssPlugin:"postcss-custom-selectors",prepare(){return{postcssPlugin:"postcss-custom-selectors",AtRule:function(e){e.params.match(Rs)&&(e.params=e.params.replace(Rs,"$1-$2"))}}}},Il={postcssPlugin:"postcss-hover-classes",prepare:function(){let e=[];return{Rule:function(t){e.indexOf(t)===-1&&(e.push(t),t.selectors.forEach(function(r){r.includes(":hover")&&(t.selector+=`,
     4`+r.replace(/:hover/g,".\\:hover"))}))}}}};function Al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Dl(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Ct={exports:{}},Ns;function kl(){if(Ns)return Ct.exports;Ns=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Ct.exports=t(),Ct.exports.createColors=t,Ct.exports}var Tl={},_l=Object.freeze(Object.defineProperty({__proto__:null,default:Tl},Symbol.toStringTag,{value:"Module"})),ge=Dl(_l),dr,Os;function Hi(){if(Os)return dr;Os=1;let e=kl(),t=ge;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`
    55 `+g+o("^")}return" "+d(p)+f}).join(`
    66`)}toString(){let i=this.showSourceCode();return i&&(i=`
    … …  
    1919`)&&(a=a.replace(/[^\n]+$/,"")),!1}),a&&(a=a.replace(/\S/g,"")),a}rawColon(i){let a;return i.walkDecls(n=>{if(typeof n.raws.between<"u")return a=n.raws.between.replace(/[^\s:]/g,""),!1}),a}rawEmptyBody(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length===0&&(a=n.raws.after,typeof a<"u"))return!1}),a}rawIndent(i){if(i.raws.indent)return i.raws.indent;let a;return i.walk(n=>{let u=n.parent;if(u&&u!==i&&u.parent&&u.parent===i&&typeof n.raws.before<"u"){let l=n.raws.before.split(`
    2020`);return a=l[l.length-1],a=a.replace(/\S/g,""),!1}}),a}rawSemicolon(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(a=n.raws.semicolon,typeof a<"u"))return!1}),a}rawValue(i,a){let n=i[a],u=i.raws[a];return u&&u.value===n?u.raw:n}root(i){this.body(i),i.raws.after&&this.builder(i.raws.after)}rule(i){this.block(i,this.rawValue(i,"selector")),i.raws.ownSemicolon&&this.builder(i.raws.ownSemicolon,i,"end")}stringify(i,a){if(!this[i.type])throw new Error("Unknown AST node type "+i.type+". Maybe you need to change PostCSS stringifier.");this[i.type](i,a)}}return pr=r,r.default=r,pr}var mr,Ds;function Yt(){if(Ds)return mr;Ds=1;let e=yo();function t(r,s){new e(s).stringify(r)}return mr=t,t.default=t,mr}var gr,ks;function Xt(){if(ks)return gr;ks=1;let{isClean:e,my:t}=Yi(),r=Hi(),s=yo(),i=Yt();function a(u,l){let c=new u.constructor;for(let o in u){if(!Object.prototype.hasOwnProperty.call(u,o)||o==="proxyCache")continue;let d=u[o],f=typeof d;o==="parent"&&f==="object"?l&&(c[o]=l):o==="source"?c[o]=d:Array.isArray(d)?c[o]=d.map(h=>a(h,c)):(f==="object"&&d!==null&&(d=a(d)),c[o]=d)}return c}class n{constructor(l={}){this.raws={},this[e]=!1,this[t]=!0;for(let c in l)if(c==="nodes"){this.nodes=[];for(let o of l[c])typeof o.clone=="function"?this.append(o.clone()):this.append(o)}else this[c]=l[c]}addToError(l){if(l.postcssNode=this,l.stack&&this.source&&/\n\s{4}at /.test(l.stack)){let c=this.source;l.stack=l.stack.replace(/\n\s{4}at /,`$&${c.input.from}:${c.start.line}:${c.start.column}$&`)}return l}after(l){return this.parent.insertAfter(this,l),this}assign(l={}){for(let c in l)this[c]=l[c];return this}before(l){return this.parent.insertBefore(this,l),this}cleanRaws(l){delete this.raws.before,delete this.raws.after,l||delete this.raws.between}clone(l={}){let c=a(this);for(let o in l)c[o]=l[o];return c}cloneAfter(l={}){let c=this.clone(l);return this.parent.insertAfter(this,c),c}cloneBefore(l={}){let c=this.clone(l);return this.parent.insertBefore(this,c),c}error(l,c={}){if(this.source){let{end:o,start:d}=this.rangeBy(c);return this.source.input.error(l,{column:d.column,line:d.line},{column:o.column,line:o.line},c)}return new r(l)}getProxyProcessor(){return{get(l,c){return c==="proxyOf"?l:c==="root"?()=>l.root().toProxy():l[c]},set(l,c,o){return l[c]===o||(l[c]=o,(c==="prop"||c==="value"||c==="name"||c==="params"||c==="important"||c==="text")&&l.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let l=this;for(;l=l.parent;)l[e]=!1}}next(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l+1]}positionBy(l,c){let o=this.source.start;if(l.index)o=this.positionInside(l.index,c);else if(l.word){c=this.toString();let d=c.indexOf(l.word);d!==-1&&(o=this.positionInside(d,c))}return o}positionInside(l,c){let o=c||this.toString(),d=this.source.start.column,f=this.source.start.line;for(let h=0;h<l;h++)o[h]===`
    21 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return gr=n,n.default=n,gr}var yr,Ts;function Jt(){if(Ts)return yr;Ts=1;let e=Xt();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return yr=t,t.default=t,yr}var wr,_s;function _l(){if(_s)return wr;_s=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return wr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},wr}var br,Ls;function wo(){if(Ls)return br;Ls=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:r,readFileSync:s}=ge,{dirname:i,join:a}=ge;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return br=u,u.default=u,br}var vr,Ps;function Qt(){if(Ps)return vr;Ps=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:r,pathToFileURL:s}=ge,{isAbsolute:i,resolve:a}=ge,{nanoid:n}=_l(),u=ge,l=Hi(),c=wo(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`
     21`?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return gr=n,n.default=n,gr}var yr,Ts;function Jt(){if(Ts)return yr;Ts=1;let e=Xt();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return yr=t,t.default=t,yr}var wr,_s;function Pl(){if(_s)return wr;_s=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return wr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},wr}var br,Ps;function wo(){if(Ps)return br;Ps=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:r,readFileSync:s}=ge,{dirname:i,join:a}=ge;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return br=u,u.default=u,br}var vr,Ls;function Qt(){if(Ls)return vr;Ls=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:r,pathToFileURL:s}=ge,{isAbsolute:i,resolve:a}=ge,{nanoid:n}=Pl(),u=ge,l=Hi(),c=wo(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`
    2222`);b=new Array(w.length);let C=0;for(let v=0,S=w.length;v<S;v++)b[v]=C,C+=w[v].length+1;this[o]=b}g=b[b.length-1];let y=0;if(p>=g)y=b.length-1;else{let w=b.length-2,C;for(;y<w;)if(C=y+(w-y>>1),p<b[C])w=C-1;else if(p>=b[C+1])y=C+1;else{y=C;break}}return{col:p-b[y]+1,line:y+1}}mapResolve(p){return/^\w+:\/\//.test(p)?p:a(this.map.consumer().sourceRoot||this.map.root||".",p)}origin(p,g,b,y){if(!this.map)return!1;let w=this.map.consumer(),C=w.originalPositionFor({column:g,line:p});if(!C.source)return!1;let v;typeof b=="number"&&(v=w.originalPositionFor({column:y,line:b}));let S;i(C.source)?S=s(C.source):S=new URL(C.source,this.map.consumer().sourceRoot||s(this.map.mapFile));let x={column:C.column,endColumn:v&&v.column,endLine:v&&v.line,line:C.line,url:S.toString()};if(S.protocol==="file:")if(r)x.file=r(S);else throw new Error("file: protocol is not available in this PostCSS build");let M=w.sourceContentFor(C.source);return M&&(x.source=M),x}toJSON(){let p={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(p[g]=this[g]);return this.map&&(p.map={...this.map},p.map.consumerCache&&(p.map.consumerCache=void 0)),p}get from(){return this.file||this.id}}return vr=h,h.default=h,u&&u.registerInput&&u.registerInput(h),vr}var Sr,Fs;function bo(){if(Fs)return Sr;Fs=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{dirname:r,relative:s,resolve:i,sep:a}=ge,{pathToFileURL:n}=ge,u=Qt(),l=!!(e&&t),c=!!(r&&i&&s&&a);class o{constructor(f,h,m,p){this.stringify=f,this.mapOpts=m.map||{},this.root=h,this.opts=m,this.css=p,this.originalCSS=p,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let f;this.isInline()?f="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?f=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?f=this.mapOpts.annotation(this.opts.to,this.root):f=this.outputFile()+".map";let h=`
    2323`;this.css.includes(`\r
    2424`)&&(h=`\r
    2525`),this.css+=h+"/*# sourceMappingURL="+f+" */"}applyPrevMaps(){for(let f of this.previous()){let h=this.toUrl(this.path(f.file)),m=f.root||r(f.file),p;this.mapOpts.sourcesContent===!1?(p=new e(f.text),p.sourcesContent&&(p.sourcesContent=null)):p=f.consumer(),this.map.applySourceMap(p,h,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let f;for(let h=this.root.nodes.length-1;h>=0;h--)f=this.root.nodes[h],f.type==="comment"&&f.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(h)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c&&l&&this.isMap())return this.generateMap();{let f="";return this.stringify(this.root,h=>{f+=h}),[f]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let f=this.previous()[0].consumer();f.file=this.outputFile(),this.map=t.fromSourceMap(f,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let f=1,h=1,m="<no source>",p={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,b;this.stringify(this.root,(y,w,C)=>{if(this.css+=y,w&&C!=="end"&&(p.generated.line=f,p.generated.column=h-1,w.source&&w.source.start?(p.source=this.sourcePath(w),p.original.line=w.source.start.line,p.original.column=w.source.start.column-1,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,this.map.addMapping(p))),g=y.match(/\n/g),g?(f+=g.length,b=y.lastIndexOf(`
    26 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Sr=o,Sr}var Cr,Us;function Kt(){if(Us)return Cr;Us=1;let e=Xt();class t extends e{constructor(s){super(s),this.type="comment"}}return Cr=t,t.default=t,Cr}var xr,$s;function Be(){if($s)return xr;$s=1;let{isClean:e,my:t}=Yi(),r=Jt(),s=Kt(),i=Xt(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},xr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},xr}var Er,Bs;function Xi(){if(Bs)return Er;Bs=1;let e=Be(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Er=s,s.default=s,Er}var Mr,zs;function vo(){if(zs)return Mr;zs=1;let e={};return Mr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Mr}var Rr,Ws;function So(){if(Ws)return Rr;Ws=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Rr=e,e.default=e,Rr}var Nr,js;function Ji(){if(js)return Nr;js=1;let e=So();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return Nr=t,t.default=t,Nr}var Or,Vs;function Ll(){if(Vs)return Or;Vs=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return Or=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(P){throw M.error("Unclosed "+P,O)}function pe(){return de.length===0&&O>=Ae}function Pe(P){if(de.length)return de.pop();if(O>=Ae)return;let se=P?P.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(P){de.push(P)}return{back:De,endOfFile:pe,nextToken:Pe,position:rt}},Or}var Ir,qs;function Qi(){if(qs)return Ir;qs=1;let e=Be();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return Ir=t,t.default=t,e.registerAtRule(t),Ir}var Ar,Gs;function mt(){if(Gs)return Ar;Gs=1;let e=Be(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Ar=s,s.default=s,e.registerRoot(s),Ar}var Dr,Hs;function Co(){if(Hs)return Dr;Hs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`
    27 `,"     "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return Dr=e,e.default=e,Dr}var kr,Ys;function Ki(){if(Ys)return kr;Ys=1;let e=Be(),t=Co();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return kr=r,r.default=r,e.registerRule(r),kr}var Tr,Xs;function Pl(){if(Xs)return Tr;Xs=1;let e=Jt(),t=Ll(),r=Kt(),s=Qi(),i=mt(),a=Ki(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Tr=l,Tr}var _r,Js;function Zi(){if(Js)return _r;Js=1;let e=Be(),t=Pl(),r=Qt();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return _r=s,s.default=s,e.registerParse(s),_r}var Lr,Qs;function xo(){if(Qs)return Lr;Qs=1;let{isClean:e,my:t}=Yi(),r=bo(),s=Yt(),i=Be(),a=Xi(),n=vo(),u=Ji(),l=Zi(),c=mt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},Lr=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),Lr}var Pr,Ks;function Fl(){if(Ks)return Pr;Ks=1;let e=bo(),t=Yt(),r=vo(),s=Zi(),i=Ji();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return Pr=a,a.default=a,Pr}var Fr,Zs;function Ul(){if(Zs)return Fr;Zs=1;let e=Fl(),t=xo(),r=Xi(),s=mt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return Fr=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),Fr}var Ur,en;function $l(){if(en)return Ur;en=1;let e=Jt(),t=wo(),r=Kt(),s=Qi(),i=Qt(),a=mt(),n=Ki();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return Ur=u,u.default=u,Ur}var $r,tn;function Bl(){if(tn)return $r;tn=1;let e=Hi(),t=Jt(),r=xo(),s=Be(),i=Ul(),a=Yt(),n=$l(),u=Xi(),l=So(),c=Kt(),o=Qi(),d=Ji(),f=Qt(),h=Zi(),m=Co(),p=Ki(),g=mt(),b=Xt();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:
     26`),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Sr=o,Sr}var Cr,Us;function Kt(){if(Us)return Cr;Us=1;let e=Xt();class t extends e{constructor(s){super(s),this.type="comment"}}return Cr=t,t.default=t,Cr}var xr,$s;function Be(){if($s)return xr;$s=1;let{isClean:e,my:t}=Yi(),r=Jt(),s=Kt(),i=Xt(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},xr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},xr}var Er,Bs;function Xi(){if(Bs)return Er;Bs=1;let e=Be(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Er=s,s.default=s,Er}var Mr,zs;function vo(){if(zs)return Mr;zs=1;let e={};return Mr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Mr}var Rr,Ws;function So(){if(Ws)return Rr;Ws=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Rr=e,e.default=e,Rr}var Nr,js;function Ji(){if(js)return Nr;js=1;let e=So();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return Nr=t,t.default=t,Nr}var Or,Vs;function Ll(){if(Vs)return Or;Vs=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return Or=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(L){throw M.error("Unclosed "+L,O)}function pe(){return de.length===0&&O>=Ae}function Le(L){if(de.length)return de.pop();if(O>=Ae)return;let se=L?L.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(L){de.push(L)}return{back:De,endOfFile:pe,nextToken:Le,position:rt}},Or}var Ir,qs;function Qi(){if(qs)return Ir;qs=1;let e=Be();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return Ir=t,t.default=t,e.registerAtRule(t),Ir}var Ar,Gs;function mt(){if(Gs)return Ar;Gs=1;let e=Be(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Ar=s,s.default=s,e.registerRoot(s),Ar}var Dr,Hs;function Co(){if(Hs)return Dr;Hs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`
     27`,"     "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return Dr=e,e.default=e,Dr}var kr,Ys;function Ki(){if(Ys)return kr;Ys=1;let e=Be(),t=Co();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return kr=r,r.default=r,e.registerRule(r),kr}var Tr,Xs;function Fl(){if(Xs)return Tr;Xs=1;let e=Jt(),t=Ll(),r=Kt(),s=Qi(),i=mt(),a=Ki(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Tr=l,Tr}var _r,Js;function Zi(){if(Js)return _r;Js=1;let e=Be(),t=Fl(),r=Qt();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return _r=s,s.default=s,e.registerParse(s),_r}var Pr,Qs;function xo(){if(Qs)return Pr;Qs=1;let{isClean:e,my:t}=Yi(),r=bo(),s=Yt(),i=Be(),a=Xi(),n=vo(),u=Ji(),l=Zi(),c=mt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},Pr=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),Pr}var Lr,Ks;function Ul(){if(Ks)return Lr;Ks=1;let e=bo(),t=Yt(),r=vo(),s=Zi(),i=Ji();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return Lr=a,a.default=a,Lr}var Fr,Zs;function $l(){if(Zs)return Fr;Zs=1;let e=Ul(),t=xo(),r=Xi(),s=mt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return Fr=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),Fr}var Ur,en;function Bl(){if(en)return Ur;en=1;let e=Jt(),t=wo(),r=Kt(),s=Qi(),i=Qt(),a=mt(),n=Ki();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return Ur=u,u.default=u,Ur}var $r,tn;function zl(){if(tn)return $r;tn=1;let e=Hi(),t=Jt(),r=xo(),s=Be(),i=$l(),a=Yt(),n=Bl(),u=Xi(),l=So(),c=Kt(),o=Qi(),d=Ji(),f=Qt(),h=Zi(),m=Co(),p=Ki(),g=mt(),b=Xt();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:
    2828https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(C+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
    29 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),$r=y,y.default=y,$r}var zl=Bl(),Q=Il(zl);Q.stringify;Q.fromJSON;Q.plugin;Q.parse;Q.list;Q.document;Q.comment;Q.atRule;Q.rule;Q.decl;Q.root;Q.CssSyntaxError;Q.Declaration;Q.Container;Q.Processor;Q.Document;Q.Comment;Q.Warning;Q.AtRule;Q.Result;Q.Input;Q.Rule;Q.Root;Q.Node;var rn={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function Wl(e){let t=rn[e.tagName]?rn[e.tagName]:e.tagName;return t==="link"&&e.attributes._cssText&&(t="style"),t}function Zt(e,t){let r=t?.stylesWithHoverClass.get(e);if(r)return r;let s=e;try{s=Q([Nl,Ol]).process(e).css}catch(i){console.warn("Failed to adapt css for replay",i)}return t?.stylesWithHoverClass.set(e,s),s}function sn(){return{stylesWithHoverClass:new Map}}var jl="rrweb-snapshot.rebuild() cannot rebuild into an unprotected browser document. Use rebuildIntoSandboxedIframe() or set UNSAFE_allowUnprotectedRebuild: true only when you accept the script-execution risk.",nn="rrweb-snapshot.createSandboxedIframe() requires root to be connected to a document before creating a sandboxed iframe.",Eo=new WeakSet;function Vl(e){if(!e||e.tagName!=="IFRAME"||!("sandbox"in e))return!1;let t=Array.from(e.sandbox);return t.length===1&&t[0]==="allow-same-origin"}function ql(e){if(e.UNSAFE_allowUnprotectedRebuild)return;let t=e.doc.defaultView;if(t&&!(Eo.has(e.doc)&&Vl(t.frameElement)))throw new Error(jl)}function Gl(e,t,r,s){let i=[];for(let l of e.childNodes)l.type===U.Text&&i.push(l);let a=t.split("/* rr_split */");for(;a.length>1&&a.length>i.length;)a.splice(-2,2,a.slice(-2).join(""));let n="";r&&(n=Zt(a.join(""),s));let u=0;for(let l=0;l<i.length&&l!==a.length;l++){let c=i[l];if(!r)c.textContent=a[l];else if(l<a.length-1){let o=u,d=a[l+1].length;d=Math.min(d,30);let f=!1;for(;d>2;d--){let h=a[l+1].substring(0,d),m=n.substring(u).indexOf(h);if(f=m!==-1,f){o+=m;break}}f||(o+=a[l].length),c.textContent=n.substring(u,o),u=o}else c.textContent=n.substring(u)}}function Hl(e,t,r,s){let{doc:i,hackCss:a,cache:n}=s;e.childNodes.length?Gl(e,r,a,n):(a&&(r=Zt(r,n)),t.appendChild(i.createTextNode(r)))}function Yl(e,t){var r;let{doc:s,hackCss:i,cache:a}=t;switch(e.type){case U.Document:return s.implementation.createDocument(null,"",null);case U.DocumentType:return s.implementation.createDocumentType(e.name||"html",e.publicId,e.systemId);case U.Element:{let n=Wl(e),u;e.isSVG?u=s.createElementNS("http://www.w3.org/2000/svg",n):(e.isCustom&&((r=s.defaultView)!=null&&r.customElements)&&!s.defaultView.customElements.get(e.tagName)&&s.defaultView.customElements.define(e.tagName,class extends s.defaultView.HTMLElement{}),u=s.createElement(n));let l={};for(let c in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,c))continue;let o=e.attributes[c];if(!(n==="option"&&c==="selected"&&o===!1)&&o!==null){if(o===!0&&(o=""),c.startsWith("rr_")){l[c]=o;continue}if(typeof o=="string"){if(n==="style"&&c==="_cssText"){Hl(e,u,o,t);continue}else if(n==="textarea"&&c==="value"){u.appendChild(s.createTextNode(o)),e.childNodes=[];continue}}try{if(e.isSVG&&c==="xlink:href")u.setAttributeNS("http://www.w3.org/1999/xlink",c,o.toString());else if(c==="onload"||c==="onclick"||c.substring(0,7)==="onmouse")u.setAttribute("_"+c,o.toString());else if(n==="meta"&&e.attributes["http-equiv"]==="Content-Security-Policy"&&c==="content"){u.setAttribute("csp-content",o.toString());continue}else n==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||n==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"||(n==="img"&&e.attributes.srcset&&e.attributes.rr_dataURL?u.setAttribute("rrweb-original-srcset",e.attributes.srcset):u.setAttribute(c,o.toString()))}catch{}}}for(let c in l){let o=l[c];if(n==="canvas"&&c==="rr_dataURL"){let d=s.createElement("img");d.onload=()=>{let f=u.getContext("2d");f&&f.drawImage(d,0,0,d.width,d.height)},d.src=o.toString(),u.RRNodeType&&(u.rr_dataURL=o.toString())}else if(n==="img"&&c==="rr_dataURL"){let d=u;d.currentSrc.startsWith("data:")||(d.setAttribute("rrweb-original-src",e.attributes.src),d.src=o.toString())}if(c==="rr_width")u.style.setProperty("width",o.toString());else if(c==="rr_height")u.style.setProperty("height",o.toString());else if(c==="rr_mediaCurrentTime"&&typeof o=="number")u.currentTime=o;else if(c==="rr_mediaState")switch(o){case"played":u.play().catch(d=>console.warn("media playback error",d));break;case"paused":u.pause();break}else c==="rr_mediaPlaybackRate"&&typeof o=="number"?u.playbackRate=o:c==="rr_mediaMuted"&&typeof o=="boolean"?u.muted=o:c==="rr_mediaLoop"&&typeof o=="boolean"?u.loop=o:c==="rr_mediaVolume"&&typeof o=="number"?u.volume=o:c==="rr_open_mode"&&u.setAttribute("rr_open_mode",o)}if(e.isShadowHost)if(!u.shadowRoot)u.attachShadow({mode:"open"});else for(;u.shadowRoot.firstChild;)u.shadowRoot.removeChild(u.shadowRoot.firstChild);return(n==="input"||n==="textarea")&&u.setAttribute("autocomplete","off"),u}case U.Text:return e.isStyle&&i?s.createTextNode(Zt(e.textContent,a)):s.createTextNode(e.textContent);case U.CDATA:return s.createCDATASection(e.textContent);case U.Comment:return s.createComment(e.textContent);default:return null}}function lt(e,t){let{doc:r,mirror:s,skipChild:i=!1,hackCss:a=!0,afterAppend:n,cache:u}=t;if(s.has(e.id)){let c=s.getNode(e.id),o=s.getMeta(c);if(rl(o,e))return s.getNode(e.id)}let l=Yl(e,{doc:r,hackCss:a,cache:u});if(!l)return null;if(e.rootId&&s.getNode(e.rootId)!==r&&s.replace(e.rootId,r),e.type===U.Document&&(r.close(),r.open(),e.compatMode==="BackCompat"&&e.childNodes&&e.childNodes[0].type!==U.DocumentType&&(e.childNodes[0].type===U.Element&&"xmlns"in e.childNodes[0].attributes&&e.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),l=r),s.add(l,e),(e.type===U.Document||e.type===U.Element)&&!i)for(let c of e.childNodes){let o=lt(c,{doc:r,mirror:s,skipChild:!1,hackCss:a,afterAppend:n,cache:u});if(!o){console.warn("Failed to rebuild",c);continue}if(c.isShadow&&Vi(l)&&l.shadowRoot)l.shadowRoot.appendChild(o);else if(e.type===U.Document&&c.type==U.Element){let d=o,f=null;d.childNodes.forEach(h=>{h.nodeName==="BODY"&&(f=h)}),f?(d.removeChild(f),l.appendChild(o),d.appendChild(f)):l.appendChild(o)}else l.appendChild(o);n&&n(o,c.id)}return l}function Xl(e,t){function r(s){t(s)}for(let s of e.getIds())e.has(s)&&r(e.getNode(s))}function Jl(e,t){let r=t.getMeta(e);if(r?.type!==U.Element)return;let s=e;for(let i in r.attributes){if(!(Object.prototype.hasOwnProperty.call(r.attributes,i)&&i.startsWith("rr_")))continue;let a=r.attributes[i];i==="rr_scrollLeft"&&(s.scrollLeft=a),i==="rr_scrollTop"&&(s.scrollTop=a)}}function Ql(e,t){ql(t);let{doc:r,onVisit:s,hackCss:i=!0,afterAppend:a,cache:n,mirror:u=new ft}=t,l=lt(e,{doc:r,mirror:u,skipChild:!1,hackCss:i,afterAppend:a,cache:n});return Xl(u,c=>{s&&s(c),Jl(c,u)}),l}function Kl(e){var t;if(!e.root.isConnected)throw new Error(nn);let r=e.root.ownerDocument.createElement("iframe");for(let[i,a]of Object.entries(e.iframeAttributes||{}))i!=="sandbox"&&r.setAttribute(i,a);r.setAttribute("sandbox","allow-same-origin"),e.root.appendChild(r);let s=r.contentDocument;if(!s||!r.contentWindow)throw(t=r.parentNode)==null||t.removeChild(r),new Error(nn);return Eo.add(s),r}var Zl=Object.defineProperty,eu=(e,t,r)=>t in e?Zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t,r)=>eu(e,typeof t!="symbol"?t+"":t,r),tu=Object.defineProperty,ru=(e,t,r)=>t in e?tu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t,r)=>ru(e,typeof t!="symbol"?t+"":t,r);Date.now().toString();var iu=class{constructor(){on(this,"idNodeMap",new Map),on(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function su(){return new iu}function nu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ou(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Et={exports:{}},an;function au(){if(an)return Et.exports;an=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Et.exports=t(),Et.exports.createColors=t,Et.exports}var lu={},uu=Object.freeze(Object.defineProperty({__proto__:null,default:lu},Symbol.toStringTag,{value:"Module"})),ye=ou(uu),Br,ln;function es(){if(ln)return Br;ln=1;let e=au(),t=ye;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`
     29https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),$r=y,y.default=y,$r}var Wl=zl(),Q=Al(Wl);Q.stringify;Q.fromJSON;Q.plugin;Q.parse;Q.list;Q.document;Q.comment;Q.atRule;Q.rule;Q.decl;Q.root;Q.CssSyntaxError;Q.Declaration;Q.Container;Q.Processor;Q.Document;Q.Comment;Q.Warning;Q.AtRule;Q.Result;Q.Input;Q.Rule;Q.Root;Q.Node;var rn={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function jl(e){let t=rn[e.tagName]?rn[e.tagName]:e.tagName;return t==="link"&&e.attributes._cssText&&(t="style"),t}function Zt(e,t){let r=t?.stylesWithHoverClass.get(e);if(r)return r;let s=e;try{s=Q([Ol,Il]).process(e).css}catch(i){console.warn("Failed to adapt css for replay",i)}return t?.stylesWithHoverClass.set(e,s),s}function sn(){return{stylesWithHoverClass:new Map}}var Vl="rrweb-snapshot.rebuild() cannot rebuild into an unprotected browser document. Use rebuildIntoSandboxedIframe() or set UNSAFE_allowUnprotectedRebuild: true only when you accept the script-execution risk.",nn="rrweb-snapshot.createSandboxedIframe() requires root to be connected to a document before creating a sandboxed iframe.",Eo=new WeakSet;function ql(e){if(!e||e.tagName!=="IFRAME"||!("sandbox"in e))return!1;let t=Array.from(e.sandbox);return t.length===1&&t[0]==="allow-same-origin"}function Gl(e){if(e.UNSAFE_allowUnprotectedRebuild)return;let t=e.doc.defaultView;if(t&&!(Eo.has(e.doc)&&ql(t.frameElement)))throw new Error(Vl)}function Hl(e,t,r,s){let i=[];for(let l of e.childNodes)l.type===U.Text&&i.push(l);let a=t.split("/* rr_split */");for(;a.length>1&&a.length>i.length;)a.splice(-2,2,a.slice(-2).join(""));let n="";r&&(n=Zt(a.join(""),s));let u=0;for(let l=0;l<i.length&&l!==a.length;l++){let c=i[l];if(!r)c.textContent=a[l];else if(l<a.length-1){let o=u,d=a[l+1].length;d=Math.min(d,30);let f=!1;for(;d>2;d--){let h=a[l+1].substring(0,d),m=n.substring(u).indexOf(h);if(f=m!==-1,f){o+=m;break}}f||(o+=a[l].length),c.textContent=n.substring(u,o),u=o}else c.textContent=n.substring(u)}}function Yl(e,t,r,s){let{doc:i,hackCss:a,cache:n}=s;e.childNodes.length?Hl(e,r,a,n):(a&&(r=Zt(r,n)),t.appendChild(i.createTextNode(r)))}function Xl(e,t){var r;let{doc:s,hackCss:i,cache:a}=t;switch(e.type){case U.Document:return s.implementation.createDocument(null,"",null);case U.DocumentType:return s.implementation.createDocumentType(e.name||"html",e.publicId,e.systemId);case U.Element:{let n=jl(e),u;e.isSVG?u=s.createElementNS("http://www.w3.org/2000/svg",n):(e.isCustom&&((r=s.defaultView)!=null&&r.customElements)&&!s.defaultView.customElements.get(e.tagName)&&s.defaultView.customElements.define(e.tagName,class extends s.defaultView.HTMLElement{}),u=s.createElement(n));let l={};for(let c in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,c))continue;let o=e.attributes[c];if(!(n==="option"&&c==="selected"&&o===!1)&&o!==null){if(o===!0&&(o=""),c.startsWith("rr_")){l[c]=o;continue}if(typeof o=="string"){if(n==="style"&&c==="_cssText"){Yl(e,u,o,t);continue}else if(n==="textarea"&&c==="value"){u.appendChild(s.createTextNode(o)),e.childNodes=[];continue}}try{if(e.isSVG&&c==="xlink:href")u.setAttributeNS("http://www.w3.org/1999/xlink",c,o.toString());else if(c==="onload"||c==="onclick"||c.substring(0,7)==="onmouse")u.setAttribute("_"+c,o.toString());else if(n==="meta"&&e.attributes["http-equiv"]==="Content-Security-Policy"&&c==="content"){u.setAttribute("csp-content",o.toString());continue}else n==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||n==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"||(n==="img"&&e.attributes.srcset&&e.attributes.rr_dataURL?u.setAttribute("rrweb-original-srcset",e.attributes.srcset):u.setAttribute(c,o.toString()))}catch{}}}for(let c in l){let o=l[c];if(n==="canvas"&&c==="rr_dataURL"){let d=s.createElement("img");d.onload=()=>{let f=u.getContext("2d");f&&f.drawImage(d,0,0,d.width,d.height)},d.src=o.toString(),u.RRNodeType&&(u.rr_dataURL=o.toString())}else if(n==="img"&&c==="rr_dataURL"){let d=u;d.currentSrc.startsWith("data:")||(d.setAttribute("rrweb-original-src",e.attributes.src),d.src=o.toString())}if(c==="rr_width")u.style.setProperty("width",o.toString());else if(c==="rr_height")u.style.setProperty("height",o.toString());else if(c==="rr_mediaCurrentTime"&&typeof o=="number")u.currentTime=o;else if(c==="rr_mediaState")switch(o){case"played":u.play().catch(d=>console.warn("media playback error",d));break;case"paused":u.pause();break}else c==="rr_mediaPlaybackRate"&&typeof o=="number"?u.playbackRate=o:c==="rr_mediaMuted"&&typeof o=="boolean"?u.muted=o:c==="rr_mediaLoop"&&typeof o=="boolean"?u.loop=o:c==="rr_mediaVolume"&&typeof o=="number"?u.volume=o:c==="rr_open_mode"&&u.setAttribute("rr_open_mode",o)}if(e.isShadowHost)if(!u.shadowRoot)u.attachShadow({mode:"open"});else for(;u.shadowRoot.firstChild;)u.shadowRoot.removeChild(u.shadowRoot.firstChild);return(n==="input"||n==="textarea")&&u.setAttribute("autocomplete","off"),u}case U.Text:return e.isStyle&&i?s.createTextNode(Zt(e.textContent,a)):s.createTextNode(e.textContent);case U.CDATA:return s.createCDATASection(e.textContent);case U.Comment:return s.createComment(e.textContent);default:return null}}function lt(e,t){let{doc:r,mirror:s,skipChild:i=!1,hackCss:a=!0,afterAppend:n,cache:u}=t;if(s.has(e.id)){let c=s.getNode(e.id),o=s.getMeta(c);if(il(o,e))return s.getNode(e.id)}let l=Xl(e,{doc:r,hackCss:a,cache:u});if(!l)return null;if(e.rootId&&s.getNode(e.rootId)!==r&&s.replace(e.rootId,r),e.type===U.Document&&(r.close(),r.open(),e.compatMode==="BackCompat"&&e.childNodes&&e.childNodes[0].type!==U.DocumentType&&(e.childNodes[0].type===U.Element&&"xmlns"in e.childNodes[0].attributes&&e.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),l=r),s.add(l,e),(e.type===U.Document||e.type===U.Element)&&!i)for(let c of e.childNodes){let o=lt(c,{doc:r,mirror:s,skipChild:!1,hackCss:a,afterAppend:n,cache:u});if(!o){console.warn("Failed to rebuild",c);continue}if(c.isShadow&&Vi(l)&&l.shadowRoot)l.shadowRoot.appendChild(o);else if(e.type===U.Document&&c.type==U.Element){let d=o,f=null;d.childNodes.forEach(h=>{h.nodeName==="BODY"&&(f=h)}),f?(d.removeChild(f),l.appendChild(o),d.appendChild(f)):l.appendChild(o)}else l.appendChild(o);n&&n(o,c.id)}return l}function Jl(e,t){function r(s){t(s)}for(let s of e.getIds())e.has(s)&&r(e.getNode(s))}function Ql(e,t){let r=t.getMeta(e);if(r?.type!==U.Element)return;let s=e;for(let i in r.attributes){if(!(Object.prototype.hasOwnProperty.call(r.attributes,i)&&i.startsWith("rr_")))continue;let a=r.attributes[i];i==="rr_scrollLeft"&&(s.scrollLeft=a),i==="rr_scrollTop"&&(s.scrollTop=a)}}function Kl(e,t){Gl(t);let{doc:r,onVisit:s,hackCss:i=!0,afterAppend:a,cache:n,mirror:u=new ft}=t,l=lt(e,{doc:r,mirror:u,skipChild:!1,hackCss:i,afterAppend:a,cache:n});return Jl(u,c=>{s&&s(c),Ql(c,u)}),l}function Zl(e){var t;if(!e.root.isConnected)throw new Error(nn);let r=e.root.ownerDocument.createElement("iframe");for(let[i,a]of Object.entries(e.iframeAttributes||{}))i!=="sandbox"&&r.setAttribute(i,a);r.setAttribute("sandbox","allow-same-origin"),e.root.appendChild(r);let s=r.contentDocument;if(!s||!r.contentWindow)throw(t=r.parentNode)==null||t.removeChild(r),new Error(nn);return Eo.add(s),r}var eu=Object.defineProperty,tu=(e,t,r)=>t in e?eu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t,r)=>tu(e,typeof t!="symbol"?t+"":t,r),ru=Object.defineProperty,iu=(e,t,r)=>t in e?ru(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t,r)=>iu(e,typeof t!="symbol"?t+"":t,r);Date.now().toString();var su=class{constructor(){on(this,"idNodeMap",new Map),on(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function nu(){return new su}function ou(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function au(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Et={exports:{}},an;function lu(){if(an)return Et.exports;an=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Et.exports=t(),Et.exports.createColors=t,Et.exports}var uu={},cu=Object.freeze(Object.defineProperty({__proto__:null,default:uu},Symbol.toStringTag,{value:"Module"})),ye=au(cu),Br,ln;function es(){if(ln)return Br;ln=1;let e=lu(),t=ye;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`
    3030 `+g+o("^")}return" "+d(p)+f}).join(`
    3131`)}toString(){let i=this.showSourceCode();return i&&(i=`
    … …  
    4444`)&&(a=a.replace(/[^\n]+$/,"")),!1}),a&&(a=a.replace(/\S/g,"")),a}rawColon(i){let a;return i.walkDecls(n=>{if(typeof n.raws.between<"u")return a=n.raws.between.replace(/[^\s:]/g,""),!1}),a}rawEmptyBody(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length===0&&(a=n.raws.after,typeof a<"u"))return!1}),a}rawIndent(i){if(i.raws.indent)return i.raws.indent;let a;return i.walk(n=>{let u=n.parent;if(u&&u!==i&&u.parent&&u.parent===i&&typeof n.raws.before<"u"){let l=n.raws.before.split(`
    4545`);return a=l[l.length-1],a=a.replace(/\S/g,""),!1}}),a}rawSemicolon(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(a=n.raws.semicolon,typeof a<"u"))return!1}),a}rawValue(i,a){let n=i[a],u=i.raws[a];return u&&u.value===n?u.raw:n}root(i){this.body(i),i.raws.after&&this.builder(i.raws.after)}rule(i){this.block(i,this.rawValue(i,"selector")),i.raws.ownSemicolon&&this.builder(i.raws.ownSemicolon,i,"end")}stringify(i,a){if(!this[i.type])throw new Error("Unknown AST node type "+i.type+". Maybe you need to change PostCSS stringifier.");this[i.type](i,a)}}return zr=r,r.default=r,zr}var Wr,fn;function er(){if(fn)return Wr;fn=1;let e=Mo();function t(r,s){new e(s).stringify(r)}return Wr=t,t.default=t,Wr}var jr,hn;function tr(){if(hn)return jr;hn=1;let{isClean:e,my:t}=ts(),r=es(),s=Mo(),i=er();function a(u,l){let c=new u.constructor;for(let o in u){if(!Object.prototype.hasOwnProperty.call(u,o)||o==="proxyCache")continue;let d=u[o],f=typeof d;o==="parent"&&f==="object"?l&&(c[o]=l):o==="source"?c[o]=d:Array.isArray(d)?c[o]=d.map(h=>a(h,c)):(f==="object"&&d!==null&&(d=a(d)),c[o]=d)}return c}class n{constructor(l={}){this.raws={},this[e]=!1,this[t]=!0;for(let c in l)if(c==="nodes"){this.nodes=[];for(let o of l[c])typeof o.clone=="function"?this.append(o.clone()):this.append(o)}else this[c]=l[c]}addToError(l){if(l.postcssNode=this,l.stack&&this.source&&/\n\s{4}at /.test(l.stack)){let c=this.source;l.stack=l.stack.replace(/\n\s{4}at /,`$&${c.input.from}:${c.start.line}:${c.start.column}$&`)}return l}after(l){return this.parent.insertAfter(this,l),this}assign(l={}){for(let c in l)this[c]=l[c];return this}before(l){return this.parent.insertBefore(this,l),this}cleanRaws(l){delete this.raws.before,delete this.raws.after,l||delete this.raws.between}clone(l={}){let c=a(this);for(let o in l)c[o]=l[o];return c}cloneAfter(l={}){let c=this.clone(l);return this.parent.insertAfter(this,c),c}cloneBefore(l={}){let c=this.clone(l);return this.parent.insertBefore(this,c),c}error(l,c={}){if(this.source){let{end:o,start:d}=this.rangeBy(c);return this.source.input.error(l,{column:d.column,line:d.line},{column:o.column,line:o.line},c)}return new r(l)}getProxyProcessor(){return{get(l,c){return c==="proxyOf"?l:c==="root"?()=>l.root().toProxy():l[c]},set(l,c,o){return l[c]===o||(l[c]=o,(c==="prop"||c==="value"||c==="name"||c==="params"||c==="important"||c==="text")&&l.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let l=this;for(;l=l.parent;)l[e]=!1}}next(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l+1]}positionBy(l,c){let o=this.source.start;if(l.index)o=this.positionInside(l.index,c);else if(l.word){c=this.toString();let d=c.indexOf(l.word);d!==-1&&(o=this.positionInside(d,c))}return o}positionInside(l,c){let o=c||this.toString(),d=this.source.start.column,f=this.source.start.line;for(let h=0;h<l;h++)o[h]===`
    46 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return jr=n,n.default=n,jr}var Vr,dn;function rr(){if(dn)return Vr;dn=1;let e=tr();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Vr=t,t.default=t,Vr}var qr,pn;function cu(){if(pn)return qr;pn=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return qr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},qr}var Gr,mn;function Ro(){if(mn)return Gr;mn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{existsSync:r,readFileSync:s}=ye,{dirname:i,join:a}=ye;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Gr=u,u.default=u,Gr}var Hr,gn;function ir(){if(gn)return Hr;gn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{fileURLToPath:r,pathToFileURL:s}=ye,{isAbsolute:i,resolve:a}=ye,{nanoid:n}=cu(),u=ye,l=es(),c=Ro(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`
     46`?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return jr=n,n.default=n,jr}var Vr,dn;function rr(){if(dn)return Vr;dn=1;let e=tr();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Vr=t,t.default=t,Vr}var qr,pn;function fu(){if(pn)return qr;pn=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return qr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},qr}var Gr,mn;function Ro(){if(mn)return Gr;mn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{existsSync:r,readFileSync:s}=ye,{dirname:i,join:a}=ye;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Gr=u,u.default=u,Gr}var Hr,gn;function ir(){if(gn)return Hr;gn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{fileURLToPath:r,pathToFileURL:s}=ye,{isAbsolute:i,resolve:a}=ye,{nanoid:n}=fu(),u=ye,l=es(),c=Ro(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`
    4747`);b=new Array(w.length);let C=0;for(let v=0,S=w.length;v<S;v++)b[v]=C,C+=w[v].length+1;this[o]=b}g=b[b.length-1];let y=0;if(p>=g)y=b.length-1;else{let w=b.length-2,C;for(;y<w;)if(C=y+(w-y>>1),p<b[C])w=C-1;else if(p>=b[C+1])y=C+1;else{y=C;break}}return{col:p-b[y]+1,line:y+1}}mapResolve(p){return/^\w+:\/\//.test(p)?p:a(this.map.consumer().sourceRoot||this.map.root||".",p)}origin(p,g,b,y){if(!this.map)return!1;let w=this.map.consumer(),C=w.originalPositionFor({column:g,line:p});if(!C.source)return!1;let v;typeof b=="number"&&(v=w.originalPositionFor({column:y,line:b}));let S;i(C.source)?S=s(C.source):S=new URL(C.source,this.map.consumer().sourceRoot||s(this.map.mapFile));let x={column:C.column,endColumn:v&&v.column,endLine:v&&v.line,line:C.line,url:S.toString()};if(S.protocol==="file:")if(r)x.file=r(S);else throw new Error("file: protocol is not available in this PostCSS build");let M=w.sourceContentFor(C.source);return M&&(x.source=M),x}toJSON(){let p={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(p[g]=this[g]);return this.map&&(p.map={...this.map},p.map.consumerCache&&(p.map.consumerCache=void 0)),p}get from(){return this.file||this.id}}return Hr=h,h.default=h,u&&u.registerInput&&u.registerInput(h),Hr}var Yr,yn;function No(){if(yn)return Yr;yn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{dirname:r,relative:s,resolve:i,sep:a}=ye,{pathToFileURL:n}=ye,u=ir(),l=!!(e&&t),c=!!(r&&i&&s&&a);class o{constructor(f,h,m,p){this.stringify=f,this.mapOpts=m.map||{},this.root=h,this.opts=m,this.css=p,this.originalCSS=p,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let f;this.isInline()?f="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?f=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?f=this.mapOpts.annotation(this.opts.to,this.root):f=this.outputFile()+".map";let h=`
    4848`;this.css.includes(`\r
    4949`)&&(h=`\r
    5050`),this.css+=h+"/*# sourceMappingURL="+f+" */"}applyPrevMaps(){for(let f of this.previous()){let h=this.toUrl(this.path(f.file)),m=f.root||r(f.file),p;this.mapOpts.sourcesContent===!1?(p=new e(f.text),p.sourcesContent&&(p.sourcesContent=null)):p=f.consumer(),this.map.applySourceMap(p,h,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let f;for(let h=this.root.nodes.length-1;h>=0;h--)f=this.root.nodes[h],f.type==="comment"&&f.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(h)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c&&l&&this.isMap())return this.generateMap();{let f="";return this.stringify(this.root,h=>{f+=h}),[f]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let f=this.previous()[0].consumer();f.file=this.outputFile(),this.map=t.fromSourceMap(f,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let f=1,h=1,m="<no source>",p={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,b;this.stringify(this.root,(y,w,C)=>{if(this.css+=y,w&&C!=="end"&&(p.generated.line=f,p.generated.column=h-1,w.source&&w.source.start?(p.source=this.sourcePath(w),p.original.line=w.source.start.line,p.original.column=w.source.start.column-1,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,this.map.addMapping(p))),g=y.match(/\n/g),g?(f+=g.length,b=y.lastIndexOf(`
    51 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Yr=o,Yr}var Xr,wn;function sr(){if(wn)return Xr;wn=1;let e=tr();class t extends e{constructor(s){super(s),this.type="comment"}}return Xr=t,t.default=t,Xr}var Jr,bn;function ze(){if(bn)return Jr;bn=1;let{isClean:e,my:t}=ts(),r=rr(),s=sr(),i=tr(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},Jr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},Jr}var Qr,vn;function rs(){if(vn)return Qr;vn=1;let e=ze(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Qr=s,s.default=s,Qr}var Kr,Sn;function Oo(){if(Sn)return Kr;Sn=1;let e={};return Kr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Kr}var Zr,Cn;function Io(){if(Cn)return Zr;Cn=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Zr=e,e.default=e,Zr}var ei,xn;function is(){if(xn)return ei;xn=1;let e=Io();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return ei=t,t.default=t,ei}var ti,En;function fu(){if(En)return ti;En=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return ti=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(P){throw M.error("Unclosed "+P,O)}function pe(){return de.length===0&&O>=Ae}function Pe(P){if(de.length)return de.pop();if(O>=Ae)return;let se=P?P.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(P){de.push(P)}return{back:De,endOfFile:pe,nextToken:Pe,position:rt}},ti}var ri,Mn;function ss(){if(Mn)return ri;Mn=1;let e=ze();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return ri=t,t.default=t,e.registerAtRule(t),ri}var ii,Rn;function gt(){if(Rn)return ii;Rn=1;let e=ze(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},ii=s,s.default=s,e.registerRoot(s),ii}var si,Nn;function Ao(){if(Nn)return si;Nn=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`
    52 `,"     "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return si=e,e.default=e,si}var ni,On;function ns(){if(On)return ni;On=1;let e=ze(),t=Ao();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return ni=r,r.default=r,e.registerRule(r),ni}var oi,In;function hu(){if(In)return oi;In=1;let e=rr(),t=fu(),r=sr(),s=ss(),i=gt(),a=ns(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return oi=l,oi}var ai,An;function os(){if(An)return ai;An=1;let e=ze(),t=hu(),r=ir();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return ai=s,s.default=s,e.registerParse(s),ai}var li,Dn;function Do(){if(Dn)return li;Dn=1;let{isClean:e,my:t}=ts(),r=No(),s=er(),i=ze(),a=rs(),n=Oo(),u=is(),l=os(),c=gt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},li=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),li}var ui,kn;function du(){if(kn)return ui;kn=1;let e=No(),t=er(),r=Oo(),s=os(),i=is();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return ui=a,a.default=a,ui}var ci,Tn;function pu(){if(Tn)return ci;Tn=1;let e=du(),t=Do(),r=rs(),s=gt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return ci=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),ci}var fi,_n;function mu(){if(_n)return fi;_n=1;let e=rr(),t=Ro(),r=sr(),s=ss(),i=ir(),a=gt(),n=ns();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return fi=u,u.default=u,fi}var hi,Ln;function gu(){if(Ln)return hi;Ln=1;let e=es(),t=rr(),r=Do(),s=ze(),i=pu(),a=er(),n=mu(),u=rs(),l=Io(),c=sr(),o=ss(),d=is(),f=ir(),h=os(),m=Ao(),p=ns(),g=gt(),b=tr();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:
     51`),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Yr=o,Yr}var Xr,wn;function sr(){if(wn)return Xr;wn=1;let e=tr();class t extends e{constructor(s){super(s),this.type="comment"}}return Xr=t,t.default=t,Xr}var Jr,bn;function ze(){if(bn)return Jr;bn=1;let{isClean:e,my:t}=ts(),r=rr(),s=sr(),i=tr(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},Jr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},Jr}var Qr,vn;function rs(){if(vn)return Qr;vn=1;let e=ze(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Qr=s,s.default=s,Qr}var Kr,Sn;function Oo(){if(Sn)return Kr;Sn=1;let e={};return Kr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Kr}var Zr,Cn;function Io(){if(Cn)return Zr;Cn=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Zr=e,e.default=e,Zr}var ei,xn;function is(){if(xn)return ei;xn=1;let e=Io();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return ei=t,t.default=t,ei}var ti,En;function hu(){if(En)return ti;En=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return ti=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(L){throw M.error("Unclosed "+L,O)}function pe(){return de.length===0&&O>=Ae}function Le(L){if(de.length)return de.pop();if(O>=Ae)return;let se=L?L.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(L){de.push(L)}return{back:De,endOfFile:pe,nextToken:Le,position:rt}},ti}var ri,Mn;function ss(){if(Mn)return ri;Mn=1;let e=ze();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return ri=t,t.default=t,e.registerAtRule(t),ri}var ii,Rn;function gt(){if(Rn)return ii;Rn=1;let e=ze(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},ii=s,s.default=s,e.registerRoot(s),ii}var si,Nn;function Ao(){if(Nn)return si;Nn=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`
     52`,"     "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return si=e,e.default=e,si}var ni,On;function ns(){if(On)return ni;On=1;let e=ze(),t=Ao();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return ni=r,r.default=r,e.registerRule(r),ni}var oi,In;function du(){if(In)return oi;In=1;let e=rr(),t=hu(),r=sr(),s=ss(),i=gt(),a=ns(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return oi=l,oi}var ai,An;function os(){if(An)return ai;An=1;let e=ze(),t=du(),r=ir();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return ai=s,s.default=s,e.registerParse(s),ai}var li,Dn;function Do(){if(Dn)return li;Dn=1;let{isClean:e,my:t}=ts(),r=No(),s=er(),i=ze(),a=rs(),n=Oo(),u=is(),l=os(),c=gt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},li=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),li}var ui,kn;function pu(){if(kn)return ui;kn=1;let e=No(),t=er(),r=Oo(),s=os(),i=is();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return ui=a,a.default=a,ui}var ci,Tn;function mu(){if(Tn)return ci;Tn=1;let e=pu(),t=Do(),r=rs(),s=gt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return ci=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),ci}var fi,_n;function gu(){if(_n)return fi;_n=1;let e=rr(),t=Ro(),r=sr(),s=ss(),i=ir(),a=gt(),n=ns();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return fi=u,u.default=u,fi}var hi,Pn;function yu(){if(Pn)return hi;Pn=1;let e=es(),t=rr(),r=Do(),s=ze(),i=mu(),a=er(),n=gu(),u=rs(),l=Io(),c=sr(),o=ss(),d=is(),f=ir(),h=os(),m=Ao(),p=ns(),g=gt(),b=tr();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:
    5353https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(C+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
    54 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),hi=y,y.default=y,hi}var yu=gu(),Z=nu(yu);Z.stringify;Z.fromJSON;Z.plugin;Z.parse;Z.list;Z.document;Z.comment;Z.atRule;Z.rule;Z.decl;Z.root;Z.CssSyntaxError;Z.Declaration;Z.Container;Z.Processor;Z.Document;Z.Comment;Z.Warning;Z.AtRule;Z.Result;Z.Input;Z.Rule;Z.Root;Z.Node;var B=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(B||{});function wu(e){let t={},r=/;(?![^(]*\))/g,s=/:(.+)/,i=/\/\*.*?\*\//g;return e.replace(i,"").split(r).forEach(function(a){if(a){let n=a.split(s);n.length>1&&(t[vi(n[0].trim())]=n[1].trim())}}),t}function Pn(e){let t=[];for(let r in e){let s=e[r];if(typeof s!="string")continue;let i=Cu(r);t.push(`${i}: ${s};`)}return t.join(" ")}var bu=/-([a-z])/g,vu=/^--[a-zA-Z0-9-]+$/,vi=e=>vu.test(e)?e:e.replace(bu,(t,r)=>r?r.toUpperCase():""),Su=/\B([A-Z])/g,Cu=e=>e.replace(Su,"-$1").toLowerCase(),we=class e{constructor(...t){A(this,"parentElement",null),A(this,"parentNode",null),A(this,"ownerDocument"),A(this,"firstChild",null),A(this,"lastChild",null),A(this,"previousSibling",null),A(this,"nextSibling",null),A(this,"ELEMENT_NODE",1),A(this,"TEXT_NODE",3),A(this,"nodeType"),A(this,"nodeName"),A(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}},Si=class e extends we{constructor(...t){super(t),A(this,"nodeType",9),A(this,"nodeName","#document"),A(this,"compatMode","CSS1Compat"),A(this,"RRNodeType",B.Document),A(this,"textContent",null),this.ownerDocument=this}get documentElement(){return this.childNodes.find(t=>t.RRNodeType===B.Element&&t.tagName==="HTML")||null}get body(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="BODY"))||null}get head(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(t){let r=t.RRNodeType;if((r===B.Element||r===B.DocumentType)&&this.childNodes.some(i=>i.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${r===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let s=as(this,t);return s.parentElement=null,s}insertBefore(t,r){let s=t.RRNodeType;if((s===B.Element||s===B.DocumentType)&&this.childNodes.some(a=>a.RRNodeType===s))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${s===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let i=ko(this,t,r);return i.parentElement=null,i}removeChild(t){return To(this,t)}open(){this.firstChild=null,this.lastChild=null}close(){}write(t){let r;if(t==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?r="-//W3C//DTD XHTML 1.0 Transitional//EN":t==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(r="-//W3C//DTD HTML 4.0 Transitional//EN"),r){let s=this.createDocumentType("html",r,"");this.open(),this.appendChild(s)}}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Pt(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=new Ke(t);return r.ownerDocument=this,r}createElementNS(t,r){return this.createElement(r)}createTextNode(t){let r=new Ft(t);return r.ownerDocument=this,r}createComment(t){let r=new Ut(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new $t(t);return r.ownerDocument=this,r}toString(){return"RRDocument"}},Pt=class extends we{constructor(t,r,s){super(),A(this,"nodeType",10),A(this,"RRNodeType",B.DocumentType),A(this,"name"),A(this,"publicId"),A(this,"systemId"),A(this,"textContent",null),this.name=t,this.publicId=r,this.systemId=s,this.nodeName=t}toString(){return"RRDocumentType"}},Ke=class extends we{constructor(t){super(),A(this,"nodeType",1),A(this,"RRNodeType",B.Element),A(this,"tagName"),A(this,"attributes",{}),A(this,"shadowRoot",null),A(this,"scrollLeft"),A(this,"scrollTop"),this.tagName=t.toUpperCase(),this.nodeName=t.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(r=>t+=r.textContent),t}set textContent(t){this.firstChild=null,this.lastChild=null,this.appendChild(this.ownerDocument.createTextNode(t))}get classList(){return new Ei(this.attributes.class,t=>{this.attributes.class=t})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){let t=this.attributes.style?wu(this.attributes.style):{},r=/\B([A-Z])/g;return t.setProperty=(s,i,a)=>{if(r.test(s))return;let n=vi(s);i?t[n]=i:delete t[n],a==="important"&&(t[n]+=" !important"),this.attributes.style=Pn(t)},t.removeProperty=s=>{if(r.test(s))return"";let i=vi(s),a=t[i]||"";return delete t[i],this.attributes.style=Pn(t),a},t}getAttribute(t){return this.attributes[t]===void 0?null:this.attributes[t]}setAttribute(t,r){this.attributes[t]=r}setAttributeNS(t,r,s){this.setAttribute(r,s)}removeAttribute(t){delete this.attributes[t]}appendChild(t){return as(this,t)}insertBefore(t,r){return ko(this,t,r)}removeChild(t){return To(this,t)}attachShadow(t){let r=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=r,r}dispatchEvent(t){return!0}toString(){let t="";for(let r in this.attributes)t+=`${r}="${this.attributes[r]}" `;return`${this.tagName} ${t}`}},Ci=class extends Ke{constructor(){super(...arguments),A(this,"currentTime"),A(this,"volume"),A(this,"paused"),A(this,"muted"),A(this,"playbackRate"),A(this,"loop")}attachShadow(t){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}},xi=class extends Ke{constructor(){super(...arguments),A(this,"tagName","DIALOG"),A(this,"nodeName","DIALOG")}get isModal(){return this.getAttribute("rr_open_mode")==="modal"}get open(){return this.getAttribute("open")!==null}close(){this.removeAttribute("open"),this.removeAttribute("rr_open_mode")}show(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","non-modal")}showModal(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","modal")}},Ft=class extends we{constructor(t){super(),A(this,"nodeType",3),A(this,"nodeName","#text"),A(this,"RRNodeType",B.Text),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRText text=${JSON.stringify(this.data)}`}},Ut=class extends we{constructor(t){super(),A(this,"nodeType",8),A(this,"nodeName","#comment"),A(this,"RRNodeType",B.Comment),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRComment text=${JSON.stringify(this.data)}`}},$t=class extends we{constructor(t){super(),A(this,"nodeName","#cdata-section"),A(this,"nodeType",4),A(this,"RRNodeType",B.CDATA),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}},Ei=class{constructor(t,r){if(A(this,"onChange"),A(this,"classes",[]),A(this,"add",(...s)=>{for(let i of s){let a=String(i);this.classes.indexOf(a)>=0||this.classes.push(a)}this.onChange&&this.onChange(this.classes.join(" "))}),A(this,"remove",(...s)=>{this.classes=this.classes.filter(i=>s.indexOf(i)===-1),this.onChange&&this.onChange(this.classes.join(" "))}),t){let s=t.trim().split(/\s+/);this.classes.push(...s)}this.onChange=r}};function as(e,t){return t.parentNode&&t.parentNode.removeChild(t),e.lastChild?(e.lastChild.nextSibling=t,t.previousSibling=e.lastChild):(e.firstChild=t,t.previousSibling=null),e.lastChild=t,t.nextSibling=null,t.parentNode=e,t.parentElement=e,t.ownerDocument=e.ownerDocument,t}function ko(e,t,r){if(!r)return as(e,t);if(r.parentNode!==e)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return t===r||(t.parentNode&&t.parentNode.removeChild(t),t.previousSibling=r.previousSibling,r.previousSibling=t,t.nextSibling=r,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,t.parentElement=e,t.parentNode=e,t.ownerDocument=e.ownerDocument),t}function To(e,t){if(t.parentNode!==e)throw new Error("Failed to execute 'removeChild' on 'RRNode': The RRNode to be removed is not a child of this RRNode.");return t.previousSibling?t.previousSibling.nextSibling=t.nextSibling:e.firstChild=t.nextSibling,t.nextSibling?t.nextSibling.previousSibling=t.previousSibling:e.lastChild=t.previousSibling,t.previousSibling=null,t.nextSibling=null,t.parentElement=null,t.parentNode=null,t}var he=(e=>(e[e.PLACEHOLDER=0]="PLACEHOLDER",e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE",e[e.DOCUMENT_NODE=9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",e))(he||{}),Mi={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},xu={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"},Se=null;function Bt(e,t,r,s=t.mirror||t.ownerDocument.mirror){e=Eu(e,t,r,s),_o(e,t,r,s),Mu(e,t,r)}function Eu(e,t,r,s){var i;if(r.afterAppend&&!Se&&(Se=new WeakSet,setTimeout(()=>{Se=null},0)),!ls(e,t)){let a=zt(t,r.mirror,s);(i=e.parentNode)==null||i.replaceChild(a,e),e=a}switch(t.RRNodeType){case B.Document:{if(!qe(e,t,r.mirror,s)){let a=s.getMeta(t);a&&(r.mirror.removeNodeFromMap(e),e.close(),e.open(),r.mirror.add(e,a),Se?.add(e))}break}case B.Element:{let a=e,n=t;switch(n.tagName){case"IFRAME":{let u=e.contentDocument;if(!u)break;Bt(u,t.contentDocument,r,s);break}}n.shadowRoot&&(a.shadowRoot||a.attachShadow({mode:"open"}),_o(a.shadowRoot,n.shadowRoot,r,s)),Ru(a,n,s);break}}return e}function Mu(e,t,r){var s;switch(t.RRNodeType){case B.Document:{let i=t.scrollData;i&&r.applyScroll(i,!0);break}case B.Element:{let i=e,a=t;switch(a.scrollData&&r.applyScroll(a.scrollData,!0),a.inputData&&r.applyInput(a.inputData),a.tagName){case"AUDIO":case"VIDEO":{let n=e,u=a;u.paused!==void 0&&(u.paused?n.pause():n.play()),u.muted!==void 0&&(n.muted=u.muted),u.volume!==void 0&&(n.volume=u.volume),u.currentTime!==void 0&&(n.currentTime=u.currentTime),u.playbackRate!==void 0&&(n.playbackRate=u.playbackRate),u.loop!==void 0&&(n.loop=u.loop);break}case"CANVAS":{let n=t;if(n.rr_dataURL!==null){let u=document.createElement("img");u.onload=()=>{let l=i.getContext("2d");l&&l.drawImage(u,0,0,u.width,u.height)},u.src=n.rr_dataURL}n.canvasMutations.forEach(u=>r.applyCanvas(u.event,u.mutation,e));break}case"STYLE":{let n=i.sheet;n&&t.rules.forEach(u=>r.applyStyleSheetMutation(u,n));break}case"DIALOG":{let n=i,u=a,l=n.open,c=n.matches("dialog:modal"),o=u.open,d=u.isModal,f=c!==d,h=l!==o;if((f||l&&h)&&n.close(),o&&(h||f))try{d?n.showModal():n.show()}catch(m){console.warn(m)}break}}break}case B.Text:case B.Comment:case B.CDATA:{e.textContent!==t.data&&(e.textContent=t.data);break}}Se?.has(e)&&(Se.delete(e),(s=r.afterAppend)==null||s.call(r,e,r.mirror.getId(e)))}function Ru(e,t,r){let s=e.attributes,i=t.attributes;for(let a in i){let n=i[a],u=r.getMeta(t);if(u?.isSVG&&Mi[a])e.setAttributeNS(Mi[a],a,n);else if(t.tagName==="CANVAS"&&a==="rr_dataURL"){let l=document.createElement("img");l.src=n,l.onload=()=>{let c=e.getContext("2d");c&&c.drawImage(l,0,0,l.width,l.height)}}else{if(t.tagName==="IFRAME"&&a==="srcdoc")continue;try{e.setAttribute(a,n)}catch(l){console.warn(l)}}}for(let{name:a}of Array.from(s))a in i||e.removeAttribute(a);t.scrollLeft&&(e.scrollLeft=t.scrollLeft),t.scrollTop&&(e.scrollTop=t.scrollTop)}function _o(e,t,r,s){let i=Array.from(e.childNodes),a=t.childNodes;if(i.length===0&&a.length===0)return;let n=0,u=i.length-1,l=0,c=a.length-1,o=i[n],d=i[u],f=a[l],h=a[c],m,p;for(;n<=u&&l<=c;)if(o===void 0)o=i[++n];else if(d===void 0)d=i[--u];else if(qe(o,f,r.mirror,s))o=i[++n],f=a[++l];else if(qe(d,h,r.mirror,s))d=i[--u],h=a[--c];else if(qe(o,h,r.mirror,s)){try{e.insertBefore(o,d.nextSibling)}catch(y){console.warn(y)}o=i[++n],h=a[--c]}else if(qe(d,f,r.mirror,s)){try{e.insertBefore(d,o)}catch(y){console.warn(y)}d=i[--u],f=a[++l]}else{if(!m){m={};for(let w=n;w<=u;w++){let C=i[w];C&&r.mirror.hasNode(C)&&(m[r.mirror.getId(C)]=w)}}p=m[s.getId(f)];let y=i[p];if(p!==void 0&&y&&qe(y,f,r.mirror,s)){try{e.insertBefore(y,o)}catch(w){console.warn(w)}i[p]=void 0}else{let w=zt(f,r.mirror,s);e.nodeName==="#document"&&o&&(w.nodeType===w.DOCUMENT_TYPE_NODE&&o.nodeType===o.DOCUMENT_TYPE_NODE||w.nodeType===w.ELEMENT_NODE&&o.nodeType===o.ELEMENT_NODE)&&(e.removeChild(o),r.mirror.removeNodeFromMap(o),o=i[++n]);try{e.insertBefore(w,o||null)}catch(C){console.warn(C)}}f=a[++l]}if(n>u){let y=a[c+1],w=null;for(y&&(w=r.mirror.getNode(s.getId(y)));l<=c;++l){let C=zt(a[l],r.mirror,s);try{e.insertBefore(C,w)}catch(v){console.warn(v)}}}else if(l>c)for(;n<=u;n++){let y=i[n];if(!(!y||y.parentNode!==e))try{e.removeChild(y),r.mirror.removeNodeFromMap(y)}catch(w){console.warn(w)}}let g=e.firstChild,b=t.firstChild;for(;g!==null&&b!==null;)Bt(g,b,r,s),g=g.nextSibling,b=b.nextSibling}function zt(e,t,r){let s=r.getId(e),i=r.getMeta(e),a=null;if(s>-1&&(a=t.getNode(s)),a!==null&&ls(a,e))return a;switch(e.RRNodeType){case B.Document:a=new Document;break;case B.DocumentType:a=document.implementation.createDocumentType(e.name,e.publicId,e.systemId);break;case B.Element:{let n=e.tagName.toLowerCase();n=xu[n]||n,i&&"isSVG"in i&&i?.isSVG?a=document.createElementNS(Mi.svg,n):a=document.createElement(e.tagName);break}case B.Text:a=document.createTextNode(e.data);break;case B.Comment:a=document.createComment(e.data);break;case B.CDATA:a=document.createCDATASection(e.data);break}i&&t.add(a,{...i});try{Se?.add(a)}catch{}return a}function ls(e,t){return e.nodeType!==t.nodeType?!1:e.nodeType!==e.ELEMENT_NODE||e.tagName.toUpperCase()===t.tagName}function qe(e,t,r,s){let i=r.getId(e),a=s.getId(t);return i===-1||i!==a?!1:ls(e,t)}var Ze=class e extends Si{constructor(t){super(),A(this,"UNSERIALIZED_STARTING_ID",-2),A(this,"_unserializedId",this.UNSERIALIZED_STARTING_ID),A(this,"mirror",Tu()),A(this,"scrollData",null),t&&(this.mirror=t)}get unserializedId(){return this._unserializedId--}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Nu(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=t.toUpperCase(),s;switch(r){case"AUDIO":case"VIDEO":s=new Ri(r);break;case"IFRAME":s=new Ai(r,this.mirror);break;case"CANVAS":s=new Oi(r);break;case"STYLE":s=new Ii(r);break;case"DIALOG":s=new Ni(r);break;default:s=new et(r);break}return s.ownerDocument=this,s}createComment(t){let r=new Iu(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new Au(t);return r.ownerDocument=this,r}createTextNode(t){let r=new Ou(t);return r.ownerDocument=this,r}destroyTree(){this.firstChild=null,this.lastChild=null,this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}},Nu=Pt,et=class extends Ke{constructor(){super(...arguments),A(this,"inputData",null),A(this,"scrollData",null)}},Ri=class extends Ci{},Ni=class extends xi{},Oi=class extends et{constructor(){super(...arguments),A(this,"rr_dataURL",null),A(this,"canvasMutations",[])}getContext(){return null}},Ii=class extends et{constructor(){super(...arguments),A(this,"rules",[])}},Ai=class extends et{constructor(t,r){super(t),A(this,"contentDocument",new Ze),this.contentDocument.mirror=r}},Ou=Ft,Iu=Ut,Au=$t;function Du(e){return e instanceof HTMLFormElement?"FORM":e.tagName.toUpperCase()}function Lo(e,t,r,s){let i;switch(e.nodeType){case he.DOCUMENT_NODE:s&&s.nodeName==="IFRAME"?i=s.contentDocument:(i=t,i.compatMode=e.compatMode);break;case he.DOCUMENT_TYPE_NODE:{let n=e;i=t.createDocumentType(n.name,n.publicId,n.systemId);break}case he.ELEMENT_NODE:{let n=e,u=Du(n);i=t.createElement(u);let l=i;for(let{name:c,value:o}of Array.from(n.attributes))l.attributes[c]=o;n.scrollLeft&&(l.scrollLeft=n.scrollLeft),n.scrollTop&&(l.scrollTop=n.scrollTop);break}case he.TEXT_NODE:i=t.createTextNode(e.textContent||"");break;case he.CDATA_SECTION_NODE:i=t.createCDATASection(e.data);break;case he.COMMENT_NODE:i=t.createComment(e.textContent||"");break;case he.DOCUMENT_FRAGMENT_NODE:i=s.attachShadow({mode:"open"});break;default:return null}let a=r.getMeta(e);return t instanceof Ze&&(a||(a=Po(i,t.unserializedId),r.add(e,a)),t.mirror.add(i,{...a})),i}function ku(e,t=su(),r=new Ze){function s(i,a){let n=Lo(i,r,t,a);if(n!==null)if(a?.nodeName!=="IFRAME"&&i.nodeType!==he.DOCUMENT_FRAGMENT_NODE&&(a?.appendChild(n),n.parentNode=a,n.parentElement=a),i.nodeName==="IFRAME"){let u=i.contentDocument;u&&s(u,n)}else(i.nodeType===he.DOCUMENT_NODE||i.nodeType===he.ELEMENT_NODE||i.nodeType===he.DOCUMENT_FRAGMENT_NODE)&&(i.nodeType===he.ELEMENT_NODE&&i.shadowRoot&&s(i.shadowRoot,n),i.childNodes.forEach(u=>s(u,n)))}return s(e,null),r}function Tu(){return new Di}var Di=class{constructor(){A(this,"idNodeMap",new Map),A(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function Po(e,t){switch(e.RRNodeType){case B.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case B.DocumentType:{let r=e;return{id:t,type:e.RRNodeType,name:r.name,publicId:r.publicId,systemId:r.systemId}}case B.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case B.Text:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}var Fn={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Un={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Rt={},Fo={},_u=()=>!!globalThis.Zone;function us(e){if(Rt[e])return Rt[e];let t=globalThis[e],r=t.prototype,s=e in Fn?Fn[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Un?Un[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!_u())return Rt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),Fo[e]=()=>u.remove()):u.remove(),Rt[e]=c}catch{return r}}var di={};function Oe(e,t,r){var s;let i=`${e}.${String(r)}`;if(di[i])return di[i].call(t);let a=us(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(di[i]=n,n.call(t)):t[r]}var pi={};function Uo(e,t,r){let s=`${e}.${String(r)}`;if(pi[s])return pi[s].bind(t);let a=us(e)[r];return typeof a!="function"?t[r]:(pi[s]=a,a.bind(t))}function Lu(e){return Oe("Node",e,"ownerDocument")}function Pu(e){return Oe("Node",e,"childNodes")}function Fu(e){return Oe("Node",e,"parentNode")}function Uu(e){return Oe("Node",e,"parentElement")}function $u(e){return Oe("Node",e,"textContent")}function Bu(e,t){return Uo("Node",e,"contains")(t)}function zu(e){return Uo("Node",e,"getRootNode")()}function Wu(e){return!e||!("host"in e)?null:Oe("ShadowRoot",e,"host")}function ju(e){return e.styleSheets}function Vu(e){return!e||!("shadowRoot"in e)?null:Oe("Element",e,"shadowRoot")}function qu(e,t){return Oe("Element",e,"querySelector")(t)}function Gu(e,t){return Oe("Element",e,"querySelectorAll")(t)}function $o(){return[us("MutationObserver").constructor,Fo.MutationObserver??(()=>{})]}var dt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(dt=()=>new Date().getTime());function We(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var $={ownerDocument:Lu,childNodes:Pu,parentNode:Fu,parentElement:Uu,textContent:$u,contains:Bu,getRootNode:zu,host:Wu,styleSheets:ju,shadowRoot:Vu,querySelector:qu,querySelectorAll:Gu,nowTimestamp:dt,mutationObserverCtor:$o,patch:We};function le(e,t,r=document){let s={capture:!0,passive:!0};return r.addEventListener(e,t,s),()=>r.removeEventListener(e,t,s)}var Ge=`Please stop import mirror directly. Instead of that,\r
     54https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),hi=y,y.default=y,hi}var wu=yu(),Z=ou(wu);Z.stringify;Z.fromJSON;Z.plugin;Z.parse;Z.list;Z.document;Z.comment;Z.atRule;Z.rule;Z.decl;Z.root;Z.CssSyntaxError;Z.Declaration;Z.Container;Z.Processor;Z.Document;Z.Comment;Z.Warning;Z.AtRule;Z.Result;Z.Input;Z.Rule;Z.Root;Z.Node;var B=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(B||{});function bu(e){let t={},r=/;(?![^(]*\))/g,s=/:(.+)/,i=/\/\*.*?\*\//g;return e.replace(i,"").split(r).forEach(function(a){if(a){let n=a.split(s);n.length>1&&(t[vi(n[0].trim())]=n[1].trim())}}),t}function Ln(e){let t=[];for(let r in e){let s=e[r];if(typeof s!="string")continue;let i=xu(r);t.push(`${i}: ${s};`)}return t.join(" ")}var vu=/-([a-z])/g,Su=/^--[a-zA-Z0-9-]+$/,vi=e=>Su.test(e)?e:e.replace(vu,(t,r)=>r?r.toUpperCase():""),Cu=/\B([A-Z])/g,xu=e=>e.replace(Cu,"-$1").toLowerCase(),we=class e{constructor(...t){A(this,"parentElement",null),A(this,"parentNode",null),A(this,"ownerDocument"),A(this,"firstChild",null),A(this,"lastChild",null),A(this,"previousSibling",null),A(this,"nextSibling",null),A(this,"ELEMENT_NODE",1),A(this,"TEXT_NODE",3),A(this,"nodeType"),A(this,"nodeName"),A(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}},Si=class e extends we{constructor(...t){super(t),A(this,"nodeType",9),A(this,"nodeName","#document"),A(this,"compatMode","CSS1Compat"),A(this,"RRNodeType",B.Document),A(this,"textContent",null),this.ownerDocument=this}get documentElement(){return this.childNodes.find(t=>t.RRNodeType===B.Element&&t.tagName==="HTML")||null}get body(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="BODY"))||null}get head(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(t){let r=t.RRNodeType;if((r===B.Element||r===B.DocumentType)&&this.childNodes.some(i=>i.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${r===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let s=as(this,t);return s.parentElement=null,s}insertBefore(t,r){let s=t.RRNodeType;if((s===B.Element||s===B.DocumentType)&&this.childNodes.some(a=>a.RRNodeType===s))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${s===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let i=ko(this,t,r);return i.parentElement=null,i}removeChild(t){return To(this,t)}open(){this.firstChild=null,this.lastChild=null}close(){}write(t){let r;if(t==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?r="-//W3C//DTD XHTML 1.0 Transitional//EN":t==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(r="-//W3C//DTD HTML 4.0 Transitional//EN"),r){let s=this.createDocumentType("html",r,"");this.open(),this.appendChild(s)}}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Lt(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=new Ke(t);return r.ownerDocument=this,r}createElementNS(t,r){return this.createElement(r)}createTextNode(t){let r=new Ft(t);return r.ownerDocument=this,r}createComment(t){let r=new Ut(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new $t(t);return r.ownerDocument=this,r}toString(){return"RRDocument"}},Lt=class extends we{constructor(t,r,s){super(),A(this,"nodeType",10),A(this,"RRNodeType",B.DocumentType),A(this,"name"),A(this,"publicId"),A(this,"systemId"),A(this,"textContent",null),this.name=t,this.publicId=r,this.systemId=s,this.nodeName=t}toString(){return"RRDocumentType"}},Ke=class extends we{constructor(t){super(),A(this,"nodeType",1),A(this,"RRNodeType",B.Element),A(this,"tagName"),A(this,"attributes",{}),A(this,"shadowRoot",null),A(this,"scrollLeft"),A(this,"scrollTop"),this.tagName=t.toUpperCase(),this.nodeName=t.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(r=>t+=r.textContent),t}set textContent(t){this.firstChild=null,this.lastChild=null,this.appendChild(this.ownerDocument.createTextNode(t))}get classList(){return new Ei(this.attributes.class,t=>{this.attributes.class=t})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){let t=this.attributes.style?bu(this.attributes.style):{},r=/\B([A-Z])/g;return t.setProperty=(s,i,a)=>{if(r.test(s))return;let n=vi(s);i?t[n]=i:delete t[n],a==="important"&&(t[n]+=" !important"),this.attributes.style=Ln(t)},t.removeProperty=s=>{if(r.test(s))return"";let i=vi(s),a=t[i]||"";return delete t[i],this.attributes.style=Ln(t),a},t}getAttribute(t){return this.attributes[t]===void 0?null:this.attributes[t]}setAttribute(t,r){this.attributes[t]=r}setAttributeNS(t,r,s){this.setAttribute(r,s)}removeAttribute(t){delete this.attributes[t]}appendChild(t){return as(this,t)}insertBefore(t,r){return ko(this,t,r)}removeChild(t){return To(this,t)}attachShadow(t){let r=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=r,r}dispatchEvent(t){return!0}toString(){let t="";for(let r in this.attributes)t+=`${r}="${this.attributes[r]}" `;return`${this.tagName} ${t}`}},Ci=class extends Ke{constructor(){super(...arguments),A(this,"currentTime"),A(this,"volume"),A(this,"paused"),A(this,"muted"),A(this,"playbackRate"),A(this,"loop")}attachShadow(t){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}},xi=class extends Ke{constructor(){super(...arguments),A(this,"tagName","DIALOG"),A(this,"nodeName","DIALOG")}get isModal(){return this.getAttribute("rr_open_mode")==="modal"}get open(){return this.getAttribute("open")!==null}close(){this.removeAttribute("open"),this.removeAttribute("rr_open_mode")}show(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","non-modal")}showModal(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","modal")}},Ft=class extends we{constructor(t){super(),A(this,"nodeType",3),A(this,"nodeName","#text"),A(this,"RRNodeType",B.Text),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRText text=${JSON.stringify(this.data)}`}},Ut=class extends we{constructor(t){super(),A(this,"nodeType",8),A(this,"nodeName","#comment"),A(this,"RRNodeType",B.Comment),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRComment text=${JSON.stringify(this.data)}`}},$t=class extends we{constructor(t){super(),A(this,"nodeName","#cdata-section"),A(this,"nodeType",4),A(this,"RRNodeType",B.CDATA),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}},Ei=class{constructor(t,r){if(A(this,"onChange"),A(this,"classes",[]),A(this,"add",(...s)=>{for(let i of s){let a=String(i);this.classes.indexOf(a)>=0||this.classes.push(a)}this.onChange&&this.onChange(this.classes.join(" "))}),A(this,"remove",(...s)=>{this.classes=this.classes.filter(i=>s.indexOf(i)===-1),this.onChange&&this.onChange(this.classes.join(" "))}),t){let s=t.trim().split(/\s+/);this.classes.push(...s)}this.onChange=r}};function as(e,t){return t.parentNode&&t.parentNode.removeChild(t),e.lastChild?(e.lastChild.nextSibling=t,t.previousSibling=e.lastChild):(e.firstChild=t,t.previousSibling=null),e.lastChild=t,t.nextSibling=null,t.parentNode=e,t.parentElement=e,t.ownerDocument=e.ownerDocument,t}function ko(e,t,r){if(!r)return as(e,t);if(r.parentNode!==e)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return t===r||(t.parentNode&&t.parentNode.removeChild(t),t.previousSibling=r.previousSibling,r.previousSibling=t,t.nextSibling=r,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,t.parentElement=e,t.parentNode=e,t.ownerDocument=e.ownerDocument),t}function To(e,t){if(t.parentNode!==e)throw new Error("Failed to execute 'removeChild' on 'RRNode': The RRNode to be removed is not a child of this RRNode.");return t.previousSibling?t.previousSibling.nextSibling=t.nextSibling:e.firstChild=t.nextSibling,t.nextSibling?t.nextSibling.previousSibling=t.previousSibling:e.lastChild=t.previousSibling,t.previousSibling=null,t.nextSibling=null,t.parentElement=null,t.parentNode=null,t}var he=(e=>(e[e.PLACEHOLDER=0]="PLACEHOLDER",e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE",e[e.DOCUMENT_NODE=9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",e))(he||{}),Mi={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},Eu={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"},Se=null;function Bt(e,t,r,s=t.mirror||t.ownerDocument.mirror){e=Mu(e,t,r,s),_o(e,t,r,s),Ru(e,t,r)}function Mu(e,t,r,s){var i;if(r.afterAppend&&!Se&&(Se=new WeakSet,setTimeout(()=>{Se=null},0)),!ls(e,t)){let a=zt(t,r.mirror,s);(i=e.parentNode)==null||i.replaceChild(a,e),e=a}switch(t.RRNodeType){case B.Document:{if(!qe(e,t,r.mirror,s)){let a=s.getMeta(t);a&&(r.mirror.removeNodeFromMap(e),e.close(),e.open(),r.mirror.add(e,a),Se?.add(e))}break}case B.Element:{let a=e,n=t;switch(n.tagName){case"IFRAME":{let u=e.contentDocument;if(!u)break;Bt(u,t.contentDocument,r,s);break}}n.shadowRoot&&(a.shadowRoot||a.attachShadow({mode:"open"}),_o(a.shadowRoot,n.shadowRoot,r,s)),Nu(a,n,s);break}}return e}function Ru(e,t,r){var s;switch(t.RRNodeType){case B.Document:{let i=t.scrollData;i&&r.applyScroll(i,!0);break}case B.Element:{let i=e,a=t;switch(a.scrollData&&r.applyScroll(a.scrollData,!0),a.inputData&&r.applyInput(a.inputData),a.tagName){case"AUDIO":case"VIDEO":{let n=e,u=a;u.paused!==void 0&&(u.paused?n.pause():n.play()),u.muted!==void 0&&(n.muted=u.muted),u.volume!==void 0&&(n.volume=u.volume),u.currentTime!==void 0&&(n.currentTime=u.currentTime),u.playbackRate!==void 0&&(n.playbackRate=u.playbackRate),u.loop!==void 0&&(n.loop=u.loop);break}case"CANVAS":{let n=t;if(n.rr_dataURL!==null){let u=document.createElement("img");u.onload=()=>{let l=i.getContext("2d");l&&l.drawImage(u,0,0,u.width,u.height)},u.src=n.rr_dataURL}n.canvasMutations.forEach(u=>r.applyCanvas(u.event,u.mutation,e));break}case"STYLE":{let n=i.sheet;n&&t.rules.forEach(u=>r.applyStyleSheetMutation(u,n));break}case"DIALOG":{let n=i,u=a,l=n.open,c=n.matches("dialog:modal"),o=u.open,d=u.isModal,f=c!==d,h=l!==o;if((f||l&&h)&&n.close(),o&&(h||f))try{d?n.showModal():n.show()}catch(m){console.warn(m)}break}}break}case B.Text:case B.Comment:case B.CDATA:{e.textContent!==t.data&&(e.textContent=t.data);break}}Se?.has(e)&&(Se.delete(e),(s=r.afterAppend)==null||s.call(r,e,r.mirror.getId(e)))}function Nu(e,t,r){let s=e.attributes,i=t.attributes;for(let a in i){let n=i[a],u=r.getMeta(t);if(u?.isSVG&&Mi[a])e.setAttributeNS(Mi[a],a,n);else if(t.tagName==="CANVAS"&&a==="rr_dataURL"){let l=document.createElement("img");l.src=n,l.onload=()=>{let c=e.getContext("2d");c&&c.drawImage(l,0,0,l.width,l.height)}}else{if(t.tagName==="IFRAME"&&a==="srcdoc")continue;try{e.setAttribute(a,n)}catch(l){console.warn(l)}}}for(let{name:a}of Array.from(s))a in i||e.removeAttribute(a);t.scrollLeft&&(e.scrollLeft=t.scrollLeft),t.scrollTop&&(e.scrollTop=t.scrollTop)}function _o(e,t,r,s){let i=Array.from(e.childNodes),a=t.childNodes;if(i.length===0&&a.length===0)return;let n=0,u=i.length-1,l=0,c=a.length-1,o=i[n],d=i[u],f=a[l],h=a[c],m,p;for(;n<=u&&l<=c;)if(o===void 0)o=i[++n];else if(d===void 0)d=i[--u];else if(qe(o,f,r.mirror,s))o=i[++n],f=a[++l];else if(qe(d,h,r.mirror,s))d=i[--u],h=a[--c];else if(qe(o,h,r.mirror,s)){try{e.insertBefore(o,d.nextSibling)}catch(y){console.warn(y)}o=i[++n],h=a[--c]}else if(qe(d,f,r.mirror,s)){try{e.insertBefore(d,o)}catch(y){console.warn(y)}d=i[--u],f=a[++l]}else{if(!m){m={};for(let w=n;w<=u;w++){let C=i[w];C&&r.mirror.hasNode(C)&&(m[r.mirror.getId(C)]=w)}}p=m[s.getId(f)];let y=i[p];if(p!==void 0&&y&&qe(y,f,r.mirror,s)){try{e.insertBefore(y,o)}catch(w){console.warn(w)}i[p]=void 0}else{let w=zt(f,r.mirror,s);e.nodeName==="#document"&&o&&(w.nodeType===w.DOCUMENT_TYPE_NODE&&o.nodeType===o.DOCUMENT_TYPE_NODE||w.nodeType===w.ELEMENT_NODE&&o.nodeType===o.ELEMENT_NODE)&&(e.removeChild(o),r.mirror.removeNodeFromMap(o),o=i[++n]);try{e.insertBefore(w,o||null)}catch(C){console.warn(C)}}f=a[++l]}if(n>u){let y=a[c+1],w=null;for(y&&(w=r.mirror.getNode(s.getId(y)));l<=c;++l){let C=zt(a[l],r.mirror,s);try{e.insertBefore(C,w)}catch(v){console.warn(v)}}}else if(l>c)for(;n<=u;n++){let y=i[n];if(!(!y||y.parentNode!==e))try{e.removeChild(y),r.mirror.removeNodeFromMap(y)}catch(w){console.warn(w)}}let g=e.firstChild,b=t.firstChild;for(;g!==null&&b!==null;)Bt(g,b,r,s),g=g.nextSibling,b=b.nextSibling}function zt(e,t,r){let s=r.getId(e),i=r.getMeta(e),a=null;if(s>-1&&(a=t.getNode(s)),a!==null&&ls(a,e))return a;switch(e.RRNodeType){case B.Document:a=new Document;break;case B.DocumentType:a=document.implementation.createDocumentType(e.name,e.publicId,e.systemId);break;case B.Element:{let n=e.tagName.toLowerCase();n=Eu[n]||n,i&&"isSVG"in i&&i?.isSVG?a=document.createElementNS(Mi.svg,n):a=document.createElement(e.tagName);break}case B.Text:a=document.createTextNode(e.data);break;case B.Comment:a=document.createComment(e.data);break;case B.CDATA:a=document.createCDATASection(e.data);break}i&&t.add(a,{...i});try{Se?.add(a)}catch{}return a}function ls(e,t){return e.nodeType!==t.nodeType?!1:e.nodeType!==e.ELEMENT_NODE||e.tagName.toUpperCase()===t.tagName}function qe(e,t,r,s){let i=r.getId(e),a=s.getId(t);return i===-1||i!==a?!1:ls(e,t)}var Ze=class e extends Si{constructor(t){super(),A(this,"UNSERIALIZED_STARTING_ID",-2),A(this,"_unserializedId",this.UNSERIALIZED_STARTING_ID),A(this,"mirror",_u()),A(this,"scrollData",null),t&&(this.mirror=t)}get unserializedId(){return this._unserializedId--}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Ou(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=t.toUpperCase(),s;switch(r){case"AUDIO":case"VIDEO":s=new Ri(r);break;case"IFRAME":s=new Ai(r,this.mirror);break;case"CANVAS":s=new Oi(r);break;case"STYLE":s=new Ii(r);break;case"DIALOG":s=new Ni(r);break;default:s=new et(r);break}return s.ownerDocument=this,s}createComment(t){let r=new Au(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new Du(t);return r.ownerDocument=this,r}createTextNode(t){let r=new Iu(t);return r.ownerDocument=this,r}destroyTree(){this.firstChild=null,this.lastChild=null,this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}},Ou=Lt,et=class extends Ke{constructor(){super(...arguments),A(this,"inputData",null),A(this,"scrollData",null)}},Ri=class extends Ci{},Ni=class extends xi{},Oi=class extends et{constructor(){super(...arguments),A(this,"rr_dataURL",null),A(this,"canvasMutations",[])}getContext(){return null}},Ii=class extends et{constructor(){super(...arguments),A(this,"rules",[])}},Ai=class extends et{constructor(t,r){super(t),A(this,"contentDocument",new Ze),this.contentDocument.mirror=r}},Iu=Ft,Au=Ut,Du=$t;function ku(e){return e instanceof HTMLFormElement?"FORM":e.tagName.toUpperCase()}function Po(e,t,r,s){let i;switch(e.nodeType){case he.DOCUMENT_NODE:s&&s.nodeName==="IFRAME"?i=s.contentDocument:(i=t,i.compatMode=e.compatMode);break;case he.DOCUMENT_TYPE_NODE:{let n=e;i=t.createDocumentType(n.name,n.publicId,n.systemId);break}case he.ELEMENT_NODE:{let n=e,u=ku(n);i=t.createElement(u);let l=i;for(let{name:c,value:o}of Array.from(n.attributes))l.attributes[c]=o;n.scrollLeft&&(l.scrollLeft=n.scrollLeft),n.scrollTop&&(l.scrollTop=n.scrollTop);break}case he.TEXT_NODE:i=t.createTextNode(e.textContent||"");break;case he.CDATA_SECTION_NODE:i=t.createCDATASection(e.data);break;case he.COMMENT_NODE:i=t.createComment(e.textContent||"");break;case he.DOCUMENT_FRAGMENT_NODE:i=s.attachShadow({mode:"open"});break;default:return null}let a=r.getMeta(e);return t instanceof Ze&&(a||(a=Lo(i,t.unserializedId),r.add(e,a)),t.mirror.add(i,{...a})),i}function Tu(e,t=nu(),r=new Ze){function s(i,a){let n=Po(i,r,t,a);if(n!==null)if(a?.nodeName!=="IFRAME"&&i.nodeType!==he.DOCUMENT_FRAGMENT_NODE&&(a?.appendChild(n),n.parentNode=a,n.parentElement=a),i.nodeName==="IFRAME"){let u=i.contentDocument;u&&s(u,n)}else(i.nodeType===he.DOCUMENT_NODE||i.nodeType===he.ELEMENT_NODE||i.nodeType===he.DOCUMENT_FRAGMENT_NODE)&&(i.nodeType===he.ELEMENT_NODE&&i.shadowRoot&&s(i.shadowRoot,n),i.childNodes.forEach(u=>s(u,n)))}return s(e,null),r}function _u(){return new Di}var Di=class{constructor(){A(this,"idNodeMap",new Map),A(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function Lo(e,t){switch(e.RRNodeType){case B.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case B.DocumentType:{let r=e;return{id:t,type:e.RRNodeType,name:r.name,publicId:r.publicId,systemId:r.systemId}}case B.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case B.Text:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}var Fn={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Un={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Rt={},Fo={},Pu=()=>!!globalThis.Zone;function us(e){if(Rt[e])return Rt[e];let t=globalThis[e],r=t.prototype,s=e in Fn?Fn[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Un?Un[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!Pu())return Rt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),Fo[e]=()=>u.remove()):u.remove(),Rt[e]=c}catch{return r}}var di={};function Oe(e,t,r){var s;let i=`${e}.${String(r)}`;if(di[i])return di[i].call(t);let a=us(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(di[i]=n,n.call(t)):t[r]}var pi={};function Uo(e,t,r){let s=`${e}.${String(r)}`;if(pi[s])return pi[s].bind(t);let a=us(e)[r];return typeof a!="function"?t[r]:(pi[s]=a,a.bind(t))}function Lu(e){return Oe("Node",e,"ownerDocument")}function Fu(e){return Oe("Node",e,"childNodes")}function Uu(e){return Oe("Node",e,"parentNode")}function $u(e){return Oe("Node",e,"parentElement")}function Bu(e){return Oe("Node",e,"textContent")}function zu(e,t){return Uo("Node",e,"contains")(t)}function Wu(e){return Uo("Node",e,"getRootNode")()}function ju(e){return!e||!("host"in e)?null:Oe("ShadowRoot",e,"host")}function Vu(e){return e.styleSheets}function qu(e){return!e||!("shadowRoot"in e)?null:Oe("Element",e,"shadowRoot")}function Gu(e,t){return Oe("Element",e,"querySelector")(t)}function Hu(e,t){return Oe("Element",e,"querySelectorAll")(t)}function $o(){return[us("MutationObserver").constructor,Fo.MutationObserver??(()=>{})]}var dt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(dt=()=>new Date().getTime());function We(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var $={ownerDocument:Lu,childNodes:Fu,parentNode:Uu,parentElement:$u,textContent:Bu,contains:zu,getRootNode:Wu,host:ju,styleSheets:Vu,shadowRoot:qu,querySelector:Gu,querySelectorAll:Hu,nowTimestamp:dt,mutationObserverCtor:$o,patch:We};function le(e,t,r=document){let s={capture:!0,passive:!0};return r.addEventListener(e,t,s),()=>r.removeEventListener(e,t,s)}var Ge=`Please stop import mirror directly. Instead of that,\r
    5555now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
    56 or you can use record.mirror to access the mirror instance during recording.`,$n={map:{},getId(){return console.error(Ge),-1},getNode(){return console.error(Ge),null},removeNodeFromMap(){console.error(Ge)},has(){return console.error(Ge),!1},reset(){console.error(Ge)}};typeof window<"u"&&window.Proxy&&window.Reflect&&($n=new Proxy($n,{get(e,t,r){return t==="map"&&console.error(Ge),Reflect.get(e,t,r)}}));function pt(e,t,r={}){let s=null,i=0;return function(...a){let n=Date.now();!i&&r.leading===!1&&(i=n);let u=t-(n-i),l=this;u<=0||u>t?(s&&(clearTimeout(s),s=null),i=n,e.apply(l,a)):!s&&r.trailing!==!1&&(s=setTimeout(()=>{i=r.leading===!1?0:Date.now(),s=null,e.apply(l,a)},u))}}function nr(e,t,r,s,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,s?r:{set(n){setTimeout(()=>{r.set.call(this,n)},0),a&&a.set&&a.set.call(this,n)}}),()=>nr(e,t,a||{},!0)}function Bo(e){var t,r,s,i;let a=e.document;return{left:a.scrollingElement?a.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:a.documentElement.scrollLeft||a?.body&&((t=$.parentElement(a.body))==null?void 0:t.scrollLeft)||((r=a?.body)==null?void 0:r.scrollLeft)||0,top:a.scrollingElement?a.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:a?.documentElement.scrollTop||a?.body&&((s=$.parentElement(a.body))==null?void 0:s.scrollTop)||((i=a?.body)==null?void 0:i.scrollTop)||0}}function zo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Wo(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function jo(e){return e?e.nodeType===e.ELEMENT_NODE?e:$.parentElement(e):null}function ue(e,t,r,s){if(!e)return!1;let i=jo(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||s&&i.closest("."+t)!==null)return!0}else if(Lt(i,t,s))return!0}catch{}return!!(r&&(i.matches(r)||s&&i.closest(r)!==null))}function Hu(e,t){return t.getId(e)!==-1}function mi(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===ht}function Vo(e,t){if(ot(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let s=$.parentNode(e);return s&&s.nodeType===e.DOCUMENT_NODE?!1:s?Vo(s,t):!0}function ki(e){return!!e.changedTouches}function qo(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Yu(e){let t={},r=(i,a)=>{let n={value:i,parent:a,children:[]};return t[i.node.id]=n,n},s=[];for(let i of e){let{nextId:a,parentId:n}=i;if(a&&a in t){let u=t[a];if(u.parent){let l=u.parent.children.indexOf(u);u.parent.children.splice(l,0,r(i,u.parent))}else{let l=s.indexOf(u);s.splice(l,0,r(i,null))}continue}if(n in t){let u=t[n];u.children.push(r(i,u));continue}s.push(r(i,null))}return s}function Go(e,t){t(e.value);for(let r=e.children.length-1;r>=0;r--)Go(e.children[r],t)}function ut(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Ho(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yo(e,t){var r,s;let i=(s=(r=e.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.frameElement;if(!i||i===t)return{x:0,y:0,relativeScale:1,absoluteScale:1};let a=i.getBoundingClientRect(),n=Yo(i,t),u=a.height/i.clientHeight;return{x:a.x*n.relativeScale+n.x,y:a.y*n.relativeScale+n.y,relativeScale:u,absoluteScale:n.absoluteScale*u}}function Ue(e){return e?e instanceof we&&"shadowRoot"in e?!!e.shadowRoot:!!$.shadowRoot(e):!1}function st(e,t){let r=e?.[t[0]];return r?t.length===1?r:st(r.cssRules,t.slice(1)):null}function Bn(e){let t=[...e],r=t.pop();return{positions:t,index:r}}function Xu(e){let t=new Set,r=[];for(let s=e.length;s--;){let i=e[s];t.has(i.id)||(r.push(i),t.add(i.id))}return r}var Wt=class{constructor(){R(this,"id",1),R(this,"styleIDMap",new WeakMap),R(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let s;return r===void 0?s=this.id++:s=r,this.styleIDMap.set(t,s),this.idStyleMap.set(s,t),s}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Xo(e){var t;let r=null;return"getRootNode"in e&&((t=$.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&$.host($.getRootNode(e))&&(r=$.host($.getRootNode(e))),r}function Ju(e){let t=e,r;for(;r=Xo(t);)t=r;return t}function Qu(e){let t=$.ownerDocument(e);if(!t)return!1;let r=Ju(e);return $.contains(t,r)}function Jo(e){let t=$.ownerDocument(e);return t?$.contains(t,e)||Qu(e):!1}var T=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(T||{}),D=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(D||{}),q=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(q||{}),xe=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(xe||{}),Re=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Re||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{}),V=(e=>(e.Start="start",e.Pause="pause",e.Resume="resume",e.Resize="resize",e.Finish="finish",e.FullsnapshotRebuilded="fullsnapshot-rebuilded",e.LoadStylesheetStart="load-stylesheet-start",e.LoadStylesheetEnd="load-stylesheet-end",e.SkipStart="skip-start",e.SkipEnd="skip-end",e.MouseInteraction="mouse-interaction",e.EventCast="event-cast",e.CustomEvent="custom-event",e.Flush="flush",e.StateChange="state-change",e.PlayBack="play-back",e.Destroy="destroy",e))(V||{}),Ee=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Ee||{});function zn(e){return"__ln"in e}var Ti=class{constructor(){R(this,"length",0),R(this,"head",null),R(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let s=0;s<t;s++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&zn(t.previousSibling)){let s=t.previousSibling.__ln.next;r.next=s,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,s&&(s.previous=r)}else if(t.nextSibling&&zn(t.nextSibling)&&t.nextSibling.__ln.previous){let s=t.nextSibling.__ln.previous;r.previous=s,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,s&&(s.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Wn=(e,t)=>`${e}@${t}`,_i=class{constructor(){R(this,"frozen",!1),R(this,"locked",!1),R(this,"texts",[]),R(this,"attributes",[]),R(this,"attributeMap",new WeakMap),R(this,"removes",[]),R(this,"mapRemoves",[]),R(this,"movedMap",{}),R(this,"addedSet",new Set),R(this,"movedSet",new Set),R(this,"droppedSet",new Set),R(this,"removesSubTreeCache",new Set),R(this,"mutationCb"),R(this,"blockClass"),R(this,"blockSelector"),R(this,"maskTextClass"),R(this,"maskTextSelector"),R(this,"inlineStylesheet"),R(this,"maskInputOptions"),R(this,"maskTextFn"),R(this,"maskInputFn"),R(this,"keepIframeSrcFn"),R(this,"recordCanvas"),R(this,"inlineImages"),R(this,"slimDOMOptions"),R(this,"dataURLOptions"),R(this,"doc"),R(this,"mirror"),R(this,"iframeManager"),R(this,"stylesheetManager"),R(this,"shadowDomManager"),R(this,"canvasManager"),R(this,"processedNodeManager"),R(this,"unattachedDoc"),R(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),R(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,s=new Ti,i=l=>{let c=l,o=ht;for(;o===ht;)c=c&&c.nextSibling,o=c&&this.mirror.getId(c);return o},a=l=>{let c=$.parentNode(l);if(!c||!Jo(l))return;let o=!1;if(l.nodeType===Node.TEXT_NODE){let m=c.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(c)&&(o=!0)}let d=ot(c)?this.mirror.getId(Xo(l)):this.mirror.getId(c),f=i(l);if(d===-1||f===-1)return s.addNode(l);let h=Xe(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{ut(m,this.mirror)&&this.iframeManager.addIframe(m),Ho(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ue(l)&&this.shadowDomManager.addShadowRoot($.shadowRoot(l),this.doc)},onIframeLoad:(m,p)=>{this.iframeManager.attachIframe(m,p),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,p)=>{this.stylesheetManager.attachLinkElement(m,p)},cssCaptured:o});h&&(t.push({parentId:d,nextId:f,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)jn(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has($.parentNode(l))||a(l);for(let l of this.addedSet)!Vn(this.droppedSet,l)&&!jn(this.removesSubTreeCache,l,this.mirror)||Vn(this.movedSet,l)?a(l):this.droppedSet.add(l);let n=null;for(;s.length;){let l=null;if(n){let c=this.mirror.getId($.parentNode(n.value)),o=i(n.value);c!==-1&&o!==-1&&(l=n)}if(!l){let c=s.tail;for(;c;){let o=c;if(c=c.previous,o){let d=this.mirror.getId($.parentNode(o.value));if(i(o.value)===-1)continue;if(d!==-1){l=o;break}else{let h=o.value,m=$.parentNode(h);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let p=$.host(m);if(this.mirror.getId(p)!==-1){l=o;break}}}}}}if(!l){for(;s.head;)s.removeNode(s.head.value);break}n=l.previous,s.removeNode(l.value),a(l.value)}let u={texts:this.texts.map(l=>{let c=l.node,o=$.parentNode(c);return o&&o.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(o),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let o=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);o.length<c.style.length&&(o+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),R(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let s=Array.from($.childNodes(t),i=>$.textContent(i)||"").join("");r.attributes.value=kt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Tt(t),value:s,maskInputFn:this.maskInputFn})}),R(this,"processMutation",t=>{if(!mi(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=$.textContent(t.target);!ue(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:mo(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,jo(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,s=Me(r.tagName),i=t.attributeName,a=t.target.getAttribute(i);if(i==="value"){let u=Tt(r);a=kt({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:u,value:a,maskInputFn:this.maskInputFn})}if(ue(t.target,this.blockClass,this.blockSelector,!1)||a===t.oldValue)return;let n=this.attributeMap.get(t.target);if(s==="iframe"&&i==="src"&&!this.keepIframeSrcFn(a))if(!r.contentDocument)i="rr_src";else return;if(n||(n={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(t.target,n)),i==="type"&&s==="input"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!po(s,i))if(n.attributes[i]=ho(this.doc,s,Me(i),a),i==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let u=this.unattachedDoc.createElement("span");t.oldValue&&u.setAttribute("style",t.oldValue);for(let l of Array.from(r.style)){let c=r.style.getPropertyValue(l),o=r.style.getPropertyPriority(l);c!==u.style.getPropertyValue(l)||o!==u.style.getPropertyPriority(l)?o===""?n.styleDiff[l]=c:n.styleDiff[l]=[c,o]:n._unchangedStyles[l]=[c,o]}for(let l of Array.from(u.style))r.style.getPropertyValue(l)===""&&(n.styleDiff[l]=!1)}else i==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":{if(ue(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let s=this.mirror.getId(r),i=ot(t.target)?this.mirror.getId($.host(t.target)):this.mirror.getId(t.target);ue(t.target,this.blockClass,this.blockSelector,!1)||mi(r,this.mirror,this.slimDOMOptions)||!Hu(r,this.mirror)||(this.addedSet.has(r)?(Li(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&s===-1||Vo(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Wn(s,i)]?Li(this.movedSet,r):(this.removes.push({parentId:i,id:s,isShadow:ot(t.target)&&at(t.target)?!0:void 0}),Ku(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),R(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mi(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let s=null;r&&this.mirror.hasNode(r)&&(s=this.mirror.getId(r)),s&&s!==-1&&(this.movedMap[Wn(this.mirror.getId(t),s)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ue(t,this.blockClass,this.blockSelector,!1)||($.childNodes(t).forEach(s=>this.genAdds(s)),Ue(t)&&$.childNodes($.shadowRoot(t)).forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function Li(e,t){e.delete(t),$.childNodes(t).forEach(r=>Li(e,r))}function Ku(e,t){let r=[e];for(;r.length;){let s=r.pop();t.has(s)||(t.add(s),$.childNodes(s).forEach(i=>r.push(i)))}}function jn(e,t,r){return e.size===0?!1:Zu(e,t)}function Zu(e,t,r){let s=$.parentNode(t);return s?e.has(s):!1}function Vn(e,t){return e.size===0?!1:Qo(e,t)}function Qo(e,t){let r=$.parentNode(t);return r?e.has(r)?!0:Qo(e,r):!1}var ct;function ec(e){ct=e}function tc(){ct=void 0}var W=e=>ct?(...r)=>{try{return e(...r)}catch(s){if(ct&&ct(s)===!0)return;throw s}}:e,$e=[];function yt(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ko(e,t){let r=new _i;$e.push(r),r.init(e);let[s,i]=$o(),a=new s(W(r.processMutations.bind(r)));return a.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[a,i]}function rc({mousemoveCb:e,sampling:t,doc:r,mirror:s}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,a=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,n=[],u,l=pt(W(d=>{let f=Date.now()-u;e(n.map(h=>(h.timeOffset-=f,h)),d),n=[],u=null}),a),c=W(pt(W(d=>{let f=yt(d),{clientX:h,clientY:m}=ki(d)?d.changedTouches[0]:d;u||(u=dt()),n.push({x:h,y:m,id:s.getId(f),timeOffset:dt()-u}),l(typeof DragEvent<"u"&&d instanceof DragEvent?D.Drag:d instanceof MouseEvent?D.MouseMove:D.TouchMove)}),i,{trailing:!1})),o=[le("mousemove",c,r),le("touchmove",c,r),le("drag",c,r)];return W(()=>{o.forEach(d=>d())})}function ic({mouseInteractionCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){if(a.mouseInteraction===!1)return()=>{};let n=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,u=[],l=null,c=o=>d=>{let f=yt(d);if(ue(f,s,i,!0))return;let h=null,m=o;if("pointerType"in d){switch(d.pointerType){case"mouse":h=xe.Mouse;break;case"touch":h=xe.Touch;break;case"pen":h=xe.Pen;break}h===xe.Touch?q[o]===q.MouseDown?m="TouchStart":q[o]===q.MouseUp&&(m="TouchEnd"):xe.Pen}else ki(d)&&(h=xe.Touch);h!==null?(l=h,(m.startsWith("Touch")&&h===xe.Touch||m.startsWith("Mouse")&&h===xe.Mouse)&&(h=null)):q[o]===q.Click&&(h=l,l=null);let p=ki(d)?d.changedTouches[0]:d;if(!p)return;let g=r.getId(f),{clientX:b,clientY:y}=p;W(e)({type:q[m],id:g,x:b,y,...h!==null&&{pointerType:h}})};return Object.keys(q).filter(o=>Number.isNaN(Number(o))&&!o.endsWith("_Departed")&&n[o]!==!1).forEach(o=>{let d=Me(o),f=c(o);if(window.PointerEvent)switch(q[o]){case q.MouseDown:case q.MouseUp:d=d.replace("mouse","pointer");break;case q.TouchStart:case q.TouchEnd:return}u.push(le(d,f,t))}),W(()=>{u.forEach(o=>o())})}function Zo({scrollCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){let n=W(pt(W(u=>{let l=yt(u);if(!l||ue(l,s,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let o=Bo(t.defaultView);e({id:c,x:o.left,y:o.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),a.scroll||100));return le("scroll",n,t)}function sc({viewportResizeCb:e},{win:t}){let r=-1,s=-1,i=W(pt(W(()=>{let a=zo(),n=Wo();(r!==a||s!==n)&&(e({width:Number(n),height:Number(a)}),r=a,s=n)}),200));return le("resize",i,t)}var nc=["INPUT","TEXTAREA","SELECT"],qn=new WeakMap;function oc({inputCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,ignoreClass:a,ignoreSelector:n,maskInputOptions:u,maskInputFn:l,sampling:c,userTriggeredOnInput:o}){function d(y){let w=yt(y),C=y.isTrusted,v=w&&w.tagName;if(w&&v==="OPTION"&&(w=$.parentElement(w)),!w||!v||nc.indexOf(v)<0||ue(w,s,i,!0)||w.classList.contains(a)||n&&w.matches(n))return;let S=w.value,x=!1,M=Tt(w)||"";M==="radio"||M==="checkbox"?x=w.checked:(u[v.toLowerCase()]||u[M])&&(S=kt({element:w,maskInputOptions:u,tagName:v,type:M,value:S,maskInputFn:l})),f(w,o?{text:S,isChecked:x,userTriggered:C}:{text:S,isChecked:x});let I=w.name;M==="radio"&&I&&x&&t.querySelectorAll(`input[type="radio"][name="${I}"]`).forEach(N=>{if(N!==w){let F=N.value;f(N,o?{text:F,isChecked:!x,userTriggered:!1}:{text:F,isChecked:!x})}})}function f(y,w){let C=qn.get(y);if(!C||C.text!==w.text||C.isChecked!==w.isChecked){qn.set(y,w);let v=r.getId(y);W(e)({...w,id:v})}}let m=(c.input==="last"?["change"]:["input","change"]).map(y=>le(y,W(d),t)),p=t.defaultView;if(!p)return()=>{m.forEach(y=>y())};let g=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),b=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...b.map(y=>nr(y[0],y[1],{set(){W(d)({target:this,isTrusted:!1})}},!1,p))),W(()=>{m.forEach(y=>y())})}function jt(e){let t=[];function r(s,i){if(Nt("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Nt("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Nt("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Nt("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){let n=Array.from(s.parentRule.cssRules).indexOf(s);return i.unshift(n),r(s.parentRule,i)}else if(s.parentStyleSheet){let n=Array.from(s.parentStyleSheet.cssRules).indexOf(s);i.unshift(n)}return i}return r(e,t)}function ke(e,t,r){let s,i;return e?(e.ownerNode?s=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:s}):{}}function ac({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};let i=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:W((o,d,f)=>{let[h,m]=f,{id:p,styleId:g}=ke(d,t,r.styleMirror);return(p&&p!==-1||g&&g!==-1)&&e({id:p,styleId:g,adds:[{rule:h,index:m}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.addRule=function(o,d,f=this.cssRules.length){let h=`${o} { ${d} }`;return s.CSSStyleSheet.prototype.insertRule.apply(this,[h,f])};let a=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(a,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,removes:[{index:h}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.removeRule=function(o){return s.CSSStyleSheet.prototype.deleteRule.apply(this,[o])};let n;s.CSSStyleSheet.prototype.replace&&(n=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(n,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replace:h}),o.apply(d,f)})}));let u;s.CSSStyleSheet.prototype.replaceSync&&(u=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replaceSync:h}),o.apply(d,f)})}));let l={};Ot("CSSGroupingRule")?l.CSSGroupingRule=s.CSSGroupingRule:(Ot("CSSMediaRule")&&(l.CSSMediaRule=s.CSSMediaRule),Ot("CSSConditionRule")&&(l.CSSConditionRule=s.CSSConditionRule),Ot("CSSSupportsRule")&&(l.CSSSupportsRule=s.CSSSupportsRule));let c={};return Object.entries(l).forEach(([o,d])=>{c[o]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[o].insertRule,{apply:W((f,h,m)=>{let[p,g]=m,{id:b,styleId:y}=ke(h.parentStyleSheet,t,r.styleMirror);return(b&&b!==-1||y&&y!==-1)&&e({id:b,styleId:y,adds:[{rule:p,index:[...jt(h),g||0]}]}),f.apply(h,m)})}),d.prototype.deleteRule=new Proxy(c[o].deleteRule,{apply:W((f,h,m)=>{let[p]=m,{id:g,styleId:b}=ke(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||b&&b!==-1)&&e({id:g,styleId:b,removes:[{index:[...jt(h),p]}]}),f.apply(h,m)})})}),W(()=>{s.CSSStyleSheet.prototype.insertRule=i,s.CSSStyleSheet.prototype.deleteRule=a,n&&(s.CSSStyleSheet.prototype.replace=n),u&&(s.CSSStyleSheet.prototype.replaceSync=u),Object.entries(l).forEach(([o,d])=>{d.prototype.insertRule=c[o].insertRule,d.prototype.deleteRule=c[o].deleteRule})})}function ea({mirror:e,stylesheetManager:t},r){var s,i,a;let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId($.host(r));let u=r.nodeName==="#document"?(s=r.defaultView)==null?void 0:s.Document:(a=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:a.ShadowRoot,l=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!u||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var o;let d=(o=l.set)==null?void 0:o.call(this,c);if(n!==null&&n!==-1)try{t.adoptStyleSheets(c,n)}catch{}return d}}),W(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function lc({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:s},{win:i}){let a=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(a,{apply:W((u,l,c)=>{var o;let[d,f,h]=c;if(r.has(d))return a.apply(l,[d,f,h]);let{id:m,styleId:p}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,set:{property:d,value:f,priority:h},index:jt(l.parentRule)}),u.apply(l,c)})});let n=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(n,{apply:W((u,l,c)=>{var o;let[d]=c;if(r.has(d))return n.apply(l,[d]);let{id:f,styleId:h}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,remove:{property:d},index:jt(l.parentRule)}),u.apply(l,c)})}),W(()=>{i.CSSStyleDeclaration.prototype.setProperty=a,i.CSSStyleDeclaration.prototype.removeProperty=n})}function uc({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:s,sampling:i,doc:a}){let n=W(l=>pt(W(c=>{let o=yt(c);if(!o||ue(o,t,r,!0))return;let{currentTime:d,volume:f,muted:h,playbackRate:m,loop:p}=o;e({type:l,id:s.getId(o),currentTime:d,volume:f,muted:h,playbackRate:m,loop:p})}),i.media||500)),u=[le("play",n(Te.Play),a),le("pause",n(Te.Pause),a),le("seeked",n(Te.Seeked),a),le("volumechange",n(Te.VolumeChange),a),le("ratechange",n(Te.RateChange),a)];return W(()=>{u.forEach(l=>l())})}function cc({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let s=[],i=new WeakMap,a=r.FontFace;r.FontFace=function(l,c,o){let d=new a(l,c,o);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:o,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let n=We(t.fonts,"add",function(u){return function(l){return setTimeout(W(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),u.apply(this,[l])}});return s.push(()=>{r.FontFace=a}),s.push(n),W(()=>{s.forEach(u=>u())})}function fc(e){let{doc:t,mirror:r,blockClass:s,blockSelector:i,selectionCb:a}=e,n=!0,u=W(()=>{let l=t.getSelection();if(!l||n&&l?.isCollapsed)return;n=l.isCollapsed||!1;let c=[],o=l.rangeCount||0;for(let d=0;d<o;d++){let f=l.getRangeAt(d),{startContainer:h,startOffset:m,endContainer:p,endOffset:g}=f;ue(h,s,i,!0)||ue(p,s,i,!0)||c.push({start:r.getId(h),startOffset:m,end:r.getId(p),endOffset:g})}a({ranges:c})});return u(),le("selectionchange",u)}function hc({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:We(r.customElements,"define",function(i){return function(a,n,u){try{t({define:{name:a}})}catch{console.warn(`Custom element callback failed for ${a}`)}return i.apply(this,[a,n,u])}})}function dc(e,t){let{mutationCb:r,mousemoveCb:s,mouseInteractionCb:i,scrollCb:a,viewportResizeCb:n,inputCb:u,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:o,canvasMutationCb:d,fontCb:f,selectionCb:h,customElementCb:m}=e;e.mutationCb=(...p)=>{t.mutation&&t.mutation(...p),r(...p)},e.mousemoveCb=(...p)=>{t.mousemove&&t.mousemove(...p),s(...p)},e.mouseInteractionCb=(...p)=>{t.mouseInteraction&&t.mouseInteraction(...p),i(...p)},e.scrollCb=(...p)=>{t.scroll&&t.scroll(...p),a(...p)},e.viewportResizeCb=(...p)=>{t.viewportResize&&t.viewportResize(...p),n(...p)},e.inputCb=(...p)=>{t.input&&t.input(...p),u(...p)},e.mediaInteractionCb=(...p)=>{t.mediaInteaction&&t.mediaInteaction(...p),l(...p)},e.styleSheetRuleCb=(...p)=>{t.styleSheetRule&&t.styleSheetRule(...p),c(...p)},e.styleDeclarationCb=(...p)=>{t.styleDeclaration&&t.styleDeclaration(...p),o(...p)},e.canvasMutationCb=(...p)=>{t.canvasMutation&&t.canvasMutation(...p),d(...p)},e.fontCb=(...p)=>{t.font&&t.font(...p),f(...p)},e.selectionCb=(...p)=>{t.selection&&t.selection(...p),h(...p)},e.customElementCb=(...p)=>{t.customElement&&t.customElement(...p),m(...p)}}function pc(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};dc(e,t);let s,i=()=>{};e.recordDOM&&([s,i]=Ko(e,e.doc));let a=rc(e),n=ic(e),u=Zo(e),l=sc(e,{win:r}),c=oc(e),o=uc(e),d=()=>{},f=()=>{},h=()=>{},m=()=>{};e.recordDOM&&(d=ac(e,{win:r}),f=ea(e,e.doc),h=lc(e,{win:r}),e.collectFonts&&(m=cc(e)));let p=fc(e),g=hc(e),b=[];for(let y of e.plugins)b.push(y.observer(y.callback,r,y.options));return W(()=>{$e.forEach(y=>y.reset()),s?.disconnect(),i(),a(),n(),u(),l(),c(),o(),d(),f(),h(),m(),p(),g(),b.forEach(y=>y())})}function Nt(e){return typeof window[e]<"u"}function Ot(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Vt=class{constructor(t){R(this,"iframeIdToRemoteIdMap",new WeakMap),R(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,s,i){let a=s||this.getIdToRemoteIdMap(t),n=i||this.getRemoteIdToIdMap(t),u=a.get(r);return u||(u=this.generateIdFn(),a.set(r,u),n.set(u,r)),u}getIds(t,r){let s=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(a=>this.getId(t,a,s,i))}getRemoteId(t,r,s){let i=s||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let a=i.get(r);return a||-1}getRemoteIds(t,r){let s=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,s))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Pi=class{constructor(t){R(this,"iframes",new WeakMap),R(this,"crossOriginIframeMap",new WeakMap),R(this,"crossOriginIframeMirror",new Vt(fo)),R(this,"crossOriginIframeStyleMirror"),R(this,"crossOriginIframeRootIdMap",new WeakMap),R(this,"mirror"),R(this,"mutationCb"),R(this,"wrappedEmit"),R(this,"loadListener"),R(this,"stylesheetManager"),R(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Vt(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let a=this.transformCrossOriginEvent(i,r.data.event);a&&this.wrappedEmit(a,r.data.isCheckout)}transformCrossOriginEvent(t,r){var s;switch(r.type){case T.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:T.IncrementalSnapshot,data:{source:D.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case T.Meta:case T.Load:case T.DomContentLoaded:return!1;case T.Plugin:return r;case T.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case T.IncrementalSnapshot:switch(r.data.source){case D.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let a=this.crossOriginIframeRootIdMap.get(t);a&&this.patchRootIdOnNode(i.node,a)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.Drag:case D.TouchMove:case D.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.ViewportResize:return!1;case D.MediaInteraction:case D.MouseInteraction:case D.Scroll:case D.CanvasMutation:case D.Input:return this.replaceIds(r.data,t,["id"]),r;case D.StyleSheetRule:case D.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case D.Font:return r;case D.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case D.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(s=r.data.styles)==null||s.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,s,i){for(let a of i)!Array.isArray(r[a])&&typeof r[a]!="number"||(Array.isArray(r[a])?r[a]=t.getIds(s,r[a]):r[a]=t.getId(s,r[a]));return r}replaceIds(t,r,s){return this.replace(this.crossOriginIframeMirror,t,r,s)}replaceStyleIds(t,r,s){return this.replace(this.crossOriginIframeStyleMirror,t,r,s)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(s=>{this.replaceIdOnNode(s,r)})}patchRootIdOnNode(t,r){t.type!==Ee.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(s=>{this.patchRootIdOnNode(s,r)})}},Fi=class{constructor(t){R(this,"shadowDoms",new WeakSet),R(this,"mutationCb"),R(this,"scrollCb"),R(this,"bypassOptions"),R(this,"mirror"),R(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!at(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[s]=Ko({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Zo({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId($.host(t))),this.restoreHandlers.push(ea({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let s=this;this.restoreHandlers.push(We(t.prototype,"attachShadow",function(i){return function(a){let n=i.call(this,a),u=$.shadowRoot(this);return u&&Jo(this)&&s.addShadowRoot(u,r),n}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(it=0;it<Je.length;it++)nt[Je.charCodeAt(it)]=it;var it,mc=function(e){var t=new Uint8Array(e),r,s=t.length,i="";for(r=0;r<s;r+=3)i+=Je[t[r]>>2],i+=Je[(t[r]&3)<<4|t[r+1]>>4],i+=Je[(t[r+1]&15)<<2|t[r+2]>>6],i+=Je[t[r+2]&63];return s%3===2?i=i.substring(0,i.length-1)+"=":s%3===1&&(i=i.substring(0,i.length-2)+"=="),i},gc=function(e){var t=e.length*.75,r=e.length,s,i=0,a,n,u,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var c=new ArrayBuffer(t),o=new Uint8Array(c);for(s=0;s<r;s+=4)a=nt[e.charCodeAt(s)],n=nt[e.charCodeAt(s+1)],u=nt[e.charCodeAt(s+2)],l=nt[e.charCodeAt(s+3)],o[i++]=a<<2|n>>4,o[i++]=(n&15)<<4|u>>2,o[i++]=(u&3)<<6|l&63;return c},Gn=new Map;function yc(e,t){let r=Gn.get(e);return r||(r=new Map,Gn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var ta=(e,t,r)=>{if(!e||!(ia(e,t)||typeof e=="object"))return;let s=e.constructor.name,i=yc(r,s),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function At(e,t,r){if(e instanceof Array)return e.map(s=>At(s,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let s=e.constructor.name,i=mc(e);return{rr_type:s,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[At(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let s=e.constructor.name,{src:i}=e;return{rr_type:s,src:i}}else if(e instanceof HTMLCanvasElement){let s="HTMLImageElement",i=e.toDataURL();return{rr_type:s,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[At(e.data,t,r),e.width,e.height]};if(ia(e,t)||typeof e=="object"){let s=e.constructor.name,i=ta(e,t,r);return{rr_type:s,index:i}}}}return e}var ra=(e,t,r)=>e.map(s=>At(s,t,r)),ia=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function wc(e,t,r,s){let i=[],a=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let n of a)try{if(typeof t.CanvasRenderingContext2D.prototype[n]!="function")continue;let u=We(t.CanvasRenderingContext2D.prototype,n,function(l){return function(...c){return ue(this.canvas,r,s,!0)||setTimeout(()=>{let o=ra(c,t,this);e(this.canvas,{type:Re["2D"],property:n,args:o})},0),l.apply(this,c)}});i.push(u)}catch{let u=nr(t.CanvasRenderingContext2D.prototype,n,{set(l){e(this.canvas,{type:Re["2D"],property:n,args:[l],setter:!0})}});i.push(u)}return()=>{i.forEach(n=>n())}}function bc(e){return e==="experimental-webgl"?"webgl":e}function Hn(e,t,r,s){let i=[];try{let a=We(e.HTMLCanvasElement.prototype,"getContext",function(n){return function(u,...l){if(!ue(this,t,r,!0)){let c=bc(u);if("__context"in this||(this.__context=c),s&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let o=l[0];o.preserveDrawingBuffer||(o.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return n.apply(this,[u,...l])}});i.push(a)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(a=>a())}}function Yn(e,t,r,s,i,a){let n=[],u=Object.getOwnPropertyNames(e);for(let l of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=We(e,l,function(o){return function(...d){let f=o.apply(this,d);if(ta(f,a,this),"tagName"in this.canvas&&!ue(this.canvas,s,i,!0)){let h=ra(d,a,this),m={type:t,property:l,args:h};r(this.canvas,m)}return f}});n.push(c)}catch{let c=nr(e,l,{set(o){r(this.canvas,{type:t,property:l,args:[o],setter:!0})}});n.push(c)}return n}function vc(e,t,r,s){let i=[];return typeof t.WebGLRenderingContext<"u"&&i.push(...Yn(t.WebGLRenderingContext.prototype,Re.WebGL,e,r,s,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...Yn(t.WebGL2RenderingContext.prototype,Re.WebGL2,e,r,s,t)),()=>{i.forEach(a=>a())}}var sa=`(function() {
     56or you can use record.mirror to access the mirror instance during recording.`,$n={map:{},getId(){return console.error(Ge),-1},getNode(){return console.error(Ge),null},removeNodeFromMap(){console.error(Ge)},has(){return console.error(Ge),!1},reset(){console.error(Ge)}};typeof window<"u"&&window.Proxy&&window.Reflect&&($n=new Proxy($n,{get(e,t,r){return t==="map"&&console.error(Ge),Reflect.get(e,t,r)}}));function pt(e,t,r={}){let s=null,i=0;return function(...a){let n=Date.now();!i&&r.leading===!1&&(i=n);let u=t-(n-i),l=this;u<=0||u>t?(s&&(clearTimeout(s),s=null),i=n,e.apply(l,a)):!s&&r.trailing!==!1&&(s=setTimeout(()=>{i=r.leading===!1?0:Date.now(),s=null,e.apply(l,a)},u))}}function nr(e,t,r,s,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,s?r:{set(n){setTimeout(()=>{r.set.call(this,n)},0),a&&a.set&&a.set.call(this,n)}}),()=>nr(e,t,a||{},!0)}function Bo(e){var t,r,s,i;let a=e.document;return{left:a.scrollingElement?a.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:a.documentElement.scrollLeft||a?.body&&((t=$.parentElement(a.body))==null?void 0:t.scrollLeft)||((r=a?.body)==null?void 0:r.scrollLeft)||0,top:a.scrollingElement?a.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:a?.documentElement.scrollTop||a?.body&&((s=$.parentElement(a.body))==null?void 0:s.scrollTop)||((i=a?.body)==null?void 0:i.scrollTop)||0}}function zo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Wo(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function jo(e){return e?e.nodeType===e.ELEMENT_NODE?e:$.parentElement(e):null}function ue(e,t,r,s){if(!e)return!1;let i=jo(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||s&&i.closest("."+t)!==null)return!0}else if(Pt(i,t,s))return!0}catch{}return!!(r&&(i.matches(r)||s&&i.closest(r)!==null))}function Yu(e,t){return t.getId(e)!==-1}function mi(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===ht}function Vo(e,t){if(ot(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let s=$.parentNode(e);return s&&s.nodeType===e.DOCUMENT_NODE?!1:s?Vo(s,t):!0}function ki(e){return!!e.changedTouches}function qo(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Xu(e){let t={},r=(i,a)=>{let n={value:i,parent:a,children:[]};return t[i.node.id]=n,n},s=[];for(let i of e){let{nextId:a,parentId:n}=i;if(a&&a in t){let u=t[a];if(u.parent){let l=u.parent.children.indexOf(u);u.parent.children.splice(l,0,r(i,u.parent))}else{let l=s.indexOf(u);s.splice(l,0,r(i,null))}continue}if(n in t){let u=t[n];u.children.push(r(i,u));continue}s.push(r(i,null))}return s}function Go(e,t){t(e.value);for(let r=e.children.length-1;r>=0;r--)Go(e.children[r],t)}function ut(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Ho(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yo(e,t){var r,s;let i=(s=(r=e.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.frameElement;if(!i||i===t)return{x:0,y:0,relativeScale:1,absoluteScale:1};let a=i.getBoundingClientRect(),n=Yo(i,t),u=a.height/i.clientHeight;return{x:a.x*n.relativeScale+n.x,y:a.y*n.relativeScale+n.y,relativeScale:u,absoluteScale:n.absoluteScale*u}}function Ue(e){return e?e instanceof we&&"shadowRoot"in e?!!e.shadowRoot:!!$.shadowRoot(e):!1}function st(e,t){let r=e?.[t[0]];return r?t.length===1?r:st(r.cssRules,t.slice(1)):null}function Bn(e){let t=[...e],r=t.pop();return{positions:t,index:r}}function Ju(e){let t=new Set,r=[];for(let s=e.length;s--;){let i=e[s];t.has(i.id)||(r.push(i),t.add(i.id))}return r}var Wt=class{constructor(){R(this,"id",1),R(this,"styleIDMap",new WeakMap),R(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let s;return r===void 0?s=this.id++:s=r,this.styleIDMap.set(t,s),this.idStyleMap.set(s,t),s}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Xo(e){var t;let r=null;return"getRootNode"in e&&((t=$.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&$.host($.getRootNode(e))&&(r=$.host($.getRootNode(e))),r}function Qu(e){let t=e,r;for(;r=Xo(t);)t=r;return t}function Ku(e){let t=$.ownerDocument(e);if(!t)return!1;let r=Qu(e);return $.contains(t,r)}function Jo(e){let t=$.ownerDocument(e);return t?$.contains(t,e)||Ku(e):!1}var T=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(T||{}),D=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(D||{}),q=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(q||{}),xe=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(xe||{}),Re=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Re||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{}),V=(e=>(e.Start="start",e.Pause="pause",e.Resume="resume",e.Resize="resize",e.Finish="finish",e.FullsnapshotRebuilded="fullsnapshot-rebuilded",e.LoadStylesheetStart="load-stylesheet-start",e.LoadStylesheetEnd="load-stylesheet-end",e.SkipStart="skip-start",e.SkipEnd="skip-end",e.MouseInteraction="mouse-interaction",e.EventCast="event-cast",e.CustomEvent="custom-event",e.Flush="flush",e.StateChange="state-change",e.PlayBack="play-back",e.Destroy="destroy",e))(V||{}),Ee=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Ee||{});function zn(e){return"__ln"in e}var Ti=class{constructor(){R(this,"length",0),R(this,"head",null),R(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let s=0;s<t;s++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&zn(t.previousSibling)){let s=t.previousSibling.__ln.next;r.next=s,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,s&&(s.previous=r)}else if(t.nextSibling&&zn(t.nextSibling)&&t.nextSibling.__ln.previous){let s=t.nextSibling.__ln.previous;r.previous=s,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,s&&(s.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Wn=(e,t)=>`${e}@${t}`,_i=class{constructor(){R(this,"frozen",!1),R(this,"locked",!1),R(this,"texts",[]),R(this,"attributes",[]),R(this,"attributeMap",new WeakMap),R(this,"removes",[]),R(this,"mapRemoves",[]),R(this,"movedMap",{}),R(this,"addedSet",new Set),R(this,"movedSet",new Set),R(this,"droppedSet",new Set),R(this,"removesSubTreeCache",new Set),R(this,"mutationCb"),R(this,"blockClass"),R(this,"blockSelector"),R(this,"maskTextClass"),R(this,"maskTextSelector"),R(this,"inlineStylesheet"),R(this,"maskInputOptions"),R(this,"maskTextFn"),R(this,"maskInputFn"),R(this,"keepIframeSrcFn"),R(this,"recordCanvas"),R(this,"inlineImages"),R(this,"slimDOMOptions"),R(this,"dataURLOptions"),R(this,"doc"),R(this,"mirror"),R(this,"iframeManager"),R(this,"stylesheetManager"),R(this,"shadowDomManager"),R(this,"canvasManager"),R(this,"processedNodeManager"),R(this,"unattachedDoc"),R(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),R(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,s=new Ti,i=l=>{let c=l,o=ht;for(;o===ht;)c=c&&c.nextSibling,o=c&&this.mirror.getId(c);return o},a=l=>{let c=$.parentNode(l);if(!c||!Jo(l))return;let o=!1;if(l.nodeType===Node.TEXT_NODE){let m=c.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(c)&&(o=!0)}let d=ot(c)?this.mirror.getId(Xo(l)):this.mirror.getId(c),f=i(l);if(d===-1||f===-1)return s.addNode(l);let h=Xe(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{ut(m,this.mirror)&&this.iframeManager.addIframe(m),Ho(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ue(l)&&this.shadowDomManager.addShadowRoot($.shadowRoot(l),this.doc)},onIframeLoad:(m,p)=>{this.iframeManager.attachIframe(m,p),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,p)=>{this.stylesheetManager.attachLinkElement(m,p)},cssCaptured:o});h&&(t.push({parentId:d,nextId:f,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)jn(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has($.parentNode(l))||a(l);for(let l of this.addedSet)!Vn(this.droppedSet,l)&&!jn(this.removesSubTreeCache,l,this.mirror)||Vn(this.movedSet,l)?a(l):this.droppedSet.add(l);let n=null;for(;s.length;){let l=null;if(n){let c=this.mirror.getId($.parentNode(n.value)),o=i(n.value);c!==-1&&o!==-1&&(l=n)}if(!l){let c=s.tail;for(;c;){let o=c;if(c=c.previous,o){let d=this.mirror.getId($.parentNode(o.value));if(i(o.value)===-1)continue;if(d!==-1){l=o;break}else{let h=o.value,m=$.parentNode(h);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let p=$.host(m);if(this.mirror.getId(p)!==-1){l=o;break}}}}}}if(!l){for(;s.head;)s.removeNode(s.head.value);break}n=l.previous,s.removeNode(l.value),a(l.value)}let u={texts:this.texts.map(l=>{let c=l.node,o=$.parentNode(c);return o&&o.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(o),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let o=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);o.length<c.style.length&&(o+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),R(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let s=Array.from($.childNodes(t),i=>$.textContent(i)||"").join("");r.attributes.value=kt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Tt(t),value:s,maskInputFn:this.maskInputFn})}),R(this,"processMutation",t=>{if(!mi(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=$.textContent(t.target);!ue(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:mo(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,jo(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,s=Me(r.tagName),i=t.attributeName,a=t.target.getAttribute(i);if(i==="value"){let u=Tt(r);a=kt({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:u,value:a,maskInputFn:this.maskInputFn})}if(ue(t.target,this.blockClass,this.blockSelector,!1)||a===t.oldValue)return;let n=this.attributeMap.get(t.target);if(s==="iframe"&&i==="src"&&!this.keepIframeSrcFn(a))if(!r.contentDocument)i="rr_src";else return;if(n||(n={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(t.target,n)),i==="type"&&s==="input"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!po(s,i))if(n.attributes[i]=ho(this.doc,s,Me(i),a),i==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let u=this.unattachedDoc.createElement("span");t.oldValue&&u.setAttribute("style",t.oldValue);for(let l of Array.from(r.style)){let c=r.style.getPropertyValue(l),o=r.style.getPropertyPriority(l);c!==u.style.getPropertyValue(l)||o!==u.style.getPropertyPriority(l)?o===""?n.styleDiff[l]=c:n.styleDiff[l]=[c,o]:n._unchangedStyles[l]=[c,o]}for(let l of Array.from(u.style))r.style.getPropertyValue(l)===""&&(n.styleDiff[l]=!1)}else i==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":{if(ue(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let s=this.mirror.getId(r),i=ot(t.target)?this.mirror.getId($.host(t.target)):this.mirror.getId(t.target);ue(t.target,this.blockClass,this.blockSelector,!1)||mi(r,this.mirror,this.slimDOMOptions)||!Yu(r,this.mirror)||(this.addedSet.has(r)?(Pi(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&s===-1||Vo(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Wn(s,i)]?Pi(this.movedSet,r):(this.removes.push({parentId:i,id:s,isShadow:ot(t.target)&&at(t.target)?!0:void 0}),Zu(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),R(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mi(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let s=null;r&&this.mirror.hasNode(r)&&(s=this.mirror.getId(r)),s&&s!==-1&&(this.movedMap[Wn(this.mirror.getId(t),s)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ue(t,this.blockClass,this.blockSelector,!1)||($.childNodes(t).forEach(s=>this.genAdds(s)),Ue(t)&&$.childNodes($.shadowRoot(t)).forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function Pi(e,t){e.delete(t),$.childNodes(t).forEach(r=>Pi(e,r))}function Zu(e,t){let r=[e];for(;r.length;){let s=r.pop();t.has(s)||(t.add(s),$.childNodes(s).forEach(i=>r.push(i)))}}function jn(e,t,r){return e.size===0?!1:ec(e,t)}function ec(e,t,r){let s=$.parentNode(t);return s?e.has(s):!1}function Vn(e,t){return e.size===0?!1:Qo(e,t)}function Qo(e,t){let r=$.parentNode(t);return r?e.has(r)?!0:Qo(e,r):!1}var ct;function tc(e){ct=e}function rc(){ct=void 0}var W=e=>ct?(...r)=>{try{return e(...r)}catch(s){if(ct&&ct(s)===!0)return;throw s}}:e,$e=[];function yt(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ko(e,t){let r=new _i;$e.push(r),r.init(e);let[s,i]=$o(),a=new s(W(r.processMutations.bind(r)));return a.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[a,i]}function ic({mousemoveCb:e,sampling:t,doc:r,mirror:s}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,a=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,n=[],u,l=pt(W(d=>{let f=Date.now()-u;e(n.map(h=>(h.timeOffset-=f,h)),d),n=[],u=null}),a),c=W(pt(W(d=>{let f=yt(d),{clientX:h,clientY:m}=ki(d)?d.changedTouches[0]:d;u||(u=dt()),n.push({x:h,y:m,id:s.getId(f),timeOffset:dt()-u}),l(typeof DragEvent<"u"&&d instanceof DragEvent?D.Drag:d instanceof MouseEvent?D.MouseMove:D.TouchMove)}),i,{trailing:!1})),o=[le("mousemove",c,r),le("touchmove",c,r),le("drag",c,r)];return W(()=>{o.forEach(d=>d())})}function sc({mouseInteractionCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){if(a.mouseInteraction===!1)return()=>{};let n=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,u=[],l=null,c=o=>d=>{let f=yt(d);if(ue(f,s,i,!0))return;let h=null,m=o;if("pointerType"in d){switch(d.pointerType){case"mouse":h=xe.Mouse;break;case"touch":h=xe.Touch;break;case"pen":h=xe.Pen;break}h===xe.Touch?q[o]===q.MouseDown?m="TouchStart":q[o]===q.MouseUp&&(m="TouchEnd"):xe.Pen}else ki(d)&&(h=xe.Touch);h!==null?(l=h,(m.startsWith("Touch")&&h===xe.Touch||m.startsWith("Mouse")&&h===xe.Mouse)&&(h=null)):q[o]===q.Click&&(h=l,l=null);let p=ki(d)?d.changedTouches[0]:d;if(!p)return;let g=r.getId(f),{clientX:b,clientY:y}=p;W(e)({type:q[m],id:g,x:b,y,...h!==null&&{pointerType:h}})};return Object.keys(q).filter(o=>Number.isNaN(Number(o))&&!o.endsWith("_Departed")&&n[o]!==!1).forEach(o=>{let d=Me(o),f=c(o);if(window.PointerEvent)switch(q[o]){case q.MouseDown:case q.MouseUp:d=d.replace("mouse","pointer");break;case q.TouchStart:case q.TouchEnd:return}u.push(le(d,f,t))}),W(()=>{u.forEach(o=>o())})}function Zo({scrollCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){let n=W(pt(W(u=>{let l=yt(u);if(!l||ue(l,s,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let o=Bo(t.defaultView);e({id:c,x:o.left,y:o.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),a.scroll||100));return le("scroll",n,t)}function nc({viewportResizeCb:e},{win:t}){let r=-1,s=-1,i=W(pt(W(()=>{let a=zo(),n=Wo();(r!==a||s!==n)&&(e({width:Number(n),height:Number(a)}),r=a,s=n)}),200));return le("resize",i,t)}var oc=["INPUT","TEXTAREA","SELECT"],qn=new WeakMap;function ac({inputCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,ignoreClass:a,ignoreSelector:n,maskInputOptions:u,maskInputFn:l,sampling:c,userTriggeredOnInput:o}){function d(y){let w=yt(y),C=y.isTrusted,v=w&&w.tagName;if(w&&v==="OPTION"&&(w=$.parentElement(w)),!w||!v||oc.indexOf(v)<0||ue(w,s,i,!0)||w.classList.contains(a)||n&&w.matches(n))return;let S=w.value,x=!1,M=Tt(w)||"";M==="radio"||M==="checkbox"?x=w.checked:(u[v.toLowerCase()]||u[M])&&(S=kt({element:w,maskInputOptions:u,tagName:v,type:M,value:S,maskInputFn:l})),f(w,o?{text:S,isChecked:x,userTriggered:C}:{text:S,isChecked:x});let I=w.name;M==="radio"&&I&&x&&t.querySelectorAll(`input[type="radio"][name="${I}"]`).forEach(N=>{if(N!==w){let F=N.value;f(N,o?{text:F,isChecked:!x,userTriggered:!1}:{text:F,isChecked:!x})}})}function f(y,w){let C=qn.get(y);if(!C||C.text!==w.text||C.isChecked!==w.isChecked){qn.set(y,w);let v=r.getId(y);W(e)({...w,id:v})}}let m=(c.input==="last"?["change"]:["input","change"]).map(y=>le(y,W(d),t)),p=t.defaultView;if(!p)return()=>{m.forEach(y=>y())};let g=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),b=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...b.map(y=>nr(y[0],y[1],{set(){W(d)({target:this,isTrusted:!1})}},!1,p))),W(()=>{m.forEach(y=>y())})}function jt(e){let t=[];function r(s,i){if(Nt("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Nt("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Nt("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Nt("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){let n=Array.from(s.parentRule.cssRules).indexOf(s);return i.unshift(n),r(s.parentRule,i)}else if(s.parentStyleSheet){let n=Array.from(s.parentStyleSheet.cssRules).indexOf(s);i.unshift(n)}return i}return r(e,t)}function ke(e,t,r){let s,i;return e?(e.ownerNode?s=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:s}):{}}function lc({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};let i=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:W((o,d,f)=>{let[h,m]=f,{id:p,styleId:g}=ke(d,t,r.styleMirror);return(p&&p!==-1||g&&g!==-1)&&e({id:p,styleId:g,adds:[{rule:h,index:m}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.addRule=function(o,d,f=this.cssRules.length){let h=`${o} { ${d} }`;return s.CSSStyleSheet.prototype.insertRule.apply(this,[h,f])};let a=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(a,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,removes:[{index:h}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.removeRule=function(o){return s.CSSStyleSheet.prototype.deleteRule.apply(this,[o])};let n;s.CSSStyleSheet.prototype.replace&&(n=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(n,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replace:h}),o.apply(d,f)})}));let u;s.CSSStyleSheet.prototype.replaceSync&&(u=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replaceSync:h}),o.apply(d,f)})}));let l={};Ot("CSSGroupingRule")?l.CSSGroupingRule=s.CSSGroupingRule:(Ot("CSSMediaRule")&&(l.CSSMediaRule=s.CSSMediaRule),Ot("CSSConditionRule")&&(l.CSSConditionRule=s.CSSConditionRule),Ot("CSSSupportsRule")&&(l.CSSSupportsRule=s.CSSSupportsRule));let c={};return Object.entries(l).forEach(([o,d])=>{c[o]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[o].insertRule,{apply:W((f,h,m)=>{let[p,g]=m,{id:b,styleId:y}=ke(h.parentStyleSheet,t,r.styleMirror);return(b&&b!==-1||y&&y!==-1)&&e({id:b,styleId:y,adds:[{rule:p,index:[...jt(h),g||0]}]}),f.apply(h,m)})}),d.prototype.deleteRule=new Proxy(c[o].deleteRule,{apply:W((f,h,m)=>{let[p]=m,{id:g,styleId:b}=ke(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||b&&b!==-1)&&e({id:g,styleId:b,removes:[{index:[...jt(h),p]}]}),f.apply(h,m)})})}),W(()=>{s.CSSStyleSheet.prototype.insertRule=i,s.CSSStyleSheet.prototype.deleteRule=a,n&&(s.CSSStyleSheet.prototype.replace=n),u&&(s.CSSStyleSheet.prototype.replaceSync=u),Object.entries(l).forEach(([o,d])=>{d.prototype.insertRule=c[o].insertRule,d.prototype.deleteRule=c[o].deleteRule})})}function ea({mirror:e,stylesheetManager:t},r){var s,i,a;let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId($.host(r));let u=r.nodeName==="#document"?(s=r.defaultView)==null?void 0:s.Document:(a=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:a.ShadowRoot,l=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!u||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var o;let d=(o=l.set)==null?void 0:o.call(this,c);if(n!==null&&n!==-1)try{t.adoptStyleSheets(c,n)}catch{}return d}}),W(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function uc({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:s},{win:i}){let a=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(a,{apply:W((u,l,c)=>{var o;let[d,f,h]=c;if(r.has(d))return a.apply(l,[d,f,h]);let{id:m,styleId:p}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,set:{property:d,value:f,priority:h},index:jt(l.parentRule)}),u.apply(l,c)})});let n=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(n,{apply:W((u,l,c)=>{var o;let[d]=c;if(r.has(d))return n.apply(l,[d]);let{id:f,styleId:h}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,remove:{property:d},index:jt(l.parentRule)}),u.apply(l,c)})}),W(()=>{i.CSSStyleDeclaration.prototype.setProperty=a,i.CSSStyleDeclaration.prototype.removeProperty=n})}function cc({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:s,sampling:i,doc:a}){let n=W(l=>pt(W(c=>{let o=yt(c);if(!o||ue(o,t,r,!0))return;let{currentTime:d,volume:f,muted:h,playbackRate:m,loop:p}=o;e({type:l,id:s.getId(o),currentTime:d,volume:f,muted:h,playbackRate:m,loop:p})}),i.media||500)),u=[le("play",n(Te.Play),a),le("pause",n(Te.Pause),a),le("seeked",n(Te.Seeked),a),le("volumechange",n(Te.VolumeChange),a),le("ratechange",n(Te.RateChange),a)];return W(()=>{u.forEach(l=>l())})}function fc({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let s=[],i=new WeakMap,a=r.FontFace;r.FontFace=function(l,c,o){let d=new a(l,c,o);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:o,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let n=We(t.fonts,"add",function(u){return function(l){return setTimeout(W(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),u.apply(this,[l])}});return s.push(()=>{r.FontFace=a}),s.push(n),W(()=>{s.forEach(u=>u())})}function hc(e){let{doc:t,mirror:r,blockClass:s,blockSelector:i,selectionCb:a}=e,n=!0,u=W(()=>{let l=t.getSelection();if(!l||n&&l?.isCollapsed)return;n=l.isCollapsed||!1;let c=[],o=l.rangeCount||0;for(let d=0;d<o;d++){let f=l.getRangeAt(d),{startContainer:h,startOffset:m,endContainer:p,endOffset:g}=f;ue(h,s,i,!0)||ue(p,s,i,!0)||c.push({start:r.getId(h),startOffset:m,end:r.getId(p),endOffset:g})}a({ranges:c})});return u(),le("selectionchange",u)}function dc({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:We(r.customElements,"define",function(i){return function(a,n,u){try{t({define:{name:a}})}catch{console.warn(`Custom element callback failed for ${a}`)}return i.apply(this,[a,n,u])}})}function pc(e,t){let{mutationCb:r,mousemoveCb:s,mouseInteractionCb:i,scrollCb:a,viewportResizeCb:n,inputCb:u,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:o,canvasMutationCb:d,fontCb:f,selectionCb:h,customElementCb:m}=e;e.mutationCb=(...p)=>{t.mutation&&t.mutation(...p),r(...p)},e.mousemoveCb=(...p)=>{t.mousemove&&t.mousemove(...p),s(...p)},e.mouseInteractionCb=(...p)=>{t.mouseInteraction&&t.mouseInteraction(...p),i(...p)},e.scrollCb=(...p)=>{t.scroll&&t.scroll(...p),a(...p)},e.viewportResizeCb=(...p)=>{t.viewportResize&&t.viewportResize(...p),n(...p)},e.inputCb=(...p)=>{t.input&&t.input(...p),u(...p)},e.mediaInteractionCb=(...p)=>{t.mediaInteaction&&t.mediaInteaction(...p),l(...p)},e.styleSheetRuleCb=(...p)=>{t.styleSheetRule&&t.styleSheetRule(...p),c(...p)},e.styleDeclarationCb=(...p)=>{t.styleDeclaration&&t.styleDeclaration(...p),o(...p)},e.canvasMutationCb=(...p)=>{t.canvasMutation&&t.canvasMutation(...p),d(...p)},e.fontCb=(...p)=>{t.font&&t.font(...p),f(...p)},e.selectionCb=(...p)=>{t.selection&&t.selection(...p),h(...p)},e.customElementCb=(...p)=>{t.customElement&&t.customElement(...p),m(...p)}}function mc(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};pc(e,t);let s,i=()=>{};e.recordDOM&&([s,i]=Ko(e,e.doc));let a=ic(e),n=sc(e),u=Zo(e),l=nc(e,{win:r}),c=ac(e),o=cc(e),d=()=>{},f=()=>{},h=()=>{},m=()=>{};e.recordDOM&&(d=lc(e,{win:r}),f=ea(e,e.doc),h=uc(e,{win:r}),e.collectFonts&&(m=fc(e)));let p=hc(e),g=dc(e),b=[];for(let y of e.plugins)b.push(y.observer(y.callback,r,y.options));return W(()=>{$e.forEach(y=>y.reset()),s?.disconnect(),i(),a(),n(),u(),l(),c(),o(),d(),f(),h(),m(),p(),g(),b.forEach(y=>y())})}function Nt(e){return typeof window[e]<"u"}function Ot(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Vt=class{constructor(t){R(this,"iframeIdToRemoteIdMap",new WeakMap),R(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,s,i){let a=s||this.getIdToRemoteIdMap(t),n=i||this.getRemoteIdToIdMap(t),u=a.get(r);return u||(u=this.generateIdFn(),a.set(r,u),n.set(u,r)),u}getIds(t,r){let s=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(a=>this.getId(t,a,s,i))}getRemoteId(t,r,s){let i=s||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let a=i.get(r);return a||-1}getRemoteIds(t,r){let s=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,s))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Li=class{constructor(t){R(this,"iframes",new WeakMap),R(this,"crossOriginIframeMap",new WeakMap),R(this,"crossOriginIframeMirror",new Vt(fo)),R(this,"crossOriginIframeStyleMirror"),R(this,"crossOriginIframeRootIdMap",new WeakMap),R(this,"mirror"),R(this,"mutationCb"),R(this,"wrappedEmit"),R(this,"loadListener"),R(this,"stylesheetManager"),R(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Vt(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let a=this.transformCrossOriginEvent(i,r.data.event);a&&this.wrappedEmit(a,r.data.isCheckout)}transformCrossOriginEvent(t,r){var s;switch(r.type){case T.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:T.IncrementalSnapshot,data:{source:D.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case T.Meta:case T.Load:case T.DomContentLoaded:return!1;case T.Plugin:return r;case T.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case T.IncrementalSnapshot:switch(r.data.source){case D.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let a=this.crossOriginIframeRootIdMap.get(t);a&&this.patchRootIdOnNode(i.node,a)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.Drag:case D.TouchMove:case D.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.ViewportResize:return!1;case D.MediaInteraction:case D.MouseInteraction:case D.Scroll:case D.CanvasMutation:case D.Input:return this.replaceIds(r.data,t,["id"]),r;case D.StyleSheetRule:case D.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case D.Font:return r;case D.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case D.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(s=r.data.styles)==null||s.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,s,i){for(let a of i)!Array.isArray(r[a])&&typeof r[a]!="number"||(Array.isArray(r[a])?r[a]=t.getIds(s,r[a]):r[a]=t.getId(s,r[a]));return r}replaceIds(t,r,s){return this.replace(this.crossOriginIframeMirror,t,r,s)}replaceStyleIds(t,r,s){return this.replace(this.crossOriginIframeStyleMirror,t,r,s)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(s=>{this.replaceIdOnNode(s,r)})}patchRootIdOnNode(t,r){t.type!==Ee.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(s=>{this.patchRootIdOnNode(s,r)})}},Fi=class{constructor(t){R(this,"shadowDoms",new WeakSet),R(this,"mutationCb"),R(this,"scrollCb"),R(this,"bypassOptions"),R(this,"mirror"),R(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!at(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[s]=Ko({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Zo({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId($.host(t))),this.restoreHandlers.push(ea({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let s=this;this.restoreHandlers.push(We(t.prototype,"attachShadow",function(i){return function(a){let n=i.call(this,a),u=$.shadowRoot(this);return u&&Jo(this)&&s.addShadowRoot(u,r),n}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(it=0;it<Je.length;it++)nt[Je.charCodeAt(it)]=it;var it,gc=function(e){var t=new Uint8Array(e),r,s=t.length,i="";for(r=0;r<s;r+=3)i+=Je[t[r]>>2],i+=Je[(t[r]&3)<<4|t[r+1]>>4],i+=Je[(t[r+1]&15)<<2|t[r+2]>>6],i+=Je[t[r+2]&63];return s%3===2?i=i.substring(0,i.length-1)+"=":s%3===1&&(i=i.substring(0,i.length-2)+"=="),i},yc=function(e){var t=e.length*.75,r=e.length,s,i=0,a,n,u,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var c=new ArrayBuffer(t),o=new Uint8Array(c);for(s=0;s<r;s+=4)a=nt[e.charCodeAt(s)],n=nt[e.charCodeAt(s+1)],u=nt[e.charCodeAt(s+2)],l=nt[e.charCodeAt(s+3)],o[i++]=a<<2|n>>4,o[i++]=(n&15)<<4|u>>2,o[i++]=(u&3)<<6|l&63;return c},Gn=new Map;function wc(e,t){let r=Gn.get(e);return r||(r=new Map,Gn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var ta=(e,t,r)=>{if(!e||!(ia(e,t)||typeof e=="object"))return;let s=e.constructor.name,i=wc(r,s),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function At(e,t,r){if(e instanceof Array)return e.map(s=>At(s,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let s=e.constructor.name,i=gc(e);return{rr_type:s,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[At(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let s=e.constructor.name,{src:i}=e;return{rr_type:s,src:i}}else if(e instanceof HTMLCanvasElement){let s="HTMLImageElement",i=e.toDataURL();return{rr_type:s,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[At(e.data,t,r),e.width,e.height]};if(ia(e,t)||typeof e=="object"){let s=e.constructor.name,i=ta(e,t,r);return{rr_type:s,index:i}}}}return e}var ra=(e,t,r)=>e.map(s=>At(s,t,r)),ia=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function bc(e,t,r,s){let i=[],a=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let n of a)try{if(typeof t.CanvasRenderingContext2D.prototype[n]!="function")continue;let u=We(t.CanvasRenderingContext2D.prototype,n,function(l){return function(...c){return ue(this.canvas,r,s,!0)||setTimeout(()=>{let o=ra(c,t,this);e(this.canvas,{type:Re["2D"],property:n,args:o})},0),l.apply(this,c)}});i.push(u)}catch{let u=nr(t.CanvasRenderingContext2D.prototype,n,{set(l){e(this.canvas,{type:Re["2D"],property:n,args:[l],setter:!0})}});i.push(u)}return()=>{i.forEach(n=>n())}}function vc(e){return e==="experimental-webgl"?"webgl":e}function Hn(e,t,r,s){let i=[];try{let a=We(e.HTMLCanvasElement.prototype,"getContext",function(n){return function(u,...l){if(!ue(this,t,r,!0)){let c=vc(u);if("__context"in this||(this.__context=c),s&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let o=l[0];o.preserveDrawingBuffer||(o.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return n.apply(this,[u,...l])}});i.push(a)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(a=>a())}}function Yn(e,t,r,s,i,a){let n=[],u=Object.getOwnPropertyNames(e);for(let l of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=We(e,l,function(o){return function(...d){let f=o.apply(this,d);if(ta(f,a,this),"tagName"in this.canvas&&!ue(this.canvas,s,i,!0)){let h=ra(d,a,this),m={type:t,property:l,args:h};r(this.canvas,m)}return f}});n.push(c)}catch{let c=nr(e,l,{set(o){r(this.canvas,{type:t,property:l,args:[o],setter:!0})}});n.push(c)}return n}function Sc(e,t,r,s){let i=[];return typeof t.WebGLRenderingContext<"u"&&i.push(...Yn(t.WebGLRenderingContext.prototype,Re.WebGL,e,r,s,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...Yn(t.WebGL2RenderingContext.prototype,Re.WebGL2,e,r,s,t)),()=>{i.forEach(a=>a())}}var sa=`(function() {
    5757  "use strict";
    5858  var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    … …  
    129129})();
    130130//# sourceMappingURL=image-bitmap-data-url-worker-IJpC7g_b.js.map
    131 `,Xn=typeof self<"u"&&self.Blob&&new Blob([sa],{type:"text/javascript;charset=utf-8"});function Sc(e){let t;try{if(t=Xn&&(self.URL||self.webkitURL).createObjectURL(Xn),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(sa),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ui=class{constructor(t){R(this,"pendingCanvasMutations",new Map),R(this,"rafStamps",{latestId:0,invokeId:null}),R(this,"mirror"),R(this,"mutationCb"),R(this,"resetObservers"),R(this,"frozen",!1),R(this,"locked",!1),R(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:s,blockClass:i,blockSelector:a,recordCanvas:n,dataURLOptions:u}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,n&&r==="all"&&this.initCanvasMutationObserver(s,i,a),n&&typeof r=="number"&&this.initCanvasFPSObserver(r,s,i,a,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,s,i,a){let n=Hn(r,s,i,!0),u=new Map,l=new Sc;l.onmessage=m=>{let{id:p}=m.data;if(u.set(p,!1),!("base64"in m.data))return;let{base64:g,type:b,width:y,height:w}=m.data;this.mutationCb({id:p,type:Re["2D"],commands:[{property:"clearRect",args:[0,0,y,w]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:b}]},0,0]}]})};let c=1e3/t,o=0,d,f=()=>{let m=[];return r.document.querySelectorAll("canvas").forEach(p=>{ue(p,s,i,!0)||m.push(p)}),m},h=m=>{if(o&&m-o<c){d=requestAnimationFrame(h);return}o=m,f().forEach(async p=>{var g;let b=this.mirror.getId(p);if(u.get(b)||p.width===0||p.height===0)return;if(u.set(b,!0),["webgl","webgl2"].includes(p.__context)){let w=p.getContext(p.__context);((g=w?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&w.clear(w.COLOR_BUFFER_BIT)}let y=await createImageBitmap(p);l.postMessage({id:b,bitmap:y,width:p.width,height:p.height,dataURLOptions:a.dataURLOptions},[y])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{n(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Hn(t,r,s,!1),a=wc(this.processMutation.bind(this),t,r,s),n=vc(this.processMutation.bind(this),t,r,s);this.resetObservers=()=>{i(),a(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let s=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let s=this.pendingCanvasMutations.get(t);if(!s||r===-1)return;let i=s.map(n=>{let{type:u,...l}=n;return l}),{type:a}=s[0];this.mutationCb({id:r,type:a,commands:i}),this.pendingCanvasMutations.delete(t)}},$i=class{constructor(t){R(this,"trackedLinkElements",new WeakSet),R(this,"mutationCb"),R(this,"adoptedStyleSheetCb"),R(this,"styleMirror",new Wt),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let s={id:r,styleIds:[]},i=[];for(let a of t){let n;this.styleMirror.has(a)?n=this.styleMirror.getId(a):(n=this.styleMirror.add(a),i.push({styleId:n,rules:Array.from(a.rules||CSSRule,(u,l)=>({rule:uo(u,a.href),index:l}))})),s.styleIds.push(n)}i.length>0&&(s.styles=i),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Bi=class{constructor(){R(this,"nodeMap",new WeakMap),R(this,"active",!1)}inOtherBuffer(t,r){let s=this.nodeMap.get(t);return s&&Array.from(s).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},re,Dt,gi,qt=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((bs=e.contentWindow)==null?void 0:bs.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var me=co();function je(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:s,blockClass:i="rr-block",blockSelector:a=null,ignoreClass:n="rr-ignore",ignoreSelector:u=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:o=!0,maskAllInputs:d,maskInputOptions:f,slimDOMOptions:h,maskInputFn:m,maskTextFn:p,hooks:g,packFn:b,sampling:y={},dataURLOptions:w={},mousemoveWait:C,recordDOM:v=!0,recordCanvas:S=!1,recordCrossOriginIframes:x=!1,recordAfter:M=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:I=!1,collectFonts:N=!1,inlineImages:F=!1,plugins:k,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:ce=new Set([]),errorHandler:oe}=e;ec(oe);let j=x?window.parent===window:!0,_=!1;if(!j)try{window.parent.document&&(_=!1)}catch{_=!0}if(j&&!t)throw new Error("emit function is required");if(!j&&!_)return()=>{};C!==void 0&&y.mousemove===void 0&&(y.mousemove=C),me.reset();let J=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:f!==void 0?f:{password:!0},ie=go(h);qo();let ee,G=0,Ae=P=>{for(let se of k||[])se.eventProcessor&&(P=se.eventProcessor(P));return b&&!_&&(P=b(P)),P};re=(P,se)=>{var H;let te=P;if(te.timestamp=dt(),(H=$e[0])!=null&&H.isFrozen()&&te.type!==T.FullSnapshot&&!(te.type===T.IncrementalSnapshot&&te.data.source===D.Mutation)&&$e.forEach(fe=>fe.unfreeze()),j)t?.(Ae(te),se);else if(_){let fe={type:"rrweb",event:Ae(te),origin:window.location.origin,isCheckout:se};window.parent.postMessage(fe,"*")}if(te.type===T.FullSnapshot)ee=te,G=0;else if(te.type===T.IncrementalSnapshot){if(te.data.source===D.Mutation&&te.data.isAttachIframe)return;G++;let fe=s&&G>=s,Y=r&&te.timestamp-ee.timestamp>r;(fe||Y)&&Dt(!0)}};let O=P=>{re({type:T.IncrementalSnapshot,data:{source:D.Mutation,...P}})},ve=P=>re({type:T.IncrementalSnapshot,data:{source:D.Scroll,...P}}),de=P=>re({type:T.IncrementalSnapshot,data:{source:D.CanvasMutation,...P}}),rt=P=>re({type:T.IncrementalSnapshot,data:{source:D.AdoptedStyleSheet,...P}}),ae=new $i({mutationCb:O,adoptedStyleSheetCb:rt}),pe=new Pi({mirror:me,mutationCb:O,stylesheetManager:ae,recordCrossOriginIframes:x,wrappedEmit:re});for(let P of k||[])P.getMirror&&P.getMirror({nodeMirror:me,crossOriginIframeMirror:pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:pe.crossOriginIframeStyleMirror});let Pe=new Bi;gi=new Ui({recordCanvas:S,mutationCb:de,win:window,blockClass:i,blockSelector:a,mirror:me,sampling:y.canvas,dataURLOptions:w});let De=new Fi({mutationCb:O,scrollCb:ve,bypassOptions:{blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskInputOptions:J,dataURLOptions:w,maskTextFn:p,maskInputFn:m,recordCanvas:S,inlineImages:F,sampling:y,slimDOMOptions:ie,iframeManager:pe,stylesheetManager:ae,canvasManager:gi,keepIframeSrcFn:E,processedNodeManager:Pe},mirror:me});Dt=(P=!1)=>{if(!v)return;re({type:T.Meta,data:{href:window.location.href,width:Wo(),height:zo()}},P),ae.reset(),De.init(),$e.forEach(H=>H.lock());let se=Ml(document,{mirror:me,blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskAllInputs:J,maskTextFn:p,maskInputFn:m,slimDOM:ie,dataURLOptions:w,recordCanvas:S,inlineImages:F,onSerialize:H=>{ut(H,me)&&pe.addIframe(H),Ho(H,me)&&ae.trackLinkElement(H),Ue(H)&&De.addShadowRoot($.shadowRoot(H),document)},onIframeLoad:(H,te)=>{pe.attachIframe(H,te),De.observeAttachShadow(H)},onStylesheetLoad:(H,te)=>{ae.attachLinkElement(H,te)},keepIframeSrcFn:E});if(!se)return console.warn("Failed to snapshot the document");re({type:T.FullSnapshot,data:{node:se,initialOffset:Bo(window)}},P),$e.forEach(H=>H.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ae.adoptStyleSheets(document.adoptedStyleSheets,me.getId(document))};try{let P=[],se=te=>{var fe;return W(pc)({mutationCb:O,mousemoveCb:(Y,cr)=>re({type:T.IncrementalSnapshot,data:{source:cr,positions:Y}}),mouseInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MouseInteraction,...Y}}),scrollCb:ve,viewportResizeCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.ViewportResize,...Y}}),inputCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Input,...Y}}),mediaInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleDeclaration,...Y}}),canvasMutationCb:de,fontCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Font,...Y}}),selectionCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.Selection,...Y}})},customElementCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.CustomElement,...Y}})},blockClass:i,ignoreClass:n,ignoreSelector:u,maskTextClass:l,maskTextSelector:c,maskInputOptions:J,inlineStylesheet:o,sampling:y,recordDOM:v,recordCanvas:S,inlineImages:F,userTriggeredOnInput:I,collectFonts:N,doc:te,maskInputFn:m,maskTextFn:p,keepIframeSrcFn:E,blockSelector:a,slimDOMOptions:ie,dataURLOptions:w,mirror:me,iframeManager:pe,stylesheetManager:ae,shadowDomManager:De,processedNodeManager:Pe,canvasManager:gi,ignoreCSSAttributes:ce,plugins:((fe=k?.filter(Y=>Y.observer))==null?void 0:fe.map(Y=>({observer:Y.observer,options:Y.options,callback:cr=>re({type:T.Plugin,data:{plugin:Y.name,payload:cr}})})))||[]},g)};pe.addLoadListener(te=>{try{P.push(se(te.contentDocument))}catch(fe){console.warn(fe)}});let H=()=>{Dt(),P.push(se(document)),qt=!0};return["interactive","complete"].includes(document.readyState)?H():(P.push(le("DOMContentLoaded",()=>{re({type:T.DomContentLoaded,data:{}}),M==="DOMContentLoaded"&&H()})),P.push(le("load",()=>{re({type:T.Load,data:{}}),M==="load"&&H()},window))),()=>{P.forEach(te=>{try{te()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),Pe.destroy(),qt=!1,tc()}}catch(P){console.warn(P)}}je.addCustomEvent=(e,t)=>{if(!qt)throw new Error("please add custom event after start recording");re({type:T.Custom,data:{tag:e,payload:t}})};je.freezePage=()=>{$e.forEach(e=>e.freeze())};je.takeFullSnapshot=e=>{if(!qt)throw new Error("please take full snapshot after start recording");Dt(e)};je.mirror=me;function Cc(e){return{all:e=e||new Map,on:function(t,r){var s=e.get(t);s?s.push(r):e.set(t,[r])},off:function(t,r){var s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var s=e.get(t);s&&s.slice().map(function(i){i(r)}),(s=e.get("*"))&&s.slice().map(function(i){i(t,r)})}}}function xc(e=window,t=document){if("scrollBehavior"in t.documentElement.style&&e.__forceSmoothScrollPolyfill__!==!0)return;let r=e.HTMLElement||e.Element,s=468,i={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||l,scrollIntoView:r.prototype.scrollIntoView},a=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now;function n(b){let y=["MSIE ","Trident/","Edge/"];return new RegExp(y.join("|")).test(b)}let u=n(e.navigator.userAgent)?1:0;function l(b,y){this.scrollLeft=b,this.scrollTop=y}function c(b){return .5*(1-Math.cos(Math.PI*b))}function o(b){if(b===null||typeof b!="object"||b.behavior===void 0||b.behavior==="auto"||b.behavior==="instant")return!0;if(typeof b=="object"&&b.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+b.behavior+" is not a valid value for enumeration ScrollBehavior.")}function d(b,y){if(y==="Y")return b.clientHeight+u<b.scrollHeight;if(y==="X")return b.clientWidth+u<b.scrollWidth}function f(b,y){let w=e.getComputedStyle(b,null)["overflow"+y];return w==="auto"||w==="scroll"}function h(b){let y=d(b,"Y")&&f(b,"Y"),w=d(b,"X")&&f(b,"X");return y||w}function m(b){for(;b!==t.body&&h(b)===!1;)b=b.parentNode||b.host;return b}function p(b){let y=a(),w,C,v,S=(y-b.startTime)/s;S=S>1?1:S,w=c(S),C=b.startX+(b.x-b.startX)*w,v=b.startY+(b.y-b.startY)*w,b.method.call(b.scrollable,C,v),(C!==b.x||v!==b.y)&&e.requestAnimationFrame(p.bind(e,b))}function g(b,y,w){let C,v,S,x,M=a();b===t.body?(C=e,v=e.scrollX||e.pageXOffset,S=e.scrollY||e.pageYOffset,x=i.scroll):(C=b,v=b.scrollLeft,S=b.scrollTop,x=l),p({scrollable:C,method:x,startTime:M,startX:v,startY:S,x:y,y:w})}e.scroll=e.scrollTo=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}g.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)}},e.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])){i.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}g.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))}},r.prototype.scroll=r.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(o(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let b=arguments[0].left,y=arguments[0].top;g.call(this,this,typeof b>"u"?this.scrollLeft:~~b,typeof y>"u"?this.scrollTop:~~y)},r.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},r.prototype.scrollIntoView=function(){if(o(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let b=m(this),y=b.getBoundingClientRect(),w=this.getBoundingClientRect();b!==t.body?(g.call(this,b,b.scrollLeft+w.left-y.left,b.scrollTop+w.top-y.top),e.getComputedStyle(b).position!=="fixed"&&e.scrollBy({left:y.left,top:y.top,behavior:"smooth"})):e.scrollBy({left:w.left,top:w.top,behavior:"smooth"})}}var zi=class{constructor(t=[],r){R(this,"timeOffset",0),R(this,"speed"),R(this,"actions"),R(this,"raf",null),R(this,"lastTimestamp"),this.actions=t,this.speed=r.speed}addAction(t){let r=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=t.delay)this.actions.push(t);else{let s=this.findActionIndex(t);this.actions.splice(s,0,t)}r&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}updateLiveTime(){this.raf===!0&&this.rafCheck()}rafCheck(){let t=performance.now();for(this.timeOffset+=(t-this.lastTimestamp)*this.speed,this.lastTimestamp=t;this.actions.length;){let r=this.actions[0];if(this.timeOffset>=r.delay)this.actions.shift(),r.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(t){this.speed=t}isActive(){return this.raf!==null}findActionIndex(t){let r=0,s=this.actions.length-1;for(;r<=s;){let i=Math.floor((r+s)/2);if(this.actions[i].delay<t.delay)r=i+1;else if(this.actions[i].delay>t.delay)s=i-1;else return i+1}return r}};function Jn(e,t){if(e.type===T.IncrementalSnapshot&&e.data.source===D.MouseMove&&e.data.positions&&e.data.positions.length){let r=e.data.positions[0].timeOffset,s=e.timestamp+r;return e.delay=s-t,s-t}return e.delay=e.timestamp-t,e.delay}function Qn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),n=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)n.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return n}var Qe;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Qe||(Qe={}));var na={type:"xstate.init"};function yi(e){return e===void 0?[]:[].concat(e)}function He(e){return{type:"xstate.assign",assignment:e}}function Kn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function Gt(e){return function(t){return e===t}}function oa(e){return typeof e=="string"?{type:e}:e}function Zn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:Gt(e)}}function eo(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var n=Object.assign({},s);return typeof a.assignment=="function"?n=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){n[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=n,!1}return!0}),s,i]}function aa(e,t){t===void 0&&(t={});var r=Qn(eo(yi(e.states[e.initial].entry).map(function(n){return Kn(n,t.actions)}),e.context,na),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:Gt(e.initial)},transition:function(n,u){var l,c,o=typeof n=="string"?{value:n,context:e.context}:n,d=o.value,f=o.context,h=oa(u),m=e.states[d];if(m.on){var p=yi(m.on[h.type]);try{for(var g=(function(_){var J=typeof Symbol=="function"&&Symbol.iterator,ie=J&&_[J],ee=0;if(ie)return ie.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&ee>=_.length&&(_=void 0),{value:_&&_[ee++],done:!_}}};throw new TypeError(J?"Object is not iterable.":"Symbol.iterator is not defined.")})(p),b=g.next();!b.done;b=g.next()){var y=b.value;if(y===void 0)return Zn(d,f);var w=typeof y=="string"?{target:y}:y,C=w.target,v=w.actions,S=v===void 0?[]:v,x=w.cond,M=x===void 0?function(){return!0}:x,I=C===void 0,N=C??d,F=e.states[N];if(M(f,h)){var k=Qn(eo((I?yi(S):[].concat(m.exit,S,F.entry).filter(function(_){return _})).map(function(_){return Kn(_,a._options.actions)}),f,h),3),E=k[0],ce=k[1],oe=k[2],j=C??d;return{value:j,context:ce,actions:E,changed:C!==d||E.length>0||oe,matches:Gt(j)}}}}catch(_){l={error:_}}finally{try{b&&!b.done&&(c=g.return)&&c.call(g)}finally{if(l)throw l.error}}}return Zn(d,f)}};return a}var to=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function la(e){var t=e.initialState,r=Qe.NotStarted,s=new Set,i={_machine:e,send:function(a){r===Qe.Running&&(t=e.transition(t,a),to(t,oa(a)),s.forEach(function(n){return n(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var n=typeof a=="object"?a:{context:e.config.context,value:a};t={value:n.value,actions:[],context:n.context,matches:Gt(n.value)}}return r=Qe.Running,to(t,na),i},stop:function(){return r=Qe.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function Ec(e,t){for(let r=e.length-1;r>=0;r--){let s=e[r];if(s.type===T.Meta&&s.timestamp<=t)return e.slice(r)}return e}function Mc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){let i=aa({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:He({lastPlayedEvent:(a,n)=>n.type==="CAST_EVENT"?n.payload.event:a.lastPlayedEvent}),recordTimeOffset:He((a,n)=>{let u=a.timeOffset;return"payload"in n&&"timeOffset"in n.payload&&(u=n.payload.timeOffset),{...a,timeOffset:u,baselineTime:a.events[0].timestamp+u}}),play(a){var n;let{timer:u,events:l,baselineTime:c,lastPlayedEvent:o}=a;u.clear();for(let m of l)Jn(m,c);let d=Ec(l,c),f=o?.timestamp;o?.type===T.IncrementalSnapshot&&o.data.source===D.MouseMove&&(f=o.timestamp+((n=o.data.positions[0])==null?void 0:n.timeOffset)),c<(f||0)&&s.emit(V.PlayBack);let h=new Array;for(let m of d)if(!(f&&f<c&&(m.timestamp<=f||m===o)))if(m.timestamp<c)h.push(m);else{let p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(h),s.emit(V.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:He(a=>({...a,lastPlayedEvent:null})),startLive:He({baselineTime:(a,n)=>(a.timer.start(),n.type==="TO_LIVE"&&n.payload.baselineTime?n.payload.baselineTime:Date.now())}),addEvent:He((a,n)=>{let{baselineTime:u,timer:l,events:c}=a;if(n.type==="ADD_EVENT"){let{event:o}=n.payload;Jn(o,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=o.timestamp)c.push(o);else{let m=-1,p=0;for(;p<=d;){let g=Math.floor((p+d)/2);c[g].timestamp<=o.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,o)}let f=o.timestamp<u,h=t(o,f);f?h():l.isActive()&&l.addAction({doAction:()=>{h()},delay:o.delay})}return{...a,events:c}})}});return la(i)}function Rc(e){let t=aa({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:He({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return la(t)}var Nc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],ro=new Map;function ua(e,t){let r=ro.get(e);return r||(r=new Map,ro.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function _e(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){let i=await _e(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;let{rr_type:i,index:a}=s;return ua(t,i)[a]}else if("args"in s){let{rr_type:i,args:a}=s,n=window[i];return new n(...await Promise.all(a.map(_e(e,t,r))))}else{if("base64"in s)return gc(s.base64);if("src"in s){let i=e.get(s.src);if(i)return i;{let a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){let i=await Promise.all(s.data.map(_e(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(_e(e,t,r)));return s}}function Oc(e,t){try{return t===Re.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch{return null}}var Ic=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function Ac(e,t){if(!t?.constructor)return;let{name:r}=t.constructor;if(!Ic.includes(r))return;let s=ua(e,r);s.includes(t)||s.push(t)}async function Dc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{let a=Oc(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}let n=a[e.property],u=await Promise.all(e.args.map(_e(s,a))),l=n.apply(a,u);Ac(a,l);let c=!1}catch(a){i(e,a)}}async function kc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){let a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}let n=t.map(async l=>Promise.all(l.args.map(_e(s,a))));(await Promise.all(n)).forEach((l,c)=>{let o=t[c];try{if(o.setter){a[o.property]=o.args[0];return}let d=a[o.property];o.property==="drawImage"&&typeof o.args[0]=="string"?(s.get(e),d.apply(a,o.args)):d.apply(a,l)}catch(d){i(o,d)}})}async function io({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{let n=i.get(e)||t,u="commands"in n?n.commands:[n];if([Re.WebGL,Re.WebGL2].includes(t.type)){for(let l=0;l<u.length;l++){let c=u[l];await Dc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await kc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(n){a(t,n)}}var Wi=class{constructor(t){R(this,"mediaMap",new Map),R(this,"warn"),R(this,"service"),R(this,"speedService"),R(this,"emitter"),R(this,"getCurrentTime"),R(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(V.Start,this.start.bind(this)),this.emitter.on(V.SkipStart,this.start.bind(this)),this.emitter.on(V.Pause,this.pause.bind(this)),this.emitter.on(V.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){let a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,n="duration"in r&&r.duration;if(Number.isNaN(n)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&n!==!1&&(u=u%n),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;let r=()=>{this.metadataCallbackMap.delete(t);let s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){let i=this.mediaMap.get(t),{type:a,playbackRate:n,currentTime:u,muted:l,volume:c,loop:o}=s;return{isPlaying:a===Te.Play||a!==Te.Pause&&(i?.isPlaying||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:r,playbackRate:n??i?.playbackRate??1,volume:c??i?.volume??1,muted:l??i?.muted??t.getAttribute("muted")===null,loop:o??i?.loop??t.getAttribute("loop")===null}}syncTargetWithState(t){let r=this.mediaMap.get(t);if(!r)return;let{muted:s,loop:i,volume:a,isPlaying:n}=r,u=this.service.state.matches("paused"),l=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==l&&(t.playbackRate=l),n&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;let i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;let n=this.service.state.matches("paused"),u=a.attributes,l=!1;u.rr_mediaState?l=u.rr_mediaState==="played":l=i.getAttribute("autoplay")!==null,l&&n&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let o=!1;typeof u.rr_mediaMuted=="boolean"?o=u.rr_mediaMuted:o=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let f=1;typeof u.rr_mediaVolume=="number"&&(f=u.rr_mediaVolume);let h=0;typeof u.rr_mediaCurrentTime=="number"&&(h=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:l,currentTimeAtLastInteraction:h,lastInteractionTimeOffset:r,playbackRate:c,volume:f,muted:o,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}};function It(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),n=typeof t?.attributes.open=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),n&&(u?r.showModal():r.show())}}function Tc(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}var _c=5*1e3,Lc=Cc,so="[replayer]",wi={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function no(e){return e.type==T.IncrementalSnapshot&&(e.data.source==D.TouchMove||e.data.source==D.MouseInteraction&&e.data.type==q.TouchStart)}var Ht=class{constructor(t,r){if(R(this,"wrapper"),R(this,"iframe"),R(this,"UNSAFE_replayCanvas",!1),R(this,"service"),R(this,"speedService"),R(this,"config"),R(this,"usingVirtualDom",!1),R(this,"virtualDom",new Ze),R(this,"mouse"),R(this,"mouseTail",null),R(this,"tailPositions",[]),R(this,"emitter",Lc()),R(this,"nextUserInteractionEvent"),R(this,"legacy_missingNodeRetryMap",{}),R(this,"cache",sn()),R(this,"imageMap",new Map),R(this,"canvasEventMap",new Map),R(this,"mirror",co()),R(this,"styleMirror",new Wt),R(this,"mediaManager"),R(this,"firstFullSnapshot",null),R(this,"newDocumentQueue",[]),R(this,"mousePos",null),R(this,"touchActive",null),R(this,"lastMouseDownEvent",null),R(this,"lastHoveredRootNode"),R(this,"lastSelectionData",null),R(this,"constructedStyleMutations",[]),R(this,"adoptedStyleSheets",[]),R(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let l of[this.mouseTail,this.iframe])l&&(l.setAttribute("width",String(u.width)),l.setAttribute("height",String(u.height)))}),R(this,"applyEventsSynchronously",u=>{for(let l of u){switch(l.type){case T.DomContentLoaded:case T.Load:continue;case T.FullSnapshot:case T.Meta:case T.Plugin:case T.IncrementalSnapshot:break}this.getCastFn(l,!0)()}}),R(this,"getCastFn",(u,l=!1)=>{let c;switch(u.type){case T.DomContentLoaded:case T.Load:break;case T.Custom:c=()=>{this.emitter.emit(V.CustomEvent,u)};break;case T.Meta:c=()=>this.emitter.emit(V.Resize,{width:u.data.width,height:u.data.height});break;case T.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,l),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case T.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,l),!l&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){let d=this.nextUserInteractionEvent.delay-u.delay,f={speed:Math.min(Math.round(d/_c),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:f}),this.emitter.emit(V.SkipStart,f)}}};break}return()=>{c&&c();for(let f of this.config.plugins||[])f.handler&&f.handler(u,l,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){let f=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(V.Finish))},h=50;u.type===T.IncrementalSnapshot&&u.data.source===D.MouseMove&&u.data.positions.length&&(h+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(f,h)}this.emitter.emit(V.EventCast,u)}}),!r?.liveMode&&t.length<2)throw new Error("Replayer need at least 2 events.");let s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:wi,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(V.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(V.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:(l,c,o)=>{io({event:l,mutation:c,target:o,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(l,c)=>{l.source===D.StyleSheetRule?this.applyStyleSheetRule(l,c):l.source===D.StyleDeclaration&&this.applyStyleDeclaration(l,c)},afterAppend:(l,c)=>{for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{Bt(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(l){this.warn(l)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let l in this.legacy_missingNodeRetryMap)try{let c=this.legacy_missingNodeRetryMap[l],o=zt(c.node,this.mirror,this.virtualDom.mirror);Bt(o,c.node,u,this.virtualDom.mirror),c.node=o}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(l=>{this.applyStyleSheetMutation(l)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(l=>{this.applyAdoptedStyleSheet(l)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,l]=this.lastMouseDownEvent;u.dispatchEvent(l)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(V.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new zi([],{speed:this.config.speed});this.service=Mc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,l)=>u.timestamp-l.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(V.StateChange,{player:u})}),this.speedService=Rc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(V.StateChange,{speed:u})}),this.mediaManager=new Wi({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let a=this.service.state.context.events.find(u=>u.type===T.Meta),n=this.service.state.context.events.find(u=>u.type===T.FullSnapshot);if(a){let{width:u,height:l}=a.data;setTimeout(()=>{this.emitter.emit(V.Resize,{width:u,height:l})},0)}n&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=n,this.rebuildFullSnapshot(n),(u=this.iframe.contentWindow)==null||u.scrollTo(n.data.initialOffset))},1),this.service.state.context.events.find(no)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail<"u"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.config.liveMode&&this.timer.updateLiveTime(),this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(V.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(V.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(V.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(V.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){let r=this.config.unpackFn?this.config.unpackFn(t):t;no(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=sn()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.config.UNSAFE_replayCanvas?(this.iframe=document.createElement("iframe"),this.iframe.setAttribute("sandbox","allow-same-origin allow-scripts"),this.wrapper.appendChild(this.iframe),this.UNSAFE_replayCanvas=!0):(this.iframe=Kl({root:this.wrapper}),this.UNSAFE_replayCanvas=!1),this.iframe.style.display="none",this.disableInteract(),this.iframe.contentWindow&&this.iframe.contentDocument&&(xc(this.iframe.contentWindow,this.iframe.contentDocument),qo(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let s=[],i=new Set,a=(l,c)=>{if(l.nodeName==="DIALOG"&&i.add(l),this.collectIframeAndAttachDocument(s,l),this.mediaManager.isSupportedMediaElement(l)){let{events:o}=this.service.state.context;this.mediaManager.addMediaElements(l,t.timestamp-o[0].timestamp,this.mirror)}for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Ql(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror,UNSAFE_allowUnprotectedRebuild:this.UNSAFE_replayCanvas}),a(this.iframe.contentDocument,t.data.node.id);for(let{mutationInQueue:l,builtNode:c}of s)this.attachDocumentToIframe(l,c),this.newDocumentQueue=this.newDocumentQueue.filter(o=>o!==l);let{documentElement:n,head:u}=this.iframe.contentDocument;this.insertStyleRules(n,u),i.forEach(l=>It(l)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(V.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;let i=Nc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,Po(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:D.StyleSheetRule,adds:i.map((n,u)=>({rule:n,index:u}))})}else{let a=document.createElement("style");t.insertBefore(a,r);for(let n=0;n<i.length;n++)(s=a.sheet)==null||s.insertRule(i[n],n)}}attachDocumentToIframe(t,r){let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,n=(u,l)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);let c=s.getMeta(u);if(c?.type===Ee.Element&&c?.tagName.toUpperCase()==="HTML"){let{documentElement:o,head:d}=r.contentDocument;this.insertStyleRules(o,d)}if(!this.usingVirtualDom)for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(u,{id:l,replayer:this})};lt(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:n,cache:this.cache}),n(r.contentDocument,t.node.id);for(let{mutationInQueue:u,builtNode:l}of i)this.attachDocumentToIframe(u,l),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>It(u))}collectIframeAndAttachDocument(t,r){if(ut(r,this.mirror)){let s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;let r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){let s=new Set,i,a=this.service.state,n=()=>{a=this.service.state};this.emitter.on(V.Start,n),this.emitter.on(V.Pause,n);let u=()=>{this.emitter.off(V.Start,n),this.emitter.off(V.Pause,n)};r.querySelectorAll('link[rel="stylesheet"]').forEach(l=>{l.sheet||(s.add(l),l.addEventListener("load",()=>{s.delete(l),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(V.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(V.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let t=[];for(let r of this.service.state.context.events)r.type===T.IncrementalSnapshot&&r.data.source===D.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){let s=document.createElement("canvas"),i=s.getContext("2d"),a=i?.createImageData(s.width,s.height);i?.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){let s={isUnchanged:!0};if("commands"in t){let i=await Promise.all(t.commands.map(async a=>{let n=await Promise.all(a.args.map(_e(this.imageMap,null,s)));return{...a,args:n}}));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,commands:i})}else{let i=await Promise.all(t.args.map(_e(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,args:i})}}}applyIncremental(t,r){var s,i,a;let{data:n}=t;switch(n.source){case D.Mutation:{try{this.applyMutation(n,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,n)}break}case D.Drag:case D.TouchMove:case D.MouseMove:if(r){let u=n.positions[n.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:n}}else n.positions.forEach(u=>{let l={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,n)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(l)}),this.timer.addAction({doAction(){},delay:t.delay-((s=n.positions[0])==null?void 0:s.timeOffset)});break;case D.MouseInteraction:{if(n.id===-1)break;let u=new Event(Me(q[n.type])),l=this.mirror.getNode(n.id);if(!l)return this.debugNodeNotFound(n,n.id);this.emitter.emit(V.MouseInteraction,{type:n.type,target:l});let{triggerFocus:c}=this.config;switch(n.type){case q.Blur:"blur"in l&&l.blur();break;case q.Focus:c&&l.focus&&l.focus({preventScroll:!0});break;case q.Click:case q.TouchStart:case q.TouchEnd:case q.MouseDown:case q.MouseUp:r?(n.type===q.TouchStart?this.touchActive=!0:n.type===q.TouchEnd&&(this.touchActive=!1),n.type===q.MouseDown?this.lastMouseDownEvent=[l,u]:n.type===q.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:n.x||0,y:n.y||0,id:n.id,debugData:n}):(n.type===q.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x||0,n.y||0,n.id,r,n),n.type===q.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===q.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===q.TouchEnd?this.mouse.classList.remove("touch-active"):l.dispatchEvent(u));break;case q.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:l.dispatchEvent(u)}break}case D.Scroll:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.scrollData=n;break}this.applyScroll(n,r);break}case D.ViewportResize:this.emitter.emit(V.Resize,{width:n.width,height:n.height});break;case D.Input:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.inputData=n;break}this.applyInput(n);break}case D.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(n.id):this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);let l=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:l,timeOffset:t.timestamp-c[0].timestamp,mutation:n});break}case D.StyleSheetRule:case D.StyleDeclaration:{this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&((i=this.virtualDom.mirror.getNode(n.id))==null||i.rules.push(n)):this.applyStyleSheetMutation(n);break}case D.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.canvasMutations.push({event:t,mutation:n})}else{let u=this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);io({event:t,mutation:n,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case D.Font:{try{let u=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case D.Selection:{if(r){this.lastSelectionData=n;break}this.applySelection(n);break}case D.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,ku(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let c in this.legacy_missingNodeRetryMap)try{let o=this.legacy_missingNodeRetryMap[c],d=Lo(o.node,this.virtualDom,this.mirror);d&&(o.node=d)}catch(o){this.warn(o)}let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return;let f=s.getNode(c.parentId);if(!f)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(f)&&(f=f.shadowRoot),s.removeNodeFromMap(d),f)try{f.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&f.nodeName==="STYLE"&&((o=f.rules)==null?void 0:o.length)>0&&(f.rules=[])}catch(h){if(h instanceof DOMException)this.warn("parent could not remove child in mutation",f,d,t);else throw h}});let i={...this.legacy_missingNodeRetryMap},a=[],n=c=>{let o=null;return c.nextId&&(o=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!o},u=c=>{var o,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let f=s.getNode(c.parentId);if(!f)return c.node.type===Ee.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(f)||f.attachShadow({mode:"open"}),f=f.shadowRoot);let h=null,m=null;if(c.previousId&&(h=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),n(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;let p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(ut(f,s)){this.attachDocumentToIframe(c,f);return}let g=(w,C)=>{if(!this.usingVirtualDom){It(w);for(let v of this.config.plugins||[])v.onBuild&&v.onBuild(w,{id:C,replayer:this})}},b=lt(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:b,mutation:c};return}let y=s.getMeta(f);if(y&&y.type===Ee.Element&&c.node.type===Ee.Text){let w=Array.isArray(f.childNodes)?f.childNodes:Array.from(f.childNodes);if(y.tagName==="textarea")for(let C of w)C.nodeType===f.TEXT_NODE&&f.removeChild(C);else if(y.tagName==="style"&&w.length===1)for(let C of w)C.nodeType===f.TEXT_NODE&&!s.hasNode(C)&&(b.textContent=C.textContent,f.removeChild(C))}else if(y?.type===Ee.Document){let w=f;c.node.type===Ee.DocumentType&&((o=w.childNodes[0])==null?void 0:o.nodeType)===Node.DOCUMENT_TYPE_NODE&&w.removeChild(w.childNodes[0]),b.nodeName==="HTML"&&w.documentElement&&w.removeChild(w.documentElement)}if(h&&h.nextSibling&&h.nextSibling.parentNode?f.insertBefore(b,h.nextSibling):m&&m.parentNode?f.contains(m)?f.insertBefore(b,m):f.insertBefore(b,null):f.appendChild(b),g(b,c.node.id),this.usingVirtualDom&&b.nodeName==="#text"&&f.nodeName==="STYLE"&&((d=f.rules)==null?void 0:d.length)>0&&(f.rules=[]),ut(b,this.mirror)){let w=this.mirror.getId(b),C=this.newDocumentQueue.find(v=>v.parentId===w);C&&(this.attachDocumentToIframe(C,b),this.newDocumentQueue=this.newDocumentQueue.filter(v=>v!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,f,b,c)};t.adds.forEach(c=>{u(c)});let l=Date.now();for(;a.length;){let c=Yu(a);if(a.length=0,Date.now()-l>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(let o of c)s.getNode(o.value.parentId)?Go(o,f=>{u(f)}):this.debug("Drop resolve tree since there is no parent for the root node.",o)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Xu(t.texts).forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);let f=d.parentElement;if(c.value&&f&&f.tagName==="STYLE"?d.textContent=Zt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){let h=d.parentNode;((o=h?.rules)==null?void 0:o.length)>0&&(h.rules=[])}}),t.attributes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(let f in c.attributes)if(typeof f=="string"){let h=c.attributes[f];if(h===null)d.removeAttribute(f),f==="open"&&Tc(d,c);else if(typeof h=="string")try{if(f==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{let m=s.getMeta(d),p=lt({...m,attributes:{...m.attributes,...c.attributes}},{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);let g=d.nextSibling,b=d.parentNode;if(p&&b){b.removeChild(d),b.insertBefore(p,g),s.replace(c.id,p);break}}catch{}if(f==="value"&&d.nodeName==="TEXTAREA"){let m=d;m.childNodes.forEach(g=>m.removeChild(g));let p=(o=d.ownerDocument)==null?void 0:o.createTextNode(h);p&&m.appendChild(p)}else d.setAttribute(f,h);f==="rr_open_mode"&&d.nodeName==="DIALOG"&&It(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(f==="style"){let m=h,p=d;for(let g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){let b=m[g];p.style.setProperty(g,b[0],b[1])}else{let b=m[g];p.style.setProperty(g,b)}}}})}applyScroll(t,r){var s,i;let a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);let n=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if(n?.type===Ee.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch{}}applyInput(t){let r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch{}}applySelection(t){try{let r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:n,endOffset:u})=>{let l=this.mirror.getNode(i),c=this.mirror.getNode(n);if(!l||!c)return;let o=new Range;o.setStart(l,a),o.setEnd(c,u);let d=l.ownerDocument,f=d?.getSelection();return f&&r.add(f),{range:o,selection:f}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch{}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===D.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===D.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,n;if((s=t.adds)==null||s.forEach(({rule:u,index:l})=>{try{if(Array.isArray(l)){let{positions:c,index:o}=Bn(l),d=st(r.cssRules,c);d?.insertRule(u,o)}else{let c=l===void 0?void 0:Math.min(l,r.cssRules.length);r?.insertRule(u,c)}}catch{}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:l,index:c}=Bn(u),o=st(r.cssRules,l);o?.deleteRule(c||0)}else r?.deleteRule(u)}catch{}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch{}if(typeof t.replaceSync=="string")try{(n=r.replaceSync)==null||n.call(r,t.replaceSync)}catch{}}applyStyleDeclaration(t,r){if(t.set){let s=st(r.rules,t.index);s?.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){let s=st(r.rules,t.index);s?.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;let s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var l;let c=null,o=null;if(Ue(s)?o=((l=s.ownerDocument)==null?void 0:l.defaultView)||null:s.nodeName==="#document"&&(o=s.defaultView),!!o)try{c=new o.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:D.StyleSheetRule,adds:u.rules},c)}catch{}});let i=10,a=0,n=(u,l)=>{let c=l.map(o=>this.styleMirror.getStyle(o)).filter(o=>o!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==l.length&&a<i&&(setTimeout(()=>n(u,l),0+100*a),a++)};n(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){let{previousId:a,nextId:n}=i,u=a&&t[a],l=n&&t[n];if(u){let{node:c,mutation:o}=u;r.insertBefore(c,s),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}if(l){let{node:c,mutation:o}=l;r.insertBefore(c,s.nextSibling),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}}moveAndHover(t,r,s,i,a){let n=this.mirror.getNode(s);if(!n)return this.debugNodeNotFound(a,s);let u=Yo(n,this.iframe),l=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${l}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:l,y:c}),this.hoverElements(n)}drawMouseTail(t){if(!this.mouseTail)return;let{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?wi:Object.assign({},wi,this.config.mouseTail),n=()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(l=>u.lineTo(l.x,l.y)),u.stroke())};this.tailPositions.push(t),n(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),n()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==T.IncrementalSnapshot?!1:t.data.source>D.Mutation&&t.data.source<=D.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(V.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(so,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(so,...t)}},{addCustomEvent:Qc}=je,{freezePage:Kc}=je,{takeFullSnapshot:Zc}=je;function fa(e,t){e.pause(t+1)}var ca=new WeakMap,tt=e=>`${Math.floor(Math.max(0,e)/6e4)}:${String(Math.floor(Math.max(0,e)/1e3)%60).padStart(2,"0")}`;function ha(e,t){let r=e.getElementById("completeness");if(!r)return;let s={confirmed:z.__("Received through the last confirmed checkpoint. This does not confirm that the entire visit was recorded.","clickclue"),interrupted:z.__("Recording interrupted. Some activity is missing; interpret this replay as a partial visit.","clickclue"),unconfirmed:z.__("Uploads may still be arriving. You can watch the saved activity now and load the latest activity after the visit ends. If the final upload never arrives, later activity may be missing.","clickclue"),legacy:z.__("Delivery status is unavailable for this older recording.","clickclue")},i=Object.hasOwn(s,t?.status)?t.status:"legacy";r.textContent=s[i],r.dataset.status=i}function Pc(e,t,r="width"){let s=(o,d,f)=>Number.isFinite(Number(o))&&Number(o)>0?Math.min(f,Number(o)):d,i=s(e?.width,1280,1e5),a=s(e?.height,800,1e5),n=s(t?.width,1,1e5),u=s(t?.height,1,1e5),l=Number(r),c=r==="fit"?Math.min(n/i,u/a,1):["0.5","0.75","1","1.25","1.5","2"].includes(r)?l:Math.min(n/i,1);return{width:i,height:a,scale:Math.max(.001,c)}}function da(e,t=new Map){if(!e?.head)return;let r=ca.get(e);if(e.getElementById("clickclue-placeholder-style")&&r?.media===t)return;r?.dispose(),e.getElementById("clickclue-placeholder-style")?.remove();let s=e.createElement("style");s.id="clickclue-placeholder-style";let i=a=>'"'+Array.from(a,n=>"\\"+n.codePointAt(0).toString(16)+" ").join("")+'"';s.textContent=".tw-redacted{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#eef1e9!important;outline:1px dashed #9aab8c!important}.tw-redacted::after{display:block!important;padding:8px!important;color:#435737!important;font:12px/1.4 Arial,sans-serif!important;overflow:hidden!important;content:"+i(z.__("Content excluded","clickclue"))+"}.tw-media-image::after{content:"+i(z.__("Image excluded","clickclue"))+"}.tw-media-video::after{content:"+i(z.__("Video excluded","clickclue"))+"}.tw-media-audio::after{content:"+i(z.__("Audio excluded","clickclue"))+"}.tw-media-embedded::after{content:"+i(z.__("Embedded content excluded","clickclue"))+"}.tw-media-canvas::after{content:"+i(z.__("Canvas excluded","clickclue"))+"}.tw-approved-media{outline:none!important}.tw-approved-media::after{display:none!important}",e.head.append(s),ca.set(e,{media:t,dispose:ws(e,t)})}function pa({doc:e=document,getDimensions:t,isReady:r}){let s=e.defaultView,i=c=>e.getElementById(c),a=!1;function n(){let c=i("viewport"),{width:o,height:d,scale:f}=Pc(t(),{width:c.clientWidth-24,height:c.clientHeight-24},i("zoom").value);Object.assign(i("stage").style,{width:o+"px",height:d+"px",transform:`scale(${f})`}),Object.assign(i("stage-size").style,{width:Math.ceil(o*f)+"px",height:Math.ceil(d*f)+"px"}),i("viewport-size").textContent=`${Math.round(o)} \xD7 ${Math.round(d)} \xB7 ${Math.round(f*100)}%`}function u(c){a=c,i("zoom").disabled=!c,i("fullscreen").disabled=!c,c?n():i("viewport-size").textContent=z.__("Recorded viewport","clickclue")}return i("zoom").onchange=()=>{n(),i("viewport").scrollTop=0,i("viewport").scrollLeft=0},i("fullscreen").hidden=!e.fullscreenEnabled||typeof e.documentElement.requestFullscreen!="function",i("fullscreen").onclick=async()=>{try{e.fullscreenElement?await e.exitFullscreen():await e.documentElement.requestFullscreen(),i("view-feedback").textContent=""}catch{i("view-feedback").textContent=z.__("Fullscreen is unavailable in this browser. Use Fit width or a zoom level to inspect the recording.","clickclue")}},e.addEventListener("fullscreenchange",()=>{i("fullscreen").textContent=e.fullscreenElement?z.__("Exit fullscreen","clickclue"):z.__("Fullscreen","clickclue"),n()}),(typeof s.ResizeObserver=="function"?new s.ResizeObserver(()=>{a&&r()&&n()}):null)?.observe(i("viewport")),s.addEventListener("resize",()=>{a&&r()&&n()}),{fit:n,ready:u}}function ma(e,t,r){let s=e.getElementById("markers"),i=e.getElementById("event-ticks");s.replaceChildren(),i.replaceChildren();let a=e.createElement("option");a.value="",a.textContent=t.length?z.sprintf(/* translators: %1$s: number of event markers. */ z.__("Jump to an event (%1$s)","clickclue"),t.length):z.__("No event markers in this recording","clickclue"),s.append(a);for(let n of t.slice(0,200)){let u=`${tt(n.time)} \xB7 ${n.label}`,l=e.createElement("option");l.value=String(n.time),l.textContent=u,s.append(l);let c=e.createElement("span");c.className="event-tick"+(n.error||n.clue?" event-clue":""),c.style.left=Math.min(100,Math.max(0,n.time/Math.max(1,r)*100))+"%",c.title=u,i.append(c)}e.getElementById("event-count").textContent=t.length>200?z.__("First 200 markers shown; Previous and Next reach every event.","clickclue"):z.__("Use Previous, Next or the event list to inspect a moment.","clickclue")}var or={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ga=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),ya=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),wa=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),lf=[...Object.keys(or),...ga,...ya,...wa,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function Fc(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(or,e))return or[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&or[e].includes(t)?t:null;if(ga.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(ya.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let r=t.split(" ");return t==="none"?"none":r.length<=64&&r.every(s=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=1e5)?t:null}if(wa.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(r=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(r)&&parseFloat(r)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let r=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!r)return null;let s=r[2].split(",").map(i=>i.trim());return s.length===(r[1]==="matrix"?6:16)&&s.every(i=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(i)&&Number.isFinite(Number(i))&&Math.abs(Number(i))<=1e5)?t:null}if(["color","background-color"].includes(e)){let r=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return r&&r.slice(1,4).every(s=>Number(s)<=255)?t:null}return null}function cs(e){if(typeof e!="string"||e.length>4096)return"";let t=[],r=new Set;for(let i of e.split(";").slice(0,100)){let a=i.indexOf(":");if(a<1)continue;let n=i.slice(0,a).trim();if(r.has(n))continue;let u=Fc(n,i.slice(a+1));u!==null&&(r.add(n),t.push(n+":"+u))}let s=t.join(";");return s.length<=4096?s:""}function ba(e){return cs(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}var fs=e=>String(e??"").replace(/\S/g,"*");function Uc(e,t="https://example.invalid"){try{return new URL(e,t).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500)}catch{return"/"}}function Ce(e){let t=String(e??""),r="",s=0,i=u=>{let l=t.slice(u+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(l){let c=parseInt(l[0],16);return[c>0&&c<=1114111?String.fromCodePoint(c):"\uFFFD",u+1+l[0].length]}return[t[u+1]||"",Math.min(t.length,u+2)]},a=u=>{let l=t[u++];for(;u<t.length;)if(t[u]==="\\")u=i(u)[1];else if(t[u++]===l)break;return u},n=u=>{let l=t.indexOf("*/",u+2);return l<0?t.length:l+2};for(;s<t.length;){if(t.startsWith("/*",s)){s=n(s),r+=" ";continue}if(t[s]==='"'||t[s]==="'"){s=a(s),r+='""';continue}if(/[a-z_\\-]/i.test(t[s])){let u=s,l="";for(;s<t.length&&/[a-z0-9_\\-]/i.test(t[s]);)if(t[s]==="\\"){let[o,d]=i(s);l+=o,s=d}else l+=t[s++];let c=s;for(;c<t.length;)if(/\s/.test(t[c]))c++;else if(t.startsWith("/*",c))c=n(c);else break;if(l.toLowerCase()==="url"&&t[c]==="("){s=c+1;let o=1;for(;s<t.length&&o;)t[s]==="\\"?s=i(s)[1]:t[s]==='"'||t[s]==="'"?s=a(s):t.startsWith("/*",s)?s=n(s):(t[s]==="("&&o++,t[s]===")"&&o--,s++);r+="none"}else r+=t.slice(u,s);continue}r+=t[s++]}return r.replace(/@import[^;{}]*;?/gi,"")}var $c=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function va(e={}){let t={};for(let[r,s]of Object.entries(e))if(s===null)t[r]=null;else if(r==="style"&&s&&typeof s=="object"&&!Array.isArray(s))t[r]=Object.fromEntries(Object.entries(s).map(([i,a])=>[i,a===!1?!1:Array.isArray(a)?[Ce(a[0]),a[1]==="important"?"important":""]:Ce(a)]));else if(r==="style"||r==="_cssText")t[r]=Ce(s);else if(r==="data-tw-image-fit")t[r]=bt(s);else if(r==="data-tw-image-position")t[r]=wt(s);else if(r==="data-tw-layout"){let i=cs(s);i&&(t[r]=i)}else r==="data-tw-media"&&typeof s=="string"&&/^[a-f0-9]{64}$/.test(s)?t[r]=s:r==="href"?t[r]="#":$c.has(r)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(s))?t[r]=s:s===null&&(t[r]=null);if(t["data-tw-layout"]){let r=ba(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let s of r.split(";")){let i=s.indexOf(":");i>0&&(t.style[s.slice(0,i)]=[s.slice(i+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+r}return t}var Bc=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),zc={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function Wc(e,t={}){let r=u=>{if(typeof u!="number"&&typeof u!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(u)))return null;let l=parseFloat(u);return Number.isFinite(l)?Math.min(8192,Math.max(0,l)):null},s=r(t.rr_width??t.width),i=r(t.rr_height??t.height),a=zc[e];if(!a)return{class:"tw-redacted",style:"display:none"};let n=(s===null?"":`;width:${s}px`)+(i===null?";min-height:24px":`;height:${i}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":bt(t["data-tw-image-fit"]),"data-tw-image-position":wt(t["data-tw-image-position"])}:{},class:"tw-redacted"+(a?" tw-media-"+a:""),style:"background:#edf0e9;overflow:hidden"+n}}function hs(e,t,r="",s=null){if(!e||typeof e!="object")return e;let i={...e},a=r==="style"||i.isStyle||i.tagName?.toLowerCase()==="style";return s&&a&&s.styleNodes.add(i.id),i.tagName&&Bc.has(i.tagName.toLowerCase())?{type:2,tagName:"div",attributes:Wc(i.tagName.toLowerCase(),i.attributes),childNodes:[],id:i.id,needBlock:!0}:(i.attributes&&(i.attributes=va(i.attributes)),typeof i.textContent=="string"&&(i.textContent=a?Ce(i.textContent):t.maskText?fs(i.textContent):i.textContent),i.childNodes&&(i.childNodes=i.childNodes.map(n=>hs(n,t,i.tagName||r,s))),i)}var jc=new Set(["page","click","rage_click"]);function Sa(e={maskText:!0}){let t={styleNodes:new Set};return r=>Vc(r,e,t)}function Vc(e,t={maskText:!0},r=null){if(!e||e.type>5)return null;let s={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(s.type===2&&(r?.styleNodes.clear(),s.data.node=hs(s.data.node,t,"",r)),s.type===4&&(s.data.href=Uc(s.data.href)),s.type===5){let i=jc.has(s.data.tag)?{}:t.sanitizeCustom?.(s.data.tag,s.data.payload)??null;if(i===null)return null;s.data={tag:s.data.tag,payload:i}}if(s.type===3){if([7,9,10,11].includes(s.data.source))return null;if(s.data.source===5&&(s.data.text=fs(s.data.text)),s.data.attributes&&(s.data.attributes=s.data.attributes.map(i=>({...i,attributes:va(i.attributes)}))),s.data.adds&&s.data.source===0&&(s.data.adds=s.data.adds.map(i=>({...i,node:hs(i.node,t,r?.styleNodes.has(i.parentId)?"style":"",r)}))),s.data.texts&&(s.data.texts=s.data.texts.map(i=>({...i,value:r?.styleNodes.has(i.id)?Ce(i.value):t.maskText?fs(i.value):r?i.value:Ce(i.value)}))),s.data.source===8&&s.data.adds&&(s.data.adds=s.data.adds.map(i=>({...i,rule:Ce(i.rule??"")}))),s.data.source===8)for(let i of["replace","replaceSync"])typeof s.data[i]=="string"&&(s.data[i]=Ce(s.data[i]));s.data.source===15&&s.data.styles&&(s.data.styles=s.data.styles.map(i=>({...i,rules:i.rules.map(a=>({...a,rule:Ce(a.rule)}))}))),s.data.source===13&&s.data.set&&(s.data.set={...s.data.set,value:Ce(s.data.set.value)})}return s}var Ca=Object.freeze({get page(){return z.__("Page opened","clickclue")},get click(){return z.__("Click","clickclue")},get rage_click(){return z.__("Repeated clicks","clickclue")}});function xa(e){let t=e[0]?.timestamp||0;return e.filter(r=>r.type===5&&r.data?.tag!=="click"&&Ca[r.data?.tag]).map(r=>({time:Math.max(0,r.timestamp-t),label:Ca[r.data.tag],error:!1,clue:r.data.tag==="rage_click"}))}var K,be=0,lr=!1,Ie=[],ds={width:1280,height:800},L=e=>document.getElementById(e),ar=pa({getDimensions:()=>ds,isReady:()=>!!K}),Ea=()=>ar.fit();function ps(e){L("seek").value=String(e),L("time").textContent=`${tt(e)} / ${tt(be)}`,L("seek").setAttribute("aria-valuetext",z.sprintf(/* translators: 1: current replay time, 2: total replay duration. */ z.__("%1$s of %2$s","clickclue"),tt(e),tt(be)));let t=[...Ie].reverse().find(r=>r.time<=e);L("current-event").textContent=t?t.label:z.__("Recording start","clickclue"),L("previous-event").disabled=!Ie.some(r=>r.time<e-100),L("next-event").disabled=!Ie.some(r=>r.time>e+100)}function ur(){K?.pause(),lr=!1,L("play").textContent=z.__("Play","clickclue"),L("activity").textContent=""}function Le(e){if(!K)return;ur();let t=Math.min(be,Math.max(0,Number(e)||0));fa(K,t),ps(t)}function Ma(e){let t=Number(L("seek").value),r=e>0?Ie.find(s=>s.time>t+100):[...Ie].reverse().find(s=>s.time<t-100);r&&Le(r.time)}function qc(e,t=0,r=null,s=null){ha(document,s),ur(),K?.destroy(),K=null,be=0,Ie=[],ar.ready(!1),L("event-ticks").replaceChildren(),L("current-event").textContent="",L("view-feedback").textContent="",L("viewport").scrollTop=0,L("viewport").scrollLeft=0,L("stage").replaceChildren(),L("markers").replaceChildren();for(let i of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])L(i).disabled=!0;try{let i=ys(r),a=Sa({maskText:!1}),n=[...e].sort((f,h)=>f.timestamp-h.timestamp).map(a).filter(Boolean);if(n.length<2||!n.some(f=>f.type===2))throw new Error(z.__("This session has no complete page snapshot.","clickclue"));let u=n.find(f=>f.type===4)?.data;ds={width:Math.max(1,Number(u?.width)||1280),height:Math.max(1,Number(u?.height)||800)},be=Math.max(1,n.at(-1).timestamp-n[0].timestamp),Ie=xa(n),K=new Ht(n,{root:L("stage"),showWarning:!1,showDebug:!1,blockClass:"rr-block",skipInactive:L("skip-inactive").checked,inactivePeriodThreshold:5e3,maxSpeed:16,speed:Number(L("speed").value),mouseTail:{duration:500,lineCap:"round",lineWidth:2,strokeStyle:"#789255"},UNSAFE_replayCanvas:!1}),K.on("resize",f=>{ds=f,Ea()}),K.on("finish",()=>{ur(),ps(be)}),K.on("skip-start",()=>{L("activity").textContent=z.__("Skipping inactivity","clickclue")}),K.on("skip-end",()=>{L("activity").textContent=""}),ma(document,Ie,be);for(let f of["play","seek","speed","skip-inactive"])L(f).disabled=!1;L("markers").disabled=!Ie.length,L("seek").max=String(be),L("notice").textContent="";let l=n.find(f=>f.type===2),c=K,o=!1,d=()=>{K===c&&da(c.iframe.contentDocument,i),!(o||K!==c||!c.iframe.contentDocument||!c.getMirror().getNode(l.data.node.id))&&(o=!0,queueMicrotask(()=>{K===c&&(ar.ready(!0),window.parent.postMessage({type:"tracewell-player-loaded"},"*"))}))};K.on("fullsnapshot-rebuilded",d),Ea(),Le(t),d()}catch(i){K?.destroy(),K=null,ar.ready(!1),L("stage").replaceChildren();for(let a of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])L(a).disabled=!0;L("notice").textContent=z.sprintf(/* translators: %s: reconstruction error message. */ z.__("Unable to play this recording: %s","clickclue"),i.message),L("time").textContent="0:00 / 0:00",L("current-event").textContent="",L("event-ticks").replaceChildren(),window.parent.postMessage({type:"tracewell-player-error"},"*")}}L("play").onclick=()=>{if(K)if(lr)ur();else{let e=Number(L("seek").value);e>=be-100&&(e=0),K.play(e),lr=!0,L("play").textContent=z.__("Pause","clickclue")}};L("speed").onchange=()=>K?.setConfig({speed:Number(L("speed").value)});L("skip-inactive").onchange=()=>K?.setConfig({skipInactive:L("skip-inactive").checked});L("seek").oninput=e=>Le(e.target.value);L("previous-event").onclick=()=>Ma(-1);L("next-event").onclick=()=>Ma(1);L("markers").onchange=e=>{e.target.value!==""&&Le(e.target.value)};window.addEventListener("keydown",e=>{e.target.closest?.("input,select,button,textarea,a")||e.altKey||e.ctrlKey||e.metaKey||!K||(e.code==="Space"&&(e.preventDefault(),L("play").click()),e.key==="Home"&&(e.preventDefault(),Le(0)),e.key==="End"&&(e.preventDefault(),Le(be)),["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),Le(Number(L("seek").value)+(e.key==="ArrowRight"?5e3:-5e3))))});setInterval(()=>{lr&&K&&ps(Math.min(be,K.getCurrentTime()))},100);window.addEventListener("message",e=>{e.source===window.parent&&(e.data?.type==="tracewell-player-ping"&&window.parent.postMessage({type:"tracewell-player-ready"},"*"),e.data?.type==="load"&&Array.isArray(e.data.events)&&(ms(document,e.data),qc(e.data.events,e.data.startAt,e.data.media,e.data.completeness)),e.data?.type==="seek"&&Le(e.data.time))});window.parent.postMessage({type:"tracewell-player-ready"},"*");})();
     131`,Xn=typeof self<"u"&&self.Blob&&new Blob([sa],{type:"text/javascript;charset=utf-8"});function Cc(e){let t;try{if(t=Xn&&(self.URL||self.webkitURL).createObjectURL(Xn),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(sa),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ui=class{constructor(t){R(this,"pendingCanvasMutations",new Map),R(this,"rafStamps",{latestId:0,invokeId:null}),R(this,"mirror"),R(this,"mutationCb"),R(this,"resetObservers"),R(this,"frozen",!1),R(this,"locked",!1),R(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:s,blockClass:i,blockSelector:a,recordCanvas:n,dataURLOptions:u}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,n&&r==="all"&&this.initCanvasMutationObserver(s,i,a),n&&typeof r=="number"&&this.initCanvasFPSObserver(r,s,i,a,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,s,i,a){let n=Hn(r,s,i,!0),u=new Map,l=new Cc;l.onmessage=m=>{let{id:p}=m.data;if(u.set(p,!1),!("base64"in m.data))return;let{base64:g,type:b,width:y,height:w}=m.data;this.mutationCb({id:p,type:Re["2D"],commands:[{property:"clearRect",args:[0,0,y,w]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:b}]},0,0]}]})};let c=1e3/t,o=0,d,f=()=>{let m=[];return r.document.querySelectorAll("canvas").forEach(p=>{ue(p,s,i,!0)||m.push(p)}),m},h=m=>{if(o&&m-o<c){d=requestAnimationFrame(h);return}o=m,f().forEach(async p=>{var g;let b=this.mirror.getId(p);if(u.get(b)||p.width===0||p.height===0)return;if(u.set(b,!0),["webgl","webgl2"].includes(p.__context)){let w=p.getContext(p.__context);((g=w?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&w.clear(w.COLOR_BUFFER_BIT)}let y=await createImageBitmap(p);l.postMessage({id:b,bitmap:y,width:p.width,height:p.height,dataURLOptions:a.dataURLOptions},[y])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{n(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Hn(t,r,s,!1),a=bc(this.processMutation.bind(this),t,r,s),n=Sc(this.processMutation.bind(this),t,r,s);this.resetObservers=()=>{i(),a(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let s=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let s=this.pendingCanvasMutations.get(t);if(!s||r===-1)return;let i=s.map(n=>{let{type:u,...l}=n;return l}),{type:a}=s[0];this.mutationCb({id:r,type:a,commands:i}),this.pendingCanvasMutations.delete(t)}},$i=class{constructor(t){R(this,"trackedLinkElements",new WeakSet),R(this,"mutationCb"),R(this,"adoptedStyleSheetCb"),R(this,"styleMirror",new Wt),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let s={id:r,styleIds:[]},i=[];for(let a of t){let n;this.styleMirror.has(a)?n=this.styleMirror.getId(a):(n=this.styleMirror.add(a),i.push({styleId:n,rules:Array.from(a.rules||CSSRule,(u,l)=>({rule:uo(u,a.href),index:l}))})),s.styleIds.push(n)}i.length>0&&(s.styles=i),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Bi=class{constructor(){R(this,"nodeMap",new WeakMap),R(this,"active",!1)}inOtherBuffer(t,r){let s=this.nodeMap.get(t);return s&&Array.from(s).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},re,Dt,gi,qt=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((bs=e.contentWindow)==null?void 0:bs.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var me=co();function je(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:s,blockClass:i="rr-block",blockSelector:a=null,ignoreClass:n="rr-ignore",ignoreSelector:u=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:o=!0,maskAllInputs:d,maskInputOptions:f,slimDOMOptions:h,maskInputFn:m,maskTextFn:p,hooks:g,packFn:b,sampling:y={},dataURLOptions:w={},mousemoveWait:C,recordDOM:v=!0,recordCanvas:S=!1,recordCrossOriginIframes:x=!1,recordAfter:M=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:I=!1,collectFonts:N=!1,inlineImages:F=!1,plugins:k,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:ce=new Set([]),errorHandler:oe}=e;tc(oe);let j=x?window.parent===window:!0,_=!1;if(!j)try{window.parent.document&&(_=!1)}catch{_=!0}if(j&&!t)throw new Error("emit function is required");if(!j&&!_)return()=>{};C!==void 0&&y.mousemove===void 0&&(y.mousemove=C),me.reset();let J=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:f!==void 0?f:{password:!0},ie=go(h);qo();let ee,G=0,Ae=L=>{for(let se of k||[])se.eventProcessor&&(L=se.eventProcessor(L));return b&&!_&&(L=b(L)),L};re=(L,se)=>{var H;let te=L;if(te.timestamp=dt(),(H=$e[0])!=null&&H.isFrozen()&&te.type!==T.FullSnapshot&&!(te.type===T.IncrementalSnapshot&&te.data.source===D.Mutation)&&$e.forEach(fe=>fe.unfreeze()),j)t?.(Ae(te),se);else if(_){let fe={type:"rrweb",event:Ae(te),origin:window.location.origin,isCheckout:se};window.parent.postMessage(fe,"*")}if(te.type===T.FullSnapshot)ee=te,G=0;else if(te.type===T.IncrementalSnapshot){if(te.data.source===D.Mutation&&te.data.isAttachIframe)return;G++;let fe=s&&G>=s,Y=r&&te.timestamp-ee.timestamp>r;(fe||Y)&&Dt(!0)}};let O=L=>{re({type:T.IncrementalSnapshot,data:{source:D.Mutation,...L}})},ve=L=>re({type:T.IncrementalSnapshot,data:{source:D.Scroll,...L}}),de=L=>re({type:T.IncrementalSnapshot,data:{source:D.CanvasMutation,...L}}),rt=L=>re({type:T.IncrementalSnapshot,data:{source:D.AdoptedStyleSheet,...L}}),ae=new $i({mutationCb:O,adoptedStyleSheetCb:rt}),pe=new Li({mirror:me,mutationCb:O,stylesheetManager:ae,recordCrossOriginIframes:x,wrappedEmit:re});for(let L of k||[])L.getMirror&&L.getMirror({nodeMirror:me,crossOriginIframeMirror:pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:pe.crossOriginIframeStyleMirror});let Le=new Bi;gi=new Ui({recordCanvas:S,mutationCb:de,win:window,blockClass:i,blockSelector:a,mirror:me,sampling:y.canvas,dataURLOptions:w});let De=new Fi({mutationCb:O,scrollCb:ve,bypassOptions:{blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskInputOptions:J,dataURLOptions:w,maskTextFn:p,maskInputFn:m,recordCanvas:S,inlineImages:F,sampling:y,slimDOMOptions:ie,iframeManager:pe,stylesheetManager:ae,canvasManager:gi,keepIframeSrcFn:E,processedNodeManager:Le},mirror:me});Dt=(L=!1)=>{if(!v)return;re({type:T.Meta,data:{href:window.location.href,width:Wo(),height:zo()}},L),ae.reset(),De.init(),$e.forEach(H=>H.lock());let se=Rl(document,{mirror:me,blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskAllInputs:J,maskTextFn:p,maskInputFn:m,slimDOM:ie,dataURLOptions:w,recordCanvas:S,inlineImages:F,onSerialize:H=>{ut(H,me)&&pe.addIframe(H),Ho(H,me)&&ae.trackLinkElement(H),Ue(H)&&De.addShadowRoot($.shadowRoot(H),document)},onIframeLoad:(H,te)=>{pe.attachIframe(H,te),De.observeAttachShadow(H)},onStylesheetLoad:(H,te)=>{ae.attachLinkElement(H,te)},keepIframeSrcFn:E});if(!se)return console.warn("Failed to snapshot the document");re({type:T.FullSnapshot,data:{node:se,initialOffset:Bo(window)}},L),$e.forEach(H=>H.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ae.adoptStyleSheets(document.adoptedStyleSheets,me.getId(document))};try{let L=[],se=te=>{var fe;return W(mc)({mutationCb:O,mousemoveCb:(Y,cr)=>re({type:T.IncrementalSnapshot,data:{source:cr,positions:Y}}),mouseInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MouseInteraction,...Y}}),scrollCb:ve,viewportResizeCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.ViewportResize,...Y}}),inputCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Input,...Y}}),mediaInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleDeclaration,...Y}}),canvasMutationCb:de,fontCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Font,...Y}}),selectionCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.Selection,...Y}})},customElementCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.CustomElement,...Y}})},blockClass:i,ignoreClass:n,ignoreSelector:u,maskTextClass:l,maskTextSelector:c,maskInputOptions:J,inlineStylesheet:o,sampling:y,recordDOM:v,recordCanvas:S,inlineImages:F,userTriggeredOnInput:I,collectFonts:N,doc:te,maskInputFn:m,maskTextFn:p,keepIframeSrcFn:E,blockSelector:a,slimDOMOptions:ie,dataURLOptions:w,mirror:me,iframeManager:pe,stylesheetManager:ae,shadowDomManager:De,processedNodeManager:Le,canvasManager:gi,ignoreCSSAttributes:ce,plugins:((fe=k?.filter(Y=>Y.observer))==null?void 0:fe.map(Y=>({observer:Y.observer,options:Y.options,callback:cr=>re({type:T.Plugin,data:{plugin:Y.name,payload:cr}})})))||[]},g)};pe.addLoadListener(te=>{try{L.push(se(te.contentDocument))}catch(fe){console.warn(fe)}});let H=()=>{Dt(),L.push(se(document)),qt=!0};return["interactive","complete"].includes(document.readyState)?H():(L.push(le("DOMContentLoaded",()=>{re({type:T.DomContentLoaded,data:{}}),M==="DOMContentLoaded"&&H()})),L.push(le("load",()=>{re({type:T.Load,data:{}}),M==="load"&&H()},window))),()=>{L.forEach(te=>{try{te()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),Le.destroy(),qt=!1,rc()}}catch(L){console.warn(L)}}je.addCustomEvent=(e,t)=>{if(!qt)throw new Error("please add custom event after start recording");re({type:T.Custom,data:{tag:e,payload:t}})};je.freezePage=()=>{$e.forEach(e=>e.freeze())};je.takeFullSnapshot=e=>{if(!qt)throw new Error("please take full snapshot after start recording");Dt(e)};je.mirror=me;function xc(e){return{all:e=e||new Map,on:function(t,r){var s=e.get(t);s?s.push(r):e.set(t,[r])},off:function(t,r){var s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var s=e.get(t);s&&s.slice().map(function(i){i(r)}),(s=e.get("*"))&&s.slice().map(function(i){i(t,r)})}}}function Ec(e=window,t=document){if("scrollBehavior"in t.documentElement.style&&e.__forceSmoothScrollPolyfill__!==!0)return;let r=e.HTMLElement||e.Element,s=468,i={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||l,scrollIntoView:r.prototype.scrollIntoView},a=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now;function n(b){let y=["MSIE ","Trident/","Edge/"];return new RegExp(y.join("|")).test(b)}let u=n(e.navigator.userAgent)?1:0;function l(b,y){this.scrollLeft=b,this.scrollTop=y}function c(b){return .5*(1-Math.cos(Math.PI*b))}function o(b){if(b===null||typeof b!="object"||b.behavior===void 0||b.behavior==="auto"||b.behavior==="instant")return!0;if(typeof b=="object"&&b.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+b.behavior+" is not a valid value for enumeration ScrollBehavior.")}function d(b,y){if(y==="Y")return b.clientHeight+u<b.scrollHeight;if(y==="X")return b.clientWidth+u<b.scrollWidth}function f(b,y){let w=e.getComputedStyle(b,null)["overflow"+y];return w==="auto"||w==="scroll"}function h(b){let y=d(b,"Y")&&f(b,"Y"),w=d(b,"X")&&f(b,"X");return y||w}function m(b){for(;b!==t.body&&h(b)===!1;)b=b.parentNode||b.host;return b}function p(b){let y=a(),w,C,v,S=(y-b.startTime)/s;S=S>1?1:S,w=c(S),C=b.startX+(b.x-b.startX)*w,v=b.startY+(b.y-b.startY)*w,b.method.call(b.scrollable,C,v),(C!==b.x||v!==b.y)&&e.requestAnimationFrame(p.bind(e,b))}function g(b,y,w){let C,v,S,x,M=a();b===t.body?(C=e,v=e.scrollX||e.pageXOffset,S=e.scrollY||e.pageYOffset,x=i.scroll):(C=b,v=b.scrollLeft,S=b.scrollTop,x=l),p({scrollable:C,method:x,startTime:M,startX:v,startY:S,x:y,y:w})}e.scroll=e.scrollTo=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}g.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)}},e.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])){i.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}g.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))}},r.prototype.scroll=r.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(o(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let b=arguments[0].left,y=arguments[0].top;g.call(this,this,typeof b>"u"?this.scrollLeft:~~b,typeof y>"u"?this.scrollTop:~~y)},r.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},r.prototype.scrollIntoView=function(){if(o(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let b=m(this),y=b.getBoundingClientRect(),w=this.getBoundingClientRect();b!==t.body?(g.call(this,b,b.scrollLeft+w.left-y.left,b.scrollTop+w.top-y.top),e.getComputedStyle(b).position!=="fixed"&&e.scrollBy({left:y.left,top:y.top,behavior:"smooth"})):e.scrollBy({left:w.left,top:w.top,behavior:"smooth"})}}var zi=class{constructor(t=[],r){R(this,"timeOffset",0),R(this,"speed"),R(this,"actions"),R(this,"raf",null),R(this,"lastTimestamp"),this.actions=t,this.speed=r.speed}addAction(t){let r=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=t.delay)this.actions.push(t);else{let s=this.findActionIndex(t);this.actions.splice(s,0,t)}r&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}updateLiveTime(){this.raf===!0&&this.rafCheck()}rafCheck(){let t=performance.now();for(this.timeOffset+=(t-this.lastTimestamp)*this.speed,this.lastTimestamp=t;this.actions.length;){let r=this.actions[0];if(this.timeOffset>=r.delay)this.actions.shift(),r.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(t){this.speed=t}isActive(){return this.raf!==null}findActionIndex(t){let r=0,s=this.actions.length-1;for(;r<=s;){let i=Math.floor((r+s)/2);if(this.actions[i].delay<t.delay)r=i+1;else if(this.actions[i].delay>t.delay)s=i-1;else return i+1}return r}};function Jn(e,t){if(e.type===T.IncrementalSnapshot&&e.data.source===D.MouseMove&&e.data.positions&&e.data.positions.length){let r=e.data.positions[0].timeOffset,s=e.timestamp+r;return e.delay=s-t,s-t}return e.delay=e.timestamp-t,e.delay}function Qn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),n=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)n.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return n}var Qe;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Qe||(Qe={}));var na={type:"xstate.init"};function yi(e){return e===void 0?[]:[].concat(e)}function He(e){return{type:"xstate.assign",assignment:e}}function Kn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function Gt(e){return function(t){return e===t}}function oa(e){return typeof e=="string"?{type:e}:e}function Zn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:Gt(e)}}function eo(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var n=Object.assign({},s);return typeof a.assignment=="function"?n=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){n[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=n,!1}return!0}),s,i]}function aa(e,t){t===void 0&&(t={});var r=Qn(eo(yi(e.states[e.initial].entry).map(function(n){return Kn(n,t.actions)}),e.context,na),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:Gt(e.initial)},transition:function(n,u){var l,c,o=typeof n=="string"?{value:n,context:e.context}:n,d=o.value,f=o.context,h=oa(u),m=e.states[d];if(m.on){var p=yi(m.on[h.type]);try{for(var g=(function(_){var J=typeof Symbol=="function"&&Symbol.iterator,ie=J&&_[J],ee=0;if(ie)return ie.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&ee>=_.length&&(_=void 0),{value:_&&_[ee++],done:!_}}};throw new TypeError(J?"Object is not iterable.":"Symbol.iterator is not defined.")})(p),b=g.next();!b.done;b=g.next()){var y=b.value;if(y===void 0)return Zn(d,f);var w=typeof y=="string"?{target:y}:y,C=w.target,v=w.actions,S=v===void 0?[]:v,x=w.cond,M=x===void 0?function(){return!0}:x,I=C===void 0,N=C??d,F=e.states[N];if(M(f,h)){var k=Qn(eo((I?yi(S):[].concat(m.exit,S,F.entry).filter(function(_){return _})).map(function(_){return Kn(_,a._options.actions)}),f,h),3),E=k[0],ce=k[1],oe=k[2],j=C??d;return{value:j,context:ce,actions:E,changed:C!==d||E.length>0||oe,matches:Gt(j)}}}}catch(_){l={error:_}}finally{try{b&&!b.done&&(c=g.return)&&c.call(g)}finally{if(l)throw l.error}}}return Zn(d,f)}};return a}var to=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function la(e){var t=e.initialState,r=Qe.NotStarted,s=new Set,i={_machine:e,send:function(a){r===Qe.Running&&(t=e.transition(t,a),to(t,oa(a)),s.forEach(function(n){return n(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var n=typeof a=="object"?a:{context:e.config.context,value:a};t={value:n.value,actions:[],context:n.context,matches:Gt(n.value)}}return r=Qe.Running,to(t,na),i},stop:function(){return r=Qe.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function Mc(e,t){for(let r=e.length-1;r>=0;r--){let s=e[r];if(s.type===T.Meta&&s.timestamp<=t)return e.slice(r)}return e}function Rc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){let i=aa({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:He({lastPlayedEvent:(a,n)=>n.type==="CAST_EVENT"?n.payload.event:a.lastPlayedEvent}),recordTimeOffset:He((a,n)=>{let u=a.timeOffset;return"payload"in n&&"timeOffset"in n.payload&&(u=n.payload.timeOffset),{...a,timeOffset:u,baselineTime:a.events[0].timestamp+u}}),play(a){var n;let{timer:u,events:l,baselineTime:c,lastPlayedEvent:o}=a;u.clear();for(let m of l)Jn(m,c);let d=Mc(l,c),f=o?.timestamp;o?.type===T.IncrementalSnapshot&&o.data.source===D.MouseMove&&(f=o.timestamp+((n=o.data.positions[0])==null?void 0:n.timeOffset)),c<(f||0)&&s.emit(V.PlayBack);let h=new Array;for(let m of d)if(!(f&&f<c&&(m.timestamp<=f||m===o)))if(m.timestamp<c)h.push(m);else{let p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(h),s.emit(V.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:He(a=>({...a,lastPlayedEvent:null})),startLive:He({baselineTime:(a,n)=>(a.timer.start(),n.type==="TO_LIVE"&&n.payload.baselineTime?n.payload.baselineTime:Date.now())}),addEvent:He((a,n)=>{let{baselineTime:u,timer:l,events:c}=a;if(n.type==="ADD_EVENT"){let{event:o}=n.payload;Jn(o,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=o.timestamp)c.push(o);else{let m=-1,p=0;for(;p<=d;){let g=Math.floor((p+d)/2);c[g].timestamp<=o.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,o)}let f=o.timestamp<u,h=t(o,f);f?h():l.isActive()&&l.addAction({doAction:()=>{h()},delay:o.delay})}return{...a,events:c}})}});return la(i)}function Nc(e){let t=aa({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:He({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return la(t)}var Oc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],ro=new Map;function ua(e,t){let r=ro.get(e);return r||(r=new Map,ro.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function _e(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){let i=await _e(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;let{rr_type:i,index:a}=s;return ua(t,i)[a]}else if("args"in s){let{rr_type:i,args:a}=s,n=window[i];return new n(...await Promise.all(a.map(_e(e,t,r))))}else{if("base64"in s)return yc(s.base64);if("src"in s){let i=e.get(s.src);if(i)return i;{let a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){let i=await Promise.all(s.data.map(_e(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(_e(e,t,r)));return s}}function Ic(e,t){try{return t===Re.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch{return null}}var Ac=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function Dc(e,t){if(!t?.constructor)return;let{name:r}=t.constructor;if(!Ac.includes(r))return;let s=ua(e,r);s.includes(t)||s.push(t)}async function kc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{let a=Ic(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}let n=a[e.property],u=await Promise.all(e.args.map(_e(s,a))),l=n.apply(a,u);Dc(a,l);let c=!1}catch(a){i(e,a)}}async function Tc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){let a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}let n=t.map(async l=>Promise.all(l.args.map(_e(s,a))));(await Promise.all(n)).forEach((l,c)=>{let o=t[c];try{if(o.setter){a[o.property]=o.args[0];return}let d=a[o.property];o.property==="drawImage"&&typeof o.args[0]=="string"?(s.get(e),d.apply(a,o.args)):d.apply(a,l)}catch(d){i(o,d)}})}async function io({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{let n=i.get(e)||t,u="commands"in n?n.commands:[n];if([Re.WebGL,Re.WebGL2].includes(t.type)){for(let l=0;l<u.length;l++){let c=u[l];await kc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await Tc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(n){a(t,n)}}var Wi=class{constructor(t){R(this,"mediaMap",new Map),R(this,"warn"),R(this,"service"),R(this,"speedService"),R(this,"emitter"),R(this,"getCurrentTime"),R(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(V.Start,this.start.bind(this)),this.emitter.on(V.SkipStart,this.start.bind(this)),this.emitter.on(V.Pause,this.pause.bind(this)),this.emitter.on(V.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){let a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,n="duration"in r&&r.duration;if(Number.isNaN(n)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&n!==!1&&(u=u%n),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;let r=()=>{this.metadataCallbackMap.delete(t);let s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){let i=this.mediaMap.get(t),{type:a,playbackRate:n,currentTime:u,muted:l,volume:c,loop:o}=s;return{isPlaying:a===Te.Play||a!==Te.Pause&&(i?.isPlaying||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:r,playbackRate:n??i?.playbackRate??1,volume:c??i?.volume??1,muted:l??i?.muted??t.getAttribute("muted")===null,loop:o??i?.loop??t.getAttribute("loop")===null}}syncTargetWithState(t){let r=this.mediaMap.get(t);if(!r)return;let{muted:s,loop:i,volume:a,isPlaying:n}=r,u=this.service.state.matches("paused"),l=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==l&&(t.playbackRate=l),n&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;let i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;let n=this.service.state.matches("paused"),u=a.attributes,l=!1;u.rr_mediaState?l=u.rr_mediaState==="played":l=i.getAttribute("autoplay")!==null,l&&n&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let o=!1;typeof u.rr_mediaMuted=="boolean"?o=u.rr_mediaMuted:o=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let f=1;typeof u.rr_mediaVolume=="number"&&(f=u.rr_mediaVolume);let h=0;typeof u.rr_mediaCurrentTime=="number"&&(h=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:l,currentTimeAtLastInteraction:h,lastInteractionTimeOffset:r,playbackRate:c,volume:f,muted:o,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}};function It(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),n=typeof t?.attributes.open=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),n&&(u?r.showModal():r.show())}}function _c(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}var Pc=5*1e3,Lc=xc,so="[replayer]",wi={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function no(e){return e.type==T.IncrementalSnapshot&&(e.data.source==D.TouchMove||e.data.source==D.MouseInteraction&&e.data.type==q.TouchStart)}var Ht=class{constructor(t,r){if(R(this,"wrapper"),R(this,"iframe"),R(this,"UNSAFE_replayCanvas",!1),R(this,"service"),R(this,"speedService"),R(this,"config"),R(this,"usingVirtualDom",!1),R(this,"virtualDom",new Ze),R(this,"mouse"),R(this,"mouseTail",null),R(this,"tailPositions",[]),R(this,"emitter",Lc()),R(this,"nextUserInteractionEvent"),R(this,"legacy_missingNodeRetryMap",{}),R(this,"cache",sn()),R(this,"imageMap",new Map),R(this,"canvasEventMap",new Map),R(this,"mirror",co()),R(this,"styleMirror",new Wt),R(this,"mediaManager"),R(this,"firstFullSnapshot",null),R(this,"newDocumentQueue",[]),R(this,"mousePos",null),R(this,"touchActive",null),R(this,"lastMouseDownEvent",null),R(this,"lastHoveredRootNode"),R(this,"lastSelectionData",null),R(this,"constructedStyleMutations",[]),R(this,"adoptedStyleSheets",[]),R(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let l of[this.mouseTail,this.iframe])l&&(l.setAttribute("width",String(u.width)),l.setAttribute("height",String(u.height)))}),R(this,"applyEventsSynchronously",u=>{for(let l of u){switch(l.type){case T.DomContentLoaded:case T.Load:continue;case T.FullSnapshot:case T.Meta:case T.Plugin:case T.IncrementalSnapshot:break}this.getCastFn(l,!0)()}}),R(this,"getCastFn",(u,l=!1)=>{let c;switch(u.type){case T.DomContentLoaded:case T.Load:break;case T.Custom:c=()=>{this.emitter.emit(V.CustomEvent,u)};break;case T.Meta:c=()=>this.emitter.emit(V.Resize,{width:u.data.width,height:u.data.height});break;case T.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,l),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case T.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,l),!l&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){let d=this.nextUserInteractionEvent.delay-u.delay,f={speed:Math.min(Math.round(d/Pc),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:f}),this.emitter.emit(V.SkipStart,f)}}};break}return()=>{c&&c();for(let f of this.config.plugins||[])f.handler&&f.handler(u,l,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){let f=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(V.Finish))},h=50;u.type===T.IncrementalSnapshot&&u.data.source===D.MouseMove&&u.data.positions.length&&(h+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(f,h)}this.emitter.emit(V.EventCast,u)}}),!r?.liveMode&&t.length<2)throw new Error("Replayer need at least 2 events.");let s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:wi,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(V.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(V.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:(l,c,o)=>{io({event:l,mutation:c,target:o,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(l,c)=>{l.source===D.StyleSheetRule?this.applyStyleSheetRule(l,c):l.source===D.StyleDeclaration&&this.applyStyleDeclaration(l,c)},afterAppend:(l,c)=>{for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{Bt(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(l){this.warn(l)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let l in this.legacy_missingNodeRetryMap)try{let c=this.legacy_missingNodeRetryMap[l],o=zt(c.node,this.mirror,this.virtualDom.mirror);Bt(o,c.node,u,this.virtualDom.mirror),c.node=o}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(l=>{this.applyStyleSheetMutation(l)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(l=>{this.applyAdoptedStyleSheet(l)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,l]=this.lastMouseDownEvent;u.dispatchEvent(l)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(V.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new zi([],{speed:this.config.speed});this.service=Rc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,l)=>u.timestamp-l.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(V.StateChange,{player:u})}),this.speedService=Nc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(V.StateChange,{speed:u})}),this.mediaManager=new Wi({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let a=this.service.state.context.events.find(u=>u.type===T.Meta),n=this.service.state.context.events.find(u=>u.type===T.FullSnapshot);if(a){let{width:u,height:l}=a.data;setTimeout(()=>{this.emitter.emit(V.Resize,{width:u,height:l})},0)}n&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=n,this.rebuildFullSnapshot(n),(u=this.iframe.contentWindow)==null||u.scrollTo(n.data.initialOffset))},1),this.service.state.context.events.find(no)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail<"u"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.config.liveMode&&this.timer.updateLiveTime(),this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(V.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(V.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(V.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(V.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){let r=this.config.unpackFn?this.config.unpackFn(t):t;no(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=sn()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.config.UNSAFE_replayCanvas?(this.iframe=document.createElement("iframe"),this.iframe.setAttribute("sandbox","allow-same-origin allow-scripts"),this.wrapper.appendChild(this.iframe),this.UNSAFE_replayCanvas=!0):(this.iframe=Zl({root:this.wrapper}),this.UNSAFE_replayCanvas=!1),this.iframe.style.display="none",this.disableInteract(),this.iframe.contentWindow&&this.iframe.contentDocument&&(Ec(this.iframe.contentWindow,this.iframe.contentDocument),qo(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let s=[],i=new Set,a=(l,c)=>{if(l.nodeName==="DIALOG"&&i.add(l),this.collectIframeAndAttachDocument(s,l),this.mediaManager.isSupportedMediaElement(l)){let{events:o}=this.service.state.context;this.mediaManager.addMediaElements(l,t.timestamp-o[0].timestamp,this.mirror)}for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Kl(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror,UNSAFE_allowUnprotectedRebuild:this.UNSAFE_replayCanvas}),a(this.iframe.contentDocument,t.data.node.id);for(let{mutationInQueue:l,builtNode:c}of s)this.attachDocumentToIframe(l,c),this.newDocumentQueue=this.newDocumentQueue.filter(o=>o!==l);let{documentElement:n,head:u}=this.iframe.contentDocument;this.insertStyleRules(n,u),i.forEach(l=>It(l)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(V.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;let i=Oc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,Lo(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:D.StyleSheetRule,adds:i.map((n,u)=>({rule:n,index:u}))})}else{let a=document.createElement("style");t.insertBefore(a,r);for(let n=0;n<i.length;n++)(s=a.sheet)==null||s.insertRule(i[n],n)}}attachDocumentToIframe(t,r){let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,n=(u,l)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);let c=s.getMeta(u);if(c?.type===Ee.Element&&c?.tagName.toUpperCase()==="HTML"){let{documentElement:o,head:d}=r.contentDocument;this.insertStyleRules(o,d)}if(!this.usingVirtualDom)for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(u,{id:l,replayer:this})};lt(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:n,cache:this.cache}),n(r.contentDocument,t.node.id);for(let{mutationInQueue:u,builtNode:l}of i)this.attachDocumentToIframe(u,l),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>It(u))}collectIframeAndAttachDocument(t,r){if(ut(r,this.mirror)){let s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;let r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){let s=new Set,i,a=this.service.state,n=()=>{a=this.service.state};this.emitter.on(V.Start,n),this.emitter.on(V.Pause,n);let u=()=>{this.emitter.off(V.Start,n),this.emitter.off(V.Pause,n)};r.querySelectorAll('link[rel="stylesheet"]').forEach(l=>{l.sheet||(s.add(l),l.addEventListener("load",()=>{s.delete(l),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(V.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(V.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let t=[];for(let r of this.service.state.context.events)r.type===T.IncrementalSnapshot&&r.data.source===D.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){let s=document.createElement("canvas"),i=s.getContext("2d"),a=i?.createImageData(s.width,s.height);i?.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){let s={isUnchanged:!0};if("commands"in t){let i=await Promise.all(t.commands.map(async a=>{let n=await Promise.all(a.args.map(_e(this.imageMap,null,s)));return{...a,args:n}}));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,commands:i})}else{let i=await Promise.all(t.args.map(_e(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,args:i})}}}applyIncremental(t,r){var s,i,a;let{data:n}=t;switch(n.source){case D.Mutation:{try{this.applyMutation(n,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,n)}break}case D.Drag:case D.TouchMove:case D.MouseMove:if(r){let u=n.positions[n.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:n}}else n.positions.forEach(u=>{let l={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,n)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(l)}),this.timer.addAction({doAction(){},delay:t.delay-((s=n.positions[0])==null?void 0:s.timeOffset)});break;case D.MouseInteraction:{if(n.id===-1)break;let u=new Event(Me(q[n.type])),l=this.mirror.getNode(n.id);if(!l)return this.debugNodeNotFound(n,n.id);this.emitter.emit(V.MouseInteraction,{type:n.type,target:l});let{triggerFocus:c}=this.config;switch(n.type){case q.Blur:"blur"in l&&l.blur();break;case q.Focus:c&&l.focus&&l.focus({preventScroll:!0});break;case q.Click:case q.TouchStart:case q.TouchEnd:case q.MouseDown:case q.MouseUp:r?(n.type===q.TouchStart?this.touchActive=!0:n.type===q.TouchEnd&&(this.touchActive=!1),n.type===q.MouseDown?this.lastMouseDownEvent=[l,u]:n.type===q.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:n.x||0,y:n.y||0,id:n.id,debugData:n}):(n.type===q.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x||0,n.y||0,n.id,r,n),n.type===q.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===q.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===q.TouchEnd?this.mouse.classList.remove("touch-active"):l.dispatchEvent(u));break;case q.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:l.dispatchEvent(u)}break}case D.Scroll:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.scrollData=n;break}this.applyScroll(n,r);break}case D.ViewportResize:this.emitter.emit(V.Resize,{width:n.width,height:n.height});break;case D.Input:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.inputData=n;break}this.applyInput(n);break}case D.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(n.id):this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);let l=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:l,timeOffset:t.timestamp-c[0].timestamp,mutation:n});break}case D.StyleSheetRule:case D.StyleDeclaration:{this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&((i=this.virtualDom.mirror.getNode(n.id))==null||i.rules.push(n)):this.applyStyleSheetMutation(n);break}case D.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.canvasMutations.push({event:t,mutation:n})}else{let u=this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);io({event:t,mutation:n,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case D.Font:{try{let u=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case D.Selection:{if(r){this.lastSelectionData=n;break}this.applySelection(n);break}case D.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,Tu(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let c in this.legacy_missingNodeRetryMap)try{let o=this.legacy_missingNodeRetryMap[c],d=Po(o.node,this.virtualDom,this.mirror);d&&(o.node=d)}catch(o){this.warn(o)}let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return;let f=s.getNode(c.parentId);if(!f)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(f)&&(f=f.shadowRoot),s.removeNodeFromMap(d),f)try{f.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&f.nodeName==="STYLE"&&((o=f.rules)==null?void 0:o.length)>0&&(f.rules=[])}catch(h){if(h instanceof DOMException)this.warn("parent could not remove child in mutation",f,d,t);else throw h}});let i={...this.legacy_missingNodeRetryMap},a=[],n=c=>{let o=null;return c.nextId&&(o=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!o},u=c=>{var o,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let f=s.getNode(c.parentId);if(!f)return c.node.type===Ee.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(f)||f.attachShadow({mode:"open"}),f=f.shadowRoot);let h=null,m=null;if(c.previousId&&(h=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),n(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;let p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(ut(f,s)){this.attachDocumentToIframe(c,f);return}let g=(w,C)=>{if(!this.usingVirtualDom){It(w);for(let v of this.config.plugins||[])v.onBuild&&v.onBuild(w,{id:C,replayer:this})}},b=lt(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:b,mutation:c};return}let y=s.getMeta(f);if(y&&y.type===Ee.Element&&c.node.type===Ee.Text){let w=Array.isArray(f.childNodes)?f.childNodes:Array.from(f.childNodes);if(y.tagName==="textarea")for(let C of w)C.nodeType===f.TEXT_NODE&&f.removeChild(C);else if(y.tagName==="style"&&w.length===1)for(let C of w)C.nodeType===f.TEXT_NODE&&!s.hasNode(C)&&(b.textContent=C.textContent,f.removeChild(C))}else if(y?.type===Ee.Document){let w=f;c.node.type===Ee.DocumentType&&((o=w.childNodes[0])==null?void 0:o.nodeType)===Node.DOCUMENT_TYPE_NODE&&w.removeChild(w.childNodes[0]),b.nodeName==="HTML"&&w.documentElement&&w.removeChild(w.documentElement)}if(h&&h.nextSibling&&h.nextSibling.parentNode?f.insertBefore(b,h.nextSibling):m&&m.parentNode?f.contains(m)?f.insertBefore(b,m):f.insertBefore(b,null):f.appendChild(b),g(b,c.node.id),this.usingVirtualDom&&b.nodeName==="#text"&&f.nodeName==="STYLE"&&((d=f.rules)==null?void 0:d.length)>0&&(f.rules=[]),ut(b,this.mirror)){let w=this.mirror.getId(b),C=this.newDocumentQueue.find(v=>v.parentId===w);C&&(this.attachDocumentToIframe(C,b),this.newDocumentQueue=this.newDocumentQueue.filter(v=>v!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,f,b,c)};t.adds.forEach(c=>{u(c)});let l=Date.now();for(;a.length;){let c=Xu(a);if(a.length=0,Date.now()-l>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(let o of c)s.getNode(o.value.parentId)?Go(o,f=>{u(f)}):this.debug("Drop resolve tree since there is no parent for the root node.",o)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Ju(t.texts).forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);let f=d.parentElement;if(c.value&&f&&f.tagName==="STYLE"?d.textContent=Zt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){let h=d.parentNode;((o=h?.rules)==null?void 0:o.length)>0&&(h.rules=[])}}),t.attributes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(let f in c.attributes)if(typeof f=="string"){let h=c.attributes[f];if(h===null)d.removeAttribute(f),f==="open"&&_c(d,c);else if(typeof h=="string")try{if(f==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{let m=s.getMeta(d),p=lt({...m,attributes:{...m.attributes,...c.attributes}},{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);let g=d.nextSibling,b=d.parentNode;if(p&&b){b.removeChild(d),b.insertBefore(p,g),s.replace(c.id,p);break}}catch{}if(f==="value"&&d.nodeName==="TEXTAREA"){let m=d;m.childNodes.forEach(g=>m.removeChild(g));let p=(o=d.ownerDocument)==null?void 0:o.createTextNode(h);p&&m.appendChild(p)}else d.setAttribute(f,h);f==="rr_open_mode"&&d.nodeName==="DIALOG"&&It(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(f==="style"){let m=h,p=d;for(let g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){let b=m[g];p.style.setProperty(g,b[0],b[1])}else{let b=m[g];p.style.setProperty(g,b)}}}})}applyScroll(t,r){var s,i;let a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);let n=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if(n?.type===Ee.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch{}}applyInput(t){let r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch{}}applySelection(t){try{let r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:n,endOffset:u})=>{let l=this.mirror.getNode(i),c=this.mirror.getNode(n);if(!l||!c)return;let o=new Range;o.setStart(l,a),o.setEnd(c,u);let d=l.ownerDocument,f=d?.getSelection();return f&&r.add(f),{range:o,selection:f}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch{}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===D.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===D.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,n;if((s=t.adds)==null||s.forEach(({rule:u,index:l})=>{try{if(Array.isArray(l)){let{positions:c,index:o}=Bn(l),d=st(r.cssRules,c);d?.insertRule(u,o)}else{let c=l===void 0?void 0:Math.min(l,r.cssRules.length);r?.insertRule(u,c)}}catch{}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:l,index:c}=Bn(u),o=st(r.cssRules,l);o?.deleteRule(c||0)}else r?.deleteRule(u)}catch{}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch{}if(typeof t.replaceSync=="string")try{(n=r.replaceSync)==null||n.call(r,t.replaceSync)}catch{}}applyStyleDeclaration(t,r){if(t.set){let s=st(r.rules,t.index);s?.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){let s=st(r.rules,t.index);s?.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;let s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var l;let c=null,o=null;if(Ue(s)?o=((l=s.ownerDocument)==null?void 0:l.defaultView)||null:s.nodeName==="#document"&&(o=s.defaultView),!!o)try{c=new o.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:D.StyleSheetRule,adds:u.rules},c)}catch{}});let i=10,a=0,n=(u,l)=>{let c=l.map(o=>this.styleMirror.getStyle(o)).filter(o=>o!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==l.length&&a<i&&(setTimeout(()=>n(u,l),0+100*a),a++)};n(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){let{previousId:a,nextId:n}=i,u=a&&t[a],l=n&&t[n];if(u){let{node:c,mutation:o}=u;r.insertBefore(c,s),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}if(l){let{node:c,mutation:o}=l;r.insertBefore(c,s.nextSibling),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}}moveAndHover(t,r,s,i,a){let n=this.mirror.getNode(s);if(!n)return this.debugNodeNotFound(a,s);let u=Yo(n,this.iframe),l=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${l}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:l,y:c}),this.hoverElements(n)}drawMouseTail(t){if(!this.mouseTail)return;let{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?wi:Object.assign({},wi,this.config.mouseTail),n=()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(l=>u.lineTo(l.x,l.y)),u.stroke())};this.tailPositions.push(t),n(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),n()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==T.IncrementalSnapshot?!1:t.data.source>D.Mutation&&t.data.source<=D.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(V.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(so,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(so,...t)}},{addCustomEvent:Zc}=je,{freezePage:ef}=je,{takeFullSnapshot:tf}=je;function fa(e,t){e.pause(t+1)}var ca=new WeakMap,tt=e=>`${Math.floor(Math.max(0,e)/6e4)}:${String(Math.floor(Math.max(0,e)/1e3)%60).padStart(2,"0")}`;function ha(e,t){let r=e.getElementById("completeness");if(!r)return;let s={confirmed:z.__("Received through the last confirmed checkpoint. This does not confirm that the entire visit was recorded.","clickclue"),interrupted:z.__("Recording interrupted. Some activity is missing; interpret this replay as a partial visit.","clickclue"),unconfirmed:z.__("Uploads may still be arriving. You can watch the saved activity now and load the latest activity after the visit ends. If the final upload never arrives, later activity may be missing.","clickclue"),legacy:z.__("Delivery status is unavailable for this older recording.","clickclue")},i=Object.hasOwn(s,t?.status)?t.status:"legacy";r.textContent=s[i],r.dataset.status=i}function Fc(e,t,r="width"){let s=(o,d,f)=>Number.isFinite(Number(o))&&Number(o)>0?Math.min(f,Number(o)):d,i=s(e?.width,1280,1e5),a=s(e?.height,800,1e5),n=s(t?.width,1,1e5),u=s(t?.height,1,1e5),l=Number(r),c=r==="fit"?Math.min(n/i,u/a,1):["0.5","0.75","1","1.25","1.5","2"].includes(r)?l:Math.min(n/i,1);return{width:i,height:a,scale:Math.max(.001,c)}}function da(e,t=new Map){if(!e?.head)return;let r=ca.get(e);if(e.getElementById("clickclue-placeholder-style")&&r?.media===t)return;r?.dispose(),e.getElementById("clickclue-placeholder-style")?.remove();let s=e.createElement("style");s.id="clickclue-placeholder-style";let i=a=>'"'+Array.from(a,n=>"\\"+n.codePointAt(0).toString(16)+" ").join("")+'"';s.textContent=".tw-redacted{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#eef1e9!important;outline:1px dashed #9aab8c!important}.tw-redacted::after{display:block!important;padding:8px!important;color:#435737!important;font:12px/1.4 Arial,sans-serif!important;overflow:hidden!important;content:"+i(z.__("Content excluded","clickclue"))+"}.tw-media-image::after{content:"+i(z.__("Image excluded","clickclue"))+"}.tw-media-video::after{content:"+i(z.__("Video excluded","clickclue"))+"}.tw-media-audio::after{content:"+i(z.__("Audio excluded","clickclue"))+"}.tw-media-embedded::after{content:"+i(z.__("Embedded content excluded","clickclue"))+"}.tw-media-canvas::after{content:"+i(z.__("Canvas excluded","clickclue"))+"}.tw-approved-media{outline:none!important}.tw-approved-media::after{display:none!important}",e.head.append(s),ca.set(e,{media:t,dispose:ws(e,t)})}function pa({doc:e=document,getDimensions:t,isReady:r}){let s=e.defaultView,i=c=>e.getElementById(c),a=!1;function n(){let c=i("viewport"),{width:o,height:d,scale:f}=Fc(t(),{width:c.clientWidth-24,height:c.clientHeight-24},i("zoom").value);Object.assign(i("stage").style,{width:o+"px",height:d+"px",transform:`scale(${f})`}),Object.assign(i("stage-size").style,{width:Math.ceil(o*f)+"px",height:Math.ceil(d*f)+"px"}),i("viewport-size").textContent=`${Math.round(o)} \xD7 ${Math.round(d)} \xB7 ${Math.round(f*100)}%`}function u(c){a=c,i("zoom").disabled=!c,i("fullscreen").disabled=!c,c?n():i("viewport-size").textContent=z.__("Recorded viewport","clickclue")}return i("zoom").onchange=()=>{n(),i("viewport").scrollTop=0,i("viewport").scrollLeft=0},i("fullscreen").hidden=!e.fullscreenEnabled||typeof e.documentElement.requestFullscreen!="function",i("fullscreen").onclick=async()=>{try{e.fullscreenElement?await e.exitFullscreen():await e.documentElement.requestFullscreen(),i("view-feedback").textContent=""}catch{i("view-feedback").textContent=z.__("Fullscreen is unavailable in this browser. Use Fit width or a zoom level to inspect the recording.","clickclue")}},e.addEventListener("fullscreenchange",()=>{i("fullscreen").textContent=e.fullscreenElement?z.__("Exit fullscreen","clickclue"):z.__("Fullscreen","clickclue"),n()}),(typeof s.ResizeObserver=="function"?new s.ResizeObserver(()=>{a&&r()&&n()}):null)?.observe(i("viewport")),s.addEventListener("resize",()=>{a&&r()&&n()}),{fit:n,ready:u}}function ma(e,t,r){let s=e.getElementById("markers"),i=e.getElementById("event-ticks");s.replaceChildren(),i.replaceChildren();let a=e.createElement("option");a.value="",a.textContent=t.length?z.sprintf(/* translators: %1$s: number of event markers. */ z.__("Jump to an event (%1$s)","clickclue"),t.length):z.__("No event markers in this recording","clickclue"),s.append(a);for(let n of t.slice(0,200)){let u=`${tt(n.time)} \xB7 ${n.label}`,l=e.createElement("option");l.value=String(n.time),l.textContent=u,s.append(l);let c=e.createElement("span");c.className="event-tick"+(n.error||n.clue?" event-clue":""),c.style.left=Math.min(100,Math.max(0,n.time/Math.max(1,r)*100))+"%",c.title=u,i.append(c)}e.getElementById("event-count").textContent=t.length>200?z.__("First 200 markers shown; Previous and Next reach every event.","clickclue"):z.__("Use Previous, Next or the event list to inspect a moment.","clickclue")}function Uc(e,t="https://example.invalid"){try{let r=new URL(e,t),i=["p","page_id"].filter(u=>r.searchParams.has(u));if(i.length!==1)return null;let a=i[0],n=r.searchParams.getAll(a);return n.length!==1||!/^[1-9][0-9]{0,9}$/.test(n[0])?null:{path:r.pathname,key:a,id:n[0],identity:r.pathname+"?"+a+"="+n[0]}}catch{return null}}function ga(e,t="https://example.invalid"){try{let r=new URL(e,t),s=r.pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500),i=Uc(e,t);return i&&s===i.path&&r.search==="?"+i.key+"="+i.id&&(s+r.search).length<=500?s+r.search:s}catch{return"/"}}var or={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ya=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),wa=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),ba=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),ff=[...Object.keys(or),...ya,...wa,...ba,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function $c(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(or,e))return or[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&or[e].includes(t)?t:null;if(ya.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(wa.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let r=t.split(" ");return t==="none"?"none":r.length<=64&&r.every(s=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=1e5)?t:null}if(ba.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(r=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(r)&&parseFloat(r)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let r=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!r)return null;let s=r[2].split(",").map(i=>i.trim());return s.length===(r[1]==="matrix"?6:16)&&s.every(i=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(i)&&Number.isFinite(Number(i))&&Math.abs(Number(i))<=1e5)?t:null}if(["color","background-color"].includes(e)){let r=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return r&&r.slice(1,4).every(s=>Number(s)<=255)?t:null}return null}function cs(e){if(typeof e!="string"||e.length>4096)return"";let t=[],r=new Set;for(let i of e.split(";").slice(0,100)){let a=i.indexOf(":");if(a<1)continue;let n=i.slice(0,a).trim();if(r.has(n))continue;let u=$c(n,i.slice(a+1));u!==null&&(r.add(n),t.push(n+":"+u))}let s=t.join(";");return s.length<=4096?s:""}function va(e){return cs(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}var fs=e=>String(e??"").replace(/\S/g,"*"),Bc=ga;function Ce(e){let t=String(e??""),r="",s=0,i=u=>{let l=t.slice(u+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(l){let c=parseInt(l[0],16);return[c>0&&c<=1114111?String.fromCodePoint(c):"\uFFFD",u+1+l[0].length]}return[t[u+1]||"",Math.min(t.length,u+2)]},a=u=>{let l=t[u++];for(;u<t.length;)if(t[u]==="\\")u=i(u)[1];else if(t[u++]===l)break;return u},n=u=>{let l=t.indexOf("*/",u+2);return l<0?t.length:l+2};for(;s<t.length;){if(t.startsWith("/*",s)){s=n(s),r+=" ";continue}if(t[s]==='"'||t[s]==="'"){s=a(s),r+='""';continue}if(/[a-z_\\-]/i.test(t[s])){let u=s,l="";for(;s<t.length&&/[a-z0-9_\\-]/i.test(t[s]);)if(t[s]==="\\"){let[o,d]=i(s);l+=o,s=d}else l+=t[s++];let c=s;for(;c<t.length;)if(/\s/.test(t[c]))c++;else if(t.startsWith("/*",c))c=n(c);else break;if(l.toLowerCase()==="url"&&t[c]==="("){s=c+1;let o=1;for(;s<t.length&&o;)t[s]==="\\"?s=i(s)[1]:t[s]==='"'||t[s]==="'"?s=a(s):t.startsWith("/*",s)?s=n(s):(t[s]==="("&&o++,t[s]===")"&&o--,s++);r+="none"}else r+=t.slice(u,s);continue}r+=t[s++]}return r.replace(/@import[^;{}]*;?/gi,"")}var zc=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function Sa(e={}){let t={};for(let[r,s]of Object.entries(e))if(s===null)t[r]=null;else if(r==="style"&&s&&typeof s=="object"&&!Array.isArray(s))t[r]=Object.fromEntries(Object.entries(s).map(([i,a])=>[i,a===!1?!1:Array.isArray(a)?[Ce(a[0]),a[1]==="important"?"important":""]:Ce(a)]));else if(r==="style"||r==="_cssText")t[r]=Ce(s);else if(r==="data-tw-image-fit")t[r]=bt(s);else if(r==="data-tw-image-position")t[r]=wt(s);else if(r==="data-tw-layout"){let i=cs(s);i&&(t[r]=i)}else r==="data-tw-media"&&typeof s=="string"&&/^[a-f0-9]{64}$/.test(s)?t[r]=s:r==="href"?t[r]="#":zc.has(r)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(s))?t[r]=s:s===null&&(t[r]=null);if(t["data-tw-layout"]){let r=va(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let s of r.split(";")){let i=s.indexOf(":");i>0&&(t.style[s.slice(0,i)]=[s.slice(i+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+r}return t}var Wc=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),jc={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function Vc(e,t={}){let r=u=>{if(typeof u!="number"&&typeof u!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(u)))return null;let l=parseFloat(u);return Number.isFinite(l)?Math.min(8192,Math.max(0,l)):null},s=r(t.rr_width??t.width),i=r(t.rr_height??t.height),a=jc[e];if(!a)return{class:"tw-redacted",style:"display:none"};let n=(s===null?"":`;width:${s}px`)+(i===null?";min-height:24px":`;height:${i}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":bt(t["data-tw-image-fit"]),"data-tw-image-position":wt(t["data-tw-image-position"])}:{},class:"tw-redacted"+(a?" tw-media-"+a:""),style:"background:#edf0e9;overflow:hidden"+n}}function hs(e,t,r="",s=null){if(!e||typeof e!="object")return e;let i={...e},a=r==="style"||i.isStyle||i.tagName?.toLowerCase()==="style";return s&&a&&s.styleNodes.add(i.id),i.tagName&&Wc.has(i.tagName.toLowerCase())?{type:2,tagName:"div",attributes:Vc(i.tagName.toLowerCase(),i.attributes),childNodes:[],id:i.id,needBlock:!0}:(i.attributes&&(i.attributes=Sa(i.attributes)),typeof i.textContent=="string"&&(i.textContent=a?Ce(i.textContent):t.maskText?fs(i.textContent):i.textContent),i.childNodes&&(i.childNodes=i.childNodes.map(n=>hs(n,t,i.tagName||r,s))),i)}var qc=new Set(["page","click","rage_click"]);function Ca(e={maskText:!0}){let t={styleNodes:new Set};return r=>Gc(r,e,t)}function Gc(e,t={maskText:!0},r=null){if(!e||e.type>5)return null;let s={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(s.type===2&&(r?.styleNodes.clear(),s.data.node=hs(s.data.node,t,"",r)),s.type===4&&(s.data.href=Bc(s.data.href)),s.type===5){let i=qc.has(s.data.tag)?{}:t.sanitizeCustom?.(s.data.tag,s.data.payload)??null;if(i===null)return null;s.data={tag:s.data.tag,payload:i}}if(s.type===3){if([7,9,10,11].includes(s.data.source))return null;if(s.data.source===5&&(s.data.text=fs(s.data.text)),s.data.attributes&&(s.data.attributes=s.data.attributes.map(i=>({...i,attributes:Sa(i.attributes)}))),s.data.adds&&s.data.source===0&&(s.data.adds=s.data.adds.map(i=>({...i,node:hs(i.node,t,r?.styleNodes.has(i.parentId)?"style":"",r)}))),s.data.texts&&(s.data.texts=s.data.texts.map(i=>({...i,value:r?.styleNodes.has(i.id)?Ce(i.value):t.maskText?fs(i.value):r?i.value:Ce(i.value)}))),s.data.source===8&&s.data.adds&&(s.data.adds=s.data.adds.map(i=>({...i,rule:Ce(i.rule??"")}))),s.data.source===8)for(let i of["replace","replaceSync"])typeof s.data[i]=="string"&&(s.data[i]=Ce(s.data[i]));s.data.source===15&&s.data.styles&&(s.data.styles=s.data.styles.map(i=>({...i,rules:i.rules.map(a=>({...a,rule:Ce(a.rule)}))}))),s.data.source===13&&s.data.set&&(s.data.set={...s.data.set,value:Ce(s.data.set.value)})}return s}var xa=Object.freeze({get page(){return z.__("Page opened","clickclue")},get click(){return z.__("Click","clickclue")},get rage_click(){return z.__("Repeated clicks","clickclue")}});function Ea(e){let t=e[0]?.timestamp||0;return e.filter(r=>r.type===5&&r.data?.tag!=="click"&&xa[r.data?.tag]).map(r=>({time:Math.max(0,r.timestamp-t),label:xa[r.data.tag],error:!1,clue:r.data.tag==="rage_click"}))}var K,be=0,lr=!1,Ie=[],ds={width:1280,height:800},P=e=>document.getElementById(e),ar=pa({getDimensions:()=>ds,isReady:()=>!!K}),Ma=()=>ar.fit();function ps(e){P("seek").value=String(e),P("time").textContent=`${tt(e)} / ${tt(be)}`,P("seek").setAttribute("aria-valuetext",z.sprintf(/* translators: 1: current replay time, 2: total replay duration. */ z.__("%1$s of %2$s","clickclue"),tt(e),tt(be)));let t=[...Ie].reverse().find(r=>r.time<=e);P("current-event").textContent=t?t.label:z.__("Recording start","clickclue"),P("previous-event").disabled=!Ie.some(r=>r.time<e-100),P("next-event").disabled=!Ie.some(r=>r.time>e+100)}function ur(){K?.pause(),lr=!1,P("play").textContent=z.__("Play","clickclue"),P("activity").textContent=""}function Pe(e){if(!K)return;ur();let t=Math.min(be,Math.max(0,Number(e)||0));fa(K,t),ps(t)}function Ra(e){let t=Number(P("seek").value),r=e>0?Ie.find(s=>s.time>t+100):[...Ie].reverse().find(s=>s.time<t-100);r&&Pe(r.time)}function Hc(e,t=0,r=null,s=null){ha(document,s),ur(),K?.destroy(),K=null,be=0,Ie=[],ar.ready(!1),P("event-ticks").replaceChildren(),P("current-event").textContent="",P("view-feedback").textContent="",P("viewport").scrollTop=0,P("viewport").scrollLeft=0,P("stage").replaceChildren(),P("markers").replaceChildren();for(let i of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])P(i).disabled=!0;try{let i=ys(r),a=Ca({maskText:!1}),n=[...e].sort((f,h)=>f.timestamp-h.timestamp).map(a).filter(Boolean);if(n.length<2||!n.some(f=>f.type===2))throw new Error(z.__("This session has no complete page snapshot.","clickclue"));let u=n.find(f=>f.type===4)?.data;ds={width:Math.max(1,Number(u?.width)||1280),height:Math.max(1,Number(u?.height)||800)},be=Math.max(1,n.at(-1).timestamp-n[0].timestamp),Ie=Ea(n),K=new Ht(n,{root:P("stage"),showWarning:!1,showDebug:!1,blockClass:"rr-block",skipInactive:P("skip-inactive").checked,inactivePeriodThreshold:5e3,maxSpeed:16,speed:Number(P("speed").value),mouseTail:{duration:500,lineCap:"round",lineWidth:2,strokeStyle:"#789255"},UNSAFE_replayCanvas:!1}),K.on("resize",f=>{ds=f,Ma()}),K.on("finish",()=>{ur(),ps(be)}),K.on("skip-start",()=>{P("activity").textContent=z.__("Skipping inactivity","clickclue")}),K.on("skip-end",()=>{P("activity").textContent=""}),ma(document,Ie,be);for(let f of["play","seek","speed","skip-inactive"])P(f).disabled=!1;P("markers").disabled=!Ie.length,P("seek").max=String(be),P("notice").textContent="";let l=n.find(f=>f.type===2),c=K,o=!1,d=()=>{K===c&&da(c.iframe.contentDocument,i),!(o||K!==c||!c.iframe.contentDocument||!c.getMirror().getNode(l.data.node.id))&&(o=!0,queueMicrotask(()=>{K===c&&(ar.ready(!0),window.parent.postMessage({type:"tracewell-player-loaded"},"*"))}))};K.on("fullsnapshot-rebuilded",d),Ma(),Pe(t),d()}catch(i){K?.destroy(),K=null,ar.ready(!1),P("stage").replaceChildren();for(let a of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])P(a).disabled=!0;P("notice").textContent=z.sprintf(/* translators: %s: reconstruction error message. */ z.__("Unable to play this recording: %s","clickclue"),i.message),P("time").textContent="0:00 / 0:00",P("current-event").textContent="",P("event-ticks").replaceChildren(),window.parent.postMessage({type:"tracewell-player-error"},"*")}}P("play").onclick=()=>{if(K)if(lr)ur();else{let e=Number(P("seek").value);e>=be-100&&(e=0),K.play(e),lr=!0,P("play").textContent=z.__("Pause","clickclue")}};P("speed").onchange=()=>K?.setConfig({speed:Number(P("speed").value)});P("skip-inactive").onchange=()=>K?.setConfig({skipInactive:P("skip-inactive").checked});P("seek").oninput=e=>Pe(e.target.value);P("previous-event").onclick=()=>Ra(-1);P("next-event").onclick=()=>Ra(1);P("markers").onchange=e=>{e.target.value!==""&&Pe(e.target.value)};window.addEventListener("keydown",e=>{e.target.closest?.("input,select,button,textarea,a")||e.altKey||e.ctrlKey||e.metaKey||!K||(e.code==="Space"&&(e.preventDefault(),P("play").click()),e.key==="Home"&&(e.preventDefault(),Pe(0)),e.key==="End"&&(e.preventDefault(),Pe(be)),["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),Pe(Number(P("seek").value)+(e.key==="ArrowRight"?5e3:-5e3))))});setInterval(()=>{lr&&K&&ps(Math.min(be,K.getCurrentTime()))},100);window.addEventListener("message",e=>{e.source===window.parent&&(e.data?.type==="tracewell-player-ping"&&window.parent.postMessage({type:"tracewell-player-ready"},"*"),e.data?.type==="load"&&Array.isArray(e.data.events)&&(ms(document,e.data),Hc(e.data.events,e.data.startAt,e.data.media,e.data.completeness)),e.data?.type==="seek"&&Pe(e.data.time))});window.parent.postMessage({type:"tracewell-player-ready"},"*");})();
    132132/*! Bundled license information:
    133133
  • clickclue/trunk/assets/pro-previews.js

    r3775799 r3776421  
    1010    journeys:{label:window.wp.i18n.__('Journeys & comparisons','clickclue'),heading:window.wp.i18n.__('Follow a journey. Review a change.','clickclue'),body:window.wp.i18n.__('Review recorded journeys and compare observations before and after a site change.','clickclue'),steps:[window.wp.i18n.__('Choose recorded paths or define the journey you want to review.','clickclue'),window.wp.i18n.__('Compare retained samples around a change you made.','clickclue'),window.wp.i18n.__('Check the sample coverage and replay the evidence.','clickclue')],view:'discovery-journeys',image:'journeys.png',anchor:'journeys'}
    1111  };
    12   const storageKey='clickclue.pro-preview.'+c.home+'.user-'+c.userId+'.v1';let selected='grouped',persistent=true,busy=false,reviewed=false;
    13   function readChoice(){try{const x=JSON.parse(localStorage.getItem(storageKey)||'null');if(x&&Object.hasOwn(features,x.feature)&&Number.isSafeInteger(x.at)&&x.at<=Date.now()&&Date.now()-x.at<7*86400000)selected=x.feature;else if(x!==null)localStorage.removeItem(storageKey);}catch{persistent=false;}}
     12  const storageKey='clickclue.pro-preview.'+c.home+'.user-'+c.userId+'.v1';let selected='grouped',hasChoice=false,persistent=true,busy=false,reviewed=false;
     13  function readChoice(){try{const x=JSON.parse(localStorage.getItem(storageKey)||'null');if(x&&Object.hasOwn(features,x.feature)&&Number.isSafeInteger(x.at)&&x.at<=Date.now()&&Date.now()-x.at<7*86400000){selected=x.feature;hasChoice=true;}else if(x!==null)localStorage.removeItem(storageKey);}catch{persistent=false;}}
    1414  readChoice();
    15   function remember(feature){selected=feature;try{localStorage.setItem(storageKey,JSON.stringify({feature,at:Date.now()}));}catch{persistent=false;}}
     15  function remember(feature){selected=feature;hasChoice=true;try{localStorage.setItem(storageKey,JSON.stringify({feature,at:Date.now()}));}catch{persistent=false;}}
    1616  const button=(text,run,cls='tw-button tw-outline')=>{const n=el('button',text,cls);n.type='button';n.onclick=run;return n;};
    1717  const link=(text,url,primary=false)=>{const n=el('a',text,primary?'tw-button':'tw-button tw-outline');n.href=url;n.rel='noopener noreferrer';n.referrerPolicy='no-referrer';return n;};
    … …  
    3535    return box;
    3636  }
    37   function policy(){return el('p',window.wp.i18n.__('Pro requires ClickClue Free and a successful first licence activation for this site. Once unlocked, local tools keep working offline or after updates and support expire. Updates remain manual; eligible downloads and support are separate.','clickclue'),'cc-preview-policy');}
     37  function policy(){return el('p',window.wp.i18n.__('Pro requires ClickClue Free and a successful first licence activation for this site. Once unlocked, local tools keep working offline or after updates and support expire. Eligible Pro updates appear in WordPress from version 1.1.5. Update Free first, then Pro. Updates and support depend on your subscription.','clickclue'),'cc-preview-policy');}
    3838  function preview(panel,feature){
    3939    if(panel.dataset.previewReady)return;panel.dataset.previewReady='1';const item=features[feature];panel.classList.add('cc-pro-preview');
    … …  
    6868    const choiceNote=el('p','','cc-preview-policy');choiceNotes.add(choiceNote);panel.append(choiceNote);const nextActions=el('div');overviewActions.add(nextActions);panel.append(nextActions);const grid=el('div','','cc-preview-grid');for(const [feature,item]of Object.entries(features)){const card=el('article');card.append(el('h3',item.heading),el('p',item.body),button(c.pro?window.wp.i18n.__('Open tool','clickclue'):window.wp.i18n.__('See example and steps','clickclue'),()=>open(feature)));grid.append(card);}panel.append(grid,policy(),preferences());syncPreferences();updateChoiceNote();
    6969  }
    70   function updateChoiceNote(){for(const node of overviewActions)node.replaceChildren(actions(selected));for(const choiceNote of choiceNotes)choiceNote.textContent=(persistent?window.wp.i18n.__('Last feature selected in this browser: ','clickclue'):window.wp.i18n.__('Selected for this visit: ','clickclue'))+features[selected].heading;}
     70  function updateChoiceNote(){for(const node of overviewActions)node.replaceChildren(actions(selected));for(const choiceNote of choiceNotes)choiceNote.textContent=(!hasChoice?window.wp.i18n.__('Suggested starting point: ','clickclue'):persistent?window.wp.i18n.__('Last feature selected in this browser: ','clickclue'):window.wp.i18n.__('Selected for this visit: ','clickclue'))+features[selected].heading;}
    7171  function ready(){
    7272    const settings=el('section','','cc-settings-pro');settings.id='cc-settings-pro';comparison(settings);$('tw-settings').append(settings);
  • clickclue/trunk/assets/recorder.js

    r3775799 r3776421  
    1 "use strict";(()=>{var he=Object.create(null);var ye=(p,...b)=>{let x=0;return String(p).replace(/%%|%(?:(\d+)\$)?([sd])/g,(k,O,P)=>{if(k==="%%")return"%";let G=b[O?Number(O)-1:x++];return String(P==="d"?Math.trunc(Number(G)):G??"")})},t={__(p,b="clickclue"){return Object.hasOwn(he,p)?he[p]:globalThis.wp?.i18n?.__(p,b)??p},_n(p,b,x,k="clickclue"){return globalThis.wp?.i18n?._n(p,b,x,k)??(x===1?p:b)},sprintf(p,...b){return globalThis.wp?.i18n?.sprintf(p,...b)??ye(p,...b)}};function me(){t.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.","clickclue"),t.__("Allow this replay","clickclue"),t.__("An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website\u2019s owner and review the Replay privacy notice.","clickclue"),t.__("An exclusion selector is invalid","clickclue"),t.__("Browser privacy preference respected","clickclue"),t.__("Capture has stopped after the maximum number of uploads or page navigations. Its saved replay remains available.","clickclue"),t.__("Capture is off. No current session was submitted for deletion.","clickclue"),t.__("Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website\u2019s owner.","clickclue"),t.__("Capture stopped. The server confirmed deletion of the current session.","clickclue"),t.__("Capture stopped. Waiting for deletion confirmation from the server.","clickclue"),t.__("Check connectivity and your caching, script or security plugin. In WordPress, review setup health, then reload to retry.","clickclue"),t.__("Check that the site and WordPress URLs match and your host or proxy preserves the browser\u2019s Origin header. Browser-based WordPress sandboxes can omit this header. Test on a hosted staging site; keep origin protection enabled.","clickclue"),t.__("Check this test visit","clickclue"),t.__("Checking the recording service","clickclue"),t.__("Choose Allow this replay to test capture.","clickclue"),t.__("Click, scroll and use sample form details. The first upload usually follows within a few seconds.","clickclue"),t.__("ClickClue setup check","clickclue"),t.__("Close check","clickclue"),t.__("Closing this panel does not change your consent. Use Replay privacy to change it later.","clickclue"),t.__("Copy this page link into a signed-out private window. Administrators are not recorded.","clickclue"),t.__("Correct the additional CSS selectors in WordPress settings, save and clear your page cache. Capture has stopped.","clickclue"),t.__("Could not complete recording","clickclue"),t.__("Enable recording in WordPress settings, save and clear your page cache.","clickclue"),t.__("In WordPress, set sampling to 100%, save and clear your page cache. Reload this signed-out test page. Restore your normal rate after testing.","clickclue"),t.__("Loading the capture engine","clickclue"),t.__("No activity is being recorded. You can choose to allow this test.","clickclue"),t.__("No upload confirmed in this tab yet.","clickclue"),t.__("Permission and sampling checks passed. The recorder is downloaded now.","clickclue"),t.__("Privacy information changed","clickclue"),t.__("Privacy notice required","clickclue"),t.__("Publish and select this store\u2019s privacy policy in WordPress Settings \u2192 Privacy, then clear page caches.","clickclue"),t.__("Recording is paused","clickclue"),t.__("Recording stopped","clickclue"),t.__("Recording storage budget reached","clickclue"),t.__("Recording temporarily paused","clickclue"),t.__("Recording this visit","clickclue"),t.__("Reload this page and make a fresh replay choice. Ask the site owner to clear its page caches if this continues.","clickclue"),t.__("Reload this page to check the next visit.","clickclue"),t.__("Reload to start a new authorized visit if your allowance permits.","clickclue"),t.__("Replay declined","clickclue"),t.__("Retry deletion","clickclue"),t.__("Review storage and retention in WordPress. Increase your local budget only if your host has enough capacity.","clickclue"),t.__("Signed-in visit excluded","clickclue"),t.__("Stop & delete current session","clickclue"),t.__("The recording reached its size limit","clickclue"),t.__("The request origin could not be verified","clickclue"),t.__("This browser has Do Not Track or Global Privacy Control enabled. Capture is off.","clickclue"),t.__("This page is excluded","clickclue"),t.__("This recording reached its safety limit","clickclue"),t.__("This session has ended","clickclue"),t.__("This tab was not selected","clickclue"),t.__("Too many starts in a short period","clickclue"),t.__("Try a smaller page or exclude large dynamic sections. Capture has stopped.","clickclue"),t.__("Try an included storefront page. Account and payment confirmation pages are always excluded.","clickclue"),t.__("Unconfirmed events remain in memory while delivery is retried. Capture resumes with a fresh snapshot when that queue is confirmed.","clickclue");/* translators: %1$s: number of events accepted by the server. */ t.__("Upload confirmed by your server \xB7 %1$s events accepted in this tab.","clickclue"),t.__("Use sample details. This panel shows only this tab\u2019s recording status.","clickclue"),t.__("Wait before starting another test visit.","clickclue"),t.__("Waiting for permission","clickclue"),t.__("Waiting for your WordPress server to authorize this visit.","clickclue")}var _e={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ke=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),ve=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),xe=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),Ue=[...Object.keys(_e),...ke,...ve,...xe,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function ge(p,b="https://example.invalid"){try{return new URL(p,b).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500)}catch{return"/"}}function we({token:p,enhanced:b=!1,send:x,beacon:k,allowed:O,onAck:P=()=>{},onPause:G=()=>{},onDrain:oe=()=>{},onFatal:se=()=>{},onChange:H=()=>{},uuid:T=()=>crypto.randomUUID(),clock:j=()=>Date.now(),schedule:Q=setTimeout,cancel:q=clearTimeout,maxBytes:L=2e6,requestTimeout:re=15e3,retryWindow:r=12e4}){let g=l=>typeof TextEncoder=="function"?new TextEncoder().encode(JSON.stringify(l)).byteLength:new Blob([JSON.stringify(l)]).size,U=T(),N=[],s=[],F=0,B=0,E=0,ae=0,$=0,I=!1,w=!1,i=!1,A=!1,V=!1,a=null,ee=null,te=null,h=0,v=new Set,W=()=>!I&&O();function X(){s.length&&(N.push({token:p,batch:T(),events:s,...b?{transport:{stream:U,sequence:++E}}:{}}),b||E++,s=[],F=0)}function C(l="active",_=!1,M=!1){if(!b||!W()||ae>=1e5)return;X();let y={token:p,stream:U,revision:++ae,produced:E,interrupted:i,closed:_,reason:l};if(M){k("/transport",y);return}let z=new AbortController;v.add(z);let u=Q(()=>z.abort(),re);Promise.resolve().then(()=>{if(W())return x("/transport",y,z.signal)}).catch(()=>{}).finally(()=>{q(u),v.delete(z)})}function J(l){i=!0,A||(A=!0,G(l)),C(l),H()}function le(l){if(!W()||w||A)return!1;let _=g(l);return _>85e4||_>L||E>=9999?(J("buffer_limit"),ie(Object.assign(new Error("Recording size limit"),{status:413})),!1):B+_>L?(J("buffer_limit"),D(),!1):(s.length&&(F+_>48e3||s.length>=1400)&&X(),s.push(l),F+=_,B+=_,F>=48e3&&(X(),D()),!0)}function ie(l){K(),se(l)}async function D(){if(!W()||w||V||a)return;if(X(),!N.length){A&&(A=!1,C("recovered"),oe());return}V=!0;let l=N[0],_=new AbortController;ee=_;let M=Q(()=>_.abort(),re);try{let y=await x("/ingest",l,_.signal);if(!W())return;let z=y?.ack;if(b&&(!z||z.batch!==l.batch||z.stream!==U||z.sequence!==l.transport.sequence))throw new Error("Unconfirmed recording upload");if(!b&&(!Number.isInteger(y?.accepted)||y.accepted<0))throw new Error("Unconfirmed recording upload");N.shift(),B=Math.max(0,B-l.events.reduce((u,ce)=>u+g(ce),0)),$++,te=null,h=0,P(l.events.length),H()}catch(y){if(!W())return;if([400,401,403,404,409,413].includes(y.status)||["tracewell_quota","tracewell_transport_limit"].includes(y.code)){ie(y);return}te??(te=j()),h++,j()-te>=r&&J("retry_timeout"),w||(a=Q(()=>{a=null,D()},Math.min(3e4,500*2**Math.min(h-1,6)))),H()}finally{q(M),ee===_&&(ee=null),V=!1,!I&&!w&&!a&&N.length?Q(D,0):!I&&!w&&!a&&A&&D()}}function R(l=!1){if(!W())return;X();let _=53e3;for(let M of N){let y=g(M);if(y>_||!k("/ingest",M))break;_-=y}C("pagehide",l,!0),H()}function Y(){w=!0,a&&(q(a),a=null),R(!0)}function de(){W()&&(w=!1,a&&(q(a),a=null),C("recovered"),D())}function K(){I=!0,a&&q(a),a=null,ee?.abort();for(let l of v)l.abort();v.clear(),N.length=0,s=[],F=B=0,H()}return{enqueue:le,flush:D,checkpoint:C,handoff:R,unload:Y,resume:de,dispose:K,stats:()=>({pendingBytes:B,pendingBatches:N.length+(s.length?1:0),acknowledged:$,interrupted:i,paused:A,suspended:w,retrying:h>0})}}me();var d=window.TracewellConfig;if(d&&!window.Tracewell){let X=function(){return typeof window.TracewellCapture=="function"?Promise.resolve(window.TracewellCapture):V||(V=new Promise((e,n)=>{let o=document.createElement("script");o.src=d.captureUrl,o.async=!0,p&&(o.nonce=p);let m=c=>{clearTimeout(S),o.onload=o.onerror=null,o.remove(),c?(V=null,n(c)):e(window.TracewellCapture)},S=setTimeout(()=>m(new Error(t.__("Recorder load timed out","clickclue"))),15e3);o.onload=()=>m(typeof window.TracewellCapture=="function"?null:new Error(t.__("Recorder unavailable","clickclue"))),o.onerror=()=>m(new Error(t.__("Recorder could not load","clickclue"))),document.head.append(o)}),V)},de=function(e,n){if(!Y())return!1;let o=JSON.stringify(n),m=new Blob([o],{type:"application/json"});if(m.size>55e3)return!1;try{if(navigator.sendBeacon?.(le(e),m))return!0}catch{}return fetch(le(e),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:o,keepalive:!0}).catch(()=>{}),!0},K=function(e=E){if(!a||N||!F||!s||s.stats().paused||!Y()||(v("recording"),E!==e||!a||!Y()))return;let n=s;if(N=F({media:U.media||[],maskText:d.maskText!==!1,blockSelector:d.blockSelector,emit(o){E!==e||!a||!Y()||n.enqueue(o)}}),E!==e||!s||s.stats().paused){D();return}B=setInterval(()=>s?.flush(),3e3),setTimeout(()=>{E===e&&a&&s?.flush()},100),window.dispatchEvent(new CustomEvent("tracewell:recording-started"))},_=function(e){i?i.token!==e&&!i.tokens.includes(e)&&i.tokens.push(e):i={token:e,tokens:[]},T(k,se,i)},M=function(){return A||(i?(h="pending",u(!0),window.dispatchEvent(new CustomEvent("tracewell:status")),A=(async()=>{let e=new AbortController,n=setTimeout(()=>e.abort(),1e4);try{for(;i;){if((await ie("/withdraw",{token:i.token},e.signal)).deleted!==!0){h="failed";break}let[m,...S]=i.tokens;i=m?{token:m,tokens:S}:null,T(k,se,i),h=i?"pending":"confirmed"}}catch{h="failed"}finally{clearTimeout(n),A=null,u(!0),window.dispatchEvent(new CustomEvent("tracewell:status"))}return h==="confirmed"})(),A):Promise.resolve(h==="confirmed"))},z=function(){if(i||g||$&&r?.allowed!==!0){u(!0);return}if(C()){v("browser_opt_out"),u();return}if(d.consentUI&&!q){v("privacy_notice"),u(!0);return}r=re(!0),T(x,P,r),u(),l()},u=function(e=!1){if(!document.body)return;if(!d.consentUI&&!g){w?.remove(),w=null;return}let n=w&&document.activeElement===w,o=w?.shadowRoot?.activeElement?.textContent;w?.remove(),w=document.createElement("div"),w.setAttribute("data-tw-block",""),w.id="tracewell-privacy",w.dir=document.documentElement.dir==="rtl"?"rtl":"ltr";let m=w.attachShadow({mode:"open"});m.addEventListener("keydown",c=>{c.key==="Escape"&&r&&e&&(c.preventDefault(),u())});let S=document.createElement("style");if(S.textContent=":host{all:initial;direction:inherit;position:fixed;bottom:16px;inset-inline-start:16px;z-index:2147483000;font:14px/1.5 Arial,sans-serif;color:#193e31}*{box-sizing:border-box}.panel{width:min(355px,calc(100vw - 32px));padding:20px;border:1px solid #c6d0bf;border-radius:12px;background:#fff;box-shadow:0 12px 40px #193e3133}p{margin:0 0 14px}strong{display:block;font-size:16px;margin-bottom:7px}.actions{display:flex;gap:8px;flex-wrap:wrap}button{font:600 14px Arial,sans-serif;min-height:44px;border:1px solid #193e31;background:#fff;color:#193e31;padding:10px 13px;border-radius:6px;cursor:pointer}button:focus-visible{outline:3px solid #8ba860;outline-offset:3px}.accept{background:#fff;color:#193e31}a{color:#193e31;text-decoration:underline;text-underline-offset:3px}button:disabled{opacity:.6;cursor:not-allowed}.panel{max-height:calc(100dvh - 32px);overflow:auto}.small{box-shadow:0 4px 18px #193e3122;font-size:12px;padding:8px 11px}",m.append(S),!r||e){let c=document.createElement("div");c.className="panel",c.setAttribute("role","region"),c.setAttribute("aria-label",t.__("Replay privacy","clickclue"));let ue=document.createElement("strong");ue.textContent=h!=="not_requested"&&!r?.allowed?t.__("Your replay privacy","clickclue"):t.__("Optional session replay","clickclue"),c.append(ue);let fe=document.createElement("p");if(fe.textContent=C()?t.__("Your browser privacy preference is respected. Session recording is off.","clickclue"):r?.allowed?t.__("You allowed session replay. You can stop recording and request deletion of your current session.","clickclue"):(d.pro?t.__("Allow this site to reconstruct page interactions, clicks, scrolling and time spent focusing on form fields to understand how its pages are used?","clickclue"):t.__("Allow this site to reconstruct page interactions, clicks and scrolling to understand how its pages are used?","clickclue"))+" "+(d.publicImages?t.__("This includes copies of public images individually approved by the site owner. ","clickclue"):"")+t.__("Typed values are masked. Refusing does not affect your use of this site.","clickclue"),c.append(fe),h!=="not_requested"&&!r?.allowed&&(fe.setAttribute("role","status"),fe.textContent=g?t.__("An earlier deletion request is unconfirmed after the plugin update. Recording remains off. Contact this website\u2019s owner to delete that earlier recording; its old authorization cannot be verified safely.","clickclue"):{pending:t.__("Recording has stopped. Waiting for the server to confirm deletion\u2026","clickclue"),confirmed:t.__("Recording has stopped. The server confirmed deletion of this session.","clickclue"),failed:t.__("Recording has stopped, but deletion is not confirmed. Retry below. Contact this website\u2019s owner if it keeps failing.","clickclue")}[h]),q){let f=document.createElement("p"),Z=Math.max(1,Math.min(365,Number(d.retentionDays)||7));f.append(t.sprintf(/* translators: %d: maximum retention days. Replay privacy is the visitor control label. */ t._n("Recordings stay on this site\u2019s server for up to %d day, subject to cleanup. You can withdraw through Replay privacy.","Recordings stay on this site\u2019s server for up to %d days, subject to cleanup. You can withdraw through Replay privacy.",Z,"clickclue"),Z)+" ");let pe=document.createElement("a");pe.href=q,pe.textContent=t.__("Privacy notice and your rights","clickclue"),f.append(pe),c.append(f)}else{let f=document.createElement("p");f.textContent=t.__("Replay is unavailable until this site publishes its privacy notice.","clickclue"),c.append(f)}let ne=document.createElement("div");if(ne.className="actions",g){let f=document.createElement("button");f.textContent=t.__("Dismiss this old request on this site","clickclue"),f.onclick=()=>{window.confirm(t.__("Dismiss this unconfirmed deletion request on this site? This stops retrying here and does not delete the recording. Contact the website owner for deletion. Recording will stay off unless you choose Allow replay again.","clickclue"))&&(T(k,H,JSON.stringify(g)),g=null,h=i?"failed":"not_requested",u(!0),window.dispatchEvent(new CustomEvent("tracewell:status")))},ne.append(f)}else if(i){let f=document.createElement("button");f.textContent=h==="pending"?t.__("Deleting\u2026","clickclue"):t.__("Retry deletion","clickclue"),f.disabled=h==="pending",f.onclick=M,ne.append(f)}else{if(!C()&&!r?.allowed){let Z=document.createElement("button");Z.className="accept",Z.textContent=t.__("Allow replay","clickclue"),Z.disabled=!q,Z.onclick=z,ne.append(Z)}let f=document.createElement("button");f.textContent=r?.allowed?t.__("Stop & delete current session","clickclue"):t.__("No thanks","clickclue"),f.onclick=()=>y(),ne.append(f)}if(r){let f=document.createElement("button");f.textContent=t.__("Close","clickclue"),f.onclick=()=>u(),ne.append(f)}c.append(ne),m.append(c)}else{let c=document.createElement("button");c.className="small",c.textContent=t.__("Replay privacy","clickclue"),c.onclick=()=>u(!0),m.append(c)}if(document.body.append(w),n){let c=[...m.querySelectorAll("button:not(:disabled)")];(c.find(ue=>ue.textContent===o)||c[0]||m.querySelector("a"))?.focus()}},ce=function(){if(i&&y(),C()?v("browser_opt_out"):r?.allowed===!1&&v("denied"),u(!!g),l(),["#clickclue-check","#tracewell-check"].includes(location.hash)&&d.diagnosticsUrl){location.hash==="#tracewell-check"&&history.replaceState(null,"",location.pathname+location.search+"#clickclue-check");let e=document.createElement("script");e.src=d.diagnosticsUrl,e.async=!0,p&&(e.nonce=p),document.head.append(e)}};Ce=X,Ee=de,Se=K,Te=_,Ne=M,Ae=z,Le=u,Re=ce;let p=document.currentScript?.nonce,b=e=>{try{return window[e]}catch{return{getItem:()=>null,setItem(){},removeItem(){}}}},x=b("localStorage"),k=b("sessionStorage"),O=/^[a-f0-9]{64}$/.test(d.storageScope||"")?"."+d.storageScope:"",P="tracewell.consent.v1"+O,G="tracewell.session.v1"+O,oe="tracewell.sample.v1"+O,se="tracewell.deletion.v1"+O,H="tracewell.legacy-deletion-dismissed.v1"+O,T=(e,n,o)=>{try{o===null?e.removeItem(n):e.setItem(n,JSON.stringify(o))}catch{}},j=(e,n)=>{try{return JSON.parse(e.getItem(n))}catch{return null}},Q=typeof d.consentVersion=="string"?d.consentVersion:"",q="";try{let e=new URL(d.privacyUrl);["https:","http:"].includes(e.protocol)&&(q=e.href)}catch{}let L=e=>e&&typeof e.allowed=="boolean"&&Number.isFinite(e.expires)&&e.expires>Date.now()&&e.expires<=Date.now()+180*864e5&&(!e.allowed||e.revision===Q&&Number.isFinite(e.decidedAt)&&e.decidedAt<=Date.now()&&e.expires<=e.decidedAt+180*864e5),re=e=>{let n=Date.now();return{allowed:e,decidedAt:n,revision:Q,expires:n+180*864e5}},r=j(x,P);if(O&&!r){let e=j(x,"tracewell.consent.v1");L(e)&&e.allowed===!1&&(r=e,T(x,P,r))}r&&!L(r)&&(r=null,T(x,P,null));let g=O?j(k,"tracewell.deletion.v1"):null;(!g||typeof g.token!="string"||j(k,H)===JSON.stringify(g))&&(g=null),g&&(r=re(!1),T(x,P,r));let U=j(k,G),N,s,F,B,E=0,ae,$,I="waiting",w,i=j(k,se),A;(!i||typeof i.token!="string")&&(i=null),i&&(i.tokens=Array.isArray(i.tokens)?[...new Set(i.tokens.filter(e=>typeof e=="string"&&e!==i.token))]:[]);let V,a=!0,ee=0,te=0,h=g?"legacy_unconfirmed":i?"failed":"not_requested",v=e=>{I=e,window.dispatchEvent(new CustomEvent("tracewell:status"))},W=e=>({tracewell_transport_limit:"recording_limit",tracewell_browser_opt_out:"browser_opt_out",tracewell_origin:"origin_mismatch",tracewell_privacy_notice:"privacy_notice",tracewell_consent_version:"consent_changed",tracewell_disabled:"paused",tracewell_logged_in:"signed_in",tracewell_excluded:"excluded",tracewell_quota:"quota",tracewell_rate:"rate_limited",tracewell_token:"expired",tracewell_missing:"expired"})[e.code]||(e.name==="SyntaxError"?"invalid_selector":"unavailable"),C=()=>navigator.globalPrivacyControl===!0||navigator.doNotTrack==="1",J=()=>{let e;try{e=decodeURIComponent(new URL(location.href).pathname).toLowerCase()}catch{return!0}return["/wp-admin","/wp-login.php","/my-account","/order-received","/order-pay","/wp-json",...typeof d.excludePaths=="string"?d.excludePaths.split(/\r\n|\r|\n/):[]].some(n=>{try{let o=decodeURIComponent(n.trim()).toLowerCase();return o&&e.includes(o)}catch{return!0}})},le=e=>{let n=new URL(d.endpoint,location.href);return n.searchParams.has("rest_route")?n.searchParams.set("rest_route",n.searchParams.get("rest_route").replace(/\/$/,"")+e):n.pathname=n.pathname.replace(/\/$/,"")+e,n.href},ie=async(e,n,o)=>{let m=await fetch(le(e),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),signal:o}),S;try{S=await m.json()}catch{S={}}if(!m.ok){let c=new Error(t.__("Recording unavailable","clickclue"));throw c.status=m.status,c.code=S.code,c}return S},D=()=>{N?.stop(),N=null,clearInterval(B)},R=(e="stopped")=>{E++,D(),s?.dispose(),s=null,ae?.abort(),v(e)},Y=()=>i||g||r?.allowed!==!0?!1:L(r)?C()||J()?(R(C()?"browser_opt_out":"excluded"),!1):!0:(r=null,R("waiting"),u(),!1);async function l(){if(s){a&&Y()&&(s.resume(),K());return}if(!a||N||$||i||g||["starting","loading_recorder"].includes(I)||document.readyState==="loading"||r?.allowed!==!0||!L(r))return;if(d.consentUI&&!q){v("privacy_notice");return}if(C()){v("browser_opt_out");return}if(J()){v("excluded");return}let e=j(k,oe);if(typeof e!="number"&&(e=crypto.getRandomValues(new Uint32Array(1))[0]/4294967296*100,T(k,oe,e)),e>=Number(d.sampleRate||10)){v("sampled_out");return}v("starting");let n=++E;ae=new AbortController;try{d.blockSelector&&document.querySelector(d.blockSelector),$=ie("/start",{consent:!0,consent_version:r.revision,token:U?.token,path:ge(location.href),width:innerWidth,height:innerHeight});let o=await $;if($=null,E!==n||r?.allowed!==!0||!L(r)||C()||J()){E===n&&(r?.allowed!==!0||!L(r)?(r=null,R("waiting"),u()):R(C()?"browser_opt_out":"excluded")),o?.token&&(_(o.token),await M()),a&&I==="waiting"&&l();return}U=o,T(k,G,o),v("loading_recorder");let m=await X();if(E!==n||r?.allowed!==!0)return;if(!L(r)){r=null,R("waiting"),u();return}if(C()){R("browser_opt_out");return}if(J()){R("excluded");return}F=m,s?.dispose(),s=we({token:o.token,enhanced:o.transport_version===1,send:ie,beacon:de,allowed:Y,onAck(S){ee=Date.now(),te+=S,window.dispatchEvent(new CustomEvent("tracewell:status"))},onPause(){D(),v("buffering")},onDrain(){a&&K()},onFatal(S){R(S.status===413?"oversized":W(S))},onChange(){window.dispatchEvent(new CustomEvent("tracewell:status"))}}),s.checkpoint(),K(n)}catch(o){$=null,E===n&&R(W(o))}u()}async function y(e=!0){let n=U;if(R("denied"),U=null,r=re(!1),e&&T(x,P,r),T(k,G,null),T(k,oe,null),u(),n?.token&&_(n.token),i&&await M(),$){h="pending",u(!0);try{await $}catch{h="failed",u(!0)}}if(A&&await A,h!=="not_requested")return h==="confirmed";window.dispatchEvent(new CustomEvent("tracewell:status"))}window.Tracewell={grantConsent:z,withdrawConsent:y,retryDeletion:M,track:(e,n)=>N?.track(e,n),status:()=>I,visitorAuthorization:()=>I==="recording"&&a&&!i&&!g&&r?.allowed===!0&&L(r)&&!C()&&!J()&&typeof U?.token=="string"?{token:U.token}:null,diagnostics:()=>({state:I,consent:r?.allowed===!0,browserOptOut:C(),sampleRate:Number(d.sampleRate||10),maskText:d.maskText!==!1,lastUploadAt:ee,uploadedEvents:te,transport:s?.stats()||null,deletion:g?"legacy_unconfirmed":h})},window.ClickClue=window.Tracewell,window.addEventListener("tracewell:consent",e=>e.detail===!0?z():y()),window.addEventListener("storage",e=>{if(e.key===P||e.key===null){let n=j(x,P);(!L(n)||!n.allowed)&&y(!1)}else if(O&&e.key==="tracewell.consent.v1"){let n=j(x,e.key);(!L(n)||!n.allowed)&&y(!1)}}),window.addEventListener("online",()=>{i?M():a&&s?.resume()}),window.addEventListener("pagehide",()=>{if(a=!1,D(),s){let e=s;e.unload(),s===e&&v("waiting")}else R(["recording","starting","loading_recorder"].includes(I)?"waiting":I)}),window.addEventListener("pageshow",e=>{if(a=!0,e.persisted){try{let n=JSON.parse(x.getItem(P));if(!L(n)||!n.allowed){y(!1);return}r=n}catch{}if(!Y())return;s?(s.resume(),K()):l()}}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?a&&s?.handoff():a&&s?.resume()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ce,{once:!0}):ce()}var Ce,Ee,Se,Te,Ne,Ae,Le,Re;})();
     1"use strict";(()=>{var me=Object.create(null);var be=(d,...h)=>{let l=0;return String(d).replace(/%%|%(?:(\d+)\$)?([sd])/g,(p,w,m)=>{if(p==="%%")return"%";let L=h[w?Number(w)-1:l++];return String(m==="d"?Math.trunc(Number(L)):L??"")})},e={__(d,h="clickclue"){return Object.hasOwn(me,d)?me[d]:globalThis.wp?.i18n?.__(d,h)??d},_n(d,h,l,p="clickclue"){return globalThis.wp?.i18n?._n(d,h,l,p)??(l===1?d:h)},sprintf(d,...h){return globalThis.wp?.i18n?.sprintf(d,...h)??be(d,...h)}};function ge(){e.__("No recording is made for this signed-in visit.","clickclue"),e.__("This check does not enable recording.","clickclue"),e.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.","clickclue"),e.__("Allow this replay","clickclue"),e.__("An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website\u2019s owner and review the Replay privacy notice.","clickclue"),e.__("An exclusion selector is invalid","clickclue"),e.__("Browser privacy preference respected","clickclue"),e.__("Capture has stopped after the maximum number of uploads or page navigations. Its saved replay remains available.","clickclue"),e.__("Capture is off. No current session was submitted for deletion.","clickclue"),e.__("Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website\u2019s owner.","clickclue"),e.__("Capture stopped. The server confirmed deletion of the current session.","clickclue"),e.__("Capture stopped. Waiting for deletion confirmation from the server.","clickclue"),e.__("Check connectivity and your caching, script or security plugin. In WordPress, review setup health, then reload to retry.","clickclue"),e.__("Check that the site and WordPress URLs match and your host or proxy preserves the browser\u2019s Origin header. Browser-based WordPress sandboxes can omit this header. Test on a hosted staging site; keep origin protection enabled.","clickclue"),e.__("Check this test visit","clickclue"),e.__("Checking the recording service","clickclue"),e.__("Choose Allow this replay to test capture.","clickclue"),e.__("Click, scroll and use sample form details. The first upload usually follows within a few seconds.","clickclue"),e.__("ClickClue setup check","clickclue"),e.__("Close check","clickclue"),e.__("Closing this panel does not change your consent. Use Replay privacy to change it later.","clickclue"),e.__("Copy this page link into a signed-out private window. Administrators are not recorded.","clickclue"),e.__("Correct the additional CSS selectors in WordPress settings, save and clear your page cache. Capture has stopped.","clickclue"),e.__("Could not complete recording","clickclue"),e.__("Enable recording in WordPress settings, save and clear your page cache.","clickclue"),e.__("In WordPress, set sampling to 100%, save and clear your page cache. Reload this signed-out test page. Restore your normal rate after testing.","clickclue"),e.__("Loading the capture engine","clickclue"),e.__("No activity is being recorded. You can choose to allow this test.","clickclue"),e.__("No upload confirmed in this tab yet.","clickclue"),e.__("Permission and sampling checks passed. The recorder is downloaded now.","clickclue"),e.__("Privacy information changed","clickclue"),e.__("Privacy notice required","clickclue"),e.__("Publish and select this store\u2019s privacy policy in WordPress Settings \u2192 Privacy, then clear page caches.","clickclue"),e.__("Recording is paused","clickclue"),e.__("Recording stopped","clickclue"),e.__("Recording storage budget reached","clickclue"),e.__("Recording temporarily paused","clickclue"),e.__("Recording this visit","clickclue"),e.__("Reload this page and make a fresh replay choice. Ask the site owner to clear its page caches if this continues.","clickclue"),e.__("Reload this page to check the next visit.","clickclue"),e.__("Reload to start a new authorized visit if your allowance permits.","clickclue"),e.__("Replay declined","clickclue"),e.__("Retry deletion","clickclue"),e.__("Review storage and retention in WordPress. Increase your local budget only if your host has enough capacity.","clickclue"),e.__("Signed-in visit excluded","clickclue"),e.__("Stop & delete current session","clickclue"),e.__("The recording reached its size limit","clickclue"),e.__("The request origin could not be verified","clickclue"),e.__("This browser has Do Not Track or Global Privacy Control enabled. Capture is off.","clickclue"),e.__("This page is excluded","clickclue"),e.__("This recording reached its safety limit","clickclue"),e.__("This session has ended","clickclue"),e.__("This tab was not selected","clickclue"),e.__("Too many starts in a short period","clickclue"),e.__("Try a smaller page or exclude large dynamic sections. Capture has stopped.","clickclue"),e.__("Try an included storefront page. Account and payment confirmation pages are always excluded.","clickclue"),e.__("Unconfirmed events remain in memory while delivery is retried. Capture resumes with a fresh snapshot when that queue is confirmed.","clickclue");/* translators: %1$s: number of events accepted by the server. */ e.__("Upload confirmed by your server \xB7 %1$s events accepted in this tab.","clickclue"),e.__("Use sample details. This panel shows only this tab\u2019s recording status.","clickclue"),e.__("Wait before starting another test visit.","clickclue"),e.__("Waiting for permission","clickclue"),e.__("Waiting for your WordPress server to authorize this visit.","clickclue")}function ue(d,h="https://example.invalid"){try{let l=new URL(d,h),w=["p","page_id"].filter(X=>l.searchParams.has(X));if(w.length!==1)return null;let m=w[0],L=l.searchParams.getAll(m);return L.length!==1||!/^[1-9][0-9]{0,9}$/.test(L[0])?null:{path:l.pathname,key:m,id:L[0],identity:l.pathname+"?"+m+"="+L[0]}}catch{return null}}function _e(d,h="https://example.invalid"){try{let l=new URL(d,h),p=l.pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500),w=ue(d,h);return w&&p===w.path&&l.search==="?"+w.key+"="+w.id&&(p+l.search).length<=500?p+l.search:p}catch{return"/"}}function de(d,h=null){let l;try{l=new URL(d)}catch{return"/"}let p=_e(l.pathname),w=ue(d),m=ue(h?.pagePath);return w&&m&&w.identity===m.identity&&h.pagePath===m.identity&&_e(m.identity)===m.identity?m.identity:p}function ye({token:d,enhanced:h=!1,send:l,beacon:p,allowed:w,onAck:m=()=>{},onPause:L=()=>{},onDrain:X=()=>{},onFatal:ce=()=>{},onChange:H=()=>{},uuid:A=()=>crypto.randomUUID(),clock:W=()=>Date.now(),schedule:ee=setTimeout,cancel:q=clearTimeout,maxBytes:O=2e6,requestTimeout:ie=15e3,retryWindow:r=12e4}){let b=f=>typeof TextEncoder=="function"?new TextEncoder().encode(JSON.stringify(f)).byteLength:new Blob([JSON.stringify(f)]).size,J=A(),P=[],c=[],Y=0,$=0,S=0,se=0,M=0,z=!1,v=!1,o=!1,N=!1,F=!1,u=null,te=null,ne=null,k=0,C=new Set,B=()=>!z&&w();function K(){c.length&&(P.push({token:d,batch:A(),events:c,...h?{transport:{stream:J,sequence:++S}}:{}}),h||S++,c=[],Y=0)}function T(f="active",E=!1,D=!1){if(!h||!B()||se>=1e5)return;K();let x={token:d,stream:J,revision:++se,produced:S,interrupted:o,closed:E,reason:f};if(D){p("/transport",x);return}let I=new AbortController;C.add(I);let _=ee(()=>I.abort(),ie);Promise.resolve().then(()=>{if(B())return l("/transport",x,I.signal)}).catch(()=>{}).finally(()=>{q(_),C.delete(I)})}function V(f){o=!0,N||(N=!0,L(f)),T(f),H()}function le(f){if(!B()||v||N)return!1;let E=b(f);return E>85e4||E>O||S>=9999?(V("buffer_limit"),oe(Object.assign(new Error("Recording size limit"),{status:413})),!1):$+E>O?(V("buffer_limit"),j(),!1):(c.length&&(Y+E>48e3||c.length>=1400)&&K(),c.push(f),Y+=E,$+=E,Y>=48e3&&(K(),j()),!0)}function oe(f){Q(),ce(f)}async function j(){if(!B()||v||F||u)return;if(K(),!P.length){N&&(N=!1,T("recovered"),X());return}F=!0;let f=P[0],E=new AbortController;te=E;let D=ee(()=>E.abort(),ie);try{let x=await l("/ingest",f,E.signal);if(!B())return;let I=x?.ack;if(h&&(!I||I.batch!==f.batch||I.stream!==J||I.sequence!==f.transport.sequence))throw new Error("Unconfirmed recording upload");if(!h&&(!Number.isInteger(x?.accepted)||x.accepted<0))throw new Error("Unconfirmed recording upload");P.shift(),$=Math.max(0,$-f.events.reduce((_,ae)=>_+b(ae),0)),M++,ne=null,k=0,m(f.events.length),H()}catch(x){if(!B())return;if([400,401,403,404,409,413].includes(x.status)||["tracewell_quota","tracewell_transport_limit"].includes(x.code)){oe(x);return}ne??(ne=W()),k++,W()-ne>=r&&V("retry_timeout"),v||(u=ee(()=>{u=null,j()},Math.min(3e4,500*2**Math.min(k-1,6)))),H()}finally{q(D),te===E&&(te=null),F=!1,!z&&!v&&!u&&P.length?ee(j,0):!z&&!v&&!u&&N&&j()}}function U(f=!1){if(!B())return;K();let E=53e3;for(let D of P){let x=b(D);if(x>E||!p("/ingest",D))break;E-=x}T("pagehide",f,!0),H()}function G(){v=!0,u&&(q(u),u=null),U(!0)}function pe(){B()&&(v=!1,u&&(q(u),u=null),T("recovered"),j())}function Q(){z=!0,u&&q(u),u=null,te?.abort();for(let f of C)f.abort();C.clear(),P.length=0,c=[],Y=$=0,H()}return{enqueue:le,flush:j,checkpoint:T,handoff:U,unload:G,resume:pe,dispose:Q,stats:()=>({pendingBytes:$,pendingBatches:P.length+(c.length?1:0),acknowledged:M,interrupted:o,paused:N,suspended:v,retrying:k>0})}}var s=window.TracewellConfig,ke=!1;try{ke=window.top===window}catch{}if(ke&&s&&!window.Tracewell){let K=function(){return typeof window.TracewellCapture=="function"?Promise.resolve(window.TracewellCapture):F||(F=new Promise((t,n)=>{let i=document.createElement("script");i.src=s.captureUrl,i.async=!0,d&&(i.nonce=d);let g=a=>{clearTimeout(R),i.onload=i.onerror=null,i.remove(),a?(F=null,n(a)):t(window.TracewellCapture)},R=setTimeout(()=>g(new Error(e.__("Recorder load timed out","clickclue"))),15e3);i.onload=()=>g(typeof window.TracewellCapture=="function"?null:new Error(e.__("Recorder unavailable","clickclue"))),i.onerror=()=>g(new Error(e.__("Recorder could not load","clickclue"))),document.head.append(i)}),F)},pe=function(t,n){if(!G())return!1;let i=JSON.stringify(n),g=new Blob([i],{type:"application/json"});if(g.size>55e3)return!1;try{if(navigator.sendBeacon?.(le(t),g))return!0}catch{}return fetch(le(t),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:i,keepalive:!0}).catch(()=>{}),!0},Q=function(t=S){if(!u||P||!Y||!c||c.stats().paused||!G()||(C("recording"),S!==t||!u||!G()))return;let n=c;if(P=Y({media:J.media||[],maskText:s.maskText!==!1,blockSelector:s.blockSelector,emit(i){S!==t||!u||!G()||(i.type===4&&(i={...i,data:{...i.data,href:de(location.href,s)}}),n.enqueue(i))}}),S!==t||!c||c.stats().paused){j();return}$=setInterval(()=>c?.flush(),3e3),setTimeout(()=>{S===t&&u&&c?.flush()},100),window.dispatchEvent(new CustomEvent("tracewell:recording-started"))},E=function(t){o?o.token!==t&&!o.tokens.includes(t)&&o.tokens.push(t):o={token:t,tokens:[]},A(p,ce,o)},D=function(){return N||(o?(k="pending",_(!0),window.dispatchEvent(new CustomEvent("tracewell:status")),N=(async()=>{let t=new AbortController,n=setTimeout(()=>t.abort(),1e4);try{for(;o;){if((await oe("/withdraw",{token:o.token},t.signal)).deleted!==!0){k="failed";break}let[g,...R]=o.tokens;o=g?{token:g,tokens:R}:null,A(p,ce,o),k=o?"pending":"confirmed"}}catch{k="failed"}finally{clearTimeout(n),N=null,_(!0),window.dispatchEvent(new CustomEvent("tracewell:status"))}return k==="confirmed"})(),N):Promise.resolve(k==="confirmed"))},I=function(){if(o||b||M&&r?.allowed!==!0){_(!0);return}if(T()){C("browser_opt_out"),_();return}if(s.consentUI&&!q){C("privacy_notice"),_(!0);return}r=ie(!0),A(l,m,r),_(),f()},_=function(t=!1){if(!document.body)return;if(!s.consentUI&&!b){v?.remove(),v=null;return}let n=v&&document.activeElement===v,i=v?.shadowRoot?.activeElement?.textContent;v?.remove(),v=document.createElement("div"),v.setAttribute("data-tw-block",""),v.id="tracewell-privacy",v.dir=document.documentElement.dir==="rtl"?"rtl":"ltr";let g=v.attachShadow({mode:"open"});g.addEventListener("keydown",a=>{a.key==="Escape"&&r&&t&&(a.preventDefault(),_())});let R=document.createElement("style");if(R.textContent=":host{all:initial;direction:inherit;position:fixed;bottom:16px;inset-inline-start:16px;z-index:2147483000;font:14px/1.5 Arial,sans-serif;color:#193e31}*{box-sizing:border-box}.panel{width:min(355px,calc(100vw - 32px));padding:20px;border:1px solid #c6d0bf;border-radius:12px;background:#fff;box-shadow:0 12px 40px #193e3133}p{margin:0 0 14px}strong{display:block;font-size:16px;margin-bottom:7px}.actions{display:flex;gap:8px;flex-wrap:wrap}button{font:600 14px Arial,sans-serif;min-height:44px;border:1px solid #193e31;background:#fff;color:#193e31;padding:10px 13px;border-radius:6px;cursor:pointer}button:focus-visible{outline:3px solid #8ba860;outline-offset:3px}.accept{background:#fff;color:#193e31}a{color:#193e31;text-decoration:underline;text-underline-offset:3px}button:disabled{opacity:.6;cursor:not-allowed}.panel{max-height:calc(100dvh - 32px);overflow:auto}.small{box-shadow:0 4px 18px #193e3122;font-size:12px;padding:8px 11px}",g.append(R),!r||t){let a=document.createElement("div");a.className="panel",a.setAttribute("role","region"),a.setAttribute("aria-label",e.__("Replay privacy","clickclue"));let fe=document.createElement("strong");fe.textContent=k!=="not_requested"&&!r?.allowed?e.__("Your replay privacy","clickclue"):e.__("Optional session replay","clickclue"),a.append(fe);let he=document.createElement("p");if(he.textContent=T()?e.__("Your browser privacy preference is respected. Session recording is off.","clickclue"):r?.allowed?e.__("You allowed session replay. You can stop recording and request deletion of your current session.","clickclue"):(s.pro?e.__("Allow this site to reconstruct page interactions, clicks, scrolling and time spent focusing on form fields to understand how its pages are used?","clickclue"):e.__("Allow this site to reconstruct page interactions, clicks and scrolling to understand how its pages are used?","clickclue"))+" "+(s.publicImages?e.__("This includes copies of public images individually approved by the site owner. ","clickclue"):"")+e.__("Typed values are masked. Refusing does not affect your use of this site.","clickclue"),a.append(he),k!=="not_requested"&&!r?.allowed&&(he.setAttribute("role","status"),he.textContent=b?e.__("An earlier deletion request is unconfirmed after the plugin update. Recording remains off. Contact this website\u2019s owner to delete that earlier recording; its old authorization cannot be verified safely.","clickclue"):{pending:e.__("Recording has stopped. Waiting for the server to confirm deletion\u2026","clickclue"),confirmed:e.__("Recording has stopped. The server confirmed deletion of this session.","clickclue"),failed:e.__("Recording has stopped, but deletion is not confirmed. Retry below. Contact this website\u2019s owner if it keeps failing.","clickclue")}[k]),q){let y=document.createElement("p"),Z=Math.max(1,Math.min(365,Number(s.retentionDays)||7));y.append(e.sprintf(/* translators: %d: maximum retention days. Replay privacy is the visitor control label. */ e._n("Recordings stay on this site\u2019s server for up to %d day, subject to cleanup. You can withdraw through Replay privacy.","Recordings stay on this site\u2019s server for up to %d days, subject to cleanup. You can withdraw through Replay privacy.",Z,"clickclue"),Z)+" ");let we=document.createElement("a");we.href=q,we.textContent=e.__("Privacy notice and your rights","clickclue"),y.append(we),a.append(y)}else{let y=document.createElement("p");y.textContent=e.__("Replay is unavailable until this site publishes its privacy notice.","clickclue"),a.append(y)}let re=document.createElement("div");if(re.className="actions",b){let y=document.createElement("button");y.textContent=e.__("Dismiss this old request on this site","clickclue"),y.onclick=()=>{window.confirm(e.__("Dismiss this unconfirmed deletion request on this site? This stops retrying here and does not delete the recording. Contact the website owner for deletion. Recording will stay off unless you choose Allow replay again.","clickclue"))&&(A(p,H,JSON.stringify(b)),b=null,k=o?"failed":"not_requested",_(!0),window.dispatchEvent(new CustomEvent("tracewell:status")))},re.append(y)}else if(o){let y=document.createElement("button");y.textContent=k==="pending"?e.__("Deleting\u2026","clickclue"):e.__("Retry deletion","clickclue"),y.disabled=k==="pending",y.onclick=D,re.append(y)}else{if(!T()&&!r?.allowed){let Z=document.createElement("button");Z.className="accept",Z.textContent=e.__("Allow replay","clickclue"),Z.disabled=!q,Z.onclick=I,re.append(Z)}let y=document.createElement("button");y.textContent=r?.allowed?e.__("Stop & delete current session","clickclue"):e.__("No thanks","clickclue"),y.onclick=()=>x(),re.append(y)}if(r){let y=document.createElement("button");y.textContent=e.__("Close","clickclue"),y.onclick=()=>_(),re.append(y)}a.append(re),g.append(a)}else{let a=document.createElement("button");a.className="small",a.textContent=e.__("Replay privacy","clickclue"),a.onclick=()=>_(!0),g.append(a)}if(document.body.append(v),n){let a=[...g.querySelectorAll("button:not(:disabled)")];(a.find(fe=>fe.textContent===i)||a[0]||g.querySelector("a"))?.focus()}},ae=function(){if(o&&x(),T()?C("browser_opt_out"):r?.allowed===!1?C("denied"):s.consentUI&&!q&&C("privacy_notice"),_(!!b),f(),["#clickclue-check","#tracewell-check"].includes(location.hash)&&s.diagnosticsUrl){location.hash==="#tracewell-check"&&history.replaceState(null,"",location.pathname+location.search+"#clickclue-check");let t=document.createElement("script");t.src=s.diagnosticsUrl,t.async=!0,d&&(t.nonce=d),document.head.append(t)}};ve=K,xe=pe,Ce=Q,Ee=E,Re=D,Te=I,Se=_,Ae=ae,ge();let d=document.currentScript?.nonce,h=t=>{try{return window[t]}catch{return{getItem:()=>null,setItem(){},removeItem(){}}}},l=h("localStorage"),p=h("sessionStorage"),w=/^[a-f0-9]{64}$/.test(s.storageScope||"")?"."+s.storageScope:"",m="tracewell.consent.v1"+w,L="tracewell.session.v1"+w,X="tracewell.sample.v1"+w,ce="tracewell.deletion.v1"+w,H="tracewell.legacy-deletion-dismissed.v1"+w,A=(t,n,i)=>{try{i===null?t.removeItem(n):t.setItem(n,JSON.stringify(i))}catch{}},W=(t,n)=>{try{return JSON.parse(t.getItem(n))}catch{return null}},ee=typeof s.consentVersion=="string"?s.consentVersion:"",q="";try{let t=new URL(s.privacyUrl);["https:","http:"].includes(t.protocol)&&(q=t.href)}catch{}let O=t=>t&&typeof t.allowed=="boolean"&&Number.isFinite(t.expires)&&t.expires>Date.now()&&t.expires<=Date.now()+180*864e5&&(!t.allowed||t.revision===ee&&Number.isFinite(t.decidedAt)&&t.decidedAt<=Date.now()&&t.expires<=t.decidedAt+180*864e5),ie=t=>{let n=Date.now();return{allowed:t,decidedAt:n,revision:ee,expires:n+180*864e5}},r=W(l,m);if(w&&!r){let t=W(l,"tracewell.consent.v1");O(t)&&t.allowed===!1&&(r=t,A(l,m,r))}r&&!O(r)&&(r=null,A(l,m,null));let b=w?W(p,"tracewell.deletion.v1"):null;(!b||typeof b.token!="string"||W(p,H)===JSON.stringify(b))&&(b=null),b&&(r=ie(!1),A(l,m,r));let J=W(p,L),P,c,Y,$,S=0,se,M,z="waiting",v,o=W(p,ce),N;(!o||typeof o.token!="string")&&(o=null),o&&(o.tokens=Array.isArray(o.tokens)?[...new Set(o.tokens.filter(t=>typeof t=="string"&&t!==o.token))]:[]);let F,u=!0,te=0,ne=0,k=b?"legacy_unconfirmed":o?"failed":"not_requested",C=t=>{z=t,window.dispatchEvent(new CustomEvent("tracewell:status"))},B=t=>({tracewell_transport_limit:"recording_limit",tracewell_browser_opt_out:"browser_opt_out",tracewell_origin:"origin_mismatch",tracewell_privacy_notice:"privacy_notice",tracewell_consent_version:"consent_changed",tracewell_disabled:"paused",tracewell_logged_in:"signed_in",tracewell_excluded:"excluded",tracewell_quota:"quota",tracewell_rate:"rate_limited",tracewell_token:"expired",tracewell_missing:"expired"})[t.code]||(t.name==="SyntaxError"?"invalid_selector":"unavailable"),T=()=>navigator.globalPrivacyControl===!0||navigator.doNotTrack==="1",V=()=>{let t,n;try{n=new URL(location.href),t=decodeURIComponent(n.pathname).toLowerCase()}catch{return!0}let i=ue(location.href);if(["preview","preview_id","preview_nonce","rest_route",...s.privateQueryKeys||["order-pay","order-received"]].some(R=>n.searchParams.has(R))||(n.searchParams.has("p")||n.searchParams.has("page_id"))&&(!i||de(location.href,s)!==i.identity))return!0;let g=decodeURIComponent(de(location.href,s)).toLowerCase();return["/wp-admin","/wp-login.php","/my-account","/order-received","/order-pay","/wp-json",...typeof s.excludePaths=="string"?s.excludePaths.split(/\r\n|\r|\n/):[]].some(R=>{try{let a=decodeURIComponent(R.trim()).toLowerCase();return a&&(t.includes(a)||g.includes(a))}catch{return!0}})},le=t=>{let n=new URL(s.endpoint,location.href);return n.searchParams.has("rest_route")?n.searchParams.set("rest_route",n.searchParams.get("rest_route").replace(/\/$/,"")+t):n.pathname=n.pathname.replace(/\/$/,"")+t,n.href},oe=async(t,n,i)=>{let g=await fetch(le(t),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),signal:i}),R;try{R=await g.json()}catch{R={}}if(!g.ok){let a=new Error(e.__("Recording unavailable","clickclue"));throw a.status=g.status,a.code=R.code,a}return R},j=()=>{P?.stop(),P=null,clearInterval($)},U=(t="stopped")=>{S++,j(),c?.dispose(),c=null,se?.abort(),C(t)},G=()=>o||b||r?.allowed!==!0?!1:O(r)?T()||V()?(U(T()?"browser_opt_out":"excluded"),!1):!0:(r=null,U("waiting"),_(),!1);async function f(){if(c){u&&G()&&(c.resume(),Q());return}if(!u||P||M||o||b||["starting","loading_recorder"].includes(z)||document.readyState==="loading"||r?.allowed!==!0||!O(r))return;if(s.consentUI&&!q){C("privacy_notice");return}if(T()){C("browser_opt_out");return}if(V()){C("excluded");return}let t=W(p,X);if(typeof t!="number"&&(t=crypto.getRandomValues(new Uint32Array(1))[0]/4294967296*100,A(p,X,t)),t>=Number(s.sampleRate||10)){C("sampled_out");return}C("starting");let n=++S;se=new AbortController;try{s.blockSelector&&document.querySelector(s.blockSelector),M=oe("/start",{consent:!0,consent_version:r.revision,token:J?.token,path:de(location.href,s),width:innerWidth,height:innerHeight});let i=await M;if(M=null,S!==n||r?.allowed!==!0||!O(r)||T()||V()){S===n&&(r?.allowed!==!0||!O(r)?(r=null,U("waiting"),_()):U(T()?"browser_opt_out":"excluded")),i?.token&&(E(i.token),await D()),u&&z==="waiting"&&f();return}J=i,A(p,L,i),C("loading_recorder");let g=await K();if(S!==n||r?.allowed!==!0)return;if(!O(r)){r=null,U("waiting"),_();return}if(T()){U("browser_opt_out");return}if(V()){U("excluded");return}Y=g,c?.dispose(),c=ye({token:i.token,enhanced:i.transport_version===1,send:oe,beacon:pe,allowed:G,onAck(R){te=Date.now(),ne+=R,window.dispatchEvent(new CustomEvent("tracewell:status"))},onPause(){j(),C("buffering")},onDrain(){u&&Q()},onFatal(R){U(R.status===413?"oversized":B(R))},onChange(){window.dispatchEvent(new CustomEvent("tracewell:status"))}}),c.checkpoint(),Q(n)}catch(i){M=null,S===n&&U(B(i))}_()}async function x(t=!0){let n=J;if(U("denied"),J=null,r=ie(!1),t&&A(l,m,r),A(p,L,null),A(p,X,null),_(),n?.token&&E(n.token),o&&await D(),M){k="pending",_(!0);try{await M}catch{k="failed",_(!0)}}if(N&&await N,k!=="not_requested")return k==="confirmed";window.dispatchEvent(new CustomEvent("tracewell:status"))}window.Tracewell={grantConsent:I,withdrawConsent:x,retryDeletion:D,track:(t,n)=>P?.track(t,n),status:()=>z,visitorAuthorization:()=>z==="recording"&&u&&!o&&!b&&r?.allowed===!0&&O(r)&&!T()&&!V()&&typeof J?.token=="string"?{token:J.token}:null,diagnostics:()=>({state:z,privacyNoticeReady:!s.consentUI||!!q,consent:r?.allowed===!0,browserOptOut:T(),sampleRate:Number(s.sampleRate||10),maskText:s.maskText!==!1,lastUploadAt:te,uploadedEvents:ne,transport:c?.stats()||null,deletion:b?"legacy_unconfirmed":k})},window.ClickClue=window.Tracewell,window.addEventListener("tracewell:consent",t=>t.detail===!0?I():x()),window.addEventListener("storage",t=>{if(t.key===m||t.key===null){let n=W(l,m);(!O(n)||!n.allowed)&&x(!1)}else if(w&&t.key==="tracewell.consent.v1"){let n=W(l,t.key);(!O(n)||!n.allowed)&&x(!1)}}),window.addEventListener("online",()=>{o?D():u&&c?.resume()}),window.addEventListener("pagehide",()=>{if(u=!1,j(),c){let t=c;t.unload(),c===t&&C("waiting")}else U(["recording","starting","loading_recorder"].includes(z)?"waiting":z)}),window.addEventListener("pageshow",t=>{if(u=!0,t.persisted){try{let n=JSON.parse(l.getItem(m));if(!O(n)||!n.allowed){x(!1);return}r=n}catch{}if(!G())return;c?(c.resume(),Q()):f()}}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?u&&c?.handoff():u&&c?.resume()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ae,{once:!0}):ae()}var ve,xe,Ce,Ee,Re,Te,Se,Ae;})();
    22/* translators: %1$s: number of events accepted by the server. @preserve */
  • clickclue/trunk/assets/studio.css

    r3775799 r3776421  
    3737
    3838.cc-studio .tw-header .cc-brand-logo{display:block;width:164px;height:auto;max-width:100%}.cc-studio .tw-header>div{min-width:0}@media(max-width:400px){.cc-studio .tw-header .cc-brand-logo{width:144px}}
     39
     40/* Keep Watch and all review actions visible on narrow recording lists. */
     41.cc-recording-label{display:none}
     42@media(max-width:700px){
     43 .cc-studio .cc-recordings-table{display:block;min-width:0;width:100%}
     44 .cc-recordings-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
     45 .cc-recordings-table tbody{display:block}
     46 .cc-recordings-table tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px;border-bottom:1px solid var(--cc-line)}
     47 .cc-recordings-table tbody>tr:last-child{border-bottom:0}
     48 .cc-studio .cc-recordings-table td{display:block;min-width:0;padding:0;border:0;overflow-wrap:anywhere}
     49 .cc-recordings-table td.tw-path,.cc-recordings-table td.tw-actions,.cc-recordings-table td.tw-empty{grid-column:1/-1;max-width:none}
     50 .cc-recordings-table .cc-recording-label{display:block;color:var(--cc-muted);font-size:11px;font-weight:500;margin-bottom:3px;word-break:normal}
     51 .cc-studio .cc-recordings-table td.tw-actions{display:flex;flex-wrap:wrap;gap:8px;white-space:normal;padding-top:4px}
     52 .cc-studio .cc-recordings-table .tw-action{min-height:44px;max-width:100%;white-space:normal;font-size:13px;padding:8px 12px}
     53 .cc-recordings-table .tw-error-badge{display:inline-block;max-width:100%;white-space:normal}
     54 .cc-studio .cc-recordings-table td.tw-empty{padding:16px 0}
     55}
  • clickclue/trunk/assets/studio.js

    r3775799 r3776421  
    7878    window.addEventListener('tracewell:settings-loaded',()=>{baseline=encode(values());updateDraft();});window.addEventListener('tracewell:settings-saved',e=>{baseline=encode(e.detail.values);updateDraft();});
    7979    window.addEventListener('beforeunload',e=>{if(dirty()||form.getAttribute('aria-busy')==='true'&&baseline!==null){e.preventDefault();e.returnValue='';}});
     80    window.addEventListener('tracewell:before-refresh',e=>{
     81      if(e.detail.name!=='settings')return;
     82      if(form.getAttribute('aria-busy')==='true'){e.preventDefault();d.message(i18n.__('Wait for settings to finish loading or saving before refreshing.', 'clickclue'));return;}
     83      if(dirty()&&!window.confirm(i18n.__('Discard your unsaved settings changes and load the latest saved settings?', 'clickclue')))e.preventDefault();
     84    });
    8085    // Settings fields stay mounted across section and workspace navigation.
    81     window.addEventListener('tracewell:before-view',e=>{if(form.getAttribute('aria-busy')==='true'&&baseline!==null&&e.detail.from==='settings'){e.preventDefault();d.message(i18n.__('Wait for settings to finish saving before leaving this view.', 'clickclue'));}});
     86    window.addEventListener('tracewell:before-view',e=>{if(form.getAttribute('aria-busy')==='true'&&baseline!==null&&e.detail.from==='settings'){e.preventDefault();d.message(i18n.__('Wait for settings to finish loading or saving before leaving this view.', 'clickclue'));}});
    8287    // Review tools are a separate panel; switching it never remounts the player.
    8388    const dialog=$('tw-replay-dialog'),aside=dialog.querySelector('aside'),toggle=button(i18n.__('Hide review tools', 'clickclue'),()=>{const hide=!aside.hidden;aside.hidden=hide;dialog.classList.toggle('cc-review-hidden',hide);toggle.textContent=hide?i18n.__('Show review tools', 'clickclue'):i18n.__('Hide review tools', 'clickclue');toggle.setAttribute('aria-expanded',String(!hide));},'tw-button tw-outline');toggle.setAttribute('aria-expanded','true');aside.id='cc-replay-review';toggle.setAttribute('aria-controls',aside.id);dialog.querySelector('.cc-replay-actions')?.prepend(toggle);
  • clickclue/trunk/assets/tutorial.js

    r3775799 r3776421  
    1 "use strict";(()=>{var X=Object.create(null);var ae=(t,...c)=>{let u=0;return String(t).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,g,A)=>{if(s==="%%")return"%";let v=c[g?Number(g)-1:u++];return String(A==="d"?Math.trunc(Number(v)):v??"")})},e={__(t,c="clickclue"){return Object.hasOwn(X,t)?X[t]:globalThis.wp?.i18n?.__(t,c)??t},_n(t,c,u,s="clickclue"){return globalThis.wp?.i18n?._n(t,c,u,s)??(u===1?t:c)},sprintf(t,...c){return globalThis.wp?.i18n?.sprintf(t,...c)??ae(t,...c)}};var F=1,re=[{id:"privacy",title:e.__("Set up a safe test","clickclue"),section:e.__("Start with a sample visit","clickclue"),view:"settings",target:"tw-settings-form",action:e.__("Open settings","clickclue"),admin:!0,body:e.__("Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store\u2019s policy in WordPress Settings \u2192 Privacy before using the built-in prompt. In Settings \u2192 Recording & privacy, review page exclusions, keep page text masked and confirm how visitors will give permission.","clickclue"),check:e.__("Choose Prepare test settings only when you are ready. It fills the form with recording enabled and 100% sampling; you must review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded.","clickclue"),success:e.__("You have reviewed the consent prompt, exclusions and masking, and deliberately saved your test settings.","clickclue"),doc:"consent-and-masking",more:e.__("Read the privacy guide","clickclue")},{id:"visit",title:e.__("Record one test visit","clickclue"),section:e.__("Start with a sample visit","clickclue"),view:"settings",target:"tw-copy-test",action:e.__("Find my test link","clickclue"),admin:!0,body:e.__("Copy the test page link from Settings \u2192 Test & diagnostics into a private browser window where you are signed out of WordPress. Clear page caches after changing settings. Allow replay, then click and scroll using sample details.","clickclue"),check:e.__("Wait for the test panel to confirm an upload. Signed-in visitors are excluded, and Do Not Track and Global Privacy Control are respected. If no upload appears, use Recording health and the troubleshooting guide.","clickclue"),success:e.__("The signed-out test panel reports an upload. An enabled status alone does not confirm a recording.","clickclue"),doc:"troubleshooting",more:e.__("Troubleshoot a missing recording","clickclue")},{id:"replay",title:e.__("Check the replay and masking","clickclue"),section:e.__("Review what was captured","clickclue"),view:"sessions",action:e.__("Open recordings","clickclue"),body:e.__("Return to Recordings, clear filters if needed and select Refresh recordings. Choose Watch on your test visit. Press Play, move along the timeline and inspect the moments when you entered sample details.","clickclue"),check:e.__("Confirm the entered values and private regions are masked. This is a reconstruction of the page: blocked images, embedded payment frames and some layout details can be absent. If anything private remains visible, pause capture and strengthen exclusions before recording real visitors.","clickclue"),success:e.__("You have watched the recording and checked its private areas yourself. A successful upload does not verify privacy.","clickclue"),doc:"replay-and-review",more:e.__("Read the replay guide","clickclue")},{id:"review",title:e.__("Keep a useful review note","clickclue"),section:e.__("Review what was captured","clickclue"),view:"sessions",action:e.__("Open recordings","clickclue"),body:e.__("Bookmark a useful recording. In its replay, add a short note about what you observed and the next check. Choose an intent in Your next useful step whenever your question changes. Use path, device, date and watched filters to find it again; save a filter combination you use often.","clickclue"),check:e.__("Notes are visible to authorised reviewers. Keep customer details, passwords and payment information out. A read-only reviewer can inspect existing notes but cannot add notes or bookmarks.","clickclue"),success:e.__("You can find the evidence again and distinguish an observation from a possible explanation.","clickclue"),doc:"replay-and-review",more:e.__("Learn about notes and filters","clickclue")}],oe={id:"routine",title:e.__("Set your everyday recording limits","clickclue"),section:e.__("Finish the test","clickclue"),view:"settings",target:"tw-settings-form",action:e.__("Review recording settings","clickclue"),admin:!0,body:e.__("After the test, restore your normal sampling rate or pause recording. Choose retention and a payload budget your hosting can support. Check Settings \u2192 Test & diagnostics and review masking again when your theme or page layout changes.","clickclue"),check:e.__("New installations start at 10% sampling, seven days of retention and a 250 MiB payload budget. Existing 0.5.x budgets are preserved on upgrade. Raising a ceiling does not provide extra hosting space; reaching a limit pauses capture. Backups and exports need separate care.","clickclue"),success:e.__("Your recording settings reflect the traffic you intend to collect. Completing this tutorial does not enable capture or certify your store for launch.","clickclue"),doc:"limits-and-retention",more:e.__("Read the limits and retention guide","clickclue")};function le(t=!1,c=[]){return[...re,...t?c:[],oe]}function ee(t,c){let u=new Set(c.map(s=>s.id));return!t||t.version!==F?{version:F,step:c[0].id,done:[],started:!1}:{version:F,step:u.has(t.step)?t.step:c[0].id,done:[...new Set(Array.isArray(t.done)?t.done.filter(s=>u.has(s)):[])],started:t.started===!0}}function te(t,{pro:c=!1,canManage:u=!0,storageKey:s="clickclue.tutorial.website.v1",site:g=!1,onNavigate:A,onPause:v,onChange:M,storage:W,storageNotice:q,subscribeStorage:ne,guideUrl:D}={}){let U=t.ownerDocument,E=U.defaultView,V=()=>W===void 0?E.localStorage:W,o,i,K=!1,I=!0,f="",n=(l,p="",d="")=>{let h=U.createElement(l);return h.textContent=p,d&&(h.className=d),h},k=(l,p,d="cc-guide-button")=>{let h=n("button",l,d);return h.type="button",h.addEventListener("click",p),h},z=()=>s+(c?".pro":".free");function J(){o=le(c,E.ClickClueTutorialSteps||[]);let l,p;try{p=V().getItem(z())}catch{I=!1}try{l=JSON.parse(p||"null")}catch{l=null}i=ee(l,o)}function R(){try{V().setItem(z(),JSON.stringify(i))}catch{I=!1}M?.({...i,total:o.length})}function w(l=!0){R(),T(l)}function ce(l,p){let d=n("a",l);return d.href=p,g||(d.target="_blank",d.rel="noopener noreferrer",d.append(n("span",e.__(" (opens in a new tab)","clickclue"),"cc-guide-meta"))),d}function T(l=!1){if(K)return;t.replaceChildren(),t.classList.remove("tutorial-fallback"),t.classList.add("cc-guide");let p=n("div","","cc-guide-head"),d=n("div");if(d.append(n("p",c?e.__("OPTIONAL \xB7 FREE + PRO","clickclue"):e.__("OPTIONAL \xB7 FREE","clickclue"),"cc-guide-eyebrow"),n("h2",e.__("Your first useful recording","clickclue"))),p.append(d),v&&p.append(k(e.__("Pause tutorial","clickclue"),()=>{R(),v()},"cc-guide-button cc-guide-secondary")),t.append(p),g){let r=n("div","","cc-guide-editions");r.setAttribute("role","group"),r.setAttribute("aria-label",e.__("Tutorial edition","clickclue"));for(let[O,C]of[[!1,e.__("Free tutorial","clickclue")],[!0,e.__("Pro tutorial","clickclue")]]){let x=k(C,()=>{c=O,f="",J(),T(!0)});x.setAttribute("aria-pressed",String(c===O)),r.append(x)}t.append(r)}let h=n("p",e.sprintf(/* translators: 1: reviewed steps, 2: total tutorial steps. */ e._n("%1$s of %2$s step marked reviewed","%1$s of %2$s steps marked reviewed",o.length,"clickclue"),i.done.length,o.length),"cc-guide-progress");h.setAttribute("role","status"),t.append(h);let P=n("div","","cc-guide-layout"),N=n("nav");N.setAttribute("aria-label",e.__("Tutorial steps","clickclue"));let G=n("ol");o.forEach((r,O)=>{let C=n("li"),x=i.done.includes(r.id),B=k(`${O+1}. ${r.title}${x?e.__(" \xB7 Reviewed","clickclue"):""}`,()=>{i.started=!0,i.step=r.id,f="",w()},"cc-guide-step");r.id===i.step&&B.setAttribute("aria-current","step"),x&&(B.dataset.reviewed="true"),C.append(B),G.append(C)}),N.append(G),P.append(N);let a=o.find(r=>r.id===i.step),b=o.indexOf(a),y=n("section","","cc-guide-panel"),$=n("h3",a.title);$.tabIndex=-1,y.append(n("p",e.sprintf(/* translators: 1: current step, 2: total steps, 3: section name. */ e.__("STEP %1$s OF %2$s \xB7 %3$s","clickclue"),b+1,o.length,a.section),"cc-guide-eyebrow"),$,n("p",a.body));let Z=n("div","","cc-guide-check");Z.append(n("strong",e.__("What to check","clickclue")),n("p",a.check)),y.append(Z),y.append(n("p",a.success,"cc-guide-success"));let L=n("div","","cc-guide-actions");!g&&a.admin&&!u?y.append(n("p",e.__("Your role cannot change recording settings. Ask a site administrator to carry out this step.","clickclue"),"cc-guide-permission")):!g&&A&&L.append(k(a.action,()=>{i.started=!0,R(),A(a.view,a.target)}));let H=g?"/docs/"+a.doc:D?D+"#"+encodeURIComponent(a.doc):"";H&&L.append(ce(a.more,H)),y.append(L);let Y=n("div","","cc-guide-controls"),Q=k(e.__("Previous step","clickclue"),()=>{i.step=o[b-1].id,f="",w()},"cc-guide-button cc-guide-secondary");if(Q.disabled=b===0,Y.append(Q,k(i.done.includes(a.id)?b===o.length-1?e.__("Check remaining steps","clickclue"):e.__("Next step","clickclue"):e.__("Mark reviewed & continue","clickclue"),()=>{i.started=!0,i.done.includes(a.id)||i.done.push(a.id),b<o.length-1?i.step=o[b+1].id:i.done.length<o.length?(i.step=o.find(r=>!i.done.includes(r.id)).id,f=e.__("Returning to the first step you have not marked reviewed.","clickclue")):f=e.__("All steps marked reviewed. Your settings have not been changed by the tutorial. Revisit any step whenever you need it.","clickclue"),w()})),i.done.includes(a.id)&&Y.append(k(e.__("Mark this step unread","clickclue"),()=>{i.done=i.done.filter(r=>r!==a.id),f="",w()},"cc-guide-text-button")),y.append(Y),f){let r=n("p",f,"cc-guide-notice");r.setAttribute("role","status"),y.append(r)}P.append(y),t.append(P);let j=n("div","","cc-guide-footer");j.append(n("p",I?q?q()+e.__(" Progress is a checklist you mark yourself; it does not verify your settings.","clickclue"):e.__("Progress is a checklist you mark yourself. It is saved only in this browser; no settings or visitor data are changed.","clickclue"):e.__("Browser storage is unavailable. Progress lasts for this visit only; no settings or visitor data are changed.","clickclue"),"cc-guide-meta")),(i.started||i.done.length)&&j.append(k(e.__("Reset tutorial progress","clickclue"),()=>{E.confirm(e.__("Reset only this tutorial\u2019s checklist? Recording settings and recordings will stay as they are.","clickclue"))&&(i=ee(null,o),f=e.__("Tutorial progress reset.","clickclue"),w())},"cc-guide-text-button")),t.append(j),l&&$.focus()}J(),T(),M?.({...i,total:o.length});let se=ne?.(()=>T());return{focus:()=>{i.started=!0,R(),t.querySelector("h3")?.focus({preventScroll:!0})},dispose:()=>{K=!0,se?.(),t.replaceChildren()}}}var S=window.TracewellAdmin,ie=window.TracewellDashboard,_=document.getElementById("tw-tutorial"),m=document.getElementById("tw-tutorial-open");if(S&&ie&&_&&m){let t=()=>{_.hidden=!0,m.setAttribute("aria-expanded","false"),m.focus({preventScroll:!0})},c,u=()=>{c?.dispose(),c=te(_,{guideUrl:S.guideUrl,pro:!!S.pro,canManage:S.canManage!==!1,storageKey:"clickclue.tutorial."+location.pathname+".user-"+S.userId+".v1",onPause:t,onNavigate:(s,g)=>{t(),s==="discovery-reports"&&window.dispatchEvent(new CustomEvent("tracewell:investigation-scope",{detail:{filters:{},section:"clues"}})),ie.openView(s,g)},onChange:s=>{m.textContent=s.done.length===s.total?e.__("Review tutorial","clickclue"):s.started?e.__("Resume tutorial","clickclue"):e.__("Start tutorial","clickclue")}})};u(),window.addEventListener("tracewell:tutorial-extensions",u),m.hidden=!1,m.onclick=()=>{_.hidden=!_.hidden,m.setAttribute("aria-expanded",String(!_.hidden)),_.hidden||(_.scrollIntoView?.({block:"start",behavior:"auto"}),c.focus())},_.addEventListener("keydown",s=>{s.key==="Escape"&&(s.preventDefault(),t())})}})();
     1"use strict";(()=>{var X=Object.create(null);var ae=(t,...c)=>{let u=0;return String(t).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,g,A)=>{if(s==="%%")return"%";let v=c[g?Number(g)-1:u++];return String(A==="d"?Math.trunc(Number(v)):v??"")})},e={__(t,c="clickclue"){return Object.hasOwn(X,t)?X[t]:globalThis.wp?.i18n?.__(t,c)??t},_n(t,c,u,s="clickclue"){return globalThis.wp?.i18n?._n(t,c,u,s)??(u===1?t:c)},sprintf(t,...c){return globalThis.wp?.i18n?.sprintf(t,...c)??ae(t,...c)}};var B=1,re=[{id:"privacy",title:e.__("Set up a safe test","clickclue"),section:e.__("Start with a sample visit","clickclue"),view:"settings",target:"tw-settings-form",action:e.__("Open settings","clickclue"),admin:!0,body:e.__("Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store\u2019s policy in WordPress Settings \u2192 Privacy before using the built-in prompt. In Settings \u2192 Recording & privacy, review page exclusions and confirm how visitors will give permission. Ordinary page text stays readable by default; typed values and private regions remain masked. Enable Mask all page text if you need to hide other visible text.","clickclue"),check:e.__("In Settings \u2192 Test & diagnostics, choose Prepare test settings only when you are ready. It enables recording and sets 100% sampling in the form while preserving your text-masking choice; review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded.","clickclue"),success:e.__("You have reviewed the consent prompt, exclusions and masking, and deliberately saved your test settings.","clickclue"),doc:"consent-and-masking",more:e.__("Read the privacy guide","clickclue")},{id:"visit",title:e.__("Record one test visit","clickclue"),section:e.__("Start with a sample visit","clickclue"),view:"settings",target:"tw-copy-test",action:e.__("Find my test link","clickclue"),admin:!0,body:e.__("Copy the test page link from Settings \u2192 Test & diagnostics into a private browser window where you are signed out of WordPress. Clear page caches after changing settings. Allow replay, then click and scroll using sample details.","clickclue"),check:e.__("Wait for the test panel to confirm an upload. Signed-in visitors are excluded, and Do Not Track and Global Privacy Control are respected. If no upload appears, use Recording health and the troubleshooting guide.","clickclue"),success:e.__("The signed-out test panel reports an upload. An enabled status alone does not confirm a recording.","clickclue"),doc:"troubleshooting",more:e.__("Troubleshoot a missing recording","clickclue")},{id:"replay",title:e.__("Check the replay and masking","clickclue"),section:e.__("Review what was captured","clickclue"),view:"sessions",action:e.__("Open recordings","clickclue"),body:e.__("Return to Recordings, clear filters if needed and select Refresh recordings. Choose Watch on your test visit. Press Play, move along the timeline and inspect the moments when you entered sample details.","clickclue"),check:e.__("Confirm the entered values and private regions are masked. This is a reconstruction of the page: blocked images, embedded payment frames and some layout details can be absent. If anything private remains visible, pause capture and strengthen exclusions before recording real visitors.","clickclue"),success:e.__("You have watched the recording and checked its private areas yourself. A successful upload does not verify privacy.","clickclue"),doc:"replay-and-review",more:e.__("Read the replay guide","clickclue")},{id:"review",title:e.__("Keep a useful review note","clickclue"),section:e.__("Review what was captured","clickclue"),view:"sessions",action:e.__("Open recordings","clickclue"),body:e.__("Bookmark a useful recording. In its replay, add a short note about what you observed and the next check. Choose an intent in Your next useful step whenever your question changes. Use path, device, date and watched filters to find it again; save a filter combination you use often.","clickclue"),check:e.__("Notes are visible to authorised reviewers. Keep customer details, passwords and payment information out. A read-only reviewer can inspect existing notes but cannot add notes or bookmarks.","clickclue"),success:e.__("You can find the evidence again and distinguish an observation from a possible explanation.","clickclue"),doc:"replay-and-review",more:e.__("Learn about notes and filters","clickclue")}],oe={id:"routine",title:e.__("Set your everyday recording limits","clickclue"),section:e.__("Finish the test","clickclue"),view:"settings",target:"tw-settings-form",action:e.__("Review recording settings","clickclue"),admin:!0,body:e.__("After the test, restore your normal sampling rate or pause recording. Choose retention and a payload budget your hosting can support. Check Settings \u2192 Test & diagnostics and review masking again when your theme or page layout changes.","clickclue"),check:e.__("New installations start at 10% sampling, seven days of retention and a 250 MiB payload budget. Existing 0.5.x budgets are preserved on upgrade. Raising a ceiling does not provide extra hosting space; reaching a limit pauses capture. Backups and exports need separate care.","clickclue"),success:e.__("Your recording settings reflect the traffic you intend to collect. Completing this tutorial does not enable capture or certify your store for launch.","clickclue"),doc:"limits-and-retention",more:e.__("Read the limits and retention guide","clickclue")};function le(t=!1,c=[]){return[...re,...t?c:[],oe]}function ee(t,c){let u=new Set(c.map(s=>s.id));return!t||t.version!==B?{version:B,step:c[0].id,done:[],started:!1}:{version:B,step:u.has(t.step)?t.step:c[0].id,done:[...new Set(Array.isArray(t.done)?t.done.filter(s=>u.has(s)):[])],started:t.started===!0}}function te(t,{pro:c=!1,canManage:u=!0,storageKey:s="clickclue.tutorial.website.v1",site:g=!1,onNavigate:A,onPause:v,onChange:F,storage:W,storageNotice:q,subscribeStorage:ne,guideUrl:D}={}){let U=t.ownerDocument,E=U.defaultView,V=()=>W===void 0?E.localStorage:W,o,i,K=!1,I=!0,f="",n=(l,p="",d="")=>{let h=U.createElement(l);return h.textContent=p,d&&(h.className=d),h},k=(l,p,d="cc-guide-button")=>{let h=n("button",l,d);return h.type="button",h.addEventListener("click",p),h},z=()=>s+(c?".pro":".free");function J(){o=le(c,E.ClickClueTutorialSteps||[]);let l,p;try{p=V().getItem(z())}catch{I=!1}try{l=JSON.parse(p||"null")}catch{l=null}i=ee(l,o)}function R(){try{V().setItem(z(),JSON.stringify(i))}catch{I=!1}F?.({...i,total:o.length})}function w(l=!0){R(),T(l)}function ce(l,p){let d=n("a",l);return d.href=p,g||(d.target="_blank",d.rel="noopener noreferrer",d.append(n("span",e.__(" (opens in a new tab)","clickclue"),"cc-guide-meta"))),d}function T(l=!1){if(K)return;t.replaceChildren(),t.classList.remove("tutorial-fallback"),t.classList.add("cc-guide");let p=n("div","","cc-guide-head"),d=n("div");if(d.append(n("p",c?e.__("OPTIONAL \xB7 FREE + PRO","clickclue"):e.__("OPTIONAL \xB7 FREE","clickclue"),"cc-guide-eyebrow"),n("h2",e.__("Your first useful recording","clickclue"))),p.append(d),v&&p.append(k(e.__("Pause tutorial","clickclue"),()=>{R(),v()},"cc-guide-button cc-guide-secondary")),t.append(p),g){let r=n("div","","cc-guide-editions");r.setAttribute("role","group"),r.setAttribute("aria-label",e.__("Tutorial edition","clickclue"));for(let[O,C]of[[!1,e.__("Free tutorial","clickclue")],[!0,e.__("Pro tutorial","clickclue")]]){let x=k(C,()=>{c=O,f="",J(),T(!0)});x.setAttribute("aria-pressed",String(c===O)),r.append(x)}t.append(r)}let h=n("p",e.sprintf(/* translators: 1: reviewed steps, 2: total tutorial steps. */ e._n("%1$s of %2$s step marked reviewed","%1$s of %2$s steps marked reviewed",o.length,"clickclue"),i.done.length,o.length),"cc-guide-progress");h.setAttribute("role","status"),t.append(h);let P=n("div","","cc-guide-layout"),N=n("nav");N.setAttribute("aria-label",e.__("Tutorial steps","clickclue"));let G=n("ol");o.forEach((r,O)=>{let C=n("li"),x=i.done.includes(r.id),j=k(`${O+1}. ${r.title}${x?e.__(" \xB7 Reviewed","clickclue"):""}`,()=>{i.started=!0,i.step=r.id,f="",w()},"cc-guide-step");r.id===i.step&&j.setAttribute("aria-current","step"),x&&(j.dataset.reviewed="true"),C.append(j),G.append(C)}),N.append(G),P.append(N);let a=o.find(r=>r.id===i.step),b=o.indexOf(a),y=n("section","","cc-guide-panel"),$=n("h3",a.title);$.tabIndex=-1,y.append(n("p",e.sprintf(/* translators: 1: current step, 2: total steps, 3: section name. */ e.__("STEP %1$s OF %2$s \xB7 %3$s","clickclue"),b+1,o.length,a.section),"cc-guide-eyebrow"),$,n("p",a.body));let Z=n("div","","cc-guide-check");Z.append(n("strong",e.__("What to check","clickclue")),n("p",a.check)),y.append(Z),y.append(n("p",a.success,"cc-guide-success"));let L=n("div","","cc-guide-actions");!g&&a.admin&&!u?y.append(n("p",e.__("Your role cannot change recording settings. Ask a site administrator to carry out this step.","clickclue"),"cc-guide-permission")):!g&&A&&L.append(k(a.action,()=>{i.started=!0,R(),A(a.view,a.target)}));let H=g?"/docs/"+a.doc:D?D+"#"+encodeURIComponent(a.doc):"";H&&L.append(ce(a.more,H)),y.append(L);let M=n("div","","cc-guide-controls"),Q=k(e.__("Previous step","clickclue"),()=>{i.step=o[b-1].id,f="",w()},"cc-guide-button cc-guide-secondary");if(Q.disabled=b===0,M.append(Q,k(i.done.includes(a.id)?b===o.length-1?e.__("Check remaining steps","clickclue"):e.__("Next step","clickclue"):e.__("Mark reviewed & continue","clickclue"),()=>{i.started=!0,i.done.includes(a.id)||i.done.push(a.id),b<o.length-1?i.step=o[b+1].id:i.done.length<o.length?(i.step=o.find(r=>!i.done.includes(r.id)).id,f=e.__("Returning to the first step you have not marked reviewed.","clickclue")):f=e.__("All steps marked reviewed. Your settings have not been changed by the tutorial. Revisit any step whenever you need it.","clickclue"),w()})),i.done.includes(a.id)&&M.append(k(e.__("Mark this step unread","clickclue"),()=>{i.done=i.done.filter(r=>r!==a.id),f="",w()},"cc-guide-text-button")),y.append(M),f){let r=n("p",f,"cc-guide-notice");r.setAttribute("role","status"),y.append(r)}P.append(y),t.append(P);let Y=n("div","","cc-guide-footer");Y.append(n("p",I?q?q()+e.__(" Progress is a checklist you mark yourself; it does not verify your settings.","clickclue"):e.__("Progress is a checklist you mark yourself. It is saved only in this browser; no settings or visitor data are changed.","clickclue"):e.__("Browser storage is unavailable. Progress lasts for this visit only; no settings or visitor data are changed.","clickclue"),"cc-guide-meta")),(i.started||i.done.length)&&Y.append(k(e.__("Reset tutorial progress","clickclue"),()=>{E.confirm(e.__("Reset only this tutorial\u2019s checklist? Recording settings and recordings will stay as they are.","clickclue"))&&(i=ee(null,o),f=e.__("Tutorial progress reset.","clickclue"),w())},"cc-guide-text-button")),t.append(Y),l&&$.focus()}J(),T(),F?.({...i,total:o.length});let se=ne?.(()=>T());return{focus:()=>{i.started=!0,R(),t.querySelector("h3")?.focus({preventScroll:!0})},dispose:()=>{K=!0,se?.(),t.replaceChildren()}}}var S=window.TracewellAdmin,ie=window.TracewellDashboard,_=document.getElementById("tw-tutorial"),m=document.getElementById("tw-tutorial-open");if(S&&ie&&_&&m){let t=()=>{_.hidden=!0,m.setAttribute("aria-expanded","false"),m.focus({preventScroll:!0})},c,u=()=>{c?.dispose(),c=te(_,{guideUrl:S.guideUrl,pro:!!S.pro,canManage:S.canManage!==!1,storageKey:"clickclue.tutorial."+location.pathname+".user-"+S.userId+".v1",onPause:t,onNavigate:(s,g)=>{t(),s==="discovery-reports"&&window.dispatchEvent(new CustomEvent("tracewell:investigation-scope",{detail:{filters:{},section:"clues"}})),ie.openView(s,g)},onChange:s=>{m.textContent=s.done.length===s.total?e.__("Review tutorial","clickclue"):s.started?e.__("Resume tutorial","clickclue"):e.__("Start tutorial","clickclue")}})};u(),window.addEventListener("tracewell:tutorial-extensions",u),m.hidden=!1,m.onclick=()=>{_.hidden=!_.hidden,m.setAttribute("aria-expanded",String(!_.hidden)),_.hidden||(_.scrollIntoView?.({block:"start",behavior:"auto"}),c.focus())},_.addEventListener("keydown",s=>{s.key==="Escape"&&(s.preventDefault(),t())})}})();
  • clickclue/trunk/changelog.txt

    r3775799 r3776421  
     1= 1.1.6 =
     2* Reject oversized privacy exclusion rules without silently cutting them or changing saved settings.
     3* Keep embedded documents out of recording and preserve the parent replay.
     4* Refresh current saved settings and protect unsaved changes.
     5* Distinguish public WordPress pages with plain permalinks while removing unrelated URL query data.
     6* Improve mobile recording actions, setup guidance and Pro-preview wording.
     7* Set pluginsshop author information and the plugins.shop author link.
     8
     9= 1.1.5 =
     10* Add an optional review invitation after thirty days of meaningful local use, with per-administrator reminders and permanent dismissal.
     11* Correct installed help for current privacy, storage, licensing and update behavior.
     12
    113= 1.1.4 =
    214* Uses the same ClickClue logo as the website and adds accessible star indicators to Pro preview navigation.
  • clickclue/trunk/clickclue.php

    r3775799 r3776421  
    33 * Plugin Name: ClickClue
    44 * Description: Consent-first session replay, stored on your own WordPress server.
    5  * Version: 1.1.4
     5 * Version: 1.1.6
    66 * Requires at least: 6.6
    77 * Requires PHP: 8.1
    88 * Author: pluginsshop
     9 * Author URI: https://plugins.shop/
    910 * License: GPL-2.0-or-later
    1011 * Domain Path: /languages
    … …  
    1920    return;
    2021}
    21 define('TRACEWELL_VERSION', '1.1.4');
     22define('TRACEWELL_VERSION', '1.1.6');
    2223define('TRACEWELL_FILE', __FILE__);
    2324define('TRACEWELL_DIR', plugin_dir_path(__FILE__));
    … …  
    2829require_once TRACEWELL_DIR . 'includes/class-tracewell-transport.php';
    2930require_once TRACEWELL_DIR . 'includes/class-clickclue-pro-previews.php';
     31require_once TRACEWELL_DIR . 'includes/class-clickclue-review-request.php';
     32add_action('plugins_loaded', ['ClickClue_Review_Request', 'boot'], 20);
    3033add_action('plugins_loaded', ['ClickClue_Pro_Previews', 'boot'], 20);
    3134register_activation_hook(__FILE__, ['Tracewell', 'activate']);
  • clickclue/trunk/includes/admin-page.php

    r3775799 r3776421  
    1010    <div class="tw-stats"><article><span><?php esc_html_e('Saved recordings', 'clickclue'); ?></span><strong id="tw-stat-total">—</strong></article><article><span><?php esc_html_e('Started this month', 'clickclue'); ?></span><strong id="tw-stat-monthly">—</strong><small id="tw-stat-limit"></small></article><article><span><?php esc_html_e('Storage used', 'clickclue'); ?></span><strong id="tw-stat-storage">—</strong></article><article><span><?php esc_html_e('Saved retention', 'clickclue'); ?></span><strong id="tw-stat-retention">—</strong><small><?php esc_html_e('Cleanup runs hourly through WP-Cron.', 'clickclue'); ?></small></article></div>
    1111    <div class="tw-toolbar"><label class="tw-search"><span class="screen-reader-text"><?php esc_html_e('Search page path', 'clickclue'); ?></span><input id="tw-search" type="search" placeholder="<?php esc_attr_e('Search a page path…', 'clickclue'); ?>" /></label><label><span class="screen-reader-text"><?php esc_html_e('Device', 'clickclue'); ?></span><select id="tw-device"><option value=""><?php esc_html_e('All devices', 'clickclue'); ?></option><option value="desktop"><?php esc_html_e('Desktop', 'clickclue'); ?></option><option value="mobile"><?php esc_html_e('Mobile', 'clickclue'); ?></option></select></label><?php do_action('tracewell_admin_filters'); ?></div>
    12     <div class="tw-table-wrap" tabindex="0" role="region" aria-label="<?php esc_attr_e('Recordings table', 'clickclue'); ?>"><table class="tw-table"><thead><tr><th scope="col"><?php esc_html_e('Entry page', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Started (UTC)', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Device', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Duration', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Review', 'clickclue'); ?></th><th scope="col"><span class="screen-reader-text"><?php esc_html_e('Actions', 'clickclue'); ?></span></th></tr></thead><tbody id="tw-session-rows"><tr><td colspan="6" class="tw-empty"><?php esc_html_e('Loading recordings…', 'clickclue'); ?></td></tr></tbody></table></div>
     12    <div class="tw-table-wrap" tabindex="0" role="region" aria-label="<?php esc_attr_e('Recordings table', 'clickclue'); ?>"><table class="tw-table cc-recordings-table" role="table"><thead role="rowgroup"><tr role="row"><th scope="col"><?php esc_html_e('Entry page', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Started (UTC)', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Device', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Duration', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Review', 'clickclue'); ?></th><th scope="col"><span class="screen-reader-text"><?php esc_html_e('Actions', 'clickclue'); ?></span></th></tr></thead><tbody id="tw-session-rows" role="rowgroup"><tr><td colspan="6" class="tw-empty"><?php esc_html_e('Loading recordings…', 'clickclue'); ?></td></tr></tbody></table></div>
    1313    <div class="tw-pagination"><span id="tw-results"></span><div><button class="tw-button tw-outline" id="tw-prev" disabled><?php esc_html_e('Previous', 'clickclue'); ?></button><button class="tw-button tw-outline" id="tw-next" disabled><?php esc_html_e('Next', 'clickclue'); ?></button></div></div>
    1414    <?php do_action('tracewell_admin_recordings_footer'); ?>
    … …  
    3232        </article>
    3333        <article class="tw-card"><h2><?php esc_html_e('Choose what stays private', 'clickclue'); ?></h2><label class="tw-toggle"><span><strong><?php esc_html_e('Mask all page text', 'clickclue'); ?></strong><small><?php esc_html_e('Off on new installations so ordinary page text stays readable. Turn on to hide all page text. Typed values and private regions stay protected either way.', 'clickclue'); ?></small></span><input type="checkbox" name="mask_text" role="switch" /></label><p class="cc-mask-preview" aria-label="<?php esc_attr_e('Illustrative text masking', 'clickclue'); ?>"><?php esc_html_e('With text masking:', 'clickclue'); ?> <span aria-hidden="true"><?php esc_html_e('Your sample text → •••• •••••• ••••', 'clickclue'); ?></span><span class="screen-reader-text"><?php esc_html_e('Words are replaced by masking characters.', 'clickclue'); ?></span></p><p class="tw-muted"><?php esc_html_e('Replays reconstruct layout and actions. Private regions, embedded content and unapproved images are excluded, so some areas will look empty.', 'clickclue'); ?></p>
    34           <details><summary><?php esc_html_e('Page exclusions & advanced privacy', 'clickclue'); ?></summary><label class="tw-field"><?php esc_html_e('Exclude page paths', 'clickclue'); ?><textarea name="exclude_paths" rows="4"></textarea><small><?php esc_html_e('One path fragment per line. Account, login and order confirmation pages are always excluded.', 'clickclue'); ?></small></label><label class="tw-field"><?php esc_html_e('Additional elements to exclude', 'clickclue'); ?><textarea name="block_selector" rows="3"></textarea><small><?php esc_html_e('CSS selectors. Invalid selectors stop recording. Embedded frames, editable content and private regions stay blocked.', 'clickclue'); ?></small></label><p class="tw-muted"><?php esc_html_e('No raw IP addresses, customer IDs, payment details, console logs or request bodies are intentionally collected. Visually inspect a test replay before using this on your site.', 'clickclue'); ?></p></details>
     34          <details><summary><?php esc_html_e('Page exclusions & advanced privacy', 'clickclue'); ?></summary><label class="tw-field"><?php esc_html_e('Exclude page paths', 'clickclue'); ?><textarea name="exclude_paths" rows="4"></textarea><small><?php esc_html_e('One path fragment per line. Limit: 2,000 bytes; some characters use more than one byte. Longer lists are rejected without changing saved settings. Account, login and order confirmation pages are always excluded.', 'clickclue'); ?></small></label><label class="tw-field"><?php esc_html_e('Additional elements to exclude', 'clickclue'); ?><textarea name="block_selector" rows="3"></textarea><small><?php esc_html_e('CSS selectors. Limit: 500 bytes; some characters use more than one byte. Longer lists are rejected without changing saved settings. Invalid selectors stop recording. Embedded frames, editable content and private regions stay blocked.', 'clickclue'); ?></small></label><p class="tw-muted"><?php esc_html_e('No raw IP addresses, customer IDs, payment details, console logs or request bodies are intentionally collected. Visually inspect a test replay before using this on your site.', 'clickclue'); ?></p></details>
    3535        </article>
    3636      </div>
  • clickclue/trunk/includes/class-tracewell-workspace.php

    r3775799 r3776421  
    122122        // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- Plugin-owned relational data or atomic transaction; no equivalent WP object API. Read current database state so consent, revocation, retention and concurrent updates take effect immediately.
    123123        if ($ok===false || $wpdb->query('COMMIT')===false) { $wpdb->query('ROLLBACK'); return Tracewell::error('database',__('Review could not be saved.', 'clickclue'),503); }
     124        if(($b['watched']??false)===true)do_action('tracewell_recording_reviewed',$id);
    124125        self::audit(isset($b['note'])?'session_note':'review_saved',$id); return self::review($r);
    125126    }
  • clickclue/trunk/includes/class-tracewell.php

    r3775799 r3776421  
    3636        $s = self::settings();
    3737        $policy = get_post((int)get_option('wp_page_for_privacy_policy'));
    38         $notice = ['clickclue-replay-2026-09-25-0.8.0', get_privacy_policy_url(), $policy ? $policy->post_content : '',
     38        $notice = ['clickclue-replay-2026-10-31-1.1.6-public-page-identity', get_privacy_policy_url(), $policy ? $policy->post_content : '',
    3939            $s['consent_ui'], $s['mask_text'], $s['block_selector'], $s['exclude_paths'], min(self::limits()['retention'], (int)$s['retention_days']), self::pro()];
    4040        // A CMP integration may revise this filter when its notice/purposes change.
    … …  
    161161                    $text .= ' ' . esc_html__('The active Pro add-on also supports structural form focus timing, repeated clicks and possible unresponsive clicks. Entered field values are not collected for these insights.', 'clickclue');
    162162                }
     163                $text .= ' ' . esc_html__('Recorded page paths omit fragments and arbitrary query values. On sites using plain WordPress permalinks, a verified public numeric post or page ID identifies the page.', 'clickclue');
    163164                $text .= ' ' . esc_html__('Typed values and explicitly private regions are protected. Ordinary page text is readable unless the site enables page-text masking. This does not record your desktop, camera or microphone. Page text, paths and page structure can still contain personal data: masking is not guaranteed anonymisation.', 'clickclue') . '</p>';
    164165                $text .= '<p>' . esc_html__('Images are excluded by default. If we separately enable approved public images, individual public, static WordPress media-library images confirmed by an administrator may appear in new consenting recordings. Eligible local images are re-encoded locally without embedded metadata into bounded PNG/JPEG copies. No arbitrary visitor image URL is fetched and no visitor screen pixels are captured. Private and masked regions remain excluded. Selected copies are held in a bounded local approval catalogue; used copies are stored with recordings and follow their deletion and retention. Removing an image approval or turning image capture off removes the affected copies from existing recordings. Previously downloaded exports and backups require separate handling.', 'clickclue') . '</p>';
    … …  
    256257        return true;
    257258    }
    258     public static function clean_path($raw): string {
     259    /** Extract only the fixed numeric routing keys used by plain permalinks. */
     260    private static function plain_page_route(string $raw): ?array {
     261        $parts = wp_parse_url($raw); $home = wp_parse_url(home_url('/'));
     262        if (!is_array($parts) || !is_array($home)) return null;
     263        if (isset($parts['host']) && (strtolower($parts['host']) !== strtolower($home['host'] ?? '') || ($parts['scheme'] ?? '') !== ($home['scheme'] ?? '') || ($parts['port'] ?? (($parts['scheme'] ?? '') === 'https' ? 443 : 80)) !== ($home['port'] ?? (($home['scheme'] ?? '') === 'https' ? 443 : 80)))) return null;
     264        $path = $parts['path'] ?? '/'; $root = trailingslashit($home['path'] ?? '/');
     265        if (!in_array($path, [$root, $root . 'index.php'], true)) return null;
     266        $found = [];
     267        foreach (explode('&', $parts['query'] ?? '') as $part) {
     268            $pair = explode('=', $part, 2); $key = rawurldecode($pair[0]);
     269            if (!in_array($key, ['p', 'page_id'], true)) continue;
     270            if (isset($found[$key]) || !preg_match('/^[1-9][0-9]{0,9}$/D', $pair[1] ?? '')) return null;
     271            $found[$key] = $pair[1];
     272        }
     273        if (count($found) !== 1) return null;
     274        $key = array_key_first($found);
     275        return ['path'=>$path, 'key'=>$key, 'id'=>(int)$found[$key], 'identity'=>$path . '?' . $key . '=' . $found[$key]];
     276    }
     277    private static function public_plain_page(array $route): bool {
     278        // A batch may repeat this lookup for every metric. Cache only within
     279        // this request and bound distinct IDs, including rejected lookups.
     280        static $checked = [];
     281        $key = get_current_blog_id() . '|' . $route['key'] . '|' . $route['id'];
     282        if (array_key_exists($key, $checked)) return $checked[$key];
     283        if (count($checked) >= 128) return false;
     284        $post = get_post($route['id']);
     285        $public = $post && is_post_publicly_viewable($post) && $post->post_password === ''
     286            && ($post->post_type === 'page' ? 'page_id' : 'p') === $route['key']
     287            && (!function_exists('wc_get_page_id') || (int)wc_get_page_id('myaccount') !== $route['id']);
     288        $checked[$key] = $public;
     289        return $public;
     290    }
     291    /** Query keys that select a private or administrative view, never replay data. */
     292    public static function private_query_keys(): array {
     293        $keys = ['preview', 'preview_id', 'preview_nonce', 'rest_route', 'order-pay', 'order-received'];
     294        foreach (['woocommerce_checkout_pay_endpoint', 'woocommerce_checkout_order_received_endpoint'] as $option) {
     295            $key = get_option($option, '');
     296            if (is_string($key) && $key !== '') $keys[] = $key;
     297        }
     298        return array_values(array_unique($keys));
     299    }
     300    public static function clean_path($raw, bool $historical = false): string {
    259301        if (!is_string($raw)) { return '/'; }
    260302        $path = wp_parse_url($raw, PHP_URL_PATH) ?: '/';
    261303        $path = preg_replace('/[\x00-\x1F\x7F]/', '', $path);
    262304        $path = preg_replace('~[^/]*(@|%40)[^/]*~i', '[masked]', $path);
    263         return substr('/' . ltrim($path, '/'), 0, 500);
     305        $path = substr('/' . ltrim($path, '/'), 0, 500);
     306        $route = self::plain_page_route($raw);
     307        // Only a public WordPress object can add a numeric routing key. Titles,
     308        // searches, campaigns, email addresses and all other query values drop.
     309        if ($route && strlen($route['identity']) <= 500 && $route['path'] === $path && ($historical || self::public_plain_page($route))) return $route['identity'];
     310        return $path;
    264311    }
    265312    public static function private_paths(): array {
    … …  
    278325    }
    279326    public static function excluded(string $path): bool {
    280         $path = strtolower(rawurldecode(wp_parse_url($path, PHP_URL_PATH) ?: '/'));
     327        $raw = $path; $route = self::plain_page_route($raw);
     328        $query = wp_parse_url($raw, PHP_URL_QUERY); $parameters = [];
     329        if (is_string($query)) wp_parse_str($query, $parameters);
     330        foreach (self::private_query_keys() as $key) if (array_key_exists($key, $parameters)) return true;
     331        if (array_key_exists('p', $parameters) || array_key_exists('page_id', $parameters)) {
     332            if (!$route || strlen($route['identity']) > 500 || !self::public_plain_page($route)) return true;
     333        }
     334        $path = strtolower(rawurldecode(wp_parse_url($raw, PHP_URL_PATH) ?: '/'));
     335        $identity = strtolower(rawurldecode(self::clean_path($raw)));
    281336        $hard = self::private_paths();
    282337        $extra = preg_split('/\r\n|\r|\n/', self::settings()['exclude_paths']);
    283338        foreach (array_merge($hard, $extra) as $p) {
    284             $p = strtolower(rawurldecode(trim($p))); if ($p !== '' && str_contains($path, $p)) { return true; }
     339            $p = strtolower(rawurldecode(trim($p))); if ($p !== '' && (str_contains($path, $p) || str_contains($identity, $p))) { return true; }
    285340        }
    286341        return false;
    … …  
    495550        // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- Plugin-owned relational data or atomic transaction; no equivalent WP object API. Read current database state so consent, revocation, retention and concurrent updates take effect immediately.
    496551        if ($wpdb->query('COMMIT') === false) { $wpdb->query('ROLLBACK'); return self::error('database', __('Upload confirmation failed. Please retry.', 'clickclue'), 503); }
     552        if ($clean) do_action('tracewell_recording_received');
    497553        return self::response(['accepted' => count($clean)] + Tracewell_Transport::ack($batch, $transport));
    498554    }
    … …  
    681737        }
    682738        foreach (['exclude_paths','block_selector'] as $key) if (array_key_exists($key,$b) && !is_string($b[$key])) return self::error('settings', __('Use text for privacy exclusions.', 'clickclue'));
    683         if (isset($b['exclude_paths'])) { $s['exclude_paths'] = substr(sanitize_textarea_field($b['exclude_paths']), 0, 2000); }
    684         if (isset($b['block_selector'])) { $s['block_selector'] = substr(sanitize_text_field($b['block_selector']), 0, 500); }
     739        // Reject the whole update before writing any option. Cutting a rule can
     740        // remove an excluded path or turn a valid selector into an invalid one.
     741        if (isset($b['exclude_paths']) && strlen($b['exclude_paths']) > 2000) return self::error('settings', __('Excluded page paths exceed 2,000 bytes. Shorten the list and save again. No settings were changed.', 'clickclue'));
     742        if (isset($b['block_selector']) && strlen($b['block_selector']) > 500) return self::error('settings', __('Additional exclusion selectors exceed 500 bytes. Shorten the selector list and save again. No settings were changed.', 'clickclue'));
     743        if (isset($b['exclude_paths'])) { $s['exclude_paths'] = sanitize_textarea_field($b['exclude_paths']); }
     744        if (isset($b['block_selector'])) { $s['block_selector'] = sanitize_text_field($b['block_selector']); }
    685745        if (!self::save_option('tracewell_settings', $s)) return self::error('database', __('Settings could not be saved. The previous recording settings remain active. Please retry.', 'clickclue'), 503);
    686746        self::cleanup(); return self::response(['settings' => $s, 'saved' => true]);
    687747    }
    688748    public static function frontend(): void {
    689         $s = self::settings(); $path = wp_parse_url(isset($_SERVER['REQUEST_URI']) && is_string($_SERVER['REQUEST_URI']) ? sanitize_url(wp_unslash($_SERVER['REQUEST_URI'])) : '/', PHP_URL_PATH) ?: '/';
    690         if (!$s['enabled'] || is_user_logged_in() || is_admin() || is_feed() || is_preview() || self::excluded($path)
     749        $s = self::settings(); $path = isset($_SERVER['REQUEST_URI']) && is_string($_SERVER['REQUEST_URI']) ? sanitize_url(wp_unslash($_SERVER['REQUEST_URI'])) : '/';
     750        if (is_admin() || is_feed() || is_preview()) return;
     751        if (is_user_logged_in()) {
     752            // Local setup guidance only. The diagnostics module checks the
     753            // explicit test-link hash and never starts recording or a request.
     754            wp_enqueue_script('clickclue-signed-in-check', plugin_dir_url(TRACEWELL_FILE) . 'assets/diagnostics.js', ['wp-i18n'], TRACEWELL_VERSION, ['strategy'=>'defer', 'in_footer'=>true]);
     755            wp_set_script_translations('clickclue-signed-in-check', 'clickclue', TRACEWELL_DIR . 'languages');
     756            wp_add_inline_script('clickclue-signed-in-check', 'window.ClickClueCheckConfig = {state:"signed_in"};', 'before');
     757            return;
     758        }
     759        if (!$s['enabled'] || self::excluded($path)
    691760            || (function_exists('is_account_page') && is_account_page())
    692761            || (function_exists('is_checkout_pay_page') && is_checkout_pay_page())
    693762            || (function_exists('is_order_received_page') && is_order_received_page())) { return; }
     763        $route = self::plain_page_route($path);
     764        if ($route && (!is_singular() || (int)get_queried_object_id() !== $route['id'])) return;
    694765        $url = plugin_dir_url(TRACEWELL_FILE);
    695766        wp_enqueue_script('tracewell-recorder', $url . 'assets/recorder.js', array_values(array_unique(array_merge(['wp-i18n'], apply_filters('tracewell_recorder_dependencies', [])))), TRACEWELL_VERSION, ['strategy' => 'defer', 'in_footer' => true]);
    696767        wp_set_script_translations('tracewell-recorder', 'clickclue', TRACEWELL_DIR . 'languages');
    697         wp_add_inline_script('tracewell-recorder', 'window.TracewellConfig = ' . wp_json_encode(['endpoint' => esc_url_raw(rest_url(self::NS)), 'storageScope'=>self::storage_scope(), 'captureUrl' => esc_url_raw($url . 'assets/capture-engine.js?v=' . TRACEWELL_VERSION), 'diagnosticsUrl' => esc_url_raw($url . 'assets/diagnostics.js?v=' . TRACEWELL_VERSION), 'sampleRate' => $s['sample_rate'], 'consentUI' => $s['consent_ui'], 'privacyUrl' => esc_url_raw(get_privacy_policy_url()), 'consentVersion' => self::consent_version(), 'retentionDays' => min(self::limits()['retention'], (int)$s['retention_days']), 'publicImages' => (bool)Tracewell_Media::state()['enabled'], 'maskText' => $s['mask_text'], 'blockSelector' => $s['block_selector'], 'excludePaths' => implode("\n", self::private_paths()) . "\n" . $s['exclude_paths'], 'pro' => self::pro()], JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT) . ';', 'before');
     768        wp_add_inline_script('tracewell-recorder', 'window.TracewellConfig = ' . wp_json_encode(['endpoint' => esc_url_raw(rest_url(self::NS)), 'pagePath'=>self::clean_path($path), 'privateQueryKeys'=>self::private_query_keys(), 'storageScope'=>self::storage_scope(), 'captureUrl' => esc_url_raw($url . 'assets/capture-engine.js?v=' . TRACEWELL_VERSION), 'diagnosticsUrl' => esc_url_raw($url . 'assets/diagnostics.js?v=' . TRACEWELL_VERSION), 'sampleRate' => $s['sample_rate'], 'consentUI' => $s['consent_ui'], 'privacyUrl' => esc_url_raw(get_privacy_policy_url()), 'consentVersion' => self::consent_version(), 'retentionDays' => min(self::limits()['retention'], (int)$s['retention_days']), 'publicImages' => (bool)Tracewell_Media::state()['enabled'], 'maskText' => $s['mask_text'], 'blockSelector' => $s['block_selector'], 'excludePaths' => implode("\n", self::private_paths()) . "\n" . $s['exclude_paths'], 'pro' => self::pro()], JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT) . ';', 'before');
    698769        do_action('tracewell_frontend_loaded');
    699770    }
  • clickclue/trunk/includes/help-page.php

    r3775799 r3776421  
    1313</section>
    1414<section id="quick-start-record"><h3><?php esc_html_e('Record an eligible visit', 'clickclue'); ?></h3>
    15 <ol><li><?php esc_html_e('Publish your website-specific privacy policy and select it in WordPress Settings → Privacy. The built-in replay prompt needs that published link.', 'clickclue'); ?></li><li><?php esc_html_e('Choose Prepare test settings to fill the form with recording enabled and 100% sampling. Review the consent prompt, excluded paths and private selectors, then choose Save settings. Preparing alone does not save.', 'clickclue'); ?></li><li><?php esc_html_e('Clear your page cache. At 100% sampling, every consenting, eligible tab can be selected while recording is enabled.', 'clickclue'); ?></li><li><?php esc_html_e('Copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded.', 'clickclue'); ?></li><li><?php esc_html_e('Choose one public page and a question, such as whether someone can find the size guide. Grant replay permission, scroll to the details and try the relevant link using synthetic details. The test panel should confirm an upload.', 'clickclue'); ?></li><li><?php esc_html_e('Return to WordPress. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing the useful moment, what you observed and what you will check.', 'clickclue'); ?></li><li><?php esc_html_e('Restore normal sampling or pause recording after the test.', 'clickclue'); ?></li></ol>
     15<ol><li><?php esc_html_e('Publish your website-specific privacy policy and select it in WordPress Settings → Privacy. The built-in replay prompt needs that published link.', 'clickclue'); ?></li><li><?php esc_html_e('Open ClickClue → Settings → Test & diagnostics and choose Prepare test settings. This fills the form with recording enabled and 100% sampling while preserving your text-masking choice. Review consent, excluded paths and private selectors, then select Save settings. Preparing alone does not save.', 'clickclue'); ?></li><li><?php esc_html_e('Clear your page cache. At 100% sampling, every consenting, eligible tab can be selected while recording is enabled.', 'clickclue'); ?></li><li><?php esc_html_e('Under Settings → Test & diagnostics, copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded; a signed-in test panel explains how to open an eligible visit.', 'clickclue'); ?></li><li><?php esc_html_e('Choose one public page and a question, such as whether someone can find the size guide. Grant replay permission, scroll to the details and try the relevant link using synthetic details. The test panel should confirm an upload.', 'clickclue'); ?></li><li><?php esc_html_e('Return to Settings → Test & diagnostics. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing what you observed and what you will check.', 'clickclue'); ?></li><li><?php esc_html_e('Restore normal sampling or pause recording after the test.', 'clickclue'); ?></li></ol>
    1616</section>
    1717<section id="quick-start-tutorial"><h3><?php esc_html_e('An optional walkthrough in both editions', 'clickclue'); ?></h3>
    … …  
    2222<p><?php esc_html_e('Install the matching Pro add-on alongside ClickClue Free. Update Free first, then Pro. The current release adds Clues, heatmaps, structural form insights, journeys, comparisons and optional feedback without requiring WooCommerce. Earlier checkout integrations remain documented separately.', 'clickclue'); ?></p>
    2323<p><?php esc_html_e('Pro requires ClickClue Free and a successful first licence activation for this site. Annual bundles cover 1, 5 or 25 sites with the same Pro features. Open ClickClue → Pro licence to activate. Once unlocked, local tools keep working offline or after updates and support expire; eligible updates and support are separate.', 'clickclue'); ?></p>
     24<p><?php esc_html_e('From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks.', 'clickclue'); ?></p>
     25<p><?php esc_html_e('If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress.', 'clickclue'); ?></p>
    2426<p><a href="#heatmaps-and-forms"><?php esc_html_e('Explore page heatmaps and forms', 'clickclue'); ?></a></p>
     27</section>
     28<section id="quick-start-review"><h3><?php esc_html_e('Leave an honest review, when you are ready', 'clickclue'); ?></h3>
     29<p><?php esc_html_e('The Help page always links to the WordPress.org review page. A small invitation can also appear inside ClickClue after at least 30 days from its first successfully recorded visit tracked by version 1.1.5, and after you have reviewed ten distinct recordings across five UTC days. These bounded counters and your choice stay in this WordPress installation; they are not interest analytics sent to ClickClue.', 'clickclue'); ?></p>
     30<p><?php esc_html_e('Choose Leave an honest review, Remind me in 30 days or No thanks. No thanks permanently dismisses the invitation for your administrator account; updates preserve that choice. You can still use the Help link later. Opening the review page does not tell ClickClue whether you posted a review.', 'clickclue'); ?></p>
    2531</section>
    2632<p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article>
    … …  
    2935<p><?php esc_html_e('The small consent loader runs first. The capture engine loads only after permission, sampling and server authorisation pass. Form values are always masked. Ordinary page text stays readable on new installations. Enable Mask all page text to hide it too. Existing saved masking choices stay unchanged on upgrade; explicitly private and masked regions remain protected.', 'clickclue'); ?></p>
    3036<p><?php esc_html_e('Do Not Track and Global Privacy Control stop recording. Signed-in users and administration, login, account, order-pay and order-confirmation paths are excluded. Browser navigation into an excluded path also stops active capture.', 'clickclue'); ?></p>
    31 <ul><li><?php esc_html_e('Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority.', 'clickclue'); ?></li><li><?php esc_html_e('Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched.', 'clickclue'); ?></li><li><?php esc_html_e('URL queries and fragments are removed. Recorded links and arbitrary asset URLs are stripped.', 'clickclue'); ?></li><li><?php esc_html_e('Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme.', 'clickclue'); ?></li></ul>
     37<ul><li><?php esc_html_e('Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority.', 'clickclue'); ?></li><li><?php esc_html_e('Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched.', 'clickclue'); ?></li><li><?php esc_html_e('URL query values and fragments are removed, except a verified public WordPress post or page ID used to distinguish plain permalinks. Recorded links and arbitrary asset URLs are stripped.', 'clickclue'); ?></li><li><?php esc_html_e('Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme.', 'clickclue'); ?></li></ul>
    3238</section>
    3339<section id="consent-and-masking-approved-images"><h3><?php esc_html_e('Organise approved public images', 'clickclue'); ?></h3>
    34 <p><?php esc_html_e('Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent.', 'clickclue'); ?></p>
     40<p><?php esc_html_e('Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent. The separately bounded prepared catalogue holds about 46 MiB of encoded image data and URL metadata. Image copies stored with recordings count toward the recording payload budget.', 'clickclue'); ?></p>
    3541<p><?php esc_html_e('A recording saves only used copies, bounded to 64 images and 2 MiB within its existing payload allowance. Images are prepared locally without metadata; only supported same-origin local URLs are matched. Private and masked regions always take priority. No arbitrary image URL is fetched.', 'clickclue'); ?></p>
    3642<p><?php esc_html_e('Removing approval or switching image copies off removes affected retained copies. Downloaded exports and backups need separate handling. Updated approvals require current consent. External fonts, CSS backgrounds, SVG, video and embedded content stay excluded.', 'clickclue'); ?></p>
    … …  
    4955<p><?php esc_html_e('Add data-tw-block to a private element or enter its CSS selector in Settings → Recording & privacy. Existing data-private and .rr-block regions are also excluded.', 'clickclue'); ?></p>
    5056<p><?php esc_html_e('Structural classes and IDs may remain for layout. Exclude elements whose attributes contain personal information. Inspect dynamic content, account widgets and order details in a synthetic recording before real use.', 'clickclue'); ?></p>
     57<p><?php esc_html_e('Excluded page paths can use up to 2,000 UTF-8 bytes and additional selectors up to 500 UTF-8 bytes. Longer rules are rejected without changing saved settings. Review the error and shorten the list; ClickClue never silently cuts an exclusion to fit.', 'clickclue'); ?></p>
    5158<pre><code>&lt;div data-tw-block&gt;Private customer information&lt;/div&gt;</code></pre>
    5259</section>
    … …  
    8491</section>
    8592<p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article>
    86 <article id="woocommerce"><p class="edition"><?php esc_html_e('Pro', 'clickclue'); ?></p><h2><?php esc_html_e('Legacy WooCommerce integration', 'clickclue'); ?></h2><p><?php esc_html_e('Existing checkout tools in this preview, while checkout diagnostics move toward the separate Frictions product.', 'clickclue'); ?></p>
    87 <section id="woocommerce-scope"><h3><?php esc_html_e('How this fits the product direction', 'clickclue'); ?></h3>
    88 <p><?php esc_html_e('ClickClue focuses on WordPress replay, heatmaps and visitor interactions. Checkout-specific diagnostics are planned for Frictions.com, a separate plugin. The tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. They are not part of the main ClickClue setup walkthrough, and this is not a release of Frictions.', 'clickclue'); ?></p>
     93<article id="woocommerce"><p class="edition"><?php esc_html_e('Pro', 'clickclue'); ?></p><h2><?php esc_html_e('Legacy WooCommerce integration', 'clickclue'); ?></h2><p><?php esc_html_e('Use the optional legacy checkout tools already included in Pro, with their existing data and settings.', 'clickclue'); ?></p>
     94<section id="woocommerce-scope"><h3><?php esc_html_e('Where to find the legacy tools', 'clickclue'); ?></h3>
     95<p><?php esc_html_e('ClickClue focuses on WordPress replay, heatmaps and visitor interactions. The optional tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. Enable only the integrations you need and test them with your own checkout before using their observations.', 'clickclue'); ?></p>
    8996</section>
    9097<section id="woocommerce-signals"><h3><?php esc_html_e('What the integration observes', 'clickclue'); ?></h3>
    … …  
    200207</section>
    201208<p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article>
    202 <article id="email-and-ai"><p class="edition"><?php esc_html_e('Pro', 'clickclue'); ?></p><h2><?php esc_html_e('Legacy email & AI summaries', 'clickclue'); ?></h2><p><?php esc_html_e('Configure checkout digests and event summaries in the current Pro preview.', 'clickclue'); ?></p>
     209<article id="email-and-ai"><p class="edition"><?php esc_html_e('Pro', 'clickclue'); ?></p><h2><?php esc_html_e('Legacy email & AI summaries', 'clickclue'); ?></h2><p><?php esc_html_e('Configure checkout digests and event summaries in the Pro add-on.', 'clickclue'); ?></p>
    203210<section id="email-and-ai-email"><h3><?php esc_html_e('Configure the legacy checkout digest', 'clickclue'); ?></h3>
    204 <p><?php esc_html_e('This preview’s digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled.', 'clickclue'); ?></p>
     211<p><?php esc_html_e('The digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled.', 'clickclue'); ?></p>
    205212<ol><li><?php esc_html_e('Configure and test your WordPress mail transport.', 'clickclue'); ?></li><li><?php esc_html_e('Open Legacy checkout → Legacy checkout notifications & AI and enable the daily email digest. Enter an authorised recipient and a minimum affected-recording threshold.', 'clickclue'); ?></li><li><?php esc_html_e('Save workspace settings. Saving does not itself send an email. The scheduled digest runs through WordPress cron.', 'clickclue'); ?></li><li><?php esc_html_e('Check the mail status and verify actual inbox delivery. Transport acceptance alone does not prove delivery.', 'clickclue'); ?></li></ol>
    206213</section>
    207214<section id="email-and-ai-ai"><h3><?php esc_html_e('Summarise legacy checkout evidence', 'clickclue'); ?></h3>
    208 <p><?php esc_html_e('This preview summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool.', 'clickclue'); ?></p>
     215<p><?php esc_html_e('This integration summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool.', 'clickclue'); ?></p>
    209216<p><?php esc_html_e('The request sends fixed event categories, counts and relative timing. It excludes DOM content, page paths, notes, raw order IDs and customer details. Usage is charged to the connected API account; the plugin caps requests at 20 per UTC day.', 'clickclue'); ?></p>
    210217<p><?php esc_html_e('Outputs must cite existing evidence references, but a cited interpretation can still be wrong. ClickClue does not automatically change a store or establish a diagnosis.', 'clickclue'); ?></p>
    … …  
    247254<p><?php esc_html_e('If you previously installed a package under another folder name, deactivate the existing Pro and Free copies before uploading these ZIPs. Activate the new Free copy first, then Pro. Leave old copies inactive and do not delete or uninstall them to change names.', 'clickclue'); ?></p>
    248255</section>
     256<section id="updating-wordpress-updates"><h3><?php esc_html_e('Update inside WordPress', 'clickclue'); ?></h3>
     257<p><?php esc_html_e('From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks.', 'clickclue'); ?></p>
     258<p><?php esc_html_e('If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress.', 'clickclue'); ?></p>
     259<p><?php esc_html_e('Pro checks update eligibility through the ClickClue licensing service. Download eligibility and package integrity are checked again before installation. A network or verification failure stops that update; it does not remove earned local Pro tools. Manual eligible-account ZIP replacement remains available.', 'clickclue'); ?></p>
     260<p><?php esc_html_e('A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation.', 'clickclue'); ?></p>
     261</section>
    249262<section id="updating-replace"><h3><?php esc_html_e('Replace the installed packages', 'clickclue'); ?></h3>
    250 <ol><li><?php esc_html_e('Back up your WordPress database and plugin files. Test on a staging copy first.', 'clickclue'); ?></li><li><?php esc_html_e('Obtain the current matched ClickClue Free and Pro installer ZIPs through your release or account delivery. The outer download bundle is not an installable plugin.', 'clickclue'); ?></li><li><?php esc_html_e('For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro.', 'clickclue'); ?></li><li><?php esc_html_e('When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition.', 'clickclue'); ?></li><li><?php esc_html_e('Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review.', 'clickclue'); ?></li></ol>
     263<ol><li><?php esc_html_e('Back up your WordPress database and plugin files. Test on a staging copy first.', 'clickclue'); ?></li><li><?php esc_html_e('Download the current ClickClue Free ZIP and, if entitled, the matching Pro ZIP from your account. Use each installable plugin ZIP separately; the WordPress.org SVN repository kit is not an installable plugin.', 'clickclue'); ?></li><li><?php esc_html_e('For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro.', 'clickclue'); ?></li><li><?php esc_html_e('When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition.', 'clickclue'); ?></li><li><?php esc_html_e('Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review.', 'clickclue'); ?></li></ol>
    251264</section>
    252265<section id="updating-v090"><h3><?php esc_html_e('Updating to 0.9.0', 'clickclue'); ?></h3>
    … …  
    268281</section>
    269282<section id="updating-v0610"><h3><?php esc_html_e('Compatibility introduced in 0.6.10', 'clickclue'); ?></h3>
    270 <p><?php esc_html_e('Version 0.6.10 clarified the review workspace and prepared verified Pro update delivery. Use the current matching packages above. Later versions remove its edition-based monthly allowances and share retention/storage controls across Free and Pro.', 'clickclue'); ?></p>
     283<p><?php esc_html_e('Version 0.6.10 clarified the review workspace. Its historical update-delivery preparation is superseded by the current WordPress updater described above. Later versions remove edition-based monthly allowances and share retention and storage controls across Free and Pro.', 'clickclue'); ?></p>
    271284<p><?php esc_html_e('The dashboard opens on Recordings, with Pro page analysis under Heatmaps & forms. Checkout tools and their saved data are preserved under Legacy checkout; configured legacy email and AI services are not automatically disabled.', 'clickclue'); ?></p>
    272285<p><?php esc_html_e('Both editions start new installations at seven-day retention and 250 MiB. Upgrading preserves your chosen settings and storage budget. Review Settings → Storage & retention before increasing sampling, retention or storage.', 'clickclue'); ?></p>
    273 <p><?php esc_html_e('The Pro updater supports verified ClickClue package delivery. Commercial activation and automatic delivery still need a connected service. If a rotated key or copied site prevents reconnecting, the administrator can confirm Forget local licence; it clears this installation’s saved licence details without releasing any remote seat. Installed Pro preview features remain usable.', 'clickclue'); ?></p>
     286<p><?php esc_html_e('A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation.', 'clickclue'); ?></p>
    274287</section>
    275288<section id="updating-v069"><h3><?php esc_html_e('Compatibility introduced in 0.6.9', 'clickclue'); ?></h3>
    … …  
    294307<section id="updating-v060"><h3><?php esc_html_e('Compatibility introduced in 0.6.0', 'clickclue'); ?></h3>
    295308<p><?php esc_html_e('Version 0.6.0 kept the same WordPress ZIP replacement flow: Free first, then Pro. Folders, database identifiers, existing replays, review notes and consent API aliases remain compatible. Follow the current replacement steps in this guide.', 'clickclue'); ?></p>
    296 <p><?php esc_html_e('Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay. The preview still has no connected payment or commercial delivery service.', 'clickclue'); ?></p>
     309<p><?php esc_html_e('Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay.', 'clickclue'); ?></p>
    297310</section>
    298311<section id="updating-recovery"><h3><?php esc_html_e('Recover from an unsuccessful update', 'clickclue'); ?></h3>
    299312<p><?php esc_html_e('Pause capture if the updated site behaves unexpectedly. Keep a copy of the error and your previous package/database backup. Restore the matching plugin files from your known-good backup, then verify the database and settings on staging before resuming.', 'clickclue'); ?></p>
    300 <p><?php esc_html_e('The preview supports manual ZIP updates. Follow the steps above while commercial automatic updates are unavailable.', 'clickclue'); ?></p>
     313<p><?php esc_html_e('If WordPress cannot complete the update, obtain the matching eligible Pro ZIP from your account and use manual replacement. Do not uninstall to update. Check ClickClue → Pro licence if activation or update eligibility needs attention.', 'clickclue'); ?></p>
    301314</section>
    302315<p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article>
    … …  
    344357<section id="commercial-team-local-choices"><h3><?php esc_html_e('Local guidance and optional commercial services', 'clickclue'); ?></h3>
    345358<p><?php esc_html_e('Optional Pro suggestions appear after relevant review actions. Dismiss a suggestion to keep it hidden in this browser for your site and WordPress account. Local guidance preferences can restore them. Intent, bounded local usage counts and dismissals are not sent to ClickClue, contain no note text or visitor identifiers and do not change recording settings. When browser storage is blocked, choices last only for the current visit.', 'clickclue'); ?></p>
    346 <p><?php esc_html_e('The installed Pro add-on remains usable locally. A commercial licence provides entitled private delivery, updates and support when the commercial service is available. Reading this guide does not connect a licence, begin a subscription or enable email.', 'clickclue'); ?></p>
    347 </section>
    348 <p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article>
     359<p><?php esc_html_e('Pro requires the Free plugin and a successful first licence activation for this site. After activation, earned local tools keep working offline or after updates and support expire. Eligible private updates and support require current entitlement. Reading this guide does not activate a licence, begin a subscription or enable email.', 'clickclue'); ?></p>
     360</section>
     361<p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article>
     362<p><a href="https://wordpress.org/support/plugin/clickclue/reviews/#new-post" rel="noopener noreferrer"><?php esc_html_e('Review ClickClue on WordPress.org', 'clickclue'); ?></a></p>
    349363<footer><?php esc_html_e('ClickClue · Local recording in WordPress. Return to your WordPress dashboard to change settings. Privacy controls do not establish legal compliance for your installation.', 'clickclue'); ?></footer>
    350364
  • clickclue/trunk/languages/clickclue.pot

    r3775799 r3776421  
    1 # Copyright (C) 2026 ClickClue
     1# Copyright (C) 2026 pluginsshop
    22# This file is distributed under the GPL-2.0-or-later.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: ClickClue 1.1.4\n"
    6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/tracewell\n"
     5"Project-Id-Version: ClickClue 1.1.6\n"
     6"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/clickclue\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    88"Language-Team: LANGUAGE <LL@li.org>\n"
    … …  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-10-29T06:47:51+00:00\n"
     12"POT-Creation-Date: 2026-10-31T06:32:40+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
    … …  
    1616
    1717#. Plugin Name of the plugin
    18 #. Author of the plugin
    1918#: tracewell.php
    2019msgid "ClickClue"
    … …  
    2423#: tracewell.php
    2524msgid "Consent-first session replay, stored on your own WordPress server."
     25msgstr ""
     26
     27#. Author of the plugin
     28#: tracewell.php
     29msgid "pluginsshop"
     30msgstr ""
     31
     32#. Author URI of the plugin
     33#: tracewell.php
     34msgid "https://plugins.shop/"
    2635msgstr ""
    2736
    … …  
    5665
    5766#: includes/admin-page.php:4
    58 #: assets/dashboard.js:146
     67#: assets/dashboard.js:152
    5968msgid "Refresh recordings"
    6069msgstr ""
    … …  
    125134#: includes/admin-page.php:11
    126135#: assets/dashboard.js:55
    127 #: assets/dashboard.js:86
     136#: assets/dashboard.js:92
    128137msgid "Desktop"
    129138msgstr ""
    … …  
    131140#: includes/admin-page.php:11
    132141#: assets/dashboard.js:55
    133 #: assets/dashboard.js:86
     142#: assets/dashboard.js:92
    134143msgid "Mobile"
    135144msgstr ""
    … …  
    300309
    301310#: includes/admin-page.php:34
    302 msgid "One path fragment per line. Account, login and order confirmation pages are always excluded."
     311msgid "One path fragment per line. Limit: 2,000 bytes; some characters use more than one byte. Longer lists are rejected without changing saved settings. Account, login and order confirmation pages are always excluded."
    303312msgstr ""
    304313
    … …  
    308317
    309318#: includes/admin-page.php:34
    310 msgid "CSS selectors. Invalid selectors stop recording. Embedded frames, editable content and private regions stay blocked."
     319msgid "CSS selectors. Limit: 500 bytes; some characters use more than one byte. Longer lists are rejected without changing saved settings. Invalid selectors stop recording. Embedded frames, editable content and private regions stay blocked."
    311320msgstr ""
    312321
    … …  
    489498
    490499#: includes/class-clickclue-pro-previews.php:18
    491 #: includes/class-tracewell.php:213
     500#: includes/class-clickclue-review-request.php:46
     501#: includes/class-tracewell.php:214
    492502msgid "Administrator access required."
    493503msgstr ""
    … …  
    519529#: includes/class-clickclue-pro-previews.php:41
    520530msgid "ClickClue Pro previews"
     531msgstr ""
     532
     533#: includes/class-clickclue-review-request.php:12
     534#: includes/class-clickclue-review-request.php:13
     535#: includes/class-clickclue-review-request.php:65
     536msgid "ClickClue review invitation"
     537msgstr ""
     538
     539#: includes/class-clickclue-review-request.php:40
     540msgid "Share your experience with ClickClue"
     541msgstr ""
     542
     543#: includes/class-clickclue-review-request.php:40
     544msgid "You have used ClickClue across several days. An honest WordPress.org review can help other site owners decide whether it suits them."
     545msgstr ""
     546
     547#: includes/class-clickclue-review-request.php:42
     548msgid "Leave an honest review"
     549msgstr ""
     550
     551#: includes/class-clickclue-review-request.php:42
     552msgid "Remind me in 30 days"
     553msgstr ""
     554
     555#: includes/class-clickclue-review-request.php:42
     556#: assets/recorder.js:1
     557msgid "No thanks"
     558msgstr ""
     559
     560#: includes/class-clickclue-review-request.php:49
     561msgid "Choose a valid review invitation action."
     562msgstr ""
     563
     564#: includes/class-clickclue-review-request.php:53
     565msgid "Your preference could not be saved. Please retry."
     566msgstr ""
     567
     568#: includes/class-clickclue-review-request.php:65
     569msgid "Local review invitation preferences and bounded usage counts"
     570msgstr ""
     571
     572#: includes/class-clickclue-review-request.php:70
     573msgid "ClickClue review preferences could not be erased. Please retry."
    521574msgstr ""
    522575
    … …  
    711764#: includes/class-tracewell-workspace.php:83
    712765#: includes/class-tracewell-workspace.php:105
    713 #: includes/class-tracewell-workspace.php:136
    714 #: includes/class-tracewell.php:632
     766#: includes/class-tracewell-workspace.php:137
     767#: includes/class-tracewell.php:688
    715768msgid "Recording not found."
    716769msgstr ""
    … …  
    747800msgstr ""
    748801
    749 #: includes/class-tracewell-workspace.php:129
    750 #: includes/class-tracewell-workspace.php:134
    751 #: includes/class-tracewell-workspace.php:141
    752 #: includes/class-tracewell-workspace.php:147
     802#: includes/class-tracewell-workspace.php:130
     803#: includes/class-tracewell-workspace.php:135
     804#: includes/class-tracewell-workspace.php:142
     805#: includes/class-tracewell-workspace.php:148
    753806msgid "The note could not be deleted. Retry."
    754807msgstr ""
    755808
    756 #: includes/class-tracewell-workspace.php:143
     809#: includes/class-tracewell-workspace.php:144
    757810msgid "Note not found in this recording."
    758811msgstr ""
    759812
    760 #: includes/class-tracewell-workspace.php:145
     813#: includes/class-tracewell-workspace.php:146
    761814msgid "Only the author or an administrator may delete this note."
    762815msgstr ""
    763816
    764 #: includes/class-tracewell-workspace.php:162
     817#: includes/class-tracewell-workspace.php:163
    765818msgid "Keep at most 20 saved filters."
    766819msgstr ""
    767820
    768 #: includes/class-tracewell-workspace.php:165
     821#: includes/class-tracewell-workspace.php:166
    769822msgid "A saved filter needs a name and valid filters."
    770823msgstr ""
    771824
    772 #: includes/class-tracewell-workspace.php:167
     825#: includes/class-tracewell-workspace.php:168
    773826msgid "Invalid saved filter."
    774827msgstr ""
    775828
    776 #: includes/class-tracewell-workspace.php:174
     829#: includes/class-tracewell-workspace.php:175
    777830msgid "Saved filters could not be updated. Retry."
    778831msgstr ""
    … …  
    807860
    808861#: includes/class-tracewell.php:163
     862msgid "Recorded page paths omit fragments and arbitrary query values. On sites using plain WordPress permalinks, a verified public numeric post or page ID identifies the page."
     863msgstr ""
     864
     865#: includes/class-tracewell.php:164
    809866msgid "Typed values and explicitly private regions are protected. Ordinary page text is readable unless the site enables page-text masking. This does not record your desktop, camera or microphone. Page text, paths and page structure can still contain personal data: masking is not guaranteed anonymisation."
    810867msgstr ""
    811868
    812 #: includes/class-tracewell.php:164
     869#: includes/class-tracewell.php:165
    813870msgid "Images are excluded by default. If we separately enable approved public images, individual public, static WordPress media-library images confirmed by an administrator may appear in new consenting recordings. Eligible local images are re-encoded locally without embedded metadata into bounded PNG/JPEG copies. No arbitrary visitor image URL is fetched and no visitor screen pixels are captured. Private and masked regions remain excluded. Selected copies are held in a bounded local approval catalogue; used copies are stored with recordings and follow their deletion and retention. Removing an image approval or turning image capture off removes the affected copies from existing recordings. Previously downloaded exports and backups require separate handling."
    814871msgstr ""
    815872
    816 #: includes/class-tracewell.php:165
     873#: includes/class-tracewell.php:166
    817874msgid "Recordings stay on this WordPress server, accessible to authorised reviewers and invited WordPress accounts."
    818875msgstr ""
    819876
    820 #: includes/class-tracewell.php:165
     877#: includes/class-tracewell.php:166
    821878msgid "Recordings stay on this WordPress server, accessible to site administrators."
    822879msgstr ""
    823880
    824881#. translators: %d: number of days.
    825 #: includes/class-tracewell.php:165
     882#: includes/class-tracewell.php:166
    826883#, php-format
    827884msgid "Our current replay retention is %d day, subject to scheduled cleanup."
    … …  
    831888
    832889#. translators: %d: number of days.
    833 #: includes/class-tracewell.php:165
     890#: includes/class-tracewell.php:166
    834891msgid "A recording stores the server receipt time and the notice revision reported with the consenting start. Older records have no backfilled consent receipt."
    835892msgstr ""
    836893
    837894#. translators: %d: number of days.
    838 #: includes/class-tracewell.php:166
     895#: includes/class-tracewell.php:167
    839896msgid "The browser stores a replay choice for up to 180 days, and sampling/authorisation in session storage for the tab."
    840897msgstr ""
    841898
    842 #: includes/class-tracewell.php:168
     899#: includes/class-tracewell.php:169
    843900msgid "ClickClue Pro may set a first-party HttpOnly recording cookie for up to 30 minutes after consent."
    844901msgstr ""
    845902
    846 #: includes/class-tracewell.php:170
     903#: includes/class-tracewell.php:171
    847904msgid "A failed deletion keeps a tab-local retry token. Replay privacy lets you refuse or withdraw; withdrawal stops capture, clears unsent events and requests deletion of the current authorised recording, including its stored image copies. A failed deletion remains unconfirmed and can be retried. Earlier recordings remain subject to retention and administrator deletion."
    848905msgstr ""
    849906
    850 #: includes/class-tracewell.php:172
     907#: includes/class-tracewell.php:173
    851908msgid "If we enable optional visitor feedback, you may choose to complete a short flow of up to three rating or predefined-choice questions, including optional conditional follow-ups. An answer is linked to your current authorised recording and stored on this WordPress server. No free-text answer is requested. Refusing feedback does not affect use of the website. Deleting the linked recording also removes its answers. Survey questions can change; saved answers retain the question version shown at the time. Campaigns may use the page, device category and date to show and group responses. A quiet-period marker is kept in this browser session after consent to avoid repeated prompts and is cleared when consent is withdrawn; no cross-visit identifier is added."
    852909msgstr ""
    853910
    854 #: includes/class-tracewell.php:174
     911#: includes/class-tracewell.php:175
    855912msgid "Owner: add your legal identity, privacy contact, exact purposes and legal basis, recipients, international transfers, applicable rights and complaint authority. Describe your actual hosting logs, backups and any exported copies."
    856913msgstr ""
    857914
    858 #: includes/class-tracewell.php:176
     915#: includes/class-tracewell.php:177
    859916msgid "Describe any enabled AI, email, agency or licence services. These optional services require separate provider review."
    860917msgstr ""
    861918
    862 #: includes/class-tracewell.php:178
     919#: includes/class-tracewell.php:179
    863920msgid "Archive each notice revision and retain appropriate consent evidence under your documented retention policy. Privacy controls do not guarantee legal compliance. Do not publish this suggested text without adapting it to your installation."
    864921msgstr ""
    865922
    866 #: includes/class-tracewell.php:221
     923#: includes/class-tracewell.php:222
    867924msgid "Request parameters must match the resource in the URL."
    868925msgstr ""
    869926
    870 #: includes/class-tracewell.php:224
     927#: includes/class-tracewell.php:225
    871928msgid "Request is too large."
    872929msgstr ""
    873930
    874 #: includes/class-tracewell.php:225
     931#: includes/class-tracewell.php:226
     932#: includes/class-tracewell.php:256
     933msgid "JSON is required."
     934msgstr ""
     935
     936#: includes/class-tracewell.php:227
     937msgid "Send a JSON object."
     938msgstr ""
     939
     940#: includes/class-tracewell.php:253
     941msgid "Requests must originate from this website."
     942msgstr ""
     943
    875944#: includes/class-tracewell.php:255
    876 msgid "JSON is required."
    877 msgstr ""
    878 
    879 #: includes/class-tracewell.php:226
    880 msgid "Send a JSON object."
    881 msgstr ""
    882 
    883 #: includes/class-tracewell.php:252
    884 msgid "Requests must originate from this website."
    885 msgstr ""
    886 
    887 #: includes/class-tracewell.php:254
    888945msgid "Recording batch is too large."
    889946msgstr ""
    890947
    891 #: includes/class-tracewell.php:303
     948#: includes/class-tracewell.php:358
    892949msgid "Recording authorization expired."
    893950msgstr ""
    894951
    895 #: includes/class-tracewell.php:312
    896 #: includes/class-tracewell.php:372
    897 #: includes/class-tracewell.php:378
     952#: includes/class-tracewell.php:367
     953#: includes/class-tracewell.php:427
     954#: includes/class-tracewell.php:433
    898955msgid "Recording service unavailable. Please retry."
    899956msgstr ""
    900957
    901 #: includes/class-tracewell.php:313
    902 #: includes/class-tracewell.php:315
    903 #: includes/class-tracewell.php:457
    904 #: includes/class-tracewell.php:515
     958#: includes/class-tracewell.php:368
     959#: includes/class-tracewell.php:370
     960#: includes/class-tracewell.php:512
     961#: includes/class-tracewell.php:571
    905962msgid "Recording no longer exists."
    906963msgstr ""
    907964
    908 #: includes/class-tracewell.php:314
    909 #: includes/class-tracewell.php:356
     965#: includes/class-tracewell.php:369
     966#: includes/class-tracewell.php:411
    910967msgid "Privacy information changed. Reload and choose again."
    911968msgstr ""
    912969
    913 #: includes/class-tracewell.php:350
    914 #: includes/class-tracewell.php:397
     970#: includes/class-tracewell.php:405
     971#: includes/class-tracewell.php:452
    915972msgid "Browser privacy preference excludes recording."
    916973msgstr ""
    917974
    918 #: includes/class-tracewell.php:351
    919 #: includes/class-tracewell.php:398
     975#: includes/class-tracewell.php:406
     976#: includes/class-tracewell.php:453
     977#: includes/class-tracewell.php:517
     978msgid "Recording is paused."
     979msgstr ""
     980
     981#: includes/class-tracewell.php:407
     982msgid "Consent is required."
     983msgstr ""
     984
     985#: includes/class-tracewell.php:408
     986#: includes/class-tracewell.php:454
     987msgid "Signed-in visits are excluded."
     988msgstr ""
     989
     990#: includes/class-tracewell.php:409
     991msgid "Publish and select this website’s privacy policy before using the built-in prompt."
     992msgstr ""
     993
     994#: includes/class-tracewell.php:412
     995#: includes/class-tracewell.php:474
     996msgid "Use a page path."
     997msgstr ""
     998
     999#: includes/class-tracewell.php:413
     1000msgid "Use valid viewport dimensions."
     1001msgstr ""
     1002
     1003#: includes/class-tracewell.php:416
     1004#: includes/class-tracewell.php:475
     1005#: includes/class-tracewell.php:477
     1006msgid "This page is excluded."
     1007msgstr ""
     1008
     1009#: includes/class-tracewell.php:427
     1010msgid "Too many recording starts."
     1011msgstr ""
     1012
     1013#: includes/class-tracewell.php:434
     1014msgid "Recording allowance reached."
     1015msgstr ""
     1016
     1017#: includes/class-tracewell.php:436
     1018#: includes/class-tracewell.php:444
     1019msgid "Unable to create recording."
     1020msgstr ""
     1021
     1022#: includes/class-tracewell.php:438
     1023msgid "Recording allowance unavailable."
     1024msgstr ""
     1025
     1026#: includes/class-tracewell.php:447
     1027msgid "Unable to confirm recording."
     1028msgstr ""
     1029
     1030#: includes/class-tracewell.php:459
     1031msgid "Invalid recording batch."
     1032msgstr ""
     1033
    9201034#: includes/class-tracewell.php:462
    921 msgid "Recording is paused."
    922 msgstr ""
    923 
    924 #: includes/class-tracewell.php:352
    925 msgid "Consent is required."
    926 msgstr ""
    927 
    928 #: includes/class-tracewell.php:353
    929 #: includes/class-tracewell.php:399
    930 msgid "Signed-in visits are excluded."
    931 msgstr ""
    932 
    933 #: includes/class-tracewell.php:354
    934 msgid "Publish and select this website’s privacy policy before using the built-in prompt."
    935 msgstr ""
    936 
    937 #: includes/class-tracewell.php:357
    938 #: includes/class-tracewell.php:419
    939 msgid "Use a page path."
    940 msgstr ""
    941 
    942 #: includes/class-tracewell.php:358
    943 msgid "Use valid viewport dimensions."
    944 msgstr ""
    945 
    946 #: includes/class-tracewell.php:361
    947 #: includes/class-tracewell.php:420
    948 #: includes/class-tracewell.php:422
    949 msgid "This page is excluded."
    950 msgstr ""
    951 
    952 #: includes/class-tracewell.php:372
    953 msgid "Too many recording starts."
    954 msgstr ""
    955 
    956 #: includes/class-tracewell.php:379
    957 msgid "Recording allowance reached."
    958 msgstr ""
    959 
    960 #: includes/class-tracewell.php:381
    961 #: includes/class-tracewell.php:389
    962 msgid "Unable to create recording."
    963 msgstr ""
    964 
    965 #: includes/class-tracewell.php:383
    966 msgid "Recording allowance unavailable."
    967 msgstr ""
    968 
    969 #: includes/class-tracewell.php:392
    970 msgid "Unable to confirm recording."
    971 msgstr ""
    972 
    973 #: includes/class-tracewell.php:404
    974 msgid "Invalid recording batch."
    975 msgstr ""
    976 
    977 #: includes/class-tracewell.php:407
    9781035msgid "Malformed or out-of-range event."
    9791036msgstr ""
    9801037
    981 #: includes/class-tracewell.php:408
     1038#: includes/class-tracewell.php:463
    9821039msgid "Malformed incremental event."
    9831040msgstr ""
    9841041
    985 #: includes/class-tracewell.php:413
     1042#: includes/class-tracewell.php:468
    9861043msgid "Malformed input event."
    9871044msgstr ""
    9881045
    989 #: includes/class-tracewell.php:441
    990 #: includes/class-tracewell.php:455
    991 #: includes/class-tracewell.php:468
    992 #: includes/class-tracewell.php:494
     1046#: includes/class-tracewell.php:496
     1047#: includes/class-tracewell.php:510
     1048#: includes/class-tracewell.php:523
     1049#: includes/class-tracewell.php:549
    9931050msgid "Unable to save recording."
    9941051msgstr ""
    9951052
    996 #: includes/class-tracewell.php:450
     1053#: includes/class-tracewell.php:505
    9971054msgid "Current recording settings could not be read."
    9981055msgstr ""
    9991056
    1000 #: includes/class-tracewell.php:464
     1057#: includes/class-tracewell.php:519
    10011058msgid "Privacy authorization changed. Reload and choose again."
    10021059msgstr ""
    10031060
    1004 #: includes/class-tracewell.php:481
    1005 #: includes/class-tracewell.php:485
     1061#: includes/class-tracewell.php:536
     1062#: includes/class-tracewell.php:540
    10061063msgid "Recording storage limit reached."
    10071064msgstr ""
    10081065
    1009 #: includes/class-tracewell.php:485
     1066#: includes/class-tracewell.php:540
    10101067msgid "Unable to reserve recording storage. Please retry."
    10111068msgstr ""
    10121069
    1013 #: includes/class-tracewell.php:496
     1070#: includes/class-tracewell.php:551
    10141071msgid "Upload confirmation failed. Please retry."
    10151072msgstr ""
    10161073
    1017 #: includes/class-tracewell.php:500
     1074#: includes/class-tracewell.php:556
    10181075msgid "This visit is excluded from recording."
    10191076msgstr ""
    10201077
    1021 #: includes/class-tracewell.php:505
    1022 #: includes/class-tracewell.php:514
     1078#: includes/class-tracewell.php:561
     1079#: includes/class-tracewell.php:570
    10231080msgid "Recording checkpoint could not be saved."
    10241081msgstr ""
    10251082
    1026 #: includes/class-tracewell.php:511
     1083#: includes/class-tracewell.php:567
    10271084msgid "Recording settings could not be read."
    10281085msgstr ""
    10291086
    1030 #: includes/class-tracewell.php:517
     1087#: includes/class-tracewell.php:573
    10311088msgid "Recording is paused or privacy authorization changed."
    10321089msgstr ""
    10331090
    1034 #: includes/class-tracewell.php:520
     1091#: includes/class-tracewell.php:576
    10351092msgid "Recording checkpoint could not be confirmed."
    10361093msgstr ""
    10371094
    1038 #: includes/class-tracewell.php:527
     1095#: includes/class-tracewell.php:583
    10391096msgid "Deletion could not be confirmed. Please retry. Recording data may remain on this server."
    10401097msgstr ""
    10411098
    1042 #: includes/class-tracewell.php:602
     1099#: includes/class-tracewell.php:658
    10431100msgid "Use a page number from 1 to 1,000,000."
    10441101msgstr ""
    10451102
    1046 #: includes/class-tracewell.php:606
    1047 #: includes/class-tracewell.php:611
     1103#: includes/class-tracewell.php:662
     1104#: includes/class-tracewell.php:667
    10481105msgid "Recordings could not load. Please retry."
    10491106msgstr ""
    10501107
    1051 #: includes/class-tracewell.php:617
    1052 #: includes/class-tracewell.php:620
    1053 #: includes/class-tracewell.php:623
     1108#: includes/class-tracewell.php:673
     1109#: includes/class-tracewell.php:676
     1110#: includes/class-tracewell.php:679
    10541111msgid "Recording totals could not load. Please retry."
    10551112msgstr ""
    10561113
    1057 #: includes/class-tracewell.php:630
    1058 #: includes/class-tracewell.php:636
     1114#: includes/class-tracewell.php:686
     1115#: includes/class-tracewell.php:692
    10591116msgid "Recording could not load. Please retry."
    10601117msgstr ""
    10611118
    1062 #: includes/class-tracewell.php:631
     1119#: includes/class-tracewell.php:687
    10631120msgid "Recording has expired."
    10641121msgstr ""
    10651122
    1066 #: includes/class-tracewell.php:639
     1123#: includes/class-tracewell.php:695
    10671124msgid "This recording contains an unreadable batch."
    10681125msgstr ""
    10691126
    1070 #: includes/class-tracewell.php:640
     1127#: includes/class-tracewell.php:696
    10711128msgid "This recording contains an unreadable event."
    10721129msgstr ""
    10731130
    1074 #: includes/class-tracewell.php:655
     1131#: includes/class-tracewell.php:711
    10751132msgid "Type DELETE to confirm."
    10761133msgstr ""
    10771134
    1078 #: includes/class-tracewell.php:658
     1135#: includes/class-tracewell.php:714
    10791136msgid "Unable to list recordings for deletion. Please retry."
    10801137msgstr ""
    10811138
    1082 #: includes/class-tracewell.php:662
     1139#: includes/class-tracewell.php:718
    10831140msgid "Unable to confirm remaining recordings. Please retry."
    10841141msgstr ""
    10851142
    1086 #: includes/class-tracewell.php:665
     1143#: includes/class-tracewell.php:721
    10871144msgid "Recordings were deleted, but investigation notes could not be cleared. Please retry."
    10881145msgstr ""
    10891146
    1090 #: includes/class-tracewell.php:673
     1147#: includes/class-tracewell.php:729
    10911148msgid "Storage budget must be a whole number within the supported hosting range."
    10921149msgstr ""
    10931150
    1094 #: includes/class-tracewell.php:677
     1151#: includes/class-tracewell.php:733
    10951152msgid "Invalid setting type."
    10961153msgstr ""
    10971154
    1098 #: includes/class-tracewell.php:679
     1155#: includes/class-tracewell.php:735
    10991156msgid "Use a whole number within the supported settings range."
    11001157msgstr ""
    11011158
    1102 #: includes/class-tracewell.php:682
     1159#: includes/class-tracewell.php:738
    11031160msgid "Use text for privacy exclusions."
    11041161msgstr ""
    11051162
    1106 #: includes/class-tracewell.php:685
     1163#: includes/class-tracewell.php:741
     1164#: assets/dashboard.js:219
     1165msgid "Excluded page paths exceed 2,000 bytes. Shorten the list and save again. No settings were changed."
     1166msgstr ""
     1167
     1168#: includes/class-tracewell.php:742
     1169#: assets/dashboard.js:220
     1170msgid "Additional exclusion selectors exceed 500 bytes. Shorten the selector list and save again. No settings were changed."
     1171msgstr ""
     1172
     1173#: includes/class-tracewell.php:745
    11071174msgid "Settings could not be saved. The previous recording settings remain active. Please retry."
    11081175msgstr ""
    11091176
    1110 #: includes/class-tracewell.php:718
    1111 #: includes/class-tracewell.php:722
     1177#: includes/class-tracewell.php:789
     1178#: includes/class-tracewell.php:793
    11121179msgid "ClickClue guide"
    11131180msgstr ""
    … …  
    11481215#: includes/help-page.php:5
    11491216#: includes/help-page.php:6
    1150 #: includes/help-page.php:27
    1151 #: includes/help-page.php:68
    1152 #: includes/help-page.php:218
    1153 #: includes/help-page.php:244
    1154 #: includes/help-page.php:303
     1217#: includes/help-page.php:33
     1218#: includes/help-page.php:75
     1219#: includes/help-page.php:225
     1220#: includes/help-page.php:251
     1221#: includes/help-page.php:316
    11551222msgid "Free + Pro"
    11561223msgstr ""
    11571224
    11581225#: includes/help-page.php:5
    1159 #: includes/help-page.php:27
     1226#: includes/help-page.php:33
    11601227msgid "Consent, masking & exclusions"
    11611228msgstr ""
    11621229
    11631230#: includes/help-page.php:5
    1164 #: includes/help-page.php:68
     1231#: includes/help-page.php:75
    11651232msgid "Find, replay & review sessions"
    11661233msgstr ""
    11671234
    11681235#: includes/help-page.php:5
    1169 #: includes/help-page.php:86
     1236#: includes/help-page.php:93
    11701237msgid "Legacy WooCommerce integration"
    11711238msgstr ""
    11721239
    11731240#: includes/help-page.php:5
    1174 #: includes/help-page.php:86
    1175 #: includes/help-page.php:110
    1176 #: includes/help-page.php:130
    1177 #: includes/help-page.php:157
    1178 #: includes/help-page.php:167
    1179 #: includes/help-page.php:184
    1180 #: includes/help-page.php:202
    1181 #: includes/help-page.php:222
    1182 #: includes/help-page.php:323
    1183 #: includes/help-page.php:333
    1184 #: includes/help-page.php:339
     1241#: includes/help-page.php:93
     1242#: includes/help-page.php:117
     1243#: includes/help-page.php:137
     1244#: includes/help-page.php:164
     1245#: includes/help-page.php:174
     1246#: includes/help-page.php:191
     1247#: includes/help-page.php:209
     1248#: includes/help-page.php:229
     1249#: includes/help-page.php:336
     1250#: includes/help-page.php:346
     1251#: includes/help-page.php:352
    11851252#: assets/pro-previews.js:67
    11861253msgid "Pro"
    … …  
    11881255
    11891256#: includes/help-page.php:5
    1190 #: includes/help-page.php:110
     1257#: includes/help-page.php:117
    11911258msgid "Heatmaps & form activity"
    11921259msgstr ""
    11931260
    11941261#: includes/help-page.php:5
    1195 #: includes/help-page.php:130
     1262#: includes/help-page.php:137
    11961263msgid "Clues, journeys & comparisons"
    11971264msgstr ""
    11981265
    11991266#: includes/help-page.php:5
    1200 #: includes/help-page.php:157
     1267#: includes/help-page.php:164
    12011268msgid "Ask for optional visitor feedback"
    12021269msgstr ""
    12031270
    12041271#: includes/help-page.php:5
    1205 #: includes/help-page.php:167
     1272#: includes/help-page.php:174
    12061273msgid "Team roles & replay invitations"
    12071274msgstr ""
    12081275
    12091276#: includes/help-page.php:5
    1210 #: includes/help-page.php:184
     1277#: includes/help-page.php:191
    12111278msgid "Connect sites & export client reports"
    12121279msgstr ""
    12131280
    12141281#: includes/help-page.php:5
    1215 #: includes/help-page.php:202
     1282#: includes/help-page.php:209
    12161283msgid "Legacy email & AI summaries"
    12171284msgstr ""
    12181285
    12191286#: includes/help-page.php:5
    1220 #: includes/help-page.php:218
     1287#: includes/help-page.php:225
    12211288msgid "Storage, retention & deletion"
    12221289msgstr ""
    12231290
    12241291#: includes/help-page.php:5
    1225 #: includes/help-page.php:244
     1292#: includes/help-page.php:251
    12261293msgid "Update safely & keep existing recordings"
    12271294msgstr ""
    12281295
    12291296#: includes/help-page.php:5
    1230 #: includes/help-page.php:303
     1297#: includes/help-page.php:316
    12311298msgid "Troubleshoot a recording"
    12321299msgstr ""
    12331300
    12341301#: includes/help-page.php:5
    1235 #: includes/help-page.php:323
     1302#: includes/help-page.php:336
    12361303#: assets/workspace.js:83
    12371304msgid "Explore Grouped Clues"
    … …  
    12391306
    12401307#: includes/help-page.php:5
    1241 #: includes/help-page.php:333
     1308#: includes/help-page.php:346
    12421309#: assets/workspace.js:83
    12431310msgid "Explore Pro Comparisons"
    … …  
    12451312
    12461313#: includes/help-page.php:5
    1247 #: includes/help-page.php:339
     1314#: includes/help-page.php:352
    12481315#: assets/workspace.js:83
    12491316msgid "See Pro Team Tools"
    … …  
    12991366
    13001367#: includes/help-page.php:15
    1301 msgid "Choose Prepare test settings to fill the form with recording enabled and 100% sampling. Review the consent prompt, excluded paths and private selectors, then choose Save settings. Preparing alone does not save."
     1368msgid "Open ClickClue → Settings → Test & diagnostics and choose Prepare test settings. This fills the form with recording enabled and 100% sampling while preserving your text-masking choice. Review consent, excluded paths and private selectors, then select Save settings. Preparing alone does not save."
    13021369msgstr ""
    13031370
    … …  
    13071374
    13081375#: includes/help-page.php:15
    1309 msgid "Copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded."
     1376msgid "Under Settings → Test & diagnostics, copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded; a signed-in test panel explains how to open an eligible visit."
    13101377msgstr ""
    13111378
    … …  
    13151382
    13161383#: includes/help-page.php:15
    1317 msgid "Return to WordPress. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing the useful moment, what you observed and what you will check."
     1384msgid "Return to Settings → Test & diagnostics. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing what you observed and what you will check."
    13181385msgstr ""
    13191386
    … …  
    13471414
    13481415#: includes/help-page.php:24
     1416#: includes/help-page.php:257
     1417msgid "From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks."
     1418msgstr ""
     1419
     1420#: includes/help-page.php:25
     1421#: includes/help-page.php:258
     1422msgid "If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress."
     1423msgstr ""
     1424
     1425#: includes/help-page.php:26
    13491426msgid "Explore page heatmaps and forms"
    13501427msgstr ""
    13511428
    1352 #: includes/help-page.php:26
    1353 #: includes/help-page.php:67
     1429#: includes/help-page.php:28
     1430msgid "Leave an honest review, when you are ready"
     1431msgstr ""
     1432
     1433#: includes/help-page.php:29
     1434msgid "The Help page always links to the WordPress.org review page. A small invitation can also appear inside ClickClue after at least 30 days from its first successfully recorded visit tracked by version 1.1.5, and after you have reviewed ten distinct recordings across five UTC days. These bounded counters and your choice stay in this WordPress installation; they are not interest analytics sent to ClickClue."
     1435msgstr ""
     1436
     1437#: includes/help-page.php:30
     1438msgid "Choose Leave an honest review, Remind me in 30 days or No thanks. No thanks permanently dismisses the invitation for your administrator account; updates preserve that choice. You can still use the Help link later. Opening the review page does not tell ClickClue whether you posted a review."
     1439msgstr ""
     1440
     1441#: includes/help-page.php:32
     1442#: includes/help-page.php:74
     1443#: includes/help-page.php:92
     1444#: includes/help-page.php:116
     1445#: includes/help-page.php:136
     1446#: includes/help-page.php:163
     1447#: includes/help-page.php:173
     1448#: includes/help-page.php:190
     1449#: includes/help-page.php:208
     1450#: includes/help-page.php:224
     1451#: includes/help-page.php:250
     1452#: includes/help-page.php:315
     1453#: includes/help-page.php:335
     1454#: includes/help-page.php:345
     1455#: includes/help-page.php:351
     1456#: includes/help-page.php:361
     1457msgid "Back to contents ↑"
     1458msgstr ""
     1459
     1460#: includes/help-page.php:33
     1461msgid "Control when recording starts, protect private elements and handle withdrawal."
     1462msgstr ""
     1463
     1464#: includes/help-page.php:34
     1465msgid "Understand the defaults"
     1466msgstr ""
     1467
     1468#: includes/help-page.php:35
     1469msgid "The small consent loader runs first. The capture engine loads only after permission, sampling and server authorisation pass. Form values are always masked. Ordinary page text stays readable on new installations. Enable Mask all page text to hide it too. Existing saved masking choices stay unchanged on upgrade; explicitly private and masked regions remain protected."
     1470msgstr ""
     1471
     1472#: includes/help-page.php:36
     1473msgid "Do Not Track and Global Privacy Control stop recording. Signed-in users and administration, login, account, order-pay and order-confirmation paths are excluded. Browser navigation into an excluded path also stops active capture."
     1474msgstr ""
     1475
     1476#: includes/help-page.php:37
     1477msgid "Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority."
     1478msgstr ""
     1479
     1480#: includes/help-page.php:37
     1481msgid "Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched."
     1482msgstr ""
     1483
     1484#: includes/help-page.php:37
     1485msgid "URL query values and fragments are removed, except a verified public WordPress post or page ID used to distinguish plain permalinks. Recorded links and arbitrary asset URLs are stripped."
     1486msgstr ""
     1487
     1488#: includes/help-page.php:37
     1489msgid "Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme."
     1490msgstr ""
     1491
     1492#: includes/help-page.php:39
     1493msgid "Organise approved public images"
     1494msgstr ""
     1495
     1496#: includes/help-page.php:40
     1497msgid "Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent. The separately bounded prepared catalogue holds about 46 MiB of encoded image data and URL metadata. Image copies stored with recordings count toward the recording payload budget."
     1498msgstr ""
     1499
     1500#: includes/help-page.php:41
     1501msgid "A recording saves only used copies, bounded to 64 images and 2 MiB within its existing payload allowance. Images are prepared locally without metadata; only supported same-origin local URLs are matched. Private and masked regions always take priority. No arbitrary image URL is fetched."
     1502msgstr ""
     1503
     1504#: includes/help-page.php:42
     1505msgid "Removing approval or switching image copies off removes affected retained copies. Downloaded exports and backups need separate handling. Updated approvals require current consent. External fonts, CSS backgrounds, SVG, video and embedded content stay excluded."
     1506msgstr ""
     1507
     1508#: includes/help-page.php:44
     1509msgid "Publish your notice and keep consent evidence"
     1510msgstr ""
     1511
     1512#: includes/help-page.php:45
     1513msgid "In WordPress Settings → Privacy, select a published page with your operator identity, privacy contact, replay purpose, legal basis, recipients, retention, transfers and visitor rights. Adapt the ClickClue suggested text there. The built-in prompt links to this page and blocks capture if it is missing. Allow replay and No thanks have equal visual prominence."
     1514msgstr ""
     1515
     1516#: includes/help-page.php:46
     1517msgid "From 0.6.2, affirmative choices include a decision time and notice revision. An older positive choice or a changed notice/retention/masking/edition requires a fresh choice; a valid refusal stays refused. Update both ZIPs and clear page/CDN caches so the current loader and revision reach visitors."
     1518msgstr ""
     1519
     1520#: includes/help-page.php:47
     1521msgid "New recordings store the server receipt time, matching revision and retention deadline, deleted with the recording. Increasing retention later does not extend that deadline. A notice change also stops uploads with earlier authorisation. Existing sessions keep blank receipt fields; no historical consent is invented. Keep dated copies of each notice and any CMP ledger under your justified retention policy. A browser flag or technical receipt alone does not prove that consent was informed and valid."
     1522msgstr ""
     1523
     1524#: includes/help-page.php:49
     1525msgid "Finish your website-specific privacy setup"
     1526msgstr ""
     1527
     1528#: includes/help-page.php:50
     1529msgid "This is a configuration guide, not a compliance certificate. Establish your controller/processor roles, applicable national cookie rules, access controls, processor agreements and international-transfer arrangements. Assess whether a DPIA and a DPO are required for your actual processing before collecting real visits."
     1530msgstr ""
     1531
     1532#: includes/help-page.php:51
     1533msgid "Document how you receive and answer access, erasure, objection and other rights requests, normally within one month. The current-visit withdrawal token is not an identity search across every visit. Do not collect new identity data just to make anonymous visits identifiable."
     1534msgstr ""
     1535
     1536#: includes/help-page.php:52
     1537msgid "Review cleanup, backups, exports and enabled email/AI/agency services separately. Maintain an incident response process, including authority notification within 72 hours when required and notification to affected people when the applicable threshold is met. Keep your local legal review and decisions with the installation record."
     1538msgstr ""
     1539
     1540#: includes/help-page.php:54
     1541msgid "Exclude sensitive regions"
     1542msgstr ""
     1543
     1544#: includes/help-page.php:55
     1545msgid "Add data-tw-block to a private element or enter its CSS selector in Settings → Recording & privacy. Existing data-private and .rr-block regions are also excluded."
     1546msgstr ""
     1547
     1548#: includes/help-page.php:56
     1549msgid "Structural classes and IDs may remain for layout. Exclude elements whose attributes contain personal information. Inspect dynamic content, account widgets and order details in a synthetic recording before real use."
     1550msgstr ""
     1551
     1552#: includes/help-page.php:57
     1553msgid "Excluded page paths can use up to 2,000 UTF-8 bytes and additional selectors up to 500 UTF-8 bytes. Longer rules are rejected without changing saved settings. Review the error and shorten the list; ClickClue never silently cuts an exclusion to fit."
     1554msgstr ""
     1555
     1556#: includes/help-page.php:60
     1557msgid "Connect your consent manager (optional)"
     1558msgstr ""
     1559
     1560#: includes/help-page.php:61
     1561msgid "Keep the built-in prompt until your consent manager is wired and tested. Turning the prompt off does not remove the consent requirement. Call grant only after the visitor agrees, and withdraw whenever that choice changes."
     1562msgstr ""
     1563
     1564#: includes/help-page.php:62
     1565msgid "Do not call grant on page load for every visitor."
     1566msgstr ""
     1567
     1568#: includes/help-page.php:62
     1569msgid "Test accept, decline, later withdrawal, cleared storage and the next page visit. A current notice revision is required by the start endpoint."
     1570msgstr ""
     1571
     1572#: includes/help-page.php:62
     1573msgid "Archive your CMP notice and consent records. Change the clickclue_consent_notice_revision filter value whenever your CMP replay purpose or notice changes, then clear caches."
     1574msgstr ""
     1575
     1576#: includes/help-page.php:62
     1577msgid "Use window.ClickClue.grantConsent() and window.ClickClue.withdrawConsent() for new integrations. Existing integrations remain compatible."
     1578msgstr ""
     1579
     1580#: includes/help-page.php:69
     1581msgid "Stop capture and confirm deletion"
     1582msgstr ""
     1583
     1584#: includes/help-page.php:70
     1585msgid "Replay privacy lets the visitor stop and delete the current authorised recording. Capture stops immediately. A separate confirmation reports whether saved data was deleted."
     1586msgstr ""
     1587
     1588#: includes/help-page.php:71
     1589msgid "A failed deletion keeps a tab-local retry token when session storage is available. Use Retry deletion; reloading that tab or reconnecting also retries. New capture stays off while deletion is unresolved. A former capture token can request deletion for up to 30 days after expiry, but cannot upload. Older recordings follow retention and administrator deletion."
     1590msgstr ""
     1591
     1592#: includes/help-page.php:72
     1593msgid "Understand retention and backups"
     1594msgstr ""
     1595
     1596#: includes/help-page.php:75
     1597msgid "Use filters, bookmarks, notes and playback controls to keep investigations focused."
     1598msgstr ""
     1599
     1600#: includes/help-page.php:76
     1601msgid "Find the right recording"
     1602msgstr ""
     1603
     1604#: includes/help-page.php:77
     1605msgid "You can save up to 20 filter combinations per account on each site. In Pro, category filters narrow the list to matching checkout signals."
     1606msgstr ""
     1607
     1608#: includes/help-page.php:78
     1609msgid "Open the recording list and filter by path or device. Add a UTC date range when you need a specific period."
     1610msgstr ""
     1611
     1612#: includes/help-page.php:78
     1613msgid "Choose watched/unwatched or bookmarked recordings. These states belong to your WordPress account."
     1614msgstr ""
     1615
     1616#: includes/help-page.php:78
     1617msgid "Name a useful combination and choose Save these filters. Select it later from Saved filters, or use Clear filters to reset."
     1618msgstr ""
     1619
     1620#: includes/help-page.php:80
     1621msgid "Work through the replay"
     1622msgstr ""
     1623
     1624#: includes/help-page.php:81
     1625msgid "Use play/pause, seeking and playback speed to inspect a moment."
     1626msgstr ""
     1627
     1628#: includes/help-page.php:81
     1629msgid "Skip inactivity, move to the previous/next event or jump to the first error."
     1630msgstr ""
     1631
     1632#: includes/help-page.php:81
     1633msgid "Space toggles playback and arrow keys move five seconds when a form control is not focused."
     1634msgstr ""
     1635
     1636#: includes/help-page.php:81
     1637msgid "A successfully loaded replay is marked watched for accounts with review permission. A failed load leaves it unwatched."
     1638msgstr ""
     1639
     1640#: includes/help-page.php:83
     1641msgid "Keep useful context"
     1642msgstr ""
     1643
     1644#: includes/help-page.php:84
     1645msgid "Bookmark a recording and add a concise session note: what you observed, what you want to check and the change you plan to test. Notes are visible to authorised reviewers; they are not a private notebook."
     1646msgstr ""
     1647
    13541648#: includes/help-page.php:85
     1649msgid "Each recording can hold up to 20 notes of up to 1,000 characters each. The note’s author or an administrator can delete it. Avoid customer names, payment information, passwords and pasted order details. An administrator can delete the recording in either edition. With the separate Pro add-on, administrators can also export permitted recording data; treat downloaded copies with the same care as the original."
     1650msgstr ""
     1651
     1652#: includes/help-page.php:87
     1653msgid "Understand recording completeness"
     1654msgstr ""
     1655
     1656#: includes/help-page.php:88
     1657msgid "The player shows whether delivery was confirmed through the latest checkpoint, is still unconfirmed, or was interrupted. Confirmation does not prove the visitor’s entire visit was captured."
     1658msgstr ""
     1659
     1660#: includes/help-page.php:89
     1661msgid "The recorder retries identical batches and recovers from temporary disconnection using a bounded memory-only queue. Navigation and browser back/forward restoration preserve their own stream checkpoints. Closing the browser can destroy unsent events; do not interpret a missing ending as visitor abandonment."
     1662msgstr ""
     1663
     1664#: includes/help-page.php:90
     1665msgid "Computed layout tracking prioritises visible changes and is bounded to2,048 elements and32 open shadow roots. A complex page can exceed that budget. Private boundaries still apply and unsupported content remains excluded."
     1666msgstr ""
     1667
     1668#: includes/help-page.php:93
     1669msgid "Use the optional legacy checkout tools already included in Pro, with their existing data and settings."
     1670msgstr ""
     1671
     1672#: includes/help-page.php:94
     1673msgid "Where to find the legacy tools"
     1674msgstr ""
     1675
     1676#: includes/help-page.php:95
     1677msgid "ClickClue focuses on WordPress replay, heatmaps and visitor interactions. The optional tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. Enable only the integrations you need and test them with your own checkout before using their observations."
     1678msgstr ""
     1679
     1680#: includes/help-page.php:97
     1681msgid "What the integration observes"
     1682msgstr ""
     1683
     1684#: includes/help-page.php:98
     1685msgid "Classic checkout uses known frontend events. Checkout Blocks uses cart events and visible error notices. Fixed categories include shipping, coupon, validation and general checkout errors; raw notices, payment details and order IDs are not included in those markers."
     1686msgstr ""
     1687
     1688#: includes/help-page.php:99
     1689msgid "Embedded payment frames are excluded. Test your actual theme, checkout extensions and payment gateway in staging."
     1690msgstr ""
     1691
     1692#: includes/help-page.php:101
     1693msgid "Read the ordered funnel"
     1694msgstr ""
     1695
     1696#: includes/help-page.php:102
     1697msgid "Legacy checkout → Checkout funnel shows recorded visits, add-to-cart, checkout view, checkout submit and confirmed paid. Each step counts recordings that reached the steps in order. The displayed conversion and drop-off figures refer to this consenting, sampled, retained set."
     1698msgstr ""
     1699
     1700#: includes/help-page.php:103
     1701msgid "A submit is an attempt. Only a linked WooCommerce server paid event can add payment confirmation. The association uses a short-lived capture cookie and a keyed order hash rather than storing a raw order ID in ClickClue. Missing linkage, navigation, sampling or retention can leave an order outside the funnel."
     1702msgstr ""
     1703
     1704#: includes/help-page.php:104
     1705msgid "These observations do not calculate recovered revenue or prove why a customer left."
     1706msgstr ""
     1707
     1708#: includes/help-page.php:106
     1709msgid "Turn an error into an investigation"
     1710msgstr ""
     1711
     1712#: includes/help-page.php:107
     1713msgid "Open Legacy checkout → Checkout issue inbox and select a category. Read the affected-recording counts and suggested checks."
     1714msgstr ""
     1715
     1716#: includes/help-page.php:107
     1717msgid "Choose Watch latest example to open a replay with two seconds of context, or View matching recordings to review the group."
     1718msgstr ""
     1719
     1720#: includes/help-page.php:107
     1721msgid "Download an investigation brief when you need a text summary of counts, example references, suggested checks and your category note. Review it before sharing."
     1722msgstr ""
     1723
     1724#: includes/help-page.php:107
     1725msgid "After making and testing a store change, select Mark a fix. A later matching signal changes Monitoring to Observed again."
     1726msgstr ""
     1727
    13551728#: includes/help-page.php:109
     1729msgid "Measure investigation time"
     1730msgstr ""
     1731
     1732#: includes/help-page.php:110
     1733msgid "Open Legacy checkout → Legacy checkout investigation pilot in Pro to time matched staging tasks against your usual workflow. Record completed and incomplete tasks, confidence and interruptions. Results stay in the current browser for this WordPress account; export CSV before clearing storage. No study data is sent to ClickClue."
     1734msgstr ""
     1735
     1736#: includes/help-page.php:112
     1737msgid "Interpret before and after carefully"
     1738msgstr ""
     1739
     1740#: includes/help-page.php:113
     1741msgid "Comparisons use equal windows around a fix marker, up to seven days each and limited to retained recordings. Small samples show counts instead of percentages. A single visit may span both windows."
     1742msgstr ""
     1743
     1744#: includes/help-page.php:114
     1745msgid "The change history records WordPress update hooks, not every possible deployment. Timing alone does not establish that an update caused an error."
     1746msgstr ""
     1747
     1748#: includes/help-page.php:117
     1749msgid "Compare click positions, scroll reach and structural form observations within compatible layouts."
     1750msgstr ""
     1751
     1752#: includes/help-page.php:118
     1753msgid "Select the page layout first"
     1754msgstr ""
     1755
     1756#: includes/help-page.php:119
     1757msgid "A layout fingerprint is a structural grouping aid. It is not a screenshot, a security identifier or a guarantee that every dynamic layout is identical."
     1758msgstr ""
     1759
     1760#: includes/help-page.php:120
     1761msgid "Open Heatmaps & forms and choose your date/device scope."
     1762msgstr ""
     1763
     1764#: includes/help-page.php:120
     1765msgid "Choose a page path, layout fingerprint and viewport group. Refresh after recording a new synthetic visit."
     1766msgstr ""
     1767
     1768#: includes/help-page.php:120
     1769msgid "Read the recording counts alongside the result. Do not combine different layouts to claim a single page-wide result."
     1770msgstr ""
     1771
     1772#: includes/help-page.php:122
     1773msgid "Read click and scroll observations"
     1774msgstr ""
     1775
     1776#: includes/help-page.php:123
     1777msgid "The heatmap shows coarsened positions from the top to the bottom of the page. Larger cells represent more clicks. A table gives the displayed cells’ counts and distinct recording counts."
     1778msgstr ""
     1779
     1780#: includes/help-page.php:124
     1781msgid "Scroll reach counts observed depth thresholds. It does not establish that someone read or understood the content. Private regions are excluded. The grid remains available for older recordings without measured layout dimensions. The overlay is a reconstruction, not a screenshot; blocked media, fonts and dynamic layout differences can affect its appearance."
     1782msgstr ""
     1783
     1784#: includes/help-page.php:125
     1785msgid "Choose Open recorded page overlay to reconstruct a matching masked page."
     1786msgstr ""
     1787
     1788#: includes/help-page.php:125
     1789msgid "Switch between Click density and Scroll reach."
     1790msgstr ""
     1791
     1792#: includes/help-page.php:125
     1793msgid "Use the page-position slider to inspect the relevant part of the page."
     1794msgstr ""
     1795
     1796#: includes/help-page.php:127
     1797msgid "Inspect fields without their values"
     1798msgstr ""
     1799
     1800#: includes/help-page.php:128
     1801msgid "Fields use structural positions such as Form 1 · field 2, rather than entered values or labels. The table reports focus, validation signals and submit attempts."
     1802msgstr ""
     1803
    13561804#: includes/help-page.php:129
     1805msgid "No submit observed counts focused fields in recordings inactive for at least five minutes without a same-form submit. Missing signals, navigation and custom form behaviour can affect it; this is not a confirmed abandonment count."
     1806msgstr ""
     1807
     1808#: includes/help-page.php:130
     1809msgid "When form structure changes, select the corresponding new layout. Test AJAX forms and custom validation in your own theme before relying on the observations."
     1810msgstr ""
     1811
     1812#: includes/help-page.php:132
     1813msgid "Name structural elements and compare periods"
     1814msgstr ""
     1815
     1816#: includes/help-page.php:133
     1817msgid "Whole-range element and form reports let reviewers name an important button or structural field in administration. These aliases are owner-provided context, not text collected from a visitor."
     1818msgstr ""
     1819
     1820#: includes/help-page.php:134
     1821msgid "Compare chosen UTC periods and device categories, keeping layout identifiers separate. Open supporting recordings before making an interpretation. Input values remain excluded and focus duration is not typing duration."
     1822msgstr ""
     1823
     1824#: includes/help-page.php:137
     1825msgid "Follow an interaction, save a funnel and compare two periods with clear sample counts."
     1826msgstr ""
     1827
     1828#: includes/help-page.php:138
     1829msgid "Review a clue in context"
     1830msgstr ""
     1831
     1832#: includes/help-page.php:139
     1833msgid "A clue is a lead, not proof of a broken button. Legitimate interactions can meet these conditions. The review status applies to this observation, not an entire website."
     1834msgstr ""
     1835
     1836#: includes/help-page.php:140
     1837msgid "Open Clues and choose an observation. Watch opens shortly before its recorded moment."
     1838msgstr ""
     1839
     1840#: includes/help-page.php:140
     1841msgid "Inspect what happened before and after. Three clicks within one second can create a repeated-click clue; an eligible button with no observed response for about 1.5 seconds can create a possible unresponsive-click clue."
     1842msgstr ""
     1843
     1844#: includes/help-page.php:140
     1845msgid "Mark the observation New, Reviewing, Resolved or Ignored. Note the evidence and the next thing you will check."
     1846msgstr ""
     1847
     1848#: includes/help-page.php:142
     1849msgid "Follow an ordered path"
     1850msgstr ""
     1851
     1852#: includes/help-page.php:143
     1853msgid "Journeys shows page paths within a retained recording. Save up to twenty funnels, each with two to eight ordered steps matching page paths, clues or form observations. A path prefix includes its child paths."
     1854msgstr ""
     1855
     1856#: includes/help-page.php:144
     1857msgid "Use a recorded layout ID when structural field positions matter. Journeys do not identify a person across separate visits or devices."
     1858msgstr ""
     1859
     1860#: includes/help-page.php:146
     1861msgid "Compare two periods fairly"
     1862msgstr ""
     1863
     1864#: includes/help-page.php:147
     1865msgid "The instant Compare screen analyzes batches of up to 200 retained recordings. Use Whole-range reports for all eligible recordings in the period. Consent, sampling, retention and bounded observations affect coverage. Changes in rates do not establish that a website edit caused the difference. Older recordings do not receive invented new observations."
     1866msgstr ""
     1867
     1868#: includes/help-page.php:148
     1869msgid "Choose two separate UTC date ranges."
     1870msgstr ""
     1871
     1872#: includes/help-page.php:148
     1873msgid "Use matching page, device and layout filters where appropriate."
     1874msgstr ""
     1875
     1876#: includes/help-page.php:148
     1877msgid "Read the sample counts and denominators before interpreting rates."
     1878msgstr ""
     1879
     1880#: includes/help-page.php:148
     1881msgid "Inspect representative replays from both periods before drawing a conclusion."
     1882msgstr ""
     1883
     1884#: includes/help-page.php:150
     1885msgid "Build a whole-period report"
     1886msgstr ""
     1887
     1888#: includes/help-page.php:151
     1889msgid "Use Whole-range reports for all eligible retained recordings in the chosen UTC period. Progress and the observation cutoff remain visible while bounded jobs process the indexes. WP-Cron continues work; manual advancement also works on low-traffic sites. Refresh to include later arrivals."
     1890msgstr ""
     1891
     1892#: includes/help-page.php:152
     1893msgid "Counts exclude deleted and expired recordings. A report cannot reconstruct observations that were never captured. Legacy instant Discovery views still show their sample limits; heatmap aggregation follows its separate existing path."
     1894msgstr ""
     1895
     1896#: includes/help-page.php:153
     1897msgid "Temporary jobs expire after one hour and are limited to two per reviewer and eight per site. Each job can hold up to100,000 recording memberships and500,000 derived facts; reaching a bound is labelled partial. Narrow the period to complete a larger investigation. Each recording retains up to300 indexed observations."
     1898msgstr ""
     1899
     1900#: includes/help-page.php:155
     1901msgid "Follow up a recurring clue"
     1902msgstr ""
     1903
    13571904#: includes/help-page.php:156
     1905msgid "Whole-range reports groups repeated observations by kind, page, layout, device and structural target. Review affected visits, frequency, trend and replay moments. Set an owner and review state, and record an edit date when relevant."
     1906msgstr ""
     1907
     1908#: includes/help-page.php:157
     1909msgid "Before/after comparisons describe observations. They cannot establish that your edit caused a change. Layout changes, sampling, consent and different traffic can all affect the result."
     1910msgstr ""
     1911
     1912#: includes/help-page.php:159
     1913msgid "Configure meaningful goals"
     1914msgstr ""
     1915
     1916#: includes/help-page.php:160
     1917msgid "Use Goals to create fixed named success observations and select supported form adapters. Manual integration must call the goal only from your actual successful-completion callback. Never pass form values, email addresses, customer IDs or other identifying content."
     1918msgstr ""
     1919
     1920#: includes/help-page.php:161
     1921msgid "An integration-reported completion is separate from a submit attempt and does not prove delivery, payment or a business result. Configuring enabled goals changes the consent scope. Use timed funnel steps and the product, enquiry and sign-up templates to inspect the journey before completion."
     1922msgstr ""
     1923
     1924#: includes/help-page.php:164
     1925msgid "Publish a rating or fixed-choice question and review responses alongside their recordings."
     1926msgstr ""
     1927
     1928#: includes/help-page.php:165
     1929msgid "Create a short optional campaign"
     1930msgstr ""
     1931
    13581932#: includes/help-page.php:166
     1933msgid "Visitor feedback supports multiple campaigns. Choose up to three rating or fixed-choice questions, an optional conditional follow-up, public paths, a UTC schedule and browser-session frequency controls. Preview the flow and publish your site-specific privacy notice before enabling it."
     1934msgstr ""
     1935
     1936#: includes/help-page.php:167
     1937msgid "A campaign requires current replay consent and an eligible sampled recording. Signed-in, private, account and checkout pages stay excluded. No free-text responses are collected. Never ask for identifying or sensitive information."
     1938msgstr ""
     1939
     1940#: includes/help-page.php:169
     1941msgid "Review feedback with its context"
     1942msgstr ""
     1943
     1944#: includes/help-page.php:170
     1945msgid "Filter results by date, page and device. Responses remain linked to the exact saved question revision and current recording. Legacy single-question results remain available. Pausing stops new responses; deletion, withdrawal and retention remove linked responses."
     1946msgstr ""
     1947
     1948#: includes/help-page.php:171
     1949msgid "A browser-session quiet-period marker is stored only after consent, cleared on withdrawal and does not identify people across visits. Responses are voluntary and cannot represent every visitor."
     1950msgstr ""
     1951
     1952#: includes/help-page.php:174
     1953msgid "Give colleagues the access they need and share one replay with an existing account."
     1954msgstr ""
     1955
     1956#: includes/help-page.php:175
     1957#: includes/help-page.php:177
     1958msgid "Assign roles in WordPress"
     1959msgstr ""
     1960
     1961#: includes/help-page.php:176
     1962msgid "Sign in as a WordPress administrator and open Users → All Users."
     1963msgstr ""
     1964
     1965#: includes/help-page.php:176
     1966msgid "Edit the existing account that needs access. Under Role, choose ClickClue analyst or ClickClue reviewer."
     1967msgstr ""
     1968
     1969#: includes/help-page.php:176
     1970msgid "Select Update User. Ask the person to sign in with their own account and confirm the expected ClickClue access."
     1971msgstr ""
     1972
     1973#: includes/help-page.php:177
     1974msgid "Role"
     1975msgstr ""
     1976
     1977#: includes/help-page.php:177
     1978msgid "Can review"
     1979msgstr ""
     1980
     1981#: includes/help-page.php:177
     1982msgid "Can change"
     1983msgstr ""
     1984
     1985#: includes/help-page.php:177
     1986msgid "Administrator"
     1987msgstr ""
     1988
     1989#: includes/help-page.php:177
     1990msgid "Recordings, analytics, notes and audit"
     1991msgstr ""
     1992
     1993#: includes/help-page.php:177
     1994msgid "Settings, exports, deletion, services and invitations"
     1995msgstr ""
     1996
     1997#: includes/help-page.php:177
     1998msgid "ClickClue analyst"
     1999msgstr ""
     2000
     2001#: includes/help-page.php:177
     2002msgid "Recordings, analytics and shared notes"
     2003msgstr ""
     2004
     2005#: includes/help-page.php:177
     2006msgid "Review state, bookmarks, notes and saved filters"
     2007msgstr ""
     2008
     2009#: includes/help-page.php:177
     2010msgid "ClickClue reviewer"
     2011msgstr ""
     2012
     2013#: includes/help-page.php:177
     2014msgid "Read only"
     2015msgstr ""
     2016
     2017#: includes/help-page.php:177
     2018msgid "Invited existing account"
     2019msgstr ""
     2020
     2021#: includes/help-page.php:177
     2022msgid "Only the specifically invited recording"
     2023msgstr ""
     2024
     2025#: includes/help-page.php:177
     2026msgid "No access to the full recording list"
     2027msgstr ""
     2028
     2029#: includes/help-page.php:179
     2030msgid "Invite someone to one recording"
     2031msgstr ""
     2032
     2033#: includes/help-page.php:180
     2034msgid "An invitation is not a public replay link. It expires, binds to one account and recording, and stops working when the recording is deleted."
     2035msgstr ""
     2036
     2037#: includes/help-page.php:181
     2038msgid "As an administrator, open a recording and expand Invite someone to this replay."
     2039msgstr ""
     2040
     2041#: includes/help-page.php:181
     2042msgid "Choose an existing WordPress account and an expiry of 1–168 hours. Create the invitation."
     2043msgstr ""
     2044
     2045#: includes/help-page.php:181
     2046msgid "Copy the link and share it with that person through your own approved channel. Creating the link does not send an email."
     2047msgstr ""
     2048
     2049#: includes/help-page.php:181
     2050msgid "The recipient must sign in as the chosen account. Revoke access from Workspace → Active replay invitations when it is no longer needed."
     2051msgstr ""
     2052
    13592053#: includes/help-page.php:183
     2054msgid "Review access and changes"
     2055msgstr ""
     2056
     2057#: includes/help-page.php:184
     2058msgid "Workspace displays the latest 30 entries from a bounded log of up to 100 administrative actions. It includes the actor ID, action, target reference and time, not replay contents. This is a recent activity aid, not a tamper-proof compliance archive."
     2059msgstr ""
     2060
     2061#: includes/help-page.php:186
     2062msgid "Work in shared investigations"
     2063msgstr ""
     2064
     2065#: includes/help-page.php:187
     2066msgid "Create private or team collections, add retained recordings, assign an eligible WordPress account and choose a review status. Add a discussion at a replay timestamp to keep evidence and context together. Assignment does not grant access or send a message."
     2067msgstr ""
     2068
     2069#: includes/help-page.php:188
     2070msgid "Private collections belong to their owner and administrators. Team sharing still requires a ClickClue-capable WordPress role. Deleted or expired recordings lose their linked collection membership and discussion. Avoid putting sensitive visitor details in notes."
     2071msgstr ""
     2072
     2073#: includes/help-page.php:191
     2074msgid "Bring authorised site health summaries together while recordings stay on each site."
     2075msgstr ""
     2076
     2077#: includes/help-page.php:192
     2078msgid "Connect a remote site"
     2079msgstr ""
     2080
     2081#: includes/help-page.php:193
     2082msgid "Connections use HTTPS and do not follow redirects with credentials. Use the final canonical site address. Application passwords are encrypted on the central server using its WordPress salts."
     2083msgstr ""
     2084
     2085#: includes/help-page.php:194
     2086msgid "Install and activate compatible ClickClue Free and Pro packages on the remote HTTPS site."
     2087msgstr ""
     2088
     2089#: includes/help-page.php:194
     2090msgid "Create a dedicated ClickClue reviewer account there. Generate a WordPress application password in that user’s profile."
     2091msgstr ""
     2092
     2093#: includes/help-page.php:194
     2094msgid "On your central site, open Workspace → Your sites → Connect another WordPress site."
     2095msgstr ""
     2096
     2097#: includes/help-page.php:194
     2098msgid "Enter the remote site address, reviewer username and application password. Select Connect site."
     2099msgstr ""
     2100
     2101#: includes/help-page.php:196
     2102msgid "Understand the overview"
     2103msgstr ""
     2104
     2105#: includes/help-page.php:197
     2106msgid "The overview includes the local site and up to 25 remote connections. It reports capture state, retained recording counts, issue counts and other summary information. Remote summaries may be cached for five minutes."
     2107msgstr ""
     2108
     2109#: includes/help-page.php:198
     2110msgid "Open WordPress takes you to that site’s workspace. Each site keeps its own recordings, access controls, sampling and storage settings. The overview does not pool storage or increase a single site’s capacity."
     2111msgstr ""
     2112
     2113#: includes/help-page.php:199
     2114msgid "Download client report exports a CSV of site summaries with their observation time."
     2115msgstr ""
     2116
     2117#: includes/help-page.php:199
     2118msgid "It does not export recording payloads, customer identities or a branded PDF."
     2119msgstr ""
     2120
     2121#: includes/help-page.php:199
     2122msgid "Review the report’s site names and contents before sending it to a client."
     2123msgstr ""
     2124
    13602125#: includes/help-page.php:201
     2126msgid "End a connection"
     2127msgstr ""
     2128
     2129#: includes/help-page.php:202
     2130msgid "Disconnect removes the saved connection from the central workspace. Revoke its application password at the remote WordPress account when access should end completely. A changed site address, password, certificate or security rule may require reconnecting."
     2131msgstr ""
     2132
     2133#: includes/help-page.php:204
     2134msgid "Save and export an investigation report"
     2135msgstr ""
     2136
     2137#: includes/help-page.php:205
     2138msgid "Investigations saves filter recipes combining clues, journeys and feedback. Report totals and exports share their retained population and coverage. Reopening a report reloads live eligible evidence instead of preserving hidden copies of removed recordings."
     2139msgstr ""
     2140
     2141#: includes/help-page.php:206
     2142msgid "CSV and JSON exports require the appropriate administrative access. Keep exported files private; the plugin cannot recall files already downloaded. Connected-site summaries remain aggregate health overviews rather than a central store of remote recordings."
     2143msgstr ""
     2144
     2145#: includes/help-page.php:209
     2146msgid "Configure checkout digests and event summaries in the Pro add-on."
     2147msgstr ""
     2148
     2149#: includes/help-page.php:210
     2150msgid "Configure the legacy checkout digest"
     2151msgstr ""
     2152
     2153#: includes/help-page.php:211
     2154msgid "The digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled."
     2155msgstr ""
     2156
     2157#: includes/help-page.php:212
     2158msgid "Configure and test your WordPress mail transport."
     2159msgstr ""
     2160
     2161#: includes/help-page.php:212
     2162msgid "Open Legacy checkout → Legacy checkout notifications & AI and enable the daily email digest. Enter an authorised recipient and a minimum affected-recording threshold."
     2163msgstr ""
     2164
     2165#: includes/help-page.php:212
     2166msgid "Save workspace settings. Saving does not itself send an email. The scheduled digest runs through WordPress cron."
     2167msgstr ""
     2168
     2169#: includes/help-page.php:212
     2170msgid "Check the mail status and verify actual inbox delivery. Transport acceptance alone does not prove delivery."
     2171msgstr ""
     2172
     2173#: includes/help-page.php:214
     2174msgid "Summarise legacy checkout evidence"
     2175msgstr ""
     2176
     2177#: includes/help-page.php:215
     2178msgid "This integration summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool."
     2179msgstr ""
     2180
     2181#: includes/help-page.php:216
     2182msgid "The request sends fixed event categories, counts and relative timing. It excludes DOM content, page paths, notes, raw order IDs and customer details. Usage is charged to the connected API account; the plugin caps requests at 20 per UTC day."
     2183msgstr ""
     2184
    13612185#: includes/help-page.php:217
    1362 #: includes/help-page.php:243
    1363 #: includes/help-page.php:302
    1364 #: includes/help-page.php:322
    1365 #: includes/help-page.php:332
    1366 #: includes/help-page.php:338
    1367 #: includes/help-page.php:348
    1368 msgid "Back to contents ↑"
    1369 msgstr ""
    1370 
    1371 #: includes/help-page.php:27
    1372 msgid "Control when recording starts, protect private elements and handle withdrawal."
    1373 msgstr ""
    1374 
    1375 #: includes/help-page.php:28
    1376 msgid "Understand the defaults"
    1377 msgstr ""
    1378 
    1379 #: includes/help-page.php:29
    1380 msgid "The small consent loader runs first. The capture engine loads only after permission, sampling and server authorisation pass. Form values are always masked. Ordinary page text stays readable on new installations. Enable Mask all page text to hide it too. Existing saved masking choices stay unchanged on upgrade; explicitly private and masked regions remain protected."
    1381 msgstr ""
    1382 
    1383 #: includes/help-page.php:30
    1384 msgid "Do Not Track and Global Privacy Control stop recording. Signed-in users and administration, login, account, order-pay and order-confirmation paths are excluded. Browser navigation into an excluded path also stops active capture."
    1385 msgstr ""
    1386 
    1387 #: includes/help-page.php:31
    1388 msgid "Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority."
    1389 msgstr ""
    1390 
    1391 #: includes/help-page.php:31
    1392 msgid "Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched."
    1393 msgstr ""
    1394 
    1395 #: includes/help-page.php:31
    1396 msgid "URL queries and fragments are removed. Recorded links and arbitrary asset URLs are stripped."
    1397 msgstr ""
    1398 
    1399 #: includes/help-page.php:31
    1400 msgid "Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme."
    1401 msgstr ""
    1402 
    1403 #: includes/help-page.php:33
    1404 msgid "Organise approved public images"
    1405 msgstr ""
    1406 
    1407 #: includes/help-page.php:34
    1408 msgid "Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent."
    1409 msgstr ""
    1410 
    1411 #: includes/help-page.php:35
    1412 msgid "A recording saves only used copies, bounded to 64 images and 2 MiB within its existing payload allowance. Images are prepared locally without metadata; only supported same-origin local URLs are matched. Private and masked regions always take priority. No arbitrary image URL is fetched."
    1413 msgstr ""
    1414 
    1415 #: includes/help-page.php:36
    1416 msgid "Removing approval or switching image copies off removes affected retained copies. Downloaded exports and backups need separate handling. Updated approvals require current consent. External fonts, CSS backgrounds, SVG, video and embedded content stay excluded."
    1417 msgstr ""
    1418 
    1419 #: includes/help-page.php:38
    1420 msgid "Publish your notice and keep consent evidence"
    1421 msgstr ""
    1422 
    1423 #: includes/help-page.php:39
    1424 msgid "In WordPress Settings → Privacy, select a published page with your operator identity, privacy contact, replay purpose, legal basis, recipients, retention, transfers and visitor rights. Adapt the ClickClue suggested text there. The built-in prompt links to this page and blocks capture if it is missing. Allow replay and No thanks have equal visual prominence."
    1425 msgstr ""
    1426 
    1427 #: includes/help-page.php:40
    1428 msgid "From 0.6.2, affirmative choices include a decision time and notice revision. An older positive choice or a changed notice/retention/masking/edition requires a fresh choice; a valid refusal stays refused. Update both ZIPs and clear page/CDN caches so the current loader and revision reach visitors."
    1429 msgstr ""
    1430 
    1431 #: includes/help-page.php:41
    1432 msgid "New recordings store the server receipt time, matching revision and retention deadline, deleted with the recording. Increasing retention later does not extend that deadline. A notice change also stops uploads with earlier authorisation. Existing sessions keep blank receipt fields; no historical consent is invented. Keep dated copies of each notice and any CMP ledger under your justified retention policy. A browser flag or technical receipt alone does not prove that consent was informed and valid."
    1433 msgstr ""
    1434 
    1435 #: includes/help-page.php:43
    1436 msgid "Finish your website-specific privacy setup"
    1437 msgstr ""
    1438 
    1439 #: includes/help-page.php:44
    1440 msgid "This is a configuration guide, not a compliance certificate. Establish your controller/processor roles, applicable national cookie rules, access controls, processor agreements and international-transfer arrangements. Assess whether a DPIA and a DPO are required for your actual processing before collecting real visits."
    1441 msgstr ""
    1442 
    1443 #: includes/help-page.php:45
    1444 msgid "Document how you receive and answer access, erasure, objection and other rights requests, normally within one month. The current-visit withdrawal token is not an identity search across every visit. Do not collect new identity data just to make anonymous visits identifiable."
    1445 msgstr ""
    1446 
    1447 #: includes/help-page.php:46
    1448 msgid "Review cleanup, backups, exports and enabled email/AI/agency services separately. Maintain an incident response process, including authority notification within 72 hours when required and notification to affected people when the applicable threshold is met. Keep your local legal review and decisions with the installation record."
    1449 msgstr ""
    1450 
    1451 #: includes/help-page.php:48
    1452 msgid "Exclude sensitive regions"
    1453 msgstr ""
    1454 
    1455 #: includes/help-page.php:49
    1456 msgid "Add data-tw-block to a private element or enter its CSS selector in Settings → Recording & privacy. Existing data-private and .rr-block regions are also excluded."
    1457 msgstr ""
    1458 
    1459 #: includes/help-page.php:50
    1460 msgid "Structural classes and IDs may remain for layout. Exclude elements whose attributes contain personal information. Inspect dynamic content, account widgets and order details in a synthetic recording before real use."
    1461 msgstr ""
    1462 
    1463 #: includes/help-page.php:53
    1464 msgid "Connect your consent manager (optional)"
    1465 msgstr ""
    1466 
    1467 #: includes/help-page.php:54
    1468 msgid "Keep the built-in prompt until your consent manager is wired and tested. Turning the prompt off does not remove the consent requirement. Call grant only after the visitor agrees, and withdraw whenever that choice changes."
    1469 msgstr ""
    1470 
    1471 #: includes/help-page.php:55
    1472 msgid "Do not call grant on page load for every visitor."
    1473 msgstr ""
    1474 
    1475 #: includes/help-page.php:55
    1476 msgid "Test accept, decline, later withdrawal, cleared storage and the next page visit. A current notice revision is required by the start endpoint."
    1477 msgstr ""
    1478 
    1479 #: includes/help-page.php:55
    1480 msgid "Archive your CMP notice and consent records. Change the clickclue_consent_notice_revision filter value whenever your CMP replay purpose or notice changes, then clear caches."
    1481 msgstr ""
    1482 
    1483 #: includes/help-page.php:55
    1484 msgid "Use window.ClickClue.grantConsent() and window.ClickClue.withdrawConsent() for new integrations. Existing integrations remain compatible."
    1485 msgstr ""
    1486 
    1487 #: includes/help-page.php:62
    1488 msgid "Stop capture and confirm deletion"
    1489 msgstr ""
    1490 
    1491 #: includes/help-page.php:63
    1492 msgid "Replay privacy lets the visitor stop and delete the current authorised recording. Capture stops immediately. A separate confirmation reports whether saved data was deleted."
    1493 msgstr ""
    1494 
    1495 #: includes/help-page.php:64
    1496 msgid "A failed deletion keeps a tab-local retry token when session storage is available. Use Retry deletion; reloading that tab or reconnecting also retries. New capture stays off while deletion is unresolved. A former capture token can request deletion for up to 30 days after expiry, but cannot upload. Older recordings follow retention and administrator deletion."
    1497 msgstr ""
    1498 
    1499 #: includes/help-page.php:65
    1500 msgid "Understand retention and backups"
    1501 msgstr ""
    1502 
    1503 #: includes/help-page.php:68
    1504 msgid "Use filters, bookmarks, notes and playback controls to keep investigations focused."
    1505 msgstr ""
    1506 
    1507 #: includes/help-page.php:69
    1508 msgid "Find the right recording"
    1509 msgstr ""
    1510 
    1511 #: includes/help-page.php:70
    1512 msgid "You can save up to 20 filter combinations per account on each site. In Pro, category filters narrow the list to matching checkout signals."
    1513 msgstr ""
    1514 
    1515 #: includes/help-page.php:71
    1516 msgid "Open the recording list and filter by path or device. Add a UTC date range when you need a specific period."
    1517 msgstr ""
    1518 
    1519 #: includes/help-page.php:71
    1520 msgid "Choose watched/unwatched or bookmarked recordings. These states belong to your WordPress account."
    1521 msgstr ""
    1522 
    1523 #: includes/help-page.php:71
    1524 msgid "Name a useful combination and choose Save these filters. Select it later from Saved filters, or use Clear filters to reset."
    1525 msgstr ""
    1526 
    1527 #: includes/help-page.php:73
    1528 msgid "Work through the replay"
    1529 msgstr ""
    1530 
    1531 #: includes/help-page.php:74
    1532 msgid "Use play/pause, seeking and playback speed to inspect a moment."
    1533 msgstr ""
    1534 
    1535 #: includes/help-page.php:74
    1536 msgid "Skip inactivity, move to the previous/next event or jump to the first error."
    1537 msgstr ""
    1538 
    1539 #: includes/help-page.php:74
    1540 msgid "Space toggles playback and arrow keys move five seconds when a form control is not focused."
    1541 msgstr ""
    1542 
    1543 #: includes/help-page.php:74
    1544 msgid "A successfully loaded replay is marked watched for accounts with review permission. A failed load leaves it unwatched."
    1545 msgstr ""
    1546 
    1547 #: includes/help-page.php:76
    1548 msgid "Keep useful context"
    1549 msgstr ""
    1550 
    1551 #: includes/help-page.php:77
    1552 msgid "Bookmark a recording and add a concise session note: what you observed, what you want to check and the change you plan to test. Notes are visible to authorised reviewers; they are not a private notebook."
    1553 msgstr ""
    1554 
    1555 #: includes/help-page.php:78
    1556 msgid "Each recording can hold up to 20 notes of up to 1,000 characters each. The note’s author or an administrator can delete it. Avoid customer names, payment information, passwords and pasted order details. An administrator can delete the recording in either edition. With the separate Pro add-on, administrators can also export permitted recording data; treat downloaded copies with the same care as the original."
    1557 msgstr ""
    1558 
    1559 #: includes/help-page.php:80
    1560 msgid "Understand recording completeness"
    1561 msgstr ""
    1562 
    1563 #: includes/help-page.php:81
    1564 msgid "The player shows whether delivery was confirmed through the latest checkpoint, is still unconfirmed, or was interrupted. Confirmation does not prove the visitor’s entire visit was captured."
    1565 msgstr ""
    1566 
    1567 #: includes/help-page.php:82
    1568 msgid "The recorder retries identical batches and recovers from temporary disconnection using a bounded memory-only queue. Navigation and browser back/forward restoration preserve their own stream checkpoints. Closing the browser can destroy unsent events; do not interpret a missing ending as visitor abandonment."
    1569 msgstr ""
    1570 
    1571 #: includes/help-page.php:83
    1572 msgid "Computed layout tracking prioritises visible changes and is bounded to2,048 elements and32 open shadow roots. A complex page can exceed that budget. Private boundaries still apply and unsupported content remains excluded."
    1573 msgstr ""
    1574 
    1575 #: includes/help-page.php:86
    1576 msgid "Existing checkout tools in this preview, while checkout diagnostics move toward the separate Frictions product."
    1577 msgstr ""
    1578 
    1579 #: includes/help-page.php:87
    1580 msgid "How this fits the product direction"
    1581 msgstr ""
    1582 
    1583 #: includes/help-page.php:88
    1584 msgid "ClickClue focuses on WordPress replay, heatmaps and visitor interactions. Checkout-specific diagnostics are planned for Frictions.com, a separate plugin. The tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. They are not part of the main ClickClue setup walkthrough, and this is not a release of Frictions."
    1585 msgstr ""
    1586 
    1587 #: includes/help-page.php:90
    1588 msgid "What the integration observes"
    1589 msgstr ""
    1590 
    1591 #: includes/help-page.php:91
    1592 msgid "Classic checkout uses known frontend events. Checkout Blocks uses cart events and visible error notices. Fixed categories include shipping, coupon, validation and general checkout errors; raw notices, payment details and order IDs are not included in those markers."
    1593 msgstr ""
    1594 
    1595 #: includes/help-page.php:92
    1596 msgid "Embedded payment frames are excluded. Test your actual theme, checkout extensions and payment gateway in staging."
    1597 msgstr ""
    1598 
    1599 #: includes/help-page.php:94
    1600 msgid "Read the ordered funnel"
    1601 msgstr ""
    1602 
    1603 #: includes/help-page.php:95
    1604 msgid "Legacy checkout → Checkout funnel shows recorded visits, add-to-cart, checkout view, checkout submit and confirmed paid. Each step counts recordings that reached the steps in order. The displayed conversion and drop-off figures refer to this consenting, sampled, retained set."
    1605 msgstr ""
    1606 
    1607 #: includes/help-page.php:96
    1608 msgid "A submit is an attempt. Only a linked WooCommerce server paid event can add payment confirmation. The association uses a short-lived capture cookie and a keyed order hash rather than storing a raw order ID in ClickClue. Missing linkage, navigation, sampling or retention can leave an order outside the funnel."
    1609 msgstr ""
    1610 
    1611 #: includes/help-page.php:97
    1612 msgid "These observations do not calculate recovered revenue or prove why a customer left."
    1613 msgstr ""
    1614 
    1615 #: includes/help-page.php:99
    1616 msgid "Turn an error into an investigation"
    1617 msgstr ""
    1618 
    1619 #: includes/help-page.php:100
    1620 msgid "Open Legacy checkout → Checkout issue inbox and select a category. Read the affected-recording counts and suggested checks."
    1621 msgstr ""
    1622 
    1623 #: includes/help-page.php:100
    1624 msgid "Choose Watch latest example to open a replay with two seconds of context, or View matching recordings to review the group."
    1625 msgstr ""
    1626 
    1627 #: includes/help-page.php:100
    1628 msgid "Download an investigation brief when you need a text summary of counts, example references, suggested checks and your category note. Review it before sharing."
    1629 msgstr ""
    1630 
    1631 #: includes/help-page.php:100
    1632 msgid "After making and testing a store change, select Mark a fix. A later matching signal changes Monitoring to Observed again."
    1633 msgstr ""
    1634 
    1635 #: includes/help-page.php:102
    1636 msgid "Measure investigation time"
    1637 msgstr ""
    1638 
    1639 #: includes/help-page.php:103
    1640 msgid "Open Legacy checkout → Legacy checkout investigation pilot in Pro to time matched staging tasks against your usual workflow. Record completed and incomplete tasks, confidence and interruptions. Results stay in the current browser for this WordPress account; export CSV before clearing storage. No study data is sent to ClickClue."
    1641 msgstr ""
    1642 
    1643 #: includes/help-page.php:105
    1644 msgid "Interpret before and after carefully"
    1645 msgstr ""
    1646 
    1647 #: includes/help-page.php:106
    1648 msgid "Comparisons use equal windows around a fix marker, up to seven days each and limited to retained recordings. Small samples show counts instead of percentages. A single visit may span both windows."
    1649 msgstr ""
    1650 
    1651 #: includes/help-page.php:107
    1652 msgid "The change history records WordPress update hooks, not every possible deployment. Timing alone does not establish that an update caused an error."
    1653 msgstr ""
    1654 
    1655 #: includes/help-page.php:110
    1656 msgid "Compare click positions, scroll reach and structural form observations within compatible layouts."
    1657 msgstr ""
    1658 
    1659 #: includes/help-page.php:111
    1660 msgid "Select the page layout first"
    1661 msgstr ""
    1662 
    1663 #: includes/help-page.php:112
    1664 msgid "A layout fingerprint is a structural grouping aid. It is not a screenshot, a security identifier or a guarantee that every dynamic layout is identical."
    1665 msgstr ""
    1666 
    1667 #: includes/help-page.php:113
    1668 msgid "Open Heatmaps & forms and choose your date/device scope."
    1669 msgstr ""
    1670 
    1671 #: includes/help-page.php:113
    1672 msgid "Choose a page path, layout fingerprint and viewport group. Refresh after recording a new synthetic visit."
    1673 msgstr ""
    1674 
    1675 #: includes/help-page.php:113
    1676 msgid "Read the recording counts alongside the result. Do not combine different layouts to claim a single page-wide result."
    1677 msgstr ""
    1678 
    1679 #: includes/help-page.php:115
    1680 msgid "Read click and scroll observations"
    1681 msgstr ""
    1682 
    1683 #: includes/help-page.php:116
    1684 msgid "The heatmap shows coarsened positions from the top to the bottom of the page. Larger cells represent more clicks. A table gives the displayed cells’ counts and distinct recording counts."
    1685 msgstr ""
    1686 
    1687 #: includes/help-page.php:117
    1688 msgid "Scroll reach counts observed depth thresholds. It does not establish that someone read or understood the content. Private regions are excluded. The grid remains available for older recordings without measured layout dimensions. The overlay is a reconstruction, not a screenshot; blocked media, fonts and dynamic layout differences can affect its appearance."
    1689 msgstr ""
    1690 
    1691 #: includes/help-page.php:118
    1692 msgid "Choose Open recorded page overlay to reconstruct a matching masked page."
    1693 msgstr ""
    1694 
    1695 #: includes/help-page.php:118
    1696 msgid "Switch between Click density and Scroll reach."
    1697 msgstr ""
    1698 
    1699 #: includes/help-page.php:118
    1700 msgid "Use the page-position slider to inspect the relevant part of the page."
    1701 msgstr ""
    1702 
    1703 #: includes/help-page.php:120
    1704 msgid "Inspect fields without their values"
    1705 msgstr ""
    1706 
    1707 #: includes/help-page.php:121
    1708 msgid "Fields use structural positions such as Form 1 · field 2, rather than entered values or labels. The table reports focus, validation signals and submit attempts."
    1709 msgstr ""
    1710 
    1711 #: includes/help-page.php:122
    1712 msgid "No submit observed counts focused fields in recordings inactive for at least five minutes without a same-form submit. Missing signals, navigation and custom form behaviour can affect it; this is not a confirmed abandonment count."
    1713 msgstr ""
    1714 
    1715 #: includes/help-page.php:123
    1716 msgid "When form structure changes, select the corresponding new layout. Test AJAX forms and custom validation in your own theme before relying on the observations."
    1717 msgstr ""
    1718 
    1719 #: includes/help-page.php:125
    1720 msgid "Name structural elements and compare periods"
    1721 msgstr ""
    1722 
    1723 #: includes/help-page.php:126
    1724 msgid "Whole-range element and form reports let reviewers name an important button or structural field in administration. These aliases are owner-provided context, not text collected from a visitor."
    1725 msgstr ""
    1726 
    1727 #: includes/help-page.php:127
    1728 msgid "Compare chosen UTC periods and device categories, keeping layout identifiers separate. Open supporting recordings before making an interpretation. Input values remain excluded and focus duration is not typing duration."
    1729 msgstr ""
    1730 
    1731 #: includes/help-page.php:130
    1732 msgid "Follow an interaction, save a funnel and compare two periods with clear sample counts."
    1733 msgstr ""
    1734 
    1735 #: includes/help-page.php:131
    1736 msgid "Review a clue in context"
    1737 msgstr ""
    1738 
    1739 #: includes/help-page.php:132
    1740 msgid "A clue is a lead, not proof of a broken button. Legitimate interactions can meet these conditions. The review status applies to this observation, not an entire website."
    1741 msgstr ""
    1742 
    1743 #: includes/help-page.php:133
    1744 msgid "Open Clues and choose an observation. Watch opens shortly before its recorded moment."
    1745 msgstr ""
    1746 
    1747 #: includes/help-page.php:133
    1748 msgid "Inspect what happened before and after. Three clicks within one second can create a repeated-click clue; an eligible button with no observed response for about 1.5 seconds can create a possible unresponsive-click clue."
    1749 msgstr ""
    1750 
    1751 #: includes/help-page.php:133
    1752 msgid "Mark the observation New, Reviewing, Resolved or Ignored. Note the evidence and the next thing you will check."
    1753 msgstr ""
    1754 
    1755 #: includes/help-page.php:135
    1756 msgid "Follow an ordered path"
    1757 msgstr ""
    1758 
    1759 #: includes/help-page.php:136
    1760 msgid "Journeys shows page paths within a retained recording. Save up to twenty funnels, each with two to eight ordered steps matching page paths, clues or form observations. A path prefix includes its child paths."
    1761 msgstr ""
    1762 
    1763 #: includes/help-page.php:137
    1764 msgid "Use a recorded layout ID when structural field positions matter. Journeys do not identify a person across separate visits or devices."
    1765 msgstr ""
    1766 
    1767 #: includes/help-page.php:139
    1768 msgid "Compare two periods fairly"
    1769 msgstr ""
    1770 
    1771 #: includes/help-page.php:140
    1772 msgid "The instant Compare screen analyzes batches of up to 200 retained recordings. Use Whole-range reports for all eligible recordings in the period. Consent, sampling, retention and bounded observations affect coverage. Changes in rates do not establish that a website edit caused the difference. Older recordings do not receive invented new observations."
    1773 msgstr ""
    1774 
    1775 #: includes/help-page.php:141
    1776 msgid "Choose two separate UTC date ranges."
    1777 msgstr ""
    1778 
    1779 #: includes/help-page.php:141
    1780 msgid "Use matching page, device and layout filters where appropriate."
    1781 msgstr ""
    1782 
    1783 #: includes/help-page.php:141
    1784 msgid "Read the sample counts and denominators before interpreting rates."
    1785 msgstr ""
    1786 
    1787 #: includes/help-page.php:141
    1788 msgid "Inspect representative replays from both periods before drawing a conclusion."
    1789 msgstr ""
    1790 
    1791 #: includes/help-page.php:143
    1792 msgid "Build a whole-period report"
    1793 msgstr ""
    1794 
    1795 #: includes/help-page.php:144
    1796 msgid "Use Whole-range reports for all eligible retained recordings in the chosen UTC period. Progress and the observation cutoff remain visible while bounded jobs process the indexes. WP-Cron continues work; manual advancement also works on low-traffic sites. Refresh to include later arrivals."
    1797 msgstr ""
    1798 
    1799 #: includes/help-page.php:145
    1800 msgid "Counts exclude deleted and expired recordings. A report cannot reconstruct observations that were never captured. Legacy instant Discovery views still show their sample limits; heatmap aggregation follows its separate existing path."
    1801 msgstr ""
    1802 
    1803 #: includes/help-page.php:146
    1804 msgid "Temporary jobs expire after one hour and are limited to two per reviewer and eight per site. Each job can hold up to100,000 recording memberships and500,000 derived facts; reaching a bound is labelled partial. Narrow the period to complete a larger investigation. Each recording retains up to300 indexed observations."
    1805 msgstr ""
    1806 
    1807 #: includes/help-page.php:148
    1808 msgid "Follow up a recurring clue"
    1809 msgstr ""
    1810 
    1811 #: includes/help-page.php:149
    1812 msgid "Whole-range reports groups repeated observations by kind, page, layout, device and structural target. Review affected visits, frequency, trend and replay moments. Set an owner and review state, and record an edit date when relevant."
    1813 msgstr ""
    1814 
    1815 #: includes/help-page.php:150
    1816 msgid "Before/after comparisons describe observations. They cannot establish that your edit caused a change. Layout changes, sampling, consent and different traffic can all affect the result."
    1817 msgstr ""
    1818 
    1819 #: includes/help-page.php:152
    1820 msgid "Configure meaningful goals"
    1821 msgstr ""
    1822 
    1823 #: includes/help-page.php:153
    1824 msgid "Use Goals to create fixed named success observations and select supported form adapters. Manual integration must call the goal only from your actual successful-completion callback. Never pass form values, email addresses, customer IDs or other identifying content."
    1825 msgstr ""
    1826 
    1827 #: includes/help-page.php:154
    1828 msgid "An integration-reported completion is separate from a submit attempt and does not prove delivery, payment or a business result. Configuring enabled goals changes the consent scope. Use timed funnel steps and the product, enquiry and sign-up templates to inspect the journey before completion."
    1829 msgstr ""
    1830 
    1831 #: includes/help-page.php:157
    1832 msgid "Publish a rating or fixed-choice question and review responses alongside their recordings."
    1833 msgstr ""
    1834 
    1835 #: includes/help-page.php:158
    1836 msgid "Create a short optional campaign"
    1837 msgstr ""
    1838 
    1839 #: includes/help-page.php:159
    1840 msgid "Visitor feedback supports multiple campaigns. Choose up to three rating or fixed-choice questions, an optional conditional follow-up, public paths, a UTC schedule and browser-session frequency controls. Preview the flow and publish your site-specific privacy notice before enabling it."
    1841 msgstr ""
    1842 
    1843 #: includes/help-page.php:160
    1844 msgid "A campaign requires current replay consent and an eligible sampled recording. Signed-in, private, account and checkout pages stay excluded. No free-text responses are collected. Never ask for identifying or sensitive information."
    1845 msgstr ""
    1846 
    1847 #: includes/help-page.php:162
    1848 msgid "Review feedback with its context"
    1849 msgstr ""
    1850 
    1851 #: includes/help-page.php:163
    1852 msgid "Filter results by date, page and device. Responses remain linked to the exact saved question revision and current recording. Legacy single-question results remain available. Pausing stops new responses; deletion, withdrawal and retention remove linked responses."
    1853 msgstr ""
    1854 
    1855 #: includes/help-page.php:164
    1856 msgid "A browser-session quiet-period marker is stored only after consent, cleared on withdrawal and does not identify people across visits. Responses are voluntary and cannot represent every visitor."
    1857 msgstr ""
    1858 
    1859 #: includes/help-page.php:167
    1860 msgid "Give colleagues the access they need and share one replay with an existing account."
    1861 msgstr ""
    1862 
    1863 #: includes/help-page.php:168
    1864 #: includes/help-page.php:170
    1865 msgid "Assign roles in WordPress"
    1866 msgstr ""
    1867 
    1868 #: includes/help-page.php:169
    1869 msgid "Sign in as a WordPress administrator and open Users → All Users."
    1870 msgstr ""
    1871 
    1872 #: includes/help-page.php:169
    1873 msgid "Edit the existing account that needs access. Under Role, choose ClickClue analyst or ClickClue reviewer."
    1874 msgstr ""
    1875 
    1876 #: includes/help-page.php:169
    1877 msgid "Select Update User. Ask the person to sign in with their own account and confirm the expected ClickClue access."
    1878 msgstr ""
    1879 
    1880 #: includes/help-page.php:170
    1881 msgid "Role"
    1882 msgstr ""
    1883 
    1884 #: includes/help-page.php:170
    1885 msgid "Can review"
    1886 msgstr ""
    1887 
    1888 #: includes/help-page.php:170
    1889 msgid "Can change"
    1890 msgstr ""
    1891 
    1892 #: includes/help-page.php:170
    1893 msgid "Administrator"
    1894 msgstr ""
    1895 
    1896 #: includes/help-page.php:170
    1897 msgid "Recordings, analytics, notes and audit"
    1898 msgstr ""
    1899 
    1900 #: includes/help-page.php:170
    1901 msgid "Settings, exports, deletion, services and invitations"
    1902 msgstr ""
    1903 
    1904 #: includes/help-page.php:170
    1905 msgid "ClickClue analyst"
    1906 msgstr ""
    1907 
    1908 #: includes/help-page.php:170
    1909 msgid "Recordings, analytics and shared notes"
    1910 msgstr ""
    1911 
    1912 #: includes/help-page.php:170
    1913 msgid "Review state, bookmarks, notes and saved filters"
    1914 msgstr ""
    1915 
    1916 #: includes/help-page.php:170
    1917 msgid "ClickClue reviewer"
    1918 msgstr ""
    1919 
    1920 #: includes/help-page.php:170
    1921 msgid "Read only"
    1922 msgstr ""
    1923 
    1924 #: includes/help-page.php:170
    1925 msgid "Invited existing account"
    1926 msgstr ""
    1927 
    1928 #: includes/help-page.php:170
    1929 msgid "Only the specifically invited recording"
    1930 msgstr ""
    1931 
    1932 #: includes/help-page.php:170
    1933 msgid "No access to the full recording list"
    1934 msgstr ""
    1935 
    1936 #: includes/help-page.php:172
    1937 msgid "Invite someone to one recording"
    1938 msgstr ""
    1939 
    1940 #: includes/help-page.php:173
    1941 msgid "An invitation is not a public replay link. It expires, binds to one account and recording, and stops working when the recording is deleted."
    1942 msgstr ""
    1943 
    1944 #: includes/help-page.php:174
    1945 msgid "As an administrator, open a recording and expand Invite someone to this replay."
    1946 msgstr ""
    1947 
    1948 #: includes/help-page.php:174
    1949 msgid "Choose an existing WordPress account and an expiry of 1–168 hours. Create the invitation."
    1950 msgstr ""
    1951 
    1952 #: includes/help-page.php:174
    1953 msgid "Copy the link and share it with that person through your own approved channel. Creating the link does not send an email."
    1954 msgstr ""
    1955 
    1956 #: includes/help-page.php:174
    1957 msgid "The recipient must sign in as the chosen account. Revoke access from Workspace → Active replay invitations when it is no longer needed."
    1958 msgstr ""
    1959 
    1960 #: includes/help-page.php:176
    1961 msgid "Review access and changes"
    1962 msgstr ""
    1963 
    1964 #: includes/help-page.php:177
    1965 msgid "Workspace displays the latest 30 entries from a bounded log of up to 100 administrative actions. It includes the actor ID, action, target reference and time, not replay contents. This is a recent activity aid, not a tamper-proof compliance archive."
    1966 msgstr ""
    1967 
    1968 #: includes/help-page.php:179
    1969 msgid "Work in shared investigations"
    1970 msgstr ""
    1971 
    1972 #: includes/help-page.php:180
    1973 msgid "Create private or team collections, add retained recordings, assign an eligible WordPress account and choose a review status. Add a discussion at a replay timestamp to keep evidence and context together. Assignment does not grant access or send a message."
    1974 msgstr ""
    1975 
    1976 #: includes/help-page.php:181
    1977 msgid "Private collections belong to their owner and administrators. Team sharing still requires a ClickClue-capable WordPress role. Deleted or expired recordings lose their linked collection membership and discussion. Avoid putting sensitive visitor details in notes."
    1978 msgstr ""
    1979 
    1980 #: includes/help-page.php:184
    1981 msgid "Bring authorised site health summaries together while recordings stay on each site."
    1982 msgstr ""
    1983 
    1984 #: includes/help-page.php:185
    1985 msgid "Connect a remote site"
    1986 msgstr ""
    1987 
    1988 #: includes/help-page.php:186
    1989 msgid "Connections use HTTPS and do not follow redirects with credentials. Use the final canonical site address. Application passwords are encrypted on the central server using its WordPress salts."
    1990 msgstr ""
    1991 
    1992 #: includes/help-page.php:187
    1993 msgid "Install and activate compatible ClickClue Free and Pro packages on the remote HTTPS site."
    1994 msgstr ""
    1995 
    1996 #: includes/help-page.php:187
    1997 msgid "Create a dedicated ClickClue reviewer account there. Generate a WordPress application password in that user’s profile."
    1998 msgstr ""
    1999 
    2000 #: includes/help-page.php:187
    2001 msgid "On your central site, open Workspace → Your sites → Connect another WordPress site."
    2002 msgstr ""
    2003 
    2004 #: includes/help-page.php:187
    2005 msgid "Enter the remote site address, reviewer username and application password. Select Connect site."
    2006 msgstr ""
    2007 
    2008 #: includes/help-page.php:189
    2009 msgid "Understand the overview"
    2010 msgstr ""
    2011 
    2012 #: includes/help-page.php:190
    2013 msgid "The overview includes the local site and up to 25 remote connections. It reports capture state, retained recording counts, issue counts and other summary information. Remote summaries may be cached for five minutes."
    2014 msgstr ""
    2015 
    2016 #: includes/help-page.php:191
    2017 msgid "Open WordPress takes you to that site’s workspace. Each site keeps its own recordings, access controls, sampling and storage settings. The overview does not pool storage or increase a single site’s capacity."
    2018 msgstr ""
    2019 
    2020 #: includes/help-page.php:192
    2021 msgid "Download client report exports a CSV of site summaries with their observation time."
    2022 msgstr ""
    2023 
    2024 #: includes/help-page.php:192
    2025 msgid "It does not export recording payloads, customer identities or a branded PDF."
    2026 msgstr ""
    2027 
    2028 #: includes/help-page.php:192
    2029 msgid "Review the report’s site names and contents before sending it to a client."
    2030 msgstr ""
    2031 
    2032 #: includes/help-page.php:194
    2033 msgid "End a connection"
    2034 msgstr ""
    2035 
    2036 #: includes/help-page.php:195
    2037 msgid "Disconnect removes the saved connection from the central workspace. Revoke its application password at the remote WordPress account when access should end completely. A changed site address, password, certificate or security rule may require reconnecting."
    2038 msgstr ""
    2039 
    2040 #: includes/help-page.php:197
    2041 msgid "Save and export an investigation report"
    2042 msgstr ""
    2043 
    2044 #: includes/help-page.php:198
    2045 msgid "Investigations saves filter recipes combining clues, journeys and feedback. Report totals and exports share their retained population and coverage. Reopening a report reloads live eligible evidence instead of preserving hidden copies of removed recordings."
    2046 msgstr ""
    2047 
    2048 #: includes/help-page.php:199
    2049 msgid "CSV and JSON exports require the appropriate administrative access. Keep exported files private; the plugin cannot recall files already downloaded. Connected-site summaries remain aggregate health overviews rather than a central store of remote recordings."
    2050 msgstr ""
    2051 
    2052 #: includes/help-page.php:202
    2053 msgid "Configure checkout digests and event summaries in the current Pro preview."
    2054 msgstr ""
    2055 
    2056 #: includes/help-page.php:203
    2057 msgid "Configure the legacy checkout digest"
    2058 msgstr ""
    2059 
    2060 #: includes/help-page.php:204
    2061 msgid "This preview’s digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled."
    2062 msgstr ""
    2063 
    2064 #: includes/help-page.php:205
    2065 msgid "Configure and test your WordPress mail transport."
    2066 msgstr ""
    2067 
    2068 #: includes/help-page.php:205
    2069 msgid "Open Legacy checkout → Legacy checkout notifications & AI and enable the daily email digest. Enter an authorised recipient and a minimum affected-recording threshold."
    2070 msgstr ""
    2071 
    2072 #: includes/help-page.php:205
    2073 msgid "Save workspace settings. Saving does not itself send an email. The scheduled digest runs through WordPress cron."
    2074 msgstr ""
    2075 
    2076 #: includes/help-page.php:205
    2077 msgid "Check the mail status and verify actual inbox delivery. Transport acceptance alone does not prove delivery."
    2078 msgstr ""
    2079 
    2080 #: includes/help-page.php:207
    2081 msgid "Summarise legacy checkout evidence"
    2082 msgstr ""
    2083 
    2084 #: includes/help-page.php:208
    2085 msgid "This preview summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool."
    2086 msgstr ""
    2087 
    2088 #: includes/help-page.php:209
    2089 msgid "The request sends fixed event categories, counts and relative timing. It excludes DOM content, page paths, notes, raw order IDs and customer details. Usage is charged to the connected API account; the plugin caps requests at 20 per UTC day."
    2090 msgstr ""
    2091 
    2092 #: includes/help-page.php:210
    20932186msgid "Outputs must cite existing evidence references, but a cited interpretation can still be wrong. ClickClue does not automatically change a store or establish a diagnosis."
    20942187msgstr ""
    20952188
    2096 #: includes/help-page.php:211
     2189#: includes/help-page.php:218
    20972190msgid "Requests use store:false. That setting is not a promise of zero provider retention; check your account’s data controls."
    20982191msgstr ""
    20992192
    2100 #: includes/help-page.php:212
     2193#: includes/help-page.php:219
    21012194msgid "In Legacy checkout → Legacy checkout notifications & AI, enter your OpenAI API key and a Responses-compatible model. Enable manual AI summaries and save."
    21022195msgstr ""
    21032196
    2104 #: includes/help-page.php:212
     2197#: includes/help-page.php:219
    21052198msgid "Open a recording with legacy checkout signals. Expand Legacy checkout AI summary and read the processing description. Choose Summarise checkout with OpenAI only when you want to send that evidence."
    21062199msgstr ""
    21072200
    2108 #: includes/help-page.php:212
     2201#: includes/help-page.php:219
    21092202msgid "Review the interpretation and use its evidence buttons to inspect the corresponding signals."
    21102203msgstr ""
    21112204
    2112 #: includes/help-page.php:214
     2205#: includes/help-page.php:221
    21132206msgid "Remove credentials"
    21142207msgstr ""
    21152208
    2116 #: includes/help-page.php:215
     2209#: includes/help-page.php:222
    21172210msgid "Remove OpenAI key disables further processing. Disable email to stop future digests. Keys and application passwords are encrypted with authenticated encryption and WordPress salts; changing those salts can require reconnecting."
    21182211msgstr ""
    21192212
    2120 #: includes/help-page.php:218
     2213#: includes/help-page.php:225
    21212214msgid "Plan for your host, understand sampling and keep recording data for only as long as needed."
    21222215msgstr ""
    21232216
    2124 #: includes/help-page.php:219
    2125 #: includes/help-page.php:222
     2217#: includes/help-page.php:226
     2218#: includes/help-page.php:229
    21262219msgid "Local recording in either edition"
    21272220msgstr ""
    21282221
    2129 #: includes/help-page.php:220
     2222#: includes/help-page.php:227
    21302223msgid "Choose the edition by its analysis and collaboration tools. More traffic does not require Pro. Sampling, retention, storage and your host determine how many recordings you can keep."
    21312224msgstr ""
    21322225
    2133 #: includes/help-page.php:221
     2226#: includes/help-page.php:228
    21342227msgid "A recording lasts at most 30 minutes and holds at most 8 MiB of payloads. Capture pauses when the chosen storage budget is reached. These controls provide no hosting space and do not guarantee server capacity."
    21352228msgstr ""
    21362229
    2137 #: includes/help-page.php:222
     2230#: includes/help-page.php:229
    21382231msgid "Control"
    21392232msgstr ""
    21402233
    2141 #: includes/help-page.php:222
     2234#: includes/help-page.php:229
    21422235#: assets/pro-previews.js:67
    21432236msgid "Free"
    21442237msgstr ""
    21452238
    2146 #: includes/help-page.php:222
     2239#: includes/help-page.php:229
    21472240msgid "Monthly recording quota"
    21482241msgstr ""
    21492242
    2150 #: includes/help-page.php:222
     2243#: includes/help-page.php:229
    21512244msgid "None"
    21522245msgstr ""
    21532246
    2154 #: includes/help-page.php:222
     2247#: includes/help-page.php:229
    21552248msgid "Retention setting"
    21562249msgstr ""
    21572250
    2158 #: includes/help-page.php:222
     2251#: includes/help-page.php:229
    21592252msgid "1–365 days"
    21602253msgstr ""
    21612254
    2162 #: includes/help-page.php:222
     2255#: includes/help-page.php:229
    21632256msgid "Replay payload budget"
    21642257msgstr ""
    21652258
    2166 #: includes/help-page.php:222
     2259#: includes/help-page.php:229
    21672260msgid "1–10,240 MiB"
    21682261msgstr ""
    21692262
    2170 #: includes/help-page.php:222
     2263#: includes/help-page.php:229
    21712264msgid "New-install defaults"
    21722265msgstr ""
    21732266
    2174 #: includes/help-page.php:222
     2267#: includes/help-page.php:229
    21752268msgid "7 days / 250 MiB"
    21762269msgstr ""
    21772270
    2178 #: includes/help-page.php:224
     2271#: includes/help-page.php:231
    21792272msgid "Choose a budget from measured recordings"
    21802273msgstr ""
    21812274
    2182 #: includes/help-page.php:225
     2275#: includes/help-page.php:232
    21832276msgid "Settings → Storage & retention shows recent recording sizes and estimates how many additional recordings may fit in the remaining payload budget. It uses up to 200 recent recordings with no upload in the last minute; a small sample is provisional and visits can resume and grow."
    21842277msgstr ""
    21852278
    2186 #: includes/help-page.php:226
     2279#: includes/help-page.php:233
    21872280msgid "Both editions start with seven-day retention and 250 MiB. An administrator can choose 1–365 days and 1–10,240 MiB after checking hosting space and justified retention. Updating preserves saved settings; it does not allocate server storage."
    21882281msgstr ""
    21892282
    2190 #: includes/help-page.php:227
     2283#: includes/help-page.php:234
    21912284msgid "Lowering the payload budget does not delete recordings. Capture stays paused until space is available. Budgets exclude database indexes, backups and hosting logs. MiB means 1,048,576 bytes."
    21922285msgstr ""
    21932286
    2194 #: includes/help-page.php:229
     2287#: includes/help-page.php:236
    21952288msgid "Preserved version 0.5.1 reference"
    21962289msgstr ""
    21972290
    2198 #: includes/help-page.php:230
     2291#: includes/help-page.php:237
    21992292msgid "Version 0.5.1 allowed Free 200 starts / 7 days / 50 MB and Pro 5,000 starts / 30 days / 500 MB. These figures describe that historical release only. Follow the current installation and consent guides for setup; notice and consent requirements changed in version 0.6.2."
    22002293msgstr ""
    22012294
    2202 #: includes/help-page.php:231
     2295#: includes/help-page.php:238
    22032296msgid "Current installation steps"
    22042297msgstr ""
    22052298
    2206 #: includes/help-page.php:231
     2299#: includes/help-page.php:238
    22072300msgid "Current consent setup"
    22082301msgstr ""
    22092302
    2210 #: includes/help-page.php:233
     2303#: includes/help-page.php:240
    22112304msgid "Choose a useful sample"
    22122305msgstr ""
    22132306
    2214 #: includes/help-page.php:234
     2307#: includes/help-page.php:241
    22152308msgid "Estimate eligible, consenting visits and apply the sampling percentage. Sampled recordings are not the same as total traffic. A very low sample can miss less common interaction problems."
    22162309msgstr ""
    22172310
    2218 #: includes/help-page.php:235
     2311#: includes/help-page.php:242
    22192312msgid "After a synthetic test at 100%, select a sampling rate your host and storage budget can sustain. Review measured recording capacity in Settings → Storage & retention; estimates are not a traffic forecast."
    22202313msgstr ""
    22212314
    2222 #: includes/help-page.php:237
     2315#: includes/help-page.php:244
    22232316msgid "Retention and deletion"
    22242317msgstr ""
    22252318
    2226 #: includes/help-page.php:238
     2319#: includes/help-page.php:245
    22272320msgid "Scheduled cleanup uses WordPress cron, with bounded cleanup during dashboard access and session creation. Configure a reliable cron trigger on low-traffic sites. Failed cleanup appears in health checks."
    22282321msgstr ""
    22292322
    2230 #: includes/help-page.php:239
     2323#: includes/help-page.php:246
    22312324msgid "Deleting a recording removes its chunks, issue index, analytics metrics, session review state, notes, invitations and payment association together. Failed database transactions are reported for retry. Bulk deletion stops if progress cannot be confirmed."
    22322325msgstr ""
    22332326
    2234 #: includes/help-page.php:240
     2327#: includes/help-page.php:247
    22352328msgid "The last 100 administrative audit entries, saved filter preferences and connection settings have a separate configuration lifecycle. Deactivation keeps stored data. The optional Delete data when uninstalling setting removes plugin tables and configuration."
    22362329msgstr ""
    22372330
    2238 #: includes/help-page.php:241
     2331#: includes/help-page.php:248
    22392332msgid "Downloaded exports, backups and hosting logs are outside recording deletion. Plan their retention separately and take care not to restore previously deleted recordings from a backup."
    22402333msgstr ""
    22412334
    2242 #: includes/help-page.php:244
     2335#: includes/help-page.php:251
    22432336msgid "Update ClickClue Free and Pro while keeping your recordings and configuration."
    22442337msgstr ""
    22452338
    2246 #: includes/help-page.php:245
     2339#: includes/help-page.php:252
    22472340msgid "ClickClue Free and ClickClue Pro"
    22482341msgstr ""
    22492342
    2250 #: includes/help-page.php:246
     2343#: includes/help-page.php:253
    22512344msgid "The current installer ZIPs use the clickclue and clickclue-pro folders. Both editions keep existing recordings, settings, licence state, consent choices and integration identifiers."
    22522345msgstr ""
    22532346
    2254 #: includes/help-page.php:247
     2347#: includes/help-page.php:254
    22552348msgid "If you previously installed a package under another folder name, deactivate the existing Pro and Free copies before uploading these ZIPs. Activate the new Free copy first, then Pro. Leave old copies inactive and do not delete or uninstall them to change names."
    22562349msgstr ""
    22572350
    2258 #: includes/help-page.php:249
     2351#: includes/help-page.php:256
     2352msgid "Update inside WordPress"
     2353msgstr ""
     2354
     2355#: includes/help-page.php:259
     2356msgid "Pro checks update eligibility through the ClickClue licensing service. Download eligibility and package integrity are checked again before installation. A network or verification failure stops that update; it does not remove earned local Pro tools. Manual eligible-account ZIP replacement remains available."
     2357msgstr ""
     2358
     2359#: includes/help-page.php:260
     2360#: includes/help-page.php:286
     2361msgid "A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation."
     2362msgstr ""
     2363
     2364#: includes/help-page.php:262
    22592365msgid "Replace the installed packages"
    22602366msgstr ""
    22612367
    2262 #: includes/help-page.php:250
     2368#: includes/help-page.php:263
    22632369msgid "Back up your WordPress database and plugin files. Test on a staging copy first."
    22642370msgstr ""
    22652371
    2266 #: includes/help-page.php:250
    2267 msgid "Obtain the current matched ClickClue Free and Pro installer ZIPs through your release or account delivery. The outer download bundle is not an installable plugin."
    2268 msgstr ""
    2269 
    2270 #: includes/help-page.php:250
     2372#: includes/help-page.php:263
     2373msgid "Download the current ClickClue Free ZIP and, if entitled, the matching Pro ZIP from your account. Use each installable plugin ZIP separately; the WordPress.org SVN repository kit is not an installable plugin."
     2374msgstr ""
     2375
     2376#: includes/help-page.php:263
    22712377msgid "For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro."
    22722378msgstr ""
    22732379
    2274 #: includes/help-page.php:250
     2380#: includes/help-page.php:263
    22752381msgid "When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition."
    22762382msgstr ""
    22772383
    2278 #: includes/help-page.php:250
     2384#: includes/help-page.php:263
    22792385msgid "Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review."
    22802386msgstr ""
    22812387
    2282 #: includes/help-page.php:252
     2388#: includes/help-page.php:265
    22832389msgid "Updating to 0.9.0"
    22842390msgstr ""
    22852391
    2286 #: includes/help-page.php:253
     2392#: includes/help-page.php:266
    22872393msgid "Back up your site, update Free first and then matching Pro without uninstalling, and clear page/CDN caches. Keep the existing installation directory. Free0.9.0 works on its own; Pro0.9.0 requires Free0.9.0 or newer."
    22882394msgstr ""
    22892395
    2290 #: includes/help-page.php:254
     2396#: includes/help-page.php:267
    22912397msgid "Existing settings, recordings, image approvals, legacy answers and saved funnels are migrated. New tables hold transport checkpoints, report membership and team/campaign records. Valid consent remains when scope is unchanged; enabled goals, campaigns and image approval changes require current positive consent. Previous refusals remain respected."
    22922398msgstr ""
    22932399
    2294 #: includes/help-page.php:255
     2400#: includes/help-page.php:268
    22952401msgid "Use a signed-out test visit on your own theme and integrations to check masking, approved images, completion goals and withdrawal before relying on new reports."
    22962402msgstr ""
    22972403
    2298 #: includes/help-page.php:257
     2404#: includes/help-page.php:270
    22992405msgid "Updating to 0.8.1"
    23002406msgstr ""
    23012407
    2302 #: includes/help-page.php:258
     2408#: includes/help-page.php:271
    23032409msgid "Back up your database and plugin files. Replace Free first, then matching Pro 0.8.1 if installed. Use the package for each existing plugin directory and do not uninstall to update. Clear page and asset caches, then check a signed-out sample visit."
    23042410msgstr ""
    23052411
    2306 #: includes/help-page.php:259
     2412#: includes/help-page.php:272
    23072413msgid "Updating from 0.8.0 to 0.8.1 preserves valid existing replay choices, recordings and saved settings. Upgrading from a release before 0.8.0 still requires fresh positive replay consent; refusals remain respected."
    23082414msgstr ""
    23092415
    2310 #: includes/help-page.php:260
     2416#: includes/help-page.php:273
    23112417msgid "This release includes local tutorial help and clearer approved-image privacy guidance. Recording stays paused or enabled according to your saved settings. On multisite, uninstall cleanup follows each site’s own saved deletion preference."
    23122418msgstr ""
    23132419
    2314 #: includes/help-page.php:262
     2420#: includes/help-page.php:275
    23152421msgid "Compatibility introduced in 0.8.0"
    23162422msgstr ""
    23172423
    2318 #: includes/help-page.php:263
     2424#: includes/help-page.php:276
    23192425msgid "Version 0.8.0 introduced the approved-image option and a new replay notice. An upgrade from a release before 0.8.0 requires fresh positive replay consent, while existing refusals remain respected. Use the current matched installers and keep the existing plugin folders, recordings and settings; do not uninstall to update."
    23202426msgstr ""
    23212427
    2322 #: includes/help-page.php:264
     2428#: includes/help-page.php:277
    23232429msgid "Both editions have no monthly recording quota. Free keeps replay, saved filters, bookmarks, notes and every privacy control. Pro adds analysis, visitor feedback and collaboration in the separate add-on."
    23242430msgstr ""
    23252431
    2326 #: includes/help-page.php:265
     2432#: includes/help-page.php:278
    23272433msgid "Approved image capture starts off. Existing recordings do not gain images or new observations retrospectively. New optional feedback remains off until deliberately published. Existing survey settings are preserved; updating does not enroll a visitor or enable an external service."
    23282434msgstr ""
    23292435
    2330 #: includes/help-page.php:266
     2436#: includes/help-page.php:279
    23312437msgid "Use fit-width or fit-window, zoom, the event timeline and fullscreen where supported. Review your actual pages with masked text and private regions before increasing recording."
    23322438msgstr ""
    23332439
    2334 #: includes/help-page.php:267
     2440#: includes/help-page.php:280
    23352441msgid "Configure approved images"
    23362442msgstr ""
    23372443
    2338 #: includes/help-page.php:269
     2444#: includes/help-page.php:282
    23392445msgid "Compatibility introduced in 0.6.10"
    23402446msgstr ""
    23412447
    2342 #: includes/help-page.php:270
    2343 msgid "Version 0.6.10 clarified the review workspace and prepared verified Pro update delivery. Use the current matching packages above. Later versions remove its edition-based monthly allowances and share retention/storage controls across Free and Pro."
    2344 msgstr ""
    2345 
    2346 #: includes/help-page.php:271
     2448#: includes/help-page.php:283
     2449msgid "Version 0.6.10 clarified the review workspace. Its historical update-delivery preparation is superseded by the current WordPress updater described above. Later versions remove edition-based monthly allowances and share retention and storage controls across Free and Pro."
     2450msgstr ""
     2451
     2452#: includes/help-page.php:284
    23472453msgid "The dashboard opens on Recordings, with Pro page analysis under Heatmaps & forms. Checkout tools and their saved data are preserved under Legacy checkout; configured legacy email and AI services are not automatically disabled."
    23482454msgstr ""
    23492455
    2350 #: includes/help-page.php:272
     2456#: includes/help-page.php:285
    23512457msgid "Both editions start new installations at seven-day retention and 250 MiB. Upgrading preserves your chosen settings and storage budget. Review Settings → Storage & retention before increasing sampling, retention or storage."
    23522458msgstr ""
    23532459
    2354 #: includes/help-page.php:273
    2355 msgid "The Pro updater supports verified ClickClue package delivery. Commercial activation and automatic delivery still need a connected service. If a rotated key or copied site prevents reconnecting, the administrator can confirm Forget local licence; it clears this installation’s saved licence details without releasing any remote seat. Installed Pro preview features remain usable."
    2356 msgstr ""
    2357 
    2358 #: includes/help-page.php:275
     2460#: includes/help-page.php:288
    23592461msgid "Compatibility introduced in 0.6.9"
    23602462msgstr ""
    23612463
    2362 #: includes/help-page.php:276
     2464#: includes/help-page.php:289
    23632465msgid "Version 0.6.9 brings the 0.6.8 privacy and reliability fixes together with recovery when you return using the browser Back button while a recording start is still pending. Use the current matched installer ZIPs, replacing Free first, then Pro if installed. Do not uninstall or rename their folders."
    23642466msgstr ""
    23652467
    2366 #: includes/help-page.php:277
     2468#: includes/help-page.php:290
    23672469msgid "Clear page/CDN caches and check a signed-out sample visit. Your recordings, settings, storage budgets, bookmarks and notes remain in place. Version 0.6.8 privacy choices stay valid; older positive choices may need a fresh consent decision."
    23682470msgstr ""
    23692471
    2370 #: includes/help-page.php:278
     2472#: includes/help-page.php:291
    23712473msgid "On multisite, newly saved filters are separate for each site. Old filters did not record which site they belonged to, so they remain available on the main site; recreate any filters you need on secondary sites."
    23722474msgstr ""
    23732475
    2374 #: includes/help-page.php:280
     2476#: includes/help-page.php:293
    23752477msgid "Compatibility introduced in 0.6.3"
    23762478msgstr ""
    23772479
    2378 #: includes/help-page.php:281
     2480#: includes/help-page.php:294
    23792481msgid "Version 0.6.3 improved setup and consent recovery. Install the current matching packages above, replacing Free first, then Pro, and clear page/CDN caches. Existing data, folder names, consent API aliases and storage budgets remain compatible."
    23802482msgstr ""
    23812483
    2382 #: includes/help-page.php:282
     2484#: includes/help-page.php:295
    23832485msgid "Recording health now flags a missing published privacy policy. The test panel refreshes after a failed start followed by refusal, and identifies origin-verification failures. Test real capture on hosted staging: a browser-based WordPress sandbox can omit the Origin header. Keep origin protection enabled."
    23842486msgstr ""
    23852487
    2386 #: includes/help-page.php:284
     2488#: includes/help-page.php:297
    23872489msgid "Compatibility introduced in 0.6.2"
    23882490msgstr ""
    23892491
    2390 #: includes/help-page.php:285
     2492#: includes/help-page.php:298
    23912493msgid "The 0.6.2 release introduced the notice and consent changes below. Install the current matching Free and Pro packages, replacing Free first, then Pro. Existing recordings, roles, notes and storage budgets remain compatible. Do not uninstall or rename folders."
    23922494msgstr ""
    23932495
    2394 #: includes/help-page.php:286
     2496#: includes/help-page.php:299
    23952497msgid "Publish and select your store-specific privacy policy in WordPress Settings → Privacy. The built-in prompt now needs its published link. Clear page and CDN caches after updating: older loader revisions cannot start or upload recordings under the new notice."
    23962498msgstr ""
    23972499
    2398 #: includes/help-page.php:287
     2500#: includes/help-page.php:300
    23992501msgid "Older positive browser choices require fresh permission; a valid refusal remains refused. New recordings have a notice revision, server receipt and fixed retention deadline. Existing records have no invented historical consent. See the consent guide for CMP revision handling and evidence."
    24002502msgstr ""
    24012503
    2402 #: includes/help-page.php:288
     2504#: includes/help-page.php:301
    24032505msgid "Configure the notice and consent evidence"
    24042506msgstr ""
    24052507
    2406 #: includes/help-page.php:290
     2508#: includes/help-page.php:303
    24072509msgid "Compatibility introduced in 0.6.1"
    24082510msgstr ""
    24092511
    2410 #: includes/help-page.php:291
     2512#: includes/help-page.php:304
    24112513msgid "Version 0.6.1 used the same Free-first, then Pro replacement flow. Use the current matching packages above. The optional tutorial is available at the top of the dashboard after updating; it does not change capture settings, consent or connected services."
    24122514msgstr ""
    24132515
    2414 #: includes/help-page.php:292
     2516#: includes/help-page.php:305
    24152517msgid "Existing 0.5.1 and 0.6.0 installations retain their recording identifiers, stored data, consent API aliases and chosen payload budget. Clear page caches after replacing the ZIPs. Tutorial checklist progress is local to the browser, account and edition; resetting it never deletes recordings."
    24162518msgstr ""
    24172519
    2418 #: includes/help-page.php:294
     2520#: includes/help-page.php:307
    24192521msgid "Compatibility introduced in 0.6.0"
    24202522msgstr ""
    24212523
    2422 #: includes/help-page.php:295
     2524#: includes/help-page.php:308
    24232525msgid "Version 0.6.0 kept the same WordPress ZIP replacement flow: Free first, then Pro. Folders, database identifiers, existing replays, review notes and consent API aliases remain compatible. Follow the current replacement steps in this guide."
    24242526msgstr ""
    24252527
    2426 #: includes/help-page.php:296
    2427 msgid "Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay. The preview still has no connected payment or commercial delivery service."
    2428 msgstr ""
    2429 
    2430 #: includes/help-page.php:298
     2528#: includes/help-page.php:309
     2529msgid "Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay."
     2530msgstr ""
     2531
     2532#: includes/help-page.php:311
    24312533msgid "Recover from an unsuccessful update"
    24322534msgstr ""
    24332535
    2434 #: includes/help-page.php:299
     2536#: includes/help-page.php:312
    24352537msgid "Pause capture if the updated site behaves unexpectedly. Keep a copy of the error and your previous package/database backup. Restore the matching plugin files from your known-good backup, then verify the database and settings on staging before resuming."
    24362538msgstr ""
    24372539
    2438 #: includes/help-page.php:300
    2439 msgid "The preview supports manual ZIP updates. Follow the steps above while commercial automatic updates are unavailable."
    2440 msgstr ""
    2441 
    2442 #: includes/help-page.php:303
     2540#: includes/help-page.php:313
     2541msgid "If WordPress cannot complete the update, obtain the matching eligible Pro ZIP from your account and use manual replacement. Do not uninstall to update. Check ClickClue → Pro licence if activation or update eligibility needs attention."
     2542msgstr ""
     2543
     2544#: includes/help-page.php:316
    24432545msgid "Work through the common reasons a replay, page observation or connection is missing."
    24442546msgstr ""
    24452547
    2446 #: includes/help-page.php:304
     2548#: includes/help-page.php:317
    24472549msgid "No recording appears"
    24482550msgstr ""
    24492551
    2450 #: includes/help-page.php:305
     2552#: includes/help-page.php:318
    24512553msgid "Confirm recording is enabled and your sample rate is suitable. Clear page caches after changes."
    24522554msgstr ""
    24532555
    2454 #: includes/help-page.php:305
     2556#: includes/help-page.php:318
    24552557msgid "Use a signed-out private window on an included page. Administrators and other signed-in users are excluded."
    24562558msgstr ""
    24572559
    2458 #: includes/help-page.php:305
     2560#: includes/help-page.php:318
    24592561msgid "Grant consent. Check whether Do Not Track or Global Privacy Control is active; these choices are respected."
    24602562msgstr ""
    24612563
    2462 #: includes/help-page.php:305
     2564#: includes/help-page.php:318
    24632565msgid "Open the test link from Settings → Test & diagnostics and read its local status. Look for storage-budget, asset-loading or authorisation errors."
    24642566msgstr ""
    24652567
    2466 #: includes/help-page.php:305
     2568#: includes/help-page.php:318
    24672569msgid "Confirm the test panel reports an upload. Back in WordPress, clear date/path/device filters and refresh the list."
    24682570msgstr ""
    24692571
    2470 #: includes/help-page.php:307
     2572#: includes/help-page.php:320
    24712573msgid "The replay looks different"
    24722574msgstr ""
    24732575
    2474 #: includes/help-page.php:308
     2576#: includes/help-page.php:321
    24752577msgid "Review the page-text masking choice and keep private-region exclusions in place. Use fit-width or fit-window, then adjust zoom. Approved public images can restore product context; everything outside the approved selection remains excluded."
    24762578msgstr ""
    24772579
    2478 #: includes/help-page.php:309
     2580#: includes/help-page.php:322
    24792581msgid "Replay does not fetch missing external fonts, background images, video or embedded frames. Dynamic builders, animations and browser-specific styles can still differ. Reproduce the specific page state with synthetic content and include your theme, browser, viewport and reproduction steps in a support brief."
    24802582msgstr ""
    24812583
    2482 #: includes/help-page.php:311
     2584#: includes/help-page.php:324
    24832585msgid "A checkout or payment signal is missing"
    24842586msgstr ""
    24852587
    2486 #: includes/help-page.php:312
     2588#: includes/help-page.php:325
    24872589msgid "Confirm WooCommerce and both ClickClue packages are active. Test the relevant classic or Blocks checkout with synthetic data and a gateway in test mode."
    24882590msgstr ""
    24892591
    2490 #: includes/help-page.php:313
     2592#: includes/help-page.php:326
    24912593msgid "A form submit does not confirm payment. Server-confirmed markers need a consenting, linked recording and a paid event. Redirects, browser privacy choices, missing linkage or third-party extensions can affect coverage."
    24922594msgstr ""
    24932595
    2494 #: includes/help-page.php:315
     2596#: includes/help-page.php:328
    24952597msgid "Legacy checkout email, AI or a remote site fails"
    24962598msgstr ""
    24972599
    2498 #: includes/help-page.php:316
     2600#: includes/help-page.php:329
    24992601msgid "Email: verify WP-Cron and WordPress mail delivery, the recipient and the threshold. Check the reported transport status."
    25002602msgstr ""
    25012603
    2502 #: includes/help-page.php:316
     2604#: includes/help-page.php:329
    25032605msgid "AI: confirm opt-in, a valid key, model access and available API budget. Check whether the daily request cap was reached."
    25042606msgstr ""
    25052607
    2506 #: includes/help-page.php:316
     2608#: includes/help-page.php:329
    25072609msgid "Agency: use the final HTTPS address, a dedicated reviewer and a valid application password. Check security rules and certificate validity."
    25082610msgstr ""
    25092611
    2510 #: includes/help-page.php:316
     2612#: includes/help-page.php:329
    25112613msgid "Deletion: use Retry deletion and check database health. Do not treat stopped capture as a confirmed deletion."
    25122614msgstr ""
    25132615
    2514 #: includes/help-page.php:318
     2616#: includes/help-page.php:331
    25152617msgid "Prepare a useful report"
    25162618msgstr ""
    25172619
    2518 #: includes/help-page.php:319
     2620#: includes/help-page.php:332
    25192621msgid "Write down the expected behaviour, actual result, versions, page, theme, relevant extensions, reproduction steps and the exact non-sensitive error. A recording ID can be useful inside an authorised support exchange."
    25202622msgstr ""
    25212623
    2522 #: includes/help-page.php:320
     2624#: includes/help-page.php:333
    25232625msgid "Do not send API keys, passwords, full recordings, payment information or real customer details. Use synthetic data and review any exported brief before sharing."
    25242626msgstr ""
    25252627
    2526 #: includes/help-page.php:323
    2527 #: includes/help-page.php:333
     2628#: includes/help-page.php:336
     2629#: includes/help-page.php:346
     2630#: includes/help-page.php:352
     2631msgid "Turn recorded evidence into a scoped investigation without changing capture or consent."
     2632msgstr ""
     2633
     2634#: includes/help-page.php:337
     2635#: includes/help-page.php:347
     2636#: includes/help-page.php:353
     2637msgid "Use the evidence carefully"
     2638msgstr ""
     2639
     2640#: includes/help-page.php:338
     2641msgid "After reviewing individual recordings, Pro can group repeated observations so you can inspect their supporting evidence together. In Whole-range reports, select a date range and Grouped clues, then run the local analysis. Read the population and any partial-coverage warning before choosing a replay."
     2642msgstr ""
     2643
    25282644#: includes/help-page.php:339
    2529 msgid "Turn recorded evidence into a scoped investigation without changing capture or consent."
    2530 msgstr ""
    2531 
    2532 #: includes/help-page.php:324
    2533 #: includes/help-page.php:334
     2645msgid "Older recordings cannot be upgraded into missing observations. Review your Pro observation settings, current notice and consent, clear cached pages and record a new consenting test visit when coverage is missing. A clue is an observation for human review; it is not a diagnosis."
     2646msgstr ""
     2647
    25342648#: includes/help-page.php:340
    2535 msgid "Use the evidence carefully"
    2536 msgstr ""
    2537 
    2538 #: includes/help-page.php:325
    2539 msgid "After reviewing individual recordings, Pro can group repeated observations so you can inspect their supporting evidence together. In Whole-range reports, select a date range and Grouped clues, then run the local analysis. Read the population and any partial-coverage warning before choosing a replay."
    2540 msgstr ""
    2541 
    2542 #: includes/help-page.php:326
    2543 msgid "Older recordings cannot be upgraded into missing observations. Review your Pro observation settings, current notice and consent, clear cached pages and record a new consenting test visit when coverage is missing. A clue is an observation for human review; it is not a diagnosis."
    2544 msgstr ""
    2545 
    2546 #: includes/help-page.php:327
    25472649msgid "Use Save page investigation to open a report draft with its actual page, viewport, layout and report period. Nothing is saved until you choose Save report. Run it against retained data; saved filters do not preserve expired evidence."
    25482650msgstr ""
    25492651
    2550 #: includes/help-page.php:329
     2652#: includes/help-page.php:342
    25512653msgid "Keep using Free"
    25522654msgstr ""
    25532655
    2554 #: includes/help-page.php:330
     2656#: includes/help-page.php:343
    25552657msgid "Free includes recording, playback, bookmarks, notes and saved recording filters. Neither edition has an edition-based recording-start quota. Sampling, retention, bounded payloads and your hosting capacity still govern capture."
    25562658msgstr ""
    25572659
    2558 #: includes/help-page.php:335
     2660#: includes/help-page.php:348
    25592661msgid "From a saved investigation choose Compare this page, then select separate before and after UTC ranges and the relevant layout groups. Read the sample counts and missing coverage alongside each percentage. A layout or traffic change can alter the population."
    25602662msgstr ""
    25612663
    2562 #: includes/help-page.php:336
     2664#: includes/help-page.php:349
    25632665msgid "Comparisons are descriptive. They do not establish causation, recovered revenue, conversion lift or that a fix worked for every visitor. Collect suitable new consenting visits if a period has insufficient observations; do not treat missing data as zero friction."
    25642666msgstr ""
    25652667
    2566 #: includes/help-page.php:341
     2668#: includes/help-page.php:354
    25672669msgid "Collection evidence, discussions and live reports remain subject to deletion and retention. Authorised users can see shared notes; keep personal and payment information out. Private investigations start visible only to their owner and administrators."
    25682670msgstr ""
    25692671
    2570 #: includes/help-page.php:342
     2672#: includes/help-page.php:355
    25712673msgid "In a replay, open Add to an investigation. Choose an existing collection or create a named private investigation with that replay."
    25722674msgstr ""
    25732675
    2574 #: includes/help-page.php:342
     2676#: includes/help-page.php:355
    25752677msgid "Choose Open investigation and assign to set a next check, eligible WordPress account and work status. Deliberately choose team sharing if required. No link grants new access."
    25762678msgstr ""
    25772679
    2578 #: includes/help-page.php:342
     2680#: includes/help-page.php:355
    25792681msgid "Use saved Investigation reports for a repeatable question; Review grouped clues connects the saved scope to group assignments and edit dates. Compare this page opens a descriptive comparison."
    25802682msgstr ""
    25812683
    2582 #: includes/help-page.php:342
     2684#: includes/help-page.php:355
    25832685msgid "Administrators may opt into weekly or monthly Scheduled reports for an eligible WordPress account. The email contains only a private WordPress link, never replay, note or clue details. The live report checks access and current retention when opened. Saving does not send an email; disable the schedule to stop future emails."
    25842686msgstr ""
    25852687
    2586 #: includes/help-page.php:344
     2688#: includes/help-page.php:357
    25872689msgid "Local guidance and optional commercial services"
    25882690msgstr ""
    25892691
    2590 #: includes/help-page.php:345
     2692#: includes/help-page.php:358
    25912693msgid "Optional Pro suggestions appear after relevant review actions. Dismiss a suggestion to keep it hidden in this browser for your site and WordPress account. Local guidance preferences can restore them. Intent, bounded local usage counts and dismissals are not sent to ClickClue, contain no note text or visitor identifiers and do not change recording settings. When browser storage is blocked, choices last only for the current visit."
    25922694msgstr ""
    25932695
    2594 #: includes/help-page.php:346
    2595 msgid "The installed Pro add-on remains usable locally. A commercial licence provides entitled private delivery, updates and support when the commercial service is available. Reading this guide does not connect a licence, begin a subscription or enable email."
    2596 msgstr ""
    2597 
    2598 #: includes/help-page.php:349
     2696#: includes/help-page.php:359
     2697msgid "Pro requires the Free plugin and a successful first licence activation for this site. After activation, earned local tools keep working offline or after updates and support expire. Eligible private updates and support require current entitlement. Reading this guide does not activate a licence, begin a subscription or enable email."
     2698msgstr ""
     2699
     2700#: includes/help-page.php:362
     2701msgid "Review ClickClue on WordPress.org"
     2702msgstr ""
     2703
     2704#: includes/help-page.php:363
    25992705msgid "ClickClue · Local recording in WordPress. Return to your WordPress dashboard to change settings. Privacy controls do not establish legal compliance for your installation."
    26002706msgstr ""
    26012707
    2602 #: tracewell.php:17
     2708#: tracewell.php:18
    26032709msgid "Another ClickClue installation is active. Deactivate that copy before activating this one. Your recordings and settings stay saved."
    26042710msgstr ""
    26052711
    2606 #: tracewell.php:18
     2712#: tracewell.php:19
    26072713msgid "Only one ClickClue installation may be active. Deactivate the duplicate copy."
    26082714msgstr ""
    … …  
    26472753
    26482754#: assets/dashboard.js:50
    2649 #: assets/dashboard.js:166
     2755#: assets/dashboard.js:172
    26502756msgid "Recording paused"
    26512757msgstr ""
    … …  
    26832789msgstr ""
    26842790
    2685 #: assets/dashboard.js:65
     2791#: assets/dashboard.js:71
    26862792msgid "No recordings on this page. Use Previous."
    26872793msgstr ""
    26882794
    2689 #: assets/dashboard.js:65
     2795#: assets/dashboard.js:71
    26902796msgid "No recordings match these filters. Clear filters or widen the date range, then try again."
    26912797msgstr ""
    26922798
    2693 #: assets/dashboard.js:65
     2799#: assets/dashboard.js:71
    26942800msgid "Your first recording will appear here. Start the optional tutorial or set up a consenting, signed-out test visit."
    26952801msgstr ""
    26962802
    26972803#. translators: 1: first row, 2: last row, 3: total recordings. @preserve
    2698 #: assets/dashboard.js:67
     2804#: assets/dashboard.js:73
    26992805#, js-format
    27002806msgid "%1$s–%2$s of %3$s recording"
    … …  
    27032809msgstr[1] ""
    27042810
    2705 #: assets/dashboard.js:67
     2811#: assets/dashboard.js:73
    27062812msgid "0 recordings"
    27072813msgstr ""
    27082814
    2709 #: assets/dashboard.js:72
     2815#: assets/dashboard.js:78
    27102816msgid "Could not refresh recordings. Select Refresh recordings to retry."
    27112817msgstr ""
    27122818
    2713 #: assets/dashboard.js:74
     2819#: assets/dashboard.js:80
    27142820msgid "Recordings could not load. Use Refresh recordings to retry."
    27152821msgstr ""
    27162822
    2717 #: assets/dashboard.js:81
     2823#: assets/dashboard.js:87
    27182824msgid "Loading latest saved activity…"
    27192825msgstr ""
    27202826
    2721 #: assets/dashboard.js:82
     2827#: assets/dashboard.js:88
    27222828msgid "Loading replay…"
    27232829msgstr ""
    27242830
    27252831#. translators: 1: recording date and time in UTC, 2: device category. @preserve
    2726 #: assets/dashboard.js:86
     2832#: assets/dashboard.js:92
    27272833#, js-format
    27282834msgid "%1$s UTC · %2$s"
    27292835msgstr ""
    27302836
    2731 #: assets/dashboard.js:88
     2837#: assets/dashboard.js:94
    27322838#: assets/player-frame.js:1
    27332839#: assets/player.js:131
    … …  
    27352841msgstr ""
    27362842
    2737 #: assets/dashboard.js:88
     2843#: assets/dashboard.js:94
    27382844#: assets/player-frame.js:1
    27392845#: assets/player.js:131
    … …  
    27412847msgstr ""
    27422848
    2743 #: assets/dashboard.js:88
     2849#: assets/dashboard.js:94
    27442850#: assets/player-frame.js:1
    27452851#: assets/player.js:131
    … …  
    27472853msgstr ""
    27482854
    2749 #: assets/dashboard.js:88
     2855#: assets/dashboard.js:94
    27502856msgid "Checkout opened"
    27512857msgstr ""
    27522858
    2753 #: assets/dashboard.js:88
     2859#: assets/dashboard.js:94
    27542860msgid "Checkout error"
    27552861msgstr ""
    27562862
    2757 #: assets/dashboard.js:88
     2863#: assets/dashboard.js:94
    27582864msgid "Validation error"
    27592865msgstr ""
    27602866
    2761 #: assets/dashboard.js:88
     2867#: assets/dashboard.js:94
    27622868msgid "Shipping error"
    27632869msgstr ""
    27642870
    2765 #: assets/dashboard.js:88
     2871#: assets/dashboard.js:94
    27662872msgid "Coupon error"
    27672873msgstr ""
    27682874
    2769 #: assets/dashboard.js:88
     2875#: assets/dashboard.js:94
    27702876msgid "Order attempted"
    27712877msgstr ""
    27722878
    2773 #: assets/dashboard.js:88
     2879#: assets/dashboard.js:94
    27742880msgid "Added to cart"
    27752881msgstr ""
    27762882
    2777 #: assets/dashboard.js:88
     2883#: assets/dashboard.js:94
    27782884msgid "Removed from cart"
    27792885msgstr ""
    27802886
    2781 #: assets/dashboard.js:92
     2887#: assets/dashboard.js:98
    27822888msgid "Event"
    27832889msgstr ""
    27842890
    2785 #: assets/dashboard.js:95
     2891#: assets/dashboard.js:101
    27862892msgid "No marked events in this recording."
    27872893msgstr ""
    27882894
    27892895#. translators: %s: server or network error message. @preserve
    2790 #: assets/dashboard.js:98
     2896#: assets/dashboard.js:104
    27912897#, js-format
    27922898msgid "Could not load latest activity. %s"
    27932899msgstr ""
    27942900
    2795 #: assets/dashboard.js:107
     2901#: assets/dashboard.js:113
    27962902msgid "Preparing replay…"
    27972903msgstr ""
    27982904
    2799 #: assets/dashboard.js:107
     2905#: assets/dashboard.js:113
    28002906msgid "Replay ready"
    28012907msgstr ""
    28022908
    2803 #: assets/dashboard.js:125
     2909#: assets/dashboard.js:131
    28042910msgid "Loading your current settings…"
    28052911msgstr ""
    28062912
    28072913#. translators: %s: server or network error message. @preserve
    2808 #: assets/dashboard.js:132
     2914#: assets/dashboard.js:138
    28092915#, js-format
    28102916msgid "Settings could not load. Retry before making changes. %s"
    28112917msgstr ""
    28122918
    2813 #: assets/dashboard.js:146
     2919#: assets/dashboard.js:152
    28142920msgid "Refresh"
    28152921msgstr ""
    28162922
    28172923#. translators: %s: date and time in UTC. @preserve
    2818 #: assets/dashboard.js:161
     2924#: assets/dashboard.js:167
    28192925#, js-format
    28202926msgid "%s UTC"
    … …  
    28222928
    28232929#. translators: %1$s: sampling percentage. Keep %% as a literal percent sign. @preserve
    2824 #: assets/dashboard.js:166
     2930#: assets/dashboard.js:172
    28252931#, js-format
    28262932msgid "Recording enabled · %1$s%% sample"
    28272933msgstr ""
    28282934
    2829 #: assets/dashboard.js:167
     2935#: assets/dashboard.js:173
    28302936msgid "Page text and form values masked"
    28312937msgstr ""
    28322938
    2833 #: assets/dashboard.js:167
     2939#: assets/dashboard.js:173
    28342940msgid "Form values masked · review visible page text"
    28352941msgstr ""
    28362942
    2837 #: assets/dashboard.js:168
     2943#: assets/dashboard.js:174
    28382944msgid "Built-in consent prompt enabled · published privacy notice selected"
    28392945msgstr ""
    28402946
    2841 #: assets/dashboard.js:168
     2947#: assets/dashboard.js:174
    28422948msgid "Capture blocked · publish and select a privacy policy in WordPress Settings → Privacy, then clear page caches"
    28432949msgstr ""
    28442950
    2845 #: assets/dashboard.js:168
     2951#: assets/dashboard.js:174
    28462952msgid "External consent integration needs a test visit"
    28472953msgstr ""
    28482954
    28492955#. translators: 1: used storage, 2: storage budget in MiB, 3: recording starts. @preserve
    2850 #: assets/dashboard.js:169
     2956#: assets/dashboard.js:175
    28512957#, js-format
    28522958msgid "%1$s MiB of %2$s MiB · Recording starts this month: %3$s"
    … …  
    28542960
    28552961#. translators: %1$s: UTC time of the last cleanup, or its unavailable status. @preserve
    2856 #: assets/dashboard.js:170
     2962#: assets/dashboard.js:176
    28572963#, js-format
    28582964msgid "Cleanup scheduled · last run %1$s"
    28592965msgstr ""
    28602966
    2861 #: assets/dashboard.js:170
     2967#: assets/dashboard.js:176
    28622968msgid "not observed yet"
    28632969msgstr ""
    28642970
    2865 #: assets/dashboard.js:170
     2971#: assets/dashboard.js:176
    28662972msgid "Cleanup is not scheduled"
    28672973msgstr ""
    28682974
    28692975#. translators: %1$s: upload date and time in UTC. @preserve
    2870 #: assets/dashboard.js:171
     2976#: assets/dashboard.js:177
    28712977#, js-format
    28722978msgid "Last upload: %1$s UTC"
    28732979msgstr ""
    28742980
    2875 #: assets/dashboard.js:171
     2981#: assets/dashboard.js:177
    28762982msgid "No uploaded recording yet"
    28772983msgstr ""
    28782984
    2879 #: assets/dashboard.js:173
     2985#: assets/dashboard.js:179
    28802986msgid "Last cleanup failed. Recording data may remain beyond retention. Check database health and retry cleanup before continuing capture."
    28812987msgstr ""
    28822988
    2883 #: assets/dashboard.js:175
     2989#: assets/dashboard.js:181
    28842990msgid "Review · "
    28852991msgstr ""
    28862992
    28872993#. translators: %1$s: remaining storage in mebibytes. @preserve
    2888 #: assets/dashboard.js:179
     2994#: assets/dashboard.js:185
    28892995#, js-format
    28902996msgid "%1$s MiB of payload budget remaining."
    … …  
    28922998
    28932999#. translators: 1: sample count, 2: average size, 3: 95th percentile size in KiB. @preserve
    2894 #: assets/dashboard.js:181
     3000#: assets/dashboard.js:187
    28953001#, js-format
    28963002msgid "Recent recordings: %1$s · Average: %2$s KiB · 95th percentile: %3$s KiB."
    … …  
    28983004
    28993005#. translators: %1$s: estimated number of additional recordings. @preserve
    2900 #: assets/dashboard.js:182
     3006#: assets/dashboard.js:188
    29013007#, js-format
    29023008msgid "Estimated additional recordings: %1$s"
    29033009msgstr ""
    29043010
    2905 #: assets/dashboard.js:183
     3011#: assets/dashboard.js:189
    29063012msgid "Small sample: collect more test visits before changing your budget."
    29073013msgstr ""
    29083014
    2909 #: assets/dashboard.js:184
     3015#: assets/dashboard.js:190
    29103016msgid "Record test visits and wait at least one minute after the last upload to see a size estimate."
    29113017msgstr ""
    29123018
    2913 #: assets/dashboard.js:186
     3019#: assets/dashboard.js:192
    29143020msgid "Capacity estimates are unavailable. Refresh this page and check that ClickClue is up to date."
    29153021msgstr ""
    29163022
    2917 #: assets/dashboard.js:188
     3023#: assets/dashboard.js:194
    29183024msgid "Review latest recording"
    29193025msgstr ""
    29203026
    2921 #: assets/dashboard.js:189
     3027#: assets/dashboard.js:195
    29223028msgid "Could not load capacity. Use Check for my recording to retry."
    29233029msgstr ""
    29243030
    2925 #: assets/dashboard.js:198
     3031#: assets/dashboard.js:204
    29263032msgid "Test settings prepared, not saved. Review exclusions and consent, then save. Restore normal sampling after testing."
    29273033msgstr ""
    29283034
    2929 #: assets/dashboard.js:206
     3035#: assets/dashboard.js:212
    29303036msgid "Copied. Paste into a signed-out private window."
    29313037msgstr ""
    29323038
    2933 #: assets/dashboard.js:207
     3039#: assets/dashboard.js:213
    29343040msgid "Copy the selected link, then paste into a signed-out private window."
    29353041msgstr ""
    29363042
    2937 #: assets/dashboard.js:212
     3043#: assets/dashboard.js:226
    29383044msgid "The exclusion selector is invalid. Correct it before saving."
    29393045msgstr ""
    29403046
    2941 #: assets/dashboard.js:216
     3047#: assets/dashboard.js:230
    29423048msgid "Saving…"
    29433049msgstr ""
    29443050
    2945 #: assets/dashboard.js:217
     3051#: assets/dashboard.js:233
     3052msgid "The saved settings could not be confirmed. Reload this page to check them before retrying."
     3053msgstr ""
     3054
     3055#: assets/dashboard.js:237
    29463056msgid "Settings saved."
    29473057msgstr ""
    29483058
    29493059#. translators: Keep the literal confirmation token DELETE unchanged. @preserve
    2950 #: assets/dashboard.js:223
     3060#: assets/dashboard.js:244
    29513061msgid "Permanently delete ALL recordings? Type DELETE to confirm."
    29523062msgstr ""
    29533063
    2954 #: assets/dashboard.js:229
     3064#: assets/dashboard.js:250
    29553065msgid "Deletion progress could not be confirmed. Please retry."
    29563066msgstr ""
    29573067
    2958 #: assets/dashboard.js:231
     3068#: assets/dashboard.js:252
    29593069msgid "All recordings deleted. Monthly usage is unchanged."
    29603070msgstr ""
    29613071
    2962 #: assets/dashboard.js:232
     3072#: assets/dashboard.js:253
    29633073msgid "Deletion stopped because the remaining count is not decreasing. Pause recording, check database health, and retry."
    29643074msgstr ""
    29653075
    29663076#. translators: 1: number deleted, 2: number still remaining. @preserve
    2967 #: assets/dashboard.js:234
     3077#: assets/dashboard.js:255
    29683078#, js-format
    29693079msgid "Recordings deleted: %1$s. Remaining: %2$s…"
    … …  
    29713081
    29723082#. translators: %1$s: number of deleted recordings. @preserve
    2973 #: assets/dashboard.js:236
     3083#: assets/dashboard.js:257
    29743084#, js-format
    29753085msgid "Recordings deleted in this pass: %1$s. Run deletion again to continue."
    29763086msgstr ""
    29773087
    2978 #: assets/dashboard.js:262
     3088#: assets/dashboard.js:263
     3089#: assets/studio.js:82
     3090msgid "Wait for settings to finish loading or saving before refreshing."
     3091msgstr ""
     3092
     3093#: assets/dashboard.js:288
    29793094msgid "Open workspace view"
    29803095msgstr ""
    … …  
    29943109#: assets/diagnostics.js:1
    29953110#: assets/recorder.js:1
     3111msgid "No recording is made for this signed-in visit."
     3112msgstr ""
     3113
     3114#: assets/diagnostics.js:1
     3115#: assets/recorder.js:1
    29963116msgid "Capture stopped. Waiting for deletion confirmation from the server."
    29973117msgstr ""
    … …  
    30553175#: assets/recorder.js:1
    30563176msgid "Close check"
     3177msgstr ""
     3178
     3179#: assets/diagnostics.js:1
     3180#: assets/recorder.js:1
     3181msgid "This check does not enable recording."
    30573182msgstr ""
    30583183
    … …  
    38043929
    38053930#: assets/pro-previews.js:37
    3806 msgid "Pro requires ClickClue Free and a successful first licence activation for this site. Once unlocked, local tools keep working offline or after updates and support expire. Updates remain manual; eligible downloads and support are separate."
     3931msgid "Pro requires ClickClue Free and a successful first licence activation for this site. Once unlocked, local tools keep working offline or after updates and support expire. Eligible Pro updates appear in WordPress from version 1.1.5. Update Free first, then Pro. Updates and support depend on your subscription."
    38073932msgstr ""
    38083933
    … …  
    39014026#: assets/pro-previews.js:68
    39024027msgid "See example and steps"
     4028msgstr ""
     4029
     4030#: assets/pro-previews.js:70
     4031msgid "Suggested starting point: "
    39034032msgstr ""
    39044033
    … …  
    40364165
    40374166#: assets/recorder.js:1
    4038 msgid "No thanks"
    4039 msgstr ""
    4040 
    4041 #: assets/recorder.js:1
    40424167msgid "Close"
    40434168msgstr ""
    … …  
    44014526msgstr ""
    44024527
    4403 #: assets/studio.js:81
    4404 msgid "Wait for settings to finish saving before leaving this view."
    4405 msgstr ""
    4406 
    44074528#: assets/studio.js:83
    4408 #: assets/studio.js:84
     4529msgid "Discard your unsaved settings changes and load the latest saved settings?"
     4530msgstr ""
     4531
     4532#: assets/studio.js:86
     4533msgid "Wait for settings to finish loading or saving before leaving this view."
     4534msgstr ""
     4535
     4536#: assets/studio.js:88
     4537#: assets/studio.js:89
    44094538msgid "Hide review tools"
    44104539msgstr ""
    44114540
    4412 #: assets/studio.js:83
    4413 #: assets/studio.js:84
     4541#: assets/studio.js:88
     4542#: assets/studio.js:89
    44144543msgid "Show review tools"
    44154544msgstr ""
    … …  
    44284557
    44294558#: assets/tutorial.js:1
    4430 msgid "Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store’s policy in WordPress Settings → Privacy before using the built-in prompt. In Settings → Recording & privacy, review page exclusions, keep page text masked and confirm how visitors will give permission."
    4431 msgstr ""
    4432 
    4433 #: assets/tutorial.js:1
    4434 msgid "Choose Prepare test settings only when you are ready. It fills the form with recording enabled and 100% sampling; you must review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded."
     4559msgid "Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store’s policy in WordPress Settings → Privacy before using the built-in prompt. In Settings → Recording & privacy, review page exclusions and confirm how visitors will give permission. Ordinary page text stays readable by default; typed values and private regions remain masked. Enable Mask all page text if you need to hide other visible text."
     4560msgstr ""
     4561
     4562#: assets/tutorial.js:1
     4563msgid "In Settings → Test & diagnostics, choose Prepare test settings only when you are ready. It enables recording and sets 100% sampling in the form while preserving your text-masking choice; review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded."
    44354564msgstr ""
    44364565
  • clickclue/trunk/readme.txt

    r3775799 r3776421  
    1 === ClickClue ===
    2 Tags: session replay, analytics, privacy, usability
     1=== ClickClue – Session Replay ===
     2Contributors: pluginsshop
     3Tags: session replay, session recording, user behavior, analytics, privacy
    34Requires at least: 6.6
    45Tested up to: 7.1
    56Requires PHP: 8.1
    6 Stable tag: 1.1.4
     7Stable tag: 1.1.6
    78License: GPL-2.0-or-later
    89License URI: https://www.gnu.org/licenses/gpl-2.0.html
    910
    10 Consent-first session replay, stored on your WordPress server.
     11Record and replay visitor sessions in WordPress. Understand clicks and scrolling, with consent controls and recordings stored on your server.
    1112
    1213== Description ==
    13 See how visitors use your pages. ClickClue records consented website interactions so administrators can replay visits, filter recordings, bookmark useful examples and add review notes. No external analytics account is needed.
     14ClickClue is a session recording and replay plugin for WordPress. Watch consenting, signed-out visits to understand navigation, clicks and scrolling. Bookmark recordings and add review notes. Recordings stay in your WordPress database; no external analytics account is required.
    1415
    15 Free includes recording, replay, filters, saved filters, bookmarks, notes and all privacy controls. There is no monthly recording allowance, trial period or upgrade requirement for local recording. Your sampling, retention, storage budget and hosting capacity determine how much you keep.
     16= Included in Free =
     17* Session recording and replay with playback controls.
     18* Page, device, date, watched and bookmarked filters, plus saved filters.
     19* Bookmarks and review notes to keep useful examples together.
     20* Visitor consent, masking, page exclusions and private-region controls.
     21* Configurable sampling, retention and storage budget.
    1622
    17 The separate Pro add-on adds a website Clues inbox, page click/scroll heatmaps, structural form insights, custom journeys, before-and-after comparisons, optional visitor feedback, team roles, expiring account-bound invitations, connected-site summaries and administrator JSON exports. Pro features are delivered in the separate add-on, not in this Free package.
     23Free has no trial expiry or monthly quota. Consent, sampling, retention, storage and hosting limits apply.
     24
     25= Optional ClickClue Pro add-on =
     26Pro adds grouped clues, click/scroll heatmaps, structural form insights, journeys, before-and-after comparisons, optional feedback and team tools. These paid features are not included in Free. Free replay and privacy controls remain available without Pro.
     27
     28[Compare Free and Pro](https://clickclue.com/pricing). See the activation FAQ below.
    1829
    1930== Installation ==
    20 1. Install and activate ClickClue. Open ClickClue > Settings > Recording & privacy, or choose Start tutorial for the optional walkthrough.
    21 2. Publish your site-specific privacy policy and select it in WordPress Settings > Privacy. The built-in replay prompt cannot record without a published policy.
    22 3. Review excluded paths, privacy settings and sampling; then enable recording and save. Clear page/CDN caches.
     311. Activate ClickClue. Open ClickClue > Settings > Recording & privacy, or choose Start tutorial.
     322. Publish your site-specific policy and select it in WordPress Settings > Privacy. The built-in prompt needs a published policy.
     333. Review excluded paths, masking and sampling; then enable recording and save. Clear page/CDN caches.
    23344. For your first test, use 100% sampling in a signed-out window. Choose Allow replay and interact with an included page.
    24 5. Refresh Recordings after a few seconds and choose Watch. Review the actual masking before recording real visitors.
     355. Refresh Recordings and choose Watch. Check masking, then restore your intended sampling rate.
    2536
    26 New installations start paused with visitor permission required, 10% sampling, seven-day retention and a 250 MiB replay payload budget. Retention is adjustable from 1 to 365 days and the payload budget from 1 to 10,240 MiB in either edition. These controls do not provide hosting space. Database indexes and backups require additional space.
     37Defaults: paused, permission required, 10% sampling, seven-day retention and 250 MiB payload budget. Both editions allow 1–365 days and 1–10,240 MiB. Your host supplies storage; indexes and backups need extra space.
    2738
    28 Signed-in visitors and account, login, administration, order-pay and order confirmation pages are always excluded. Network activation is not supported; activate separately on each site.
     39Network activation is not supported. Activate separately on each WordPress site.
    2940
    3041= Updating an existing installation =
    31 Back up your database and plugin files. Install or update ClickClue Free 1.1.4 first, then ClickClue Pro 1.1.4 if used. These packages use the clickclue and clickclue-pro folders. When moving from an older folder name, deactivate the existing Pro and Free copies before uploading and activating Free, then Pro. Keep the old copies inactive; do not use Delete or uninstall to change folders. Existing recordings, settings, licence state and consent choices are retained. Never activate two copies of either edition. Clear page/CDN caches after updating.
     42Back up your database and plugin files. Update Free to 1.1.6 first, then Pro to 1.1.6 if used. Recordings, settings and licence state are retained. This update requires fresh positive visitor consent for the revised replay notice; existing valid refusals keep their original expiry. Clear page/CDN caches.
    3243
    33 When upgrading from a release before 0.8.0, the updated replay notice requires fresh positive consent; previous refusals remain respected. Updating from 0.8.0 or 0.8.1 preserves valid choices when the recording scope is unchanged. Changing image approvals or enabling or changing Pro goals or campaigns requires current positive consent; previous refusals remain respected. Site isolation, introduced in 0.6.11, scopes visitor permission and recording authorization to the individual site. An unfinished deletion request from an older version cannot be confirmed automatically. The visitor is told it is unconfirmed, recording stays off, and the site owner can review deletion requests using the existing privacy process. Existing recordings continue to follow retention and administrator deletion.
     44Folders are clickclue and clickclue-pro. To migrate from older names, deactivate existing copies, then upload and activate Free followed by Pro. Keep old copies inactive; do not Delete or uninstall them to change folders. Never activate duplicate copies.
     45
     46== Frequently Asked Questions ==
     47
     48= Is Free limited by a monthly recording quota? =
     49No. Consent, sampling, hosting, retention and storage limits apply. Each recording is limited to 30 minutes and 8 MiB. Capture pauses at the storage budget and resumes when space is available.
     50
     51= Where are recordings stored? Do I need a ClickClue account? =
     52Recordings stay in your WordPress database. Free sends none to ClickClue or external analytics, and needs no external account or licence. Your WordPress account controls access.
     53
     54= Does recording start immediately after installation? =
     55No. Review your policy and settings, enable recording and save. Eligible signed-out visitors must consent. Follow the installation steps to test your pages.
     56
     57= Are signed-in visitors or typed values recorded? =
     58Signed-in visitors and account, login, administration, order-pay and order confirmation pages are excluded. Typed values are masked before upload. Ordinary page text is readable by default; Mask all page text is optional. Explicitly private regions remain protected either way. Review your masking and exclusions before recording real visitors.
     59
     60= Why can a replay look different from my live page? =
     61Replay reconstructs the website; it is not desktop video. Images are excluded by default. Media, fonts, backgrounds or unavailable styles may differ. Test your theme and hosting. Unuploaded interactions cannot be replayed.
     62
     63= Does Pro need activation? =
     64Pro adds the tools listed above and needs matching Free plus a valid first licence activation. Previously activated local tools survive ordinary subscription expiry; updates and support require active entitlement. Explicitly deactivating or forgetting the licence locks Pro without deleting recordings or settings.
    3465
    3566== Privacy ==
    36 Capture starts only after visitor permission. Typed values are masked before upload. Ordinary page text stays readable on new installations. You can enable Mask all page text; typed values and explicitly private regions stay protected either way. Existing saved masking choices are preserved on upgrade. Images are excluded by default. Optional, administrator-approved public/static WordPress library images can be prepared locally and included in new recordings. Private regions still take priority. SVG, canvas, audio, video, embedded frames, hidden inputs and editable content remain excluded. Query strings and fragments are removed. Structural classes and IDs can remain for layout; use data-tw-block or exclusion selectors on regions with sensitive attributes.
     67Capture requires visitor permission. Saved masking choices survive upgrades. Images are excluded by default. SVG, canvas, audio, video, embedded frames, hidden inputs and editable content remain excluded. URL query values and fragments are removed, except a verified public WordPress post or page ID needed to distinguish plain permalinks. Structural classes and IDs can remain for layout; use data-tw-block or exclusion selectors around sensitive attributes.
    3768
    38 Recordings stay in your WordPress database. Free does not send recordings to ClickClue or an external analytics provider. No raw IP addresses are saved by ClickClue. A rotating keyed IP hash is kept temporarily for rate limiting. Existing web server or hosting logs are outside the plugin's control. No request bodies, console logs, customer IDs or order IDs are intentionally collected.
     69Free does not intentionally collect raw IP addresses, request bodies, console logs, customer IDs or order IDs. Mask or exclude sensitive details in page text or attributes. A rotating keyed IP hash is kept temporarily for rate limiting. Hosting/server logs are outside the plugin's control.
    3970
    40 The built-in prompt saves a site-scoped consent choice for 180 days. Do Not Track and Global Privacy Control prevent recording. Revoking consent stops capture, clears unsent data and requests deletion of the current valid session. A failed deletion remains visible as pending; it is not reported as complete. Older sessions remain subject to retention and administrator deletion.
     71The built-in prompt saves site-scoped consent for 180 days. Do Not Track and Global Privacy Control prevent recording. Withdrawal stops capture, clears unsent data and requests deletion of the current valid session. Failed deletion remains visibly pending. Older sessions follow retention and administrator deletion. Unfinished requests from older versions can remain unconfirmed with recording off; dismissing that notice does not confirm deletion. Owners should review such requests through their privacy process.
    4172
    42 If you use an external consent manager, disable the built-in prompt only after wiring window.ClickClue.grantConsent() and window.ClickClue.withdrawConsent(). Consent is still required. Privacy controls alone do not establish legal compliance for a particular installation.
     73Changing the privacy notice or recording scope can require fresh permission, including image approvals and Pro goals or campaigns. Existing valid refusals remain respected. For an external consent manager, disable the built-in prompt only after wiring window.ClickClue.grantConsent() and window.ClickClue.withdrawConsent(). Consent is still required. Privacy controls alone do not establish legal compliance for an installation.
     74
     75= Approved public images =
     76Off by default. Administrators can approve public, static WordPress images containing no personal or sensitive content. PHP GD and local uploads are required. Bounded PNG/JPEG copies are prepared locally, without arbitrary visitor-URL fetching or screen capture. Private, masked and excluded regions take priority.
     77
     78The catalogue allows 256 images and about 46 MiB of data/metadata. Each recording allows 64 used copies and 2 MiB within its budget. Unmatched images stay placeholders. Removing approval removes stored copies, preserving other events; downloaded exports need separate review. Update your notice and test first.
    4379
    4480== Operation ==
    45 Recordings are limited to 30 minutes and 8 MB each. Oversized snapshots and event backlogs stop capture. Uploads use acknowledged batches, bounded retries and deduplication. Unsent events stay in memory, up to 2 MiB, and are cleared on withdrawal. Reconnection can resume a paused recorder with a fresh snapshot. Pending data cannot survive a destroyed browser process. Replay shows interrupted or unconfirmed delivery instead of implying a complete visit. Recording pauses when the chosen storage budget is reached; it resumes when space becomes available.
     81Uploads use acknowledgements, bounded retries and deduplication. Unsent events stay in memory, up to 2 MiB, and clear on withdrawal. Reconnection can resume capture. Oversized snapshots/backlogs stop capture; browser destruction loses pending data. Replay labels interrupted or unconfirmed delivery.
    4682
    47 Cleanup uses hourly WP-Cron plus bounded cleanup during dashboard access and session creation. Configure a real cron trigger on low-traffic sites when timely retention matters. Deactivation preserves data. The optional Delete data when uninstalling setting controls permanent uninstall cleanup.
     83Cleanup uses hourly WP-Cron and bounded dashboard/session cleanup. Low-traffic sites need a real cron trigger for timely retention. Deactivation keeps data. Delete data when uninstalling controls permanent cleanup.
    4884
    49 The player reconstructs a website; it is not desktop video. Media, external fonts, background images and unavailable styles may differ from the live page. Test performance with your hosting and theme.
     85== Local guidance and optional previews ==
     86Tutorial progress stays in the administrator's browser. Preview hide/dismiss preferences stay on-site per administrator and support WordPress privacy export/erasure. Selected previews stay in site/account-scoped browser storage for seven days. Previews send no analytics or email signup. Pricing links use fixed fragments without site, user or recording identifiers.
    5087
     88After the site's first counted recording is 30 days old and an administrator reviews ten distinct recordings across five UTC days, an optional review invitation can appear. Counters started in 1.1.5 and survive updates. Choose an honest review, a 30-day reminder or permanent dismissal per administrator. Counts stay local. Help also has a review link.
    5189
    52 = Approved public images =
    53 This optional setting is off by default in both editions. An administrator can choose specific public, static WordPress image attachments and confirm that they contain no personal or sensitive content. ClickClue reads eligible local uploads, creates bounded PNG/JPEG copies and stores used copies with the recording. It does not fetch arbitrary visitor image URLs or capture visitor screen pixels. Preparation requires the PHP GD image extension and an eligible local upload. The prepared catalogue is bounded separately from recordings (up to 256 images in named collections, about 46 MiB of encoded image data and URL metadata); Only used copies are loaded with a recording: at most 64 and 2 MiB, counted towards its payload budget. Matching uses up to eight same-origin URL variants per image within a 256 KiB metadata allowance; unmatched images remain placeholders. Private, masked and excluded regions take priority. Removing approval removes stored image copies from existing recordings while preserving other recording events. Exports already downloaded require separate review. Update your site notice and test your exact pages before enabling this option.
     90== Translations and development ==
     91Translations use clickclue: site language for visitors, user language for the dashboard, English fallback. The languages/ template is not a complete set of human translations. Clear page caches after changing site language.
    5492
    55 = First-use guidance =
    56 The first-visit checklist and contextual Pro-help dismissals are stored only in the current administrator's browser. They do not send setup or upgrade-interest analytics to ClickClue, change recording consent, or limit Free features. Clear or reset the browser-local tutorial to repeat its guidance.
     93Source and a dependency-locked build are included; see BUILD.txt and THIRD-PARTY-LICENSES.txt. The tutorial opens a translated local guide; assets/help.html has an English copy.
    5794
    58 == Translations ==
    59 Interface translations use the clickclue text domain and WordPress language packs. The site language controls visitor wording; the signed-in user language controls the dashboard. English remains the fallback when a translation is unavailable. The template and translation workflow are in languages/. This release makes the interface translatable; it does not bundle complete translations for every language. Clear page caches after changing the site language.
    60 
    61 == Development ==
    62 Readable source and a dependency-locked asset build are included. See BUILD.txt and THIRD-PARTY-LICENSES.txt. The tutorial opens a translated local guide inside WordPress; it needs no external documentation account. A static English copy is also included in assets/help.html.
    63 
    64 == Optional Pro previews ==
    65 Clearly labelled examples explain separate Pro features without enabling them. Hide and dismiss preferences are stored on this WordPress site per administrator and included in WordPress privacy export/erasure. The selected feature stays in browser storage, scoped to this site and account, for seven days; clearing browser storage removes it. Opening previews sends no analytics to ClickClue and creates no email subscription. Get Pro opens the public pricing page with a fixed feature fragment and no site, user or recording identifiers. Pro needs Free and a successful first licence activation. Existing Free recording, privacy and storage choices remain unchanged.
     95== Screenshots ==
     961. Review a fictional recorded visit with playback controls, bookmarks and notes. Example data; ClickClue Free 1.1.5.
     972. Choose consent, sampling and page-text masking in recording settings. Example settings; ClickClue Free 1.1.5. New installations start paused.
    6698
    6799== Changelog ==
    68100
    69 = 1.1.4 =
    70 * Uses the same ClickClue logo as the website and adds accessible star indicators to Pro preview navigation.
    71 * Keeps ordinary page text readable on new installations while protecting typed values and private regions; existing saved masking choices stay unchanged.
    72 * Preserves your text-masking choice when preparing a test visit; clarifies local help and Pro licence activation.
    73 
    74 
    75 = 1.1.3 =
    76 * Opens focused setup after the first individual activation while recording remains paused.
    77 * Improves replay visibility on small screens, translated toolbar layouts and replay accessibility.
    78 * Keeps review-note emoji local and clarifies recording-capacity retry guidance.
    79 
    80 = 1.1.2 =
    81 Matched Free and Pro 1.1.2 stable release. Existing replay features, edition boundaries, privacy choices, stored recordings and licence behaviour are unchanged. Genuine dependency minima remain unchanged.
    82 
    83 
    84 = 0.10.14 =
    85 Keeps the Free/Pro comparison inside narrow Settings screens and renders workspace icons locally without WordPress emoji image requests. Matched companion release for ClickClue Pro 0.10.14; recording and privacy behavior is unchanged.
    86 
    87 
    88 = 0.10.13 =
    89 Matched companion for ClickClue Pro 0.10.13. Free recording, replay, privacy controls and stored data are unchanged.
    90 
    91 
    92 = 0.10.12 =
    93 Matched companion for ClickClue Pro 0.10.12. Explicit data removal also clears saved clue notifications. Free recording and privacy controls are unchanged.
    94 
    95 = 0.10.11 =
    96 Adds clearly labelled Pro previews with genuine example screenshots, a Free/Pro comparison and optional replay suggestion. Preview choices stay local; no marketing subscription or remote analytics is created.
    97 
    98 = 0.10.10 =
    99 Matched release metadata for the ClickClue Pro activation update. Free recording, replay and privacy controls remain available.
    100 
    101 = 0.10.9 =
    102 WordPress translation support for the Free dashboard, consent prompt, replay controls, local help and runtime messages. Includes a translation template and preserves consent and recording state across language changes.
    103 
    104 = 0.10.8 =
    105 Safer teammate names on session notes: use WordPress display names, with generic labels for unavailable or email-shaped names.
    106 
    107 = 0.10.7 =
    108 Grouped workspace navigation, focused settings and a larger replay canvas. Clearer upload status and draft protection preserve deliberate recording choices.
    109 
    110 = 0.10.6 =
    111 * Uses ClickClue names in test links, dashboard and invitation links, reports and installed guidance.
    112 * Keeps earlier links and existing integrations compatible without changing saved data or consent.
    113 
    114 = 0.10.5 =
    115 * Uses ClickClue names for both installer folders and current installation guidance.
    116 * Preserves existing saved data when moving from older folders without uninstalling.
    117 * Keeps Pro updates manual.
    118 
    119 
    120 = 0.10.0 =
    121 * Adds a first-visit checklist with recording readiness, signed-out test guidance and replay review progress.
    122 * Adds three dismissible, contextual links explaining the separate Pro add-on in the bundled guide.
    123 * Keeps setup progress in the current administrator's browser without transmitting usage analytics.
    124 * Preserves existing recording, retention, storage and privacy settings.
    125 * Update Free first, then matching Pro, without uninstalling.
    126 
    127 = 0.9.0 =
    128 * Adds acknowledged upload batches, bounded memory-only retries and recovery after temporary disconnection.
    129 * Shows recording completeness in replay; a closed tab or missing batch is not silently labelled complete.
    130 * Updates computed layout in bounded batches for changed and visible elements.
    131 * Organises up to 256 individually approved public images in named collections, with up to 64 used copies and 2 MiB per recording.
    132 * Preserves masking, local storage, existing settings and uncapped monthly Free recording.
    133 * Update Free first, then matching Pro, without uninstalling. Image approval changes and enabled Pro goal/campaign changes require current consent.
    134 
    135 = 0.8.1 =
    136 * Keeps tutorial help available inside the installed plugin without an external website.
    137 * Clarifies optional approved images in the settings and suggested privacy-policy wording.
    138 * Applies each site’s uninstall preference when removing ClickClue from a multisite network.
    139 * Update Free first, then the matching Pro add-on. Existing recordings, settings and consent choices are preserved.
    140 
    141 = 0.8.0 =
    142 * Adds optional, default-off approved public images to replay, while keeping private regions excluded.
    143 * Preserves more structural layout detail without fetching arbitrary image URLs or external fonts.
    144 * Removes stored approved-image copies when approval is withdrawn; recording events follow normal retention.
    145 * Update Free first, then matching Pro, clear page/CDN caches and renew positive replay consent.
    146 
     101= 1.1.6 =
     102* Reject oversized privacy exclusion rules without silently cutting them or changing saved settings.
     103* Keep embedded documents out of recording and preserve the parent replay.
     104* Refresh current saved settings and protect unsaved changes.
     105* Distinguish public WordPress pages with plain permalinks while removing unrelated URL query data.
     106* Improve mobile recording actions, setup guidance and Pro-preview wording.
     107* Set pluginsshop author information and the plugins.shop author link.
    147108
    148109Earlier release history is included in changelog.txt.
     110
     111== Upgrade Notice ==
     112= 1.1.6 =
     113Fixes privacy-rule validation and replay/setup issues. Fresh positive visitor consent is required; valid refusals remain respected. Update Free first, then matching Pro, and clear page/CDN caches.
  • clickclue/trunk/src/diagnostic-translations.mjs

    r3775799 r3776421  
    22// Diagnostics loads on demand. Include its messages in the recorder language pack.
    33export function diagnosticTranslations() {
     4  i18n.__('No recording is made for this signed-in visit.', 'clickclue');
     5  i18n.__('This check does not enable recording.', 'clickclue');
    46  i18n.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.", 'clickclue');
    57  i18n.__("Allow this replay", 'clickclue');
  • clickclue/trunk/src/diagnostics.mjs

    r3775799 r3776421  
    22// Optional, local-only status panel. It never changes sampling or authorizes a
    33// signed-in/excluded visit. Its own DOM is excluded by the recorder.
    4 const api = window.ClickClue || window.Tracewell;
    5 if (api && !document.getElementById('clickclue-check')) {
     4const signedInCheck = window.ClickClueCheckConfig?.state === 'signed_in';
     5const api = signedInCheck ? {diagnostics:()=>({state:'signed_in',consent:false,browserOptOut:false,deletion:'not_requested'})} : window.ClickClue || window.Tracewell;
     6let topLevel = false; try { topLevel = window.top === window; } catch {}
     7if (topLevel && ['#clickclue-check','#tracewell-check'].includes(location.hash) && api && !document.getElementById('clickclue-check')) {
     8  if (location.hash === '#tracewell-check') history.replaceState(null, '', location.pathname + location.search + '#clickclue-check');
    69  const host = document.createElement('div'); host.id = 'clickclue-check'; host.setAttribute('data-tw-block', '');
    710  const root = host.attachShadow({ mode: 'open' });
    … …  
    1417  const status = el('div', '', 'status'); status.setAttribute('role', 'status'); const title = el('strong', ''), detail = el('p', ''); status.append(title, detail); panel.append(status);
    1518  const upload = el('p', '', 'upload'); panel.append(upload);
    16   const next = el('p', i18n.__('After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.', 'clickclue')); panel.append(next);
     19  const next = el('p', i18n.__('After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.', 'clickclue')); next.hidden = signedInCheck; panel.append(next);
    1720  const actions = el('div', '', 'actions');
    1821  const consent = el('button', i18n.__('Allow this replay', 'clickclue')); consent.type = 'button'; consent.onclick = () => api.grantConsent();
    … …  
    2023  const retry = el('button', i18n.__('Retry deletion', 'clickclue'), 'secondary'); retry.type = 'button'; retry.onclick = () => api.retryDeletion();
    2124  actions.append(consent, stop, retry); panel.append(actions);
    22   const close = el('button', i18n.__('Close check', 'clickclue'), 'secondary'); close.type = 'button'; panel.append(close, el('small', i18n.__('Closing this panel does not change your consent. Use Replay privacy to change it later.', 'clickclue')));
     25  const close = el('button', i18n.__('Close check', 'clickclue'), 'secondary'); close.type = 'button'; panel.append(close, el('small', signedInCheck ? i18n.__('This check does not enable recording.', 'clickclue') : i18n.__('Closing this panel does not change your consent. Use Replay privacy to change it later.', 'clickclue')));
    2326  const states = {
    2427    waiting: [i18n.__('Waiting for permission', 'clickclue'), i18n.__('Choose Allow this replay to test capture.', 'clickclue')],
    … …  
    4649  };
    4750  function render() {
    48     const d = api.diagnostics(), copy = states[d.state] || states.unavailable;
     51    const d = api.diagnostics(), displayState = d.privacyNoticeReady === false && ['waiting','denied'].includes(d.state) ? 'privacy_notice' : d.state, copy = states[displayState] || states.unavailable;
    4952    title.textContent = copy[0]; detail.textContent = copy[1];
    5053    upload.textContent = d.lastUploadAt ? i18n.sprintf(/* translators: %1$s: number of events accepted by the server. @preserve */ i18n.__("Upload confirmed by your server · %1$s events accepted in this tab.", 'clickclue'), d.uploadedEvents) : i18n.__('No upload confirmed in this tab yet.', 'clickclue');
    51     consent.hidden = d.consent || d.browserOptOut || ['pending', 'failed', 'legacy_unconfirmed'].includes(d.deletion); stop.hidden = !d.consent;
     54    consent.hidden = d.consent || d.browserOptOut || d.privacyNoticeReady === false || ['privacy_notice','signed_in','paused','excluded','consent_changed'].includes(d.state) || ['pending', 'failed', 'legacy_unconfirmed'].includes(d.deletion); stop.hidden = !d.consent;
     55    if (signedInCheck) upload.textContent = i18n.__('No recording is made for this signed-in visit.', 'clickclue');
    5256    retry.hidden = d.deletion !== 'failed';
    5357    if (d.state === 'denied') upload.textContent = { pending: i18n.__('Capture stopped. Waiting for deletion confirmation from the server.', 'clickclue'), confirmed: i18n.__('Capture stopped. The server confirmed deletion of the current session.', 'clickclue'), failed: i18n.__('Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website’s owner.', 'clickclue'), legacy_unconfirmed:i18n.__('An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website’s owner and review the Replay privacy notice.', 'clickclue'), not_requested: i18n.__('Capture is off. No current session was submitted for deletion.', 'clickclue') }[d.deletion];
  • clickclue/trunk/src/privacy.mjs

    r3775799 r3776421  
     1import {recordedPagePath} from './page-path.mjs';
    12import {imageFit,imagePosition} from './media.mjs';
    23import {sanitizeLayout,layoutDeclarations} from './layout.mjs';
    34export const mask = (text) => String(text ?? '').replace(/\S/g, '*');
    4 export function cleanPath(raw, base = 'https://example.invalid') {
    5   try { return new URL(raw, base).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi, '[masked]').slice(0, 500); }
    6   catch { return '/'; }
    7 }
     5export const cleanPath = recordedPagePath;
    86export function cleanCSS(raw) {
    97  // Read CSS tokens before discarding URLs, comments and string contents.
  • clickclue/trunk/src/recorder.mjs

    r3775799 r3776421  
    11import {diagnosticTranslations} from './diagnostic-translations.mjs';
    2 diagnosticTranslations();
    32import {i18n} from './i18n.mjs';
    4 import { cleanPath } from './privacy.mjs';
     3import { capturePagePath, plainPageRoute } from './page-path.mjs';
    54import { createTransport } from './transport.mjs';
    65const config = window.TracewellConfig;
    7 if (config && !window.Tracewell) {
     6// Embedded documents stay excluded even when they load their own plugin script.
     7// Check before storage or consent handling: same-origin frames share the tab's
     8// authorization, but must never add their document to the top-level recording.
     9let topLevel = false;
     10try { topLevel = window.top === window; } catch {}
     11if (topLevel && config && !window.Tracewell) {
     12  diagnosticTranslations();
    813  const scriptNonce = document.currentScript?.nonce;
    914  const getStorage = name => { try { return window[name]; } catch { return { getItem: () => null, setItem() {}, removeItem() {} }; } };
    … …  
    5459  const excludedNow = () => {
    5560    // Evaluate privacy rules before redacting identifiers from recorded paths.
    56     let path;try{path=decodeURIComponent(new URL(location.href).pathname).toLowerCase();}catch{return true;}
     61    let path, url;try{url=new URL(location.href);path=decodeURIComponent(url.pathname).toLowerCase();}catch{return true;}
     62    const route=plainPageRoute(location.href);
     63    if (['preview','preview_id','preview_nonce','rest_route',...(config.privateQueryKeys||['order-pay','order-received'])].some(key=>url.searchParams.has(key))) return true;
     64    if ((url.searchParams.has('p')||url.searchParams.has('page_id')) && (!route || capturePagePath(location.href,config)!==route.identity)) return true;
     65    const identity=decodeURIComponent(capturePagePath(location.href,config)).toLowerCase();
    5766    return ['/wp-admin','/wp-login.php','/my-account','/order-received','/order-pay','/wp-json',...(typeof config.excludePaths==='string'?config.excludePaths.split(/\r\n|\r|\n/):[])].some(value=>{
    58       try { const rule=decodeURIComponent(value.trim()).toLowerCase(); return rule && path.includes(rule); }
     67      try { const rule=decodeURIComponent(value.trim()).toLowerCase(); return rule && (path.includes(rule)||identity.includes(rule)); }
    5968      catch { return true; }
    6069    });
    … …  
    97106    capture=captureFactory({media:authorization.media||[],maskText:config.maskText!==false,blockSelector:config.blockSelector,emit(event){
    98107      if(generation!==version||!pageActive||!transportAllowed())return;
     108      if(event.type===4)event={...event,data:{...event.data,href:capturePagePath(location.href,config)}};
    99109      instance.enqueue(event);
    100110    }});
    … …  
    120130      // A start mutates server state. Keep its response after withdrawal so a
    121131      // late authorization can be deleted instead of silently orphaned.
    122       startRequest = post('/start', { consent: true, consent_version: choice.revision, token: authorization?.token, path: cleanPath(location.href), width: innerWidth, height: innerHeight });
     132      startRequest = post('/start', { consent: true, consent_version: choice.revision, token: authorization?.token, path: capturePagePath(location.href,config), width: innerWidth, height: innerHeight });
    123133      const auth = await startRequest; startRequest = null;
    124134      if (generation !== version || choice?.allowed !== true || !validChoice(choice) || optedOut() || excludedNow()) {
    … …  
    251261    // recording is active. Do not expose stale authorizations after withdrawal.
    252262    visitorAuthorization: () => state === 'recording' && pageActive && !pendingDeletion && !legacyDeletion && choice?.allowed === true && validChoice(choice) && !optedOut() && !excludedNow() && typeof authorization?.token === 'string' ? { token: authorization.token } : null,
    253     diagnostics: () => ({ state, consent: choice?.allowed === true, browserOptOut: optedOut(), sampleRate: Number(config.sampleRate || 10), maskText: config.maskText !== false, lastUploadAt, uploadedEvents, transport:transport?.stats()||null, deletion:legacyDeletion?'legacy_unconfirmed':deletion }) };
     263    diagnostics: () => ({ state, privacyNoticeReady: !config.consentUI || !!privacyUrl, consent: choice?.allowed === true, browserOptOut: optedOut(), sampleRate: Number(config.sampleRate || 10), maskText: config.maskText !== false, lastUploadAt, uploadedEvents, transport:transport?.stats()||null, deletion:legacyDeletion?'legacy_unconfirmed':deletion }) };
    254264  window.ClickClue = window.Tracewell;
    255265  window.addEventListener('tracewell:consent', event => event.detail === true ? grant() : withdraw());
    … …  
    280290  function ready() {
    281291    if (pendingDeletion) { withdraw(); }
    282     if (optedOut()) setState('browser_opt_out'); else if (choice?.allowed === false) setState('denied');
     292    if (optedOut()) setState('browser_opt_out'); else if (choice?.allowed === false) setState('denied'); else if(config.consentUI&&!privacyUrl)setState('privacy_notice');
    283293    renderPrivacy(!!legacyDeletion); start();
    284294    if (['#clickclue-check', '#tracewell-check'].includes(location.hash) && config.diagnosticsUrl) {
  • clickclue/trunk/src/tutorial.mjs

    r3775799 r3776421  
    44const core = [
    55  {id:'privacy', title:i18n.__('Set up a safe test', 'clickclue'), section:i18n.__('Start with a sample visit', 'clickclue'), view:'settings', target:'tw-settings-form', action:i18n.__('Open settings', 'clickclue'), admin:true,
    6     body:i18n.__('Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store’s policy in WordPress Settings → Privacy before using the built-in prompt. In Settings → Recording & privacy, review page exclusions, keep page text masked and confirm how visitors will give permission.', 'clickclue'),
    7     check:i18n.__('Choose Prepare test settings only when you are ready. It fills the form with recording enabled and 100% sampling; you must review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded.', 'clickclue'),
     6    body:i18n.__('Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store’s policy in WordPress Settings → Privacy before using the built-in prompt. In Settings → Recording & privacy, review page exclusions and confirm how visitors will give permission. Ordinary page text stays readable by default; typed values and private regions remain masked. Enable Mask all page text if you need to hide other visible text.', 'clickclue'),
     7    check:i18n.__('In Settings → Test & diagnostics, choose Prepare test settings only when you are ready. It enables recording and sets 100% sampling in the form while preserving your text-masking choice; review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded.', 'clickclue'),
    88    success:i18n.__('You have reviewed the consent prompt, exclusions and masking, and deliberately saved your test settings.', 'clickclue'), doc:'consent-and-masking', more:i18n.__('Read the privacy guide', 'clickclue')},
    99  {id:'visit', title:i18n.__('Record one test visit', 'clickclue'), section:i18n.__('Start with a sample visit', 'clickclue'), view:'settings', target:'tw-copy-test', action:i18n.__('Find my test link', 'clickclue'), admin:true,
  • clickclue/trunk/uninstall.php

    r3775799 r3776421  
    2828        $wpdb->query($wpdb->prepare('DROP TABLE IF EXISTS %i',$tracewell_table_name));
    2929    }
     30    delete_option('clickclue_first_recording_at');delete_metadata('user',0,$wpdb->prefix.'clickclue_review_request','',true);
    3031    delete_option('tracewell_media'); delete_option('tracewell_settings'); delete_option('tracewell_db_version'); delete_option('tracewell_pro_db_version');
    3132    delete_option('tracewell_changes'); delete_option('tracewell_last_cleanup');
Note: See TracChangeset for help on using the changeset viewer.