@atlasprivacy/consent-sdk 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ "use strict";(()=>{var ht="atlas-consent:1";function jn(){if(!globalThis.crypto?.getRandomValues)throw new Error("Atlas Consent needs a secure browser context.");return[...crypto.getRandomValues(new Uint8Array(24))].map(n=>n.toString(16).padStart(2,"0")).join("")}function Gn(n,o){if(!n||typeof n!="object")return!1;let i=n;return i.protocol===ht&&i.channel===o&&typeof i.type=="string"}var Ze=class extends Error{constructor(i,r,p=0){super(i);this.code=r;this.status=p;this.name="ConsentError"}};var Wn={system:'Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif',serif:"Georgia,'Times New Roman',serif",rounded:"'Trebuchet MS','Segoe UI',Verdana,'Helvetica Neue',sans-serif"},Yn={sharp:["2px","2px"],soft:["6px","6px"],round:["999px","16px"]},Zo=/^#[0-9a-f]{6}$/i,Le={theme:"light",primary_color:"#ae0a60",background_color:"#ffffff",text_color:"#1a202c",radius:"soft",font:"system",density:"comfortable"},$n={background_color:"#0f172a",text_color:"#f1f5f9"};function qn(n){let[o,i,r]=[1,3,5].map(p=>parseInt(n.slice(p,p+2),16)/255).map(p=>p<=.03928?p/12.92:((p+.055)/1.055)**2.4);return .2126*o+.7152*i+.0722*r}function Vn(n,o){let i=qn(n),r=qn(o);return(Math.max(i,r)+.05)/(Math.min(i,r)+.05)}function Kn(n,o,i){let r={...Le,...o||{}};for(let A of["primary_color","background_color","text_color"])(typeof r[A]!="string"||!Zo.test(r[A]))&&(r[A]=Le[A]);(typeof r.radius!="string"||!Object.prototype.hasOwnProperty.call(Yn,r.radius))&&(r.radius=Le.radius),(typeof r.font!="string"||!Object.prototype.hasOwnProperty.call(Wn,r.font))&&(r.font=Le.font),["light","dark","system"].includes(r.theme)||(r.theme=Le.theme);let p=r.theme==="dark"||r.theme==="system"&&i.matches;p&&(r.background_color.toLowerCase()===Le.background_color&&(r.background_color=$n.background_color),r.text_color.toLowerCase()===Le.text_color&&(r.text_color=$n.text_color));let[d,l]=Yn[r.radius],m=r.density==="compact",u={"--primary":r.primary_color,"--bg":r.background_color,"--text":r.text_color,"--on-primary":Vn(r.primary_color,"#000000")>Vn(r.primary_color,"#ffffff")?"#000000":"#ffffff","--muted":`color-mix(in srgb,${r.text_color} 66%,${r.background_color})`,"--line":`color-mix(in srgb,${r.text_color} 14%,${r.background_color})`,"--line-strong":`color-mix(in srgb,${r.text_color} 26%,${r.background_color})`,"--tint":`color-mix(in srgb,${r.text_color} 8%,${r.background_color})`,"--page":`color-mix(in srgb,${r.text_color} 4%,${r.background_color})`,"--font":Wn[r.font],"--r-btn":d,"--r-card":l,"--pad":m?"16px":"28px","--gap":m?"10px":"20px","--fs":m?"14px":"16px","--btn":m?"42px":"52px","--rowy":m?"4px":"12px","--rowx":m?"12px":"18px"};for(let[A,S]of Object.entries(u))n.style.setProperty(A,S);n.style.colorScheme=p?"dark":"light"}function Xn(n){let o=window.matchMedia("(prefers-color-scheme: dark)"),i,r=()=>{i?.theme==="system"&&Kn(n,i,o)};return o.addEventListener("change",r),{apply(p){i=p,Kn(n,p,o)},destroy(){o.removeEventListener("change",r)}}}function Qo(n,o){this.v=n,this.k=o}function Zn(n,o){(o==null||o>n.length)&&(o=n.length);for(var i=0,r=Array(o);i<o;i++)r[i]=n[i];return r}function Jo(n){if(Array.isArray(n))return n}function er(n,o){var i=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var r,p,d,l,m=[],u=!0,A=!1;try{if(d=(i=i.call(n)).next,o===0){if(Object(i)!==i)return;u=!1}else for(;!(u=(r=d.call(i)).done)&&(m.push(r.value),m.length!==o);u=!0);}catch(S){A=!0,p=S}finally{try{if(!u&&i.return!=null&&(l=i.return(),Object(l)!==l))return}finally{if(A)throw p}}return m}}function tr(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nr(n,o){return Jo(n)||er(n,o)||or(n,o)||tr()}function or(n,o){if(n){if(typeof n=="string")return Zn(n,o);var i={}.toString.call(n).slice(8,-1);return i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set"?Array.from(n):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Zn(n,o):void 0}}function _t(n){var o,i;function r(d,l){try{var m=n[d](l),u=m.value,A=u instanceof Qo;Promise.resolve(A?u.v:u).then(function(S){if(A){var F=d==="return"&&u.k?d:"next";if(!u.k||S.done)return r(F,S);S=n[F](S).value}p(!!m.done,S)},function(S){r("throw",S)})}catch(S){p(2,S)}}function p(d,l){d===2?o.reject(l):o.resolve({value:l,done:d}),(o=o.next)?r(o.key,o.arg):i=null}this._invoke=function(d,l){return new Promise(function(m,u){var A={key:d,arg:l,resolve:m,reject:u,next:null};i?i=i.next=A:(o=i=A,r(d,l))})},typeof n.return!="function"&&(this.return=void 0)}_t.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},_t.prototype.next=function(n){return this._invoke("next",n)},_t.prototype.throw=function(n){return this._invoke("throw",n)},_t.prototype.return=function(n){return this._invoke("return",n)};var fo=Object.entries,Qn=Object.setPrototypeOf,rr=Object.isFrozen,mo=Object.getPrototypeOf,go=Object.getOwnPropertyDescriptor,I=Object.freeze,P=Object.seal,Be=Object.create,ho=typeof Reflect<"u"&&Reflect,nn=ho.apply,on=ho.construct;I||(I=function(o){return o});P||(P=function(o){return o});nn||(nn=function(o,i){for(var r=arguments.length,p=new Array(r>2?r-2:0),d=2;d<r;d++)p[d-2]=arguments[d];return o.apply(i,p)});on||(on=function(o){for(var i=arguments.length,r=new Array(i>1?i-1:0),p=1;p<i;p++)r[p-1]=arguments[p];return new o(...r)});var ge=R(Array.prototype.forEach);Array.prototype.indexOf;var ir=R(Array.prototype.lastIndexOf),Jn=R(Array.prototype.pop),Qe=R(Array.prototype.push),sr=R(Array.prototype.slice),ar=R(Array.prototype.splice),je=Array.isArray,qt=_o(Set),Vt=R(Set.prototype.add),Je=R(Set.prototype.has),De=R(String.prototype.toLowerCase),Kt=R(String.prototype.toString),eo=R(String.prototype.match),et=R(String.prototype.replace),to=R(String.prototype.indexOf),cr=R(String.prototype.trim),lr=R(Number.prototype.toString),pr=R(Boolean.prototype.toString),no=typeof BigInt>"u"?null:R(BigInt.prototype.toString),oo=typeof Symbol>"u"?null:R(Symbol.prototype.toString),W=R(Object.prototype.hasOwnProperty),tt=R(Object.prototype.toString),M=R(RegExp.prototype.test),he=_o(TypeError);function R(n){return function(o){o instanceof RegExp&&(o.lastIndex=0);for(var i=arguments.length,r=new Array(i>1?i-1:0),p=1;p<i;p++)r[p-1]=arguments[p];return nn(n,o,r)}}function _o(n){return function(){for(var o=arguments.length,i=new Array(o),r=0;r<o;r++)i[r]=arguments[r];return on(n,i)}}function T(n,o){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:De;if(Qn&&Qn(n,null),!je(o))return n;let r=o.length;for(;r--;){let p=o[r];if(typeof p=="string"){let d=i(p);d!==p&&(rr(o)||(o[r]=d),p=d)}n[p]=!0}return n}function ur(n){for(let o=0;o<n.length;o++)W(n,o)||(n[o]=null);return n}function V(n){let o=Be(null);for(let r of fo(n)){var i=nr(r,2);let p=i[0],d=i[1];W(n,p)&&(je(d)?o[p]=ur(d):d&&typeof d=="object"&&d.constructor===Object?o[p]=V(d):o[p]=d)}return o}function dr(n){switch(typeof n){case"string":return n;case"number":return lr(n);case"boolean":return pr(n);case"bigint":return no?no(n):"0";case"symbol":return oo?oo(n):"Symbol()";case"undefined":return tt(n);case"function":case"object":{if(n===null)return tt(n);let o=n,i=K(o,"toString");if(typeof i=="function"){let r=i(o);return typeof r=="string"?r:tt(r)}return tt(n)}default:return tt(n)}}function K(n,o){for(;n!==null;){let r=go(n,o);if(r){if(r.get)return R(r.get);if(typeof r.value=="function")return R(r.value)}n=mo(n)}function i(){return null}return i}function fr(n,o){for(;n!==null;){let i=go(n,o);if(i)return i.get?R(i.get):null;n=mo(n)}return null}function mr(n){try{return M(n,""),!0}catch{return!1}}var ro=I(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Xt=I(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Zt=I(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),gr=I(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Qt=I(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),hr=I(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),io=I(["#text"]),so=I(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Jt=I(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),ao=I(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),yt=I(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),_r=P(/{{[\w\W]*|^[\w\W]*}}/g),yr=P(/<%[\w\W]*|^[\w\W]*%>/g),br=P(/\${[\w\W]*/g),Tr=P(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ar=P(/^aria-[\-\w]+$/),co=P(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Er=P(/^(?:\w+script|data):/i),xr=P(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Sr=P(/^html$/i),vr=P(/^[a-z][.\w]*(-[.\w]+)+$/i),en=P(/<[/\w!]/g),lo=P(/<[/\w]/g),wr=P(/<\/no(script|embed|frames)/i),po=P(/\/>/i),L={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Rr=I(T({},["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"])),Or=function(){return typeof window>"u"?null:window},Cr=function(o,i){if(typeof o!="object"||typeof o.createPolicy!="function")return null;let r=null,p="data-tt-policy-suffix";i&&i.hasAttribute(p)&&(r=i.getAttribute(p));let d="dompurify"+(r?"#"+r:"");try{return o.createPolicy(d,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+d+" could not be created."),null}},uo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Se=function(o,i,r,p){return W(o,i)&&je(o[i])?T(p.base?V(p.base):{},o[i],p.transform):r},tn=function(o,i,r){let p=W(o,i)?o[i]:void 0;return p&&typeof p=="object"?V(p):r()};function yo(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Or(),o=c=>yo(c);if(o.version="3.4.17",o.removed=[],!n||!n.document||n.document.nodeType!==L.document||!n.Element)return o.isSupported=!1,o;let i=n.document,r=i,p=r.currentScript;n.DocumentFragment;let d=n.HTMLTemplateElement,l=n.Node,m=n.Element,u=n.NodeFilter;n.NamedNodeMap===void 0&&(n.NamedNodeMap||n.MozNamedAttrMap),n.HTMLFormElement;let A=n.DOMParser,S=n.trustedTypes,F=m.prototype,ve=K(F,"cloneNode"),$=K(F,"remove"),ke=K(F,"removeAttributeNode"),ee=K(F,"nextSibling"),ae=K(F,"childNodes"),ce=K(F,"parentNode"),le=K(F,"shadowRoot"),Ne=K(F,"attributes"),X=l&&l.prototype?K(l.prototype,"nodeType"):null,pe=l&&l.prototype?K(l.prototype,"nodeName"):null,ye=l&&l.prototype?K(l.prototype,"ownerDocument"):null,z=function(e){return X?X(e):e.nodeType},be=function(e){return pe?pe(e):e.nodeName},Ge=fr(F,"namespaceURI"),We=function(e){return Ge?Ge(e):e.namespaceURI};if(typeof d=="function"){let c=i.createElement("template");c.content&&c.content.ownerDocument&&(i=c.content.ownerDocument)}let U,ue="",Ye,f=!1,b=0,x=function(){if(b>0)throw he('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},k=function(e){x(),b++;try{return U.createHTML(e)}finally{b--}},de=function(e){x(),b++;try{return U.createScriptURL(e)}finally{b--}},te=function(){return f||(Ye=Cr(S,p),f=!0),Ye},O=i,q=O.implementation,Z=O.createNodeIterator,St=O.createDocumentFragment,nt=O.getElementsByTagName,ot=r.importNode,E=uo();o.isSupported=typeof fo=="function"&&typeof ce=="function"&&q&&q.createHTMLDocument!==void 0;let fe=_r,rt=yr,N=br,ne=Tr,Te=Ar,$e=Er,oe=xr,it=vr,st=co,v=null,vt=T({},[...ro,...Xt,...Zt,...Qt,...io]),w=null,wt=T({},[...so,...Jt,...ao,...yt]),re=Object.seal(Be(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),qe=null,gn=null,Ae=Object.seal(Be(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),hn=!0,Rt=!0,_n=!1,Ot=!0,me=!1,we=!0,Re=!1,Ct=!1,at=null,ct=null,Lt=!1,Ie=!1,lt=!1,pt=!1,yn=!0,bn=!1,Tn="user-content-",Dt=!0,kt=!1,Oe=null,Me={},Ce=null,An=T({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),En=null,xn=T({},["audio","video","img","source","image","track"]),Sn=null,vn=T({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ut="http://www.w3.org/1998/Math/MathML",dt="http://www.w3.org/2000/svg",ie="http://www.w3.org/1999/xhtml",Pe=ie,Nt=!1,It=null,Do=T({},[ut,dt,ie],Kt),wn=I(["mi","mo","mn","ms","mtext"]),Mt=T({},wn),Rn=I(["annotation-xml"]),Pt=T({},Rn),ko=T({},["title","style","font","a","script"]),Ve=null,No=["application/xhtml+xml","text/html"],Io="text/html",C=null,Ue=null,Mo=i.createElement("form"),On=function(e){return e instanceof RegExp||e instanceof Function},Ut=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ue&&Ue===e)return;(!e||typeof e!="object")&&(e={}),e=V(e),Ve=No.indexOf(e.PARSER_MEDIA_TYPE)===-1?Io:e.PARSER_MEDIA_TYPE,C=Ve==="application/xhtml+xml"?Kt:De,v=Se(e,"ALLOWED_TAGS",vt,{transform:C}),w=Se(e,"ALLOWED_ATTR",wt,{transform:C}),It=Se(e,"ALLOWED_NAMESPACES",Do,{transform:Kt}),Sn=Se(e,"ADD_URI_SAFE_ATTR",vn,{transform:C,base:vn}),En=Se(e,"ADD_DATA_URI_TAGS",xn,{transform:C,base:xn}),Ce=Se(e,"FORBID_CONTENTS",An,{transform:C}),qe=Se(e,"FORBID_TAGS",V({}),{transform:C}),gn=Se(e,"FORBID_ATTR",V({}),{transform:C}),Me=W(e,"USE_PROFILES")?e.USE_PROFILES&&typeof e.USE_PROFILES=="object"?V(e.USE_PROFILES):e.USE_PROFILES:!1,hn=e.ALLOW_ARIA_ATTR!==!1,Rt=e.ALLOW_DATA_ATTR!==!1,_n=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ot=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,me=e.SAFE_FOR_TEMPLATES||!1,we=e.SAFE_FOR_XML!==!1,Re=e.WHOLE_DOCUMENT||!1,Ie=e.RETURN_DOM||!1,lt=e.RETURN_DOM_FRAGMENT||!1,pt=e.RETURN_TRUSTED_TYPE||!1,Lt=e.FORCE_BODY||!1,yn=e.SANITIZE_DOM!==!1,bn=e.SANITIZE_NAMED_PROPS||!1,Dt=e.KEEP_CONTENT!==!1,kt=e.IN_PLACE||!1,st=mr(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:co,Pe=typeof e.NAMESPACE=="string"?e.NAMESPACE:ie,Mt=tn(e,"MATHML_TEXT_INTEGRATION_POINTS",()=>T({},wn)),Pt=tn(e,"HTML_INTEGRATION_POINTS",()=>T({},Rn));let t=tn(e,"CUSTOM_ELEMENT_HANDLING",()=>Be(null));if(re=Be(null),W(t,"tagNameCheck")&&On(t.tagNameCheck)&&(re.tagNameCheck=t.tagNameCheck),W(t,"attributeNameCheck")&&On(t.attributeNameCheck)&&(re.attributeNameCheck=t.attributeNameCheck),W(t,"allowCustomizedBuiltInElements")&&typeof t.allowCustomizedBuiltInElements=="boolean"&&(re.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),P(re),me&&(Rt=!1),lt&&(Ie=!0),Me&&(v=T({},io),w=Be(null),Me.html===!0&&(T(v,ro),T(w,so)),Me.svg===!0&&(T(v,Xt),T(w,Jt),T(w,yt)),Me.svgFilters===!0&&(T(v,Zt),T(w,Jt),T(w,yt)),Me.mathMl===!0&&(T(v,Qt),T(w,ao),T(w,yt))),Ae.tagCheck=null,Ae.attributeCheck=null,W(e,"ADD_TAGS")&&(typeof e.ADD_TAGS=="function"?Ae.tagCheck=e.ADD_TAGS:je(e.ADD_TAGS)&&(v===vt&&(v=V(v)),T(v,e.ADD_TAGS,C))),W(e,"ADD_ATTR")&&(typeof e.ADD_ATTR=="function"?Ae.attributeCheck=e.ADD_ATTR:je(e.ADD_ATTR)&&(w===wt&&(w=V(w)),T(w,e.ADD_ATTR,C))),W(e,"ADD_FORBID_CONTENTS")&&je(e.ADD_FORBID_CONTENTS)&&(Ce===An&&(Ce=V(Ce)),T(Ce,e.ADD_FORBID_CONTENTS,C)),Dt&&(v["#text"]=!0),Re&&T(v,["html","head","body"]),v.table&&(T(v,["tbody"]),delete qe.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!="function")throw he('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw he('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let s=U;U=e.TRUSTED_TYPES_POLICY;try{ue=k("")}catch(a){throw U=s,a}}else e.TRUSTED_TYPES_POLICY===null?(U=void 0,ue=""):(U===void 0&&(U=te()),U&&typeof ue=="string"&&(ue=k("")));I&&I(e),Ue=e},Cn=T({},[...Xt,...Zt,...gr]),Ln=T({},[...Qt,...hr]),Po=function(e,t,s){return t.namespaceURI===ie?e==="svg":t.namespaceURI===ut?e==="svg"&&(s==="annotation-xml"||Mt[s]):!!Cn[e]},Uo=function(e,t,s){return t.namespaceURI===ie?e==="math":t.namespaceURI===dt?e==="math"&&Pt[s]:!!Ln[e]},Fo=function(e,t,s){return t.namespaceURI===dt&&!Pt[s]||t.namespaceURI===ut&&!Mt[s]?!1:!Ln[e]&&(ko[e]||!Cn[e])},zo=function(e){let t=We(e),s=De(be(e)),a=ce(e),g,h;return a&&z(a)===L.element?(g={namespaceURI:We(a)},h=De(be(a))):(g={namespaceURI:Pe},h="template"),It[t]?t===dt?Po(s,g,h):t===ut?Uo(s,g,h):t===ie?Fo(s,g,h):!!(Ve==="application/xhtml+xml"&&It[t]):!1},Ee=function(e){Qe(o.removed,{element:e});try{ce(e).removeChild(e)}catch{if($(e),!ce(e))throw he("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Dn=function(e,t,s){try{ke(e,t)}catch{try{e.removeAttribute(s)}catch{}}},Ft=function(e){Ht(e);let t=ae(e);t&&ge(sr(t),a=>{try{$(a)}catch{}});let s=z(e)===L.element?Ne(e):null;if(s)for(let a=s.length-1;a>=0;--a){let g=s[a],h=g&&g.name;typeof h=="string"&&Dn(e,g,h)}},Fe=function(e,t,s){if(!s)try{s=t.getAttributeNode(e)}catch{s=null}Qe(o.removed,{attribute:s||null,from:t});try{s?ke(t,s):t.removeAttribute(e)}catch{try{t.removeAttribute(e)}catch{}}if(e==="is")if(Ie||lt)try{Ee(t)}catch{}else try{t.setAttribute(e,"")}catch{}},kn=function(e){let t=Ne(e);if(t)for(let s=t.length-1;s>=0;--s){let a=t[s],g=a&&a.name;typeof g!="string"||w[C(g)]||Dn(e,a,g)}},zt=function(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=[e];for(;a.length>0;){let g=a.pop();if(t(g)===!1)continue;if(s&&z(g)===L.element){let y=le(g);xe(y)&&a.push(y)}let h=ae(g);if(h)for(let y=h.length-1;y>=0;--y)a.push(h[y])}},Ht=function(e){zt(e,t=>{z(t)===L.element&&kn(t)})},Bt=function(e){let t=[];return zt(e,s=>{t.push(s)},!0),t},Ho=function(e,t){let s=qt();ge(Bt(e),a=>{z(a)===L.element&&Vt(s,a)}),ge(t,a=>{z(a)===L.element&&!Je(s,a)&&kn(a)})},Nn=function(e,t){let s=!1;return ge(o.removed,a=>{a.element&&(s=s||a.element===e,Ht(a.element))}),Ho(e,t),s},Bo=8,jo=function(e,t){let s=Oe,a=null,g=()=>(a||(a=qt(),ge(t,h=>{Vt(a,h)})),a);for(let h=0;;h++){let y=Bt(e),D=[e],se=!1;if(ge(y,H=>{z(H)===L.documentFragment?Qe(D,H):!se&&!Je(s,H)&&(se=Je(g(),H))}),!se)return;if(h>=Bo)throw he("the tree kept changing during in-place sanitization; refusing to return it");ge(D,(H,j)=>{Go(H,j>0,e,g())})}},Go=function(e,t,s,a){let g=jt(e),h;for(;h=g.nextNode();)!Je(a,h)||Je(Oe,h)||(t&&Q(E.uponSanitizeShadowNode,h,null),Wt(h,s),Yt(h,s),xe(h.content)&&Xe(h.content))},Wo=function(e){Oe&&Vt(Oe,e)},In=function(e,t){return we?e==="patchsrc"?!0:e==="for"&&t!=="label"&&t!=="output":!1},Yo=function(e){we&&zt(e,t=>{let s=z(t);if(s===L.processingInstruction||s===L.comment&&M(lo,t.data)){try{$(t)}catch{}return!1}if(s===L.element){let a=t,g=C(be(t));try{a.hasAttribute&&a.hasAttribute("patchsrc")&&a.removeAttribute("patchsrc"),a.hasAttribute&&a.hasAttribute("for")&&In("for",g)&&a.removeAttribute("for")}catch{}}return!0})},Mn=function(e){let t=null,s=null;if(Lt)e="<remove></remove>"+e;else{let h=eo(e,/^[\r\n\t ]+/);s=h&&h[0]}Ve==="application/xhtml+xml"&&Pe===ie&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");let a=U?k(e):e;if(Pe===ie)try{t=new A().parseFromString(a,Ve)}catch{}if(!t||!t.documentElement){t=q.createDocument(Pe,"template",null);try{t.documentElement.innerHTML=Nt?ue:a}catch{}}let g=t.body||t.documentElement;return e&&s&&g.insertBefore(i.createTextNode(s),g.childNodes[0]||null),Pe===ie?nt.call(t,Re?"html":"body")[0]:Re?t.documentElement:g},jt=function(e){let t=ye?ye(e):e.ownerDocument;return Z.call(t||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},ft=function(e){return e=et(e,fe," "),e=et(e,rt," "),e=et(e,N," "),e},Gt=function(e){var t;Pn(e);let s=(t=e.querySelectorAll)===null||t===void 0?void 0:t.call(e,"template");s&&ge(s,a=>{xe(a.content)&&Gt(a.content)})},Pn=function(e){e.normalize();let t=ye?ye(e):e.ownerDocument,s=Z.call(t||e,e,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null),a=s.nextNode();for(;a;)a.data=ft(a.data),a=s.nextNode()},mt=function(e){let t=pe?pe(e):null;return typeof t!="string"||C(t)!=="form"?!1:typeof e.nodeName!="string"||typeof e.textContent!="string"||typeof e.removeChild!="function"||e.attributes!==Ne(e)||typeof e.removeAttribute!="function"||typeof e.removeAttributeNode!="function"||typeof e.getAttributeNode!="function"||typeof e.setAttribute!="function"||typeof e.namespaceURI!="string"||typeof e.insertBefore!="function"||typeof e.hasChildNodes!="function"||e.nodeType!==X(e)||e.childNodes!==ae(e)},xe=function(e){if(!X||typeof e!="object"||e===null)return!1;try{return X(e)===L.documentFragment}catch{return!1}},Ke=function(e){if(!X||typeof e!="object"||e===null)return!1;try{return typeof X(e)=="number"}catch{return!1}};function Q(c,e,t){c.length!==0&&ge(c,s=>{s.call(o,e,t,Ue)})}let $o=function(e,t){return!!(we&&e.hasChildNodes()&&!Ke(e.firstElementChild)&&M(en,e.textContent)&&M(en,e.innerHTML)||we&&Rr[t]&&z(e)===L.element&&We(e)===ie&&(Ke(e.firstElementChild)||typeof e.textContent=="string"&&M(en,e.textContent))||e.nodeType===L.processingInstruction||we&&e.nodeType===L.comment&&M(lo,e.data))},gt=function(e,t){if(e instanceof RegExp)return M(e,t);if(e instanceof Function){for(var s=arguments.length,a=new Array(s>2?s-2:0),g=2;g<s;g++)a[g-2]=arguments[g];return!!e(t,...a)}return!1},qo=function(e,t,s){if(!qe[t]&&zn(t)&&gt(re.tagNameCheck,t))return!1;if(Dt&&!Ce[t]&&!Ce[De(t)]){let a=ce(e),g=ae(e);if(g&&a){let h=g.length;for(let y=h-1;y>=0;--y){let D=e===s?ve(g[y],!0):g[y];a.insertBefore(D,ee(e))}}}return Ee(e),!0},Un=function(e,t,s,a){return e.length===0?t:t===s||t===a?V(t):t},ze=function(e,t){return e===t||ce(e)!==null?!1:(kt&&Ht(e),!0)},Wt=function(e,t){if(Wo(e),Q(E.beforeSanitizeElements,e,null),ze(e,t))return!0;if(mt(e))return Ee(e),!0;let s=C(be(e));if(v=Un(E.uponSanitizeElement,v,vt,at),Q(E.uponSanitizeElement,e,{tagName:s,allowedTags:v}),ze(e,t))return!0;if($o(e,s))return Ee(e),!0;if(qe[s]||!(Ae.tagCheck instanceof Function&&Ae.tagCheck(s))&&!v[s]){let a=qo(e,s,t);return a===!1&&(Q(E.afterSanitizeElements,e,null),ze(e,t))?!0:a}if(z(e)===L.element&&!zo(e)||(s==="noscript"||s==="noembed"||s==="noframes")&&M(wr,e.innerHTML))return Ee(e),!0;if(me&&e.nodeType===L.text){let a=ft(e.textContent);e.textContent!==a&&(Qe(o.removed,{element:e.cloneNode()}),e.textContent=a)}return Q(E.afterSanitizeElements,e,null),ze(e,t)},Fn=function(e,t,s){if(gn[t]||In(t,e)||yn&&(t==="id"||t==="name")&&(s in i||s in Mo))return!1;let a=w[t]||Ae.attributeCheck instanceof Function&&Ae.attributeCheck(t,e);return Rt&&M(ne,t)||hn&&M(Te,t)?!0:a?Sn[t]||M(st,et(s,oe,""))||(t==="src"||t==="xlink:href"||t==="href")&&e!=="script"&&to(s,"data:")===0&&En[e]||_n&&!M($e,et(s,oe,""))?!0:!s:zn(e)&&gt(re.tagNameCheck,e)&&gt(re.attributeNameCheck,t,e)||t==="is"&&re.allowCustomizedBuiltInElements&&gt(re.tagNameCheck,s)},Vo=T({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),zn=function(e){return!Vo[De(e)]&&M(it,e)},Ko=function(e,t,s,a){if(U&&typeof S=="object"&&typeof S.getAttributeType=="function"&&!s)switch(S.getAttributeType(e,t)){case"TrustedHTML":return k(a);case"TrustedScriptURL":return de(a)}return a},Xo=function(e,t,s,a){try{return s?e.setAttributeNS(s,t,a):e.setAttribute(t,a),mt(e)?(Ee(e),!1):!0}catch{return Fe(t,e),!1}},Hn=function(e,t){return we&&M(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,t)?!0:De(e)==="attributename"&&eo(t,"href")!==null},Yt=function(e,t){if(Q(E.beforeSanitizeAttributes,e,null),ze(e,t))return;let s=e.attributes;if(!s||mt(e))return;w=Un(E.uponSanitizeAttribute,w,wt,ct);let a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:w,forceKeepAttr:void 0},g=s.length,h=C(e.nodeName);for(;g--;){let y=s[g],D=y.name,se=y.namespaceURI,H=y.value,j=C(D),He=H,G=D==="value"?He:cr(He),Bn=!1;if(a.attrName=j,a.attrValue=G,a.keepAttr=!0,a.forceKeepAttr=void 0,Q(E.uponSanitizeAttribute,e,a),G=a.attrValue,bn&&(j==="id"||j==="name")&&to(G,Tn)!==0&&(Fe(D,e,y),G=Tn+G,Bn=!0),Hn(D,G)){Fe(D,e,y);continue}if(!a.forceKeepAttr){if(!a.keepAttr){Fe(D,e,y);continue}if(!Ot&&M(po,G)){Fe(D,e,y);continue}if(me&&(G=ft(G)),!Fn(h,j,G)){Fe(D,e,y);continue}G=Ko(h,j,se,G),G!==He&&Xo(e,D,se,G)&&Bn&&Jn(o.removed)}}Q(E.afterSanitizeAttributes,e,null),ze(e,t)},Xe=function(e){let t=null,s=jt(e);for(Q(E.beforeSanitizeShadowDOM,e,null);t=s.nextNode();)if(Q(E.uponSanitizeShadowNode,t,null),Wt(t,e),Yt(t,e),xe(t.content)&&Xe(t.content),z(t)===L.element){let a=le(t);xe(a)&&($t(a),Xe(a))}me&&Pn(e),Q(E.afterSanitizeShadowDOM,e,null)},$t=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let s=t.pop();if(s.shadow){Xe(s.shadow);continue}let a=s.node,g=z(a)===L.element,h=ae(a);if(h)for(let y=h.length-1;y>=0;--y)t.push({node:h[y],shadow:null});if(g){let y=pe?pe(a):null;if(typeof y=="string"&&C(y)==="template"){let D=a.content;xe(D)&&t.push({node:D,shadow:null})}}if(g){let y=le(a);xe(y)&&t.push({node:null,shadow:y},{node:y,shadow:null})}}};return o.sanitize=function(c){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=null,s=null,a=null,g=null;if(Nt=!c,Nt&&(c="<!-->"),typeof c!="string"&&!Ke(c)&&(c=dr(c),typeof c!="string"))throw he("dirty is not a string, aborting");if(!o.isSupported)return c;Ct?(v=at,w=ct):Ut(e),(E.uponSanitizeElement.length>0||E.uponSanitizeAttribute.length>0)&&(v=V(v)),E.uponSanitizeAttribute.length>0&&(w=V(w)),o.removed=[];let h=kt&&typeof c!="string"&&Ke(c),y=[],D=Oe;if(h){Yo(c);let j=be(c);if(typeof j=="string"){let He=C(j);if(!v[He]||qe[He])throw Ft(c),he("root node is forbidden and cannot be sanitized in-place")}if(mt(c))throw Ft(c),he("root node is clobbered and cannot be sanitized in-place");y=Bt(c),Oe=qt()}else if(Ke(c))t=Mn("<!---->"),s=t.ownerDocument.importNode(c,!0),s.nodeType===L.element&&s.nodeName==="BODY"||s.nodeName==="HTML"?t=s:t.appendChild(s),$t(t);else{if(!Ie&&!me&&!Re&&c.indexOf("<")===-1)return U&&pt?k(c):c;if(t=Mn(c),!t)return Ie?null:pt?ue:""}t&&Lt&&Ee(t.firstChild);let se=h?c:t;try{h&&$t(c);let j=jt(se);for(;a=j.nextNode();)Wt(a,se),Yt(a,se),xe(a.content)&&Xe(a.content);h&&jo(c,y)}catch(j){throw h&&(Ft(c),Nn(c,y)),j}finally{Oe=D}if(h){if(Nn(c,y))throw he("a node selected for removal could not be safely returned; refusing to sanitize in place");return me&&Gt(c),c}if(Ie){if(me&&Gt(t),lt)for(g=St.call(t.ownerDocument);t.firstChild;)g.appendChild(t.firstChild);else g=t;return(w.shadowroot||w.shadowrootmode)&&(g=ot.call(r,g,!0)),g}let H=Re?t.outerHTML:t.innerHTML;return Re&&v["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&M(Sr,t.ownerDocument.doctype.name)&&(H="<!DOCTYPE "+t.ownerDocument.doctype.name+`>
3
+ `+H),me&&(H=ft(H)),U&&pt?k(H):H},o.setConfig=function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ut(c),Ct=!0,at=v,ct=w},o.clearConfig=function(){Ue=null,Ct=!1,at=null,ct=null,U=Ye,ue=""},o.isValidAttribute=function(c,e,t){Ue||Ut({});let s=C(c),a=C(e);return typeof t=="string"&&(Hn(e,t)||!Ot&&M(po,t))?!1:Fn(s,a,t)},o.addHook=function(c,e){typeof e=="function"&&W(E,c)&&Qe(E[c],e)},o.removeHook=function(c,e){if(W(E,c)){if(e!==void 0){let t=ir(E[c],e);return t===-1?void 0:ar(E[c],t,1)[0]}return Jn(E[c])}},o.removeHooks=function(c){W(E,c)&&(E[c]=[])},o.removeAllHooks=function(){E=uo()},o}var bo=yo();function _(n,o,i){let r=document.createElement(n);return o&&(r.textContent=o),i&&(r.className=i),r}function B(n){return typeof n!="string"?"":(xo(n).textContent||"").trim()}var Ao=new Set(["A","B","BLOCKQUOTE","BR","CODE","EM","I","LI","OL","P","PRE","STRONG","U","UL"]),Eo=new Set(["H1","H2","H3","H4","H5","H6"]),To;function xo(n){return To??(To=bo(window)),To.sanitize(n,{ALLOWED_TAGS:[...Ao,...Eo].map(o=>o.toLowerCase()),ALLOWED_ATTR:["href"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1,RETURN_DOM_FRAGMENT:!0})}function So(n){let o=document.createDocumentFragment();if(typeof n!="string")return o;let i=(r,p)=>{for(let d of Array.from(r.childNodes)){if(d.nodeType===Node.TEXT_NODE){p.appendChild(document.createTextNode(d.textContent||""));continue}if(!(d instanceof Element))continue;let l=d.tagName;if(Eo.has(l)){let m=document.createElement("p"),u=document.createElement("strong");m.appendChild(u),i(d,u),p.appendChild(m)}else if(Ao.has(l)){let m=document.createElement(l.toLowerCase());if(l==="A"){let u=d.getAttribute("href")||"";/^(https?:|mailto:)/i.test(u.trim())&&(m.setAttribute("href",u.trim()),m.setAttribute("target","_blank"),m.setAttribute("rel","noopener noreferrer nofollow"))}i(d,m),p.appendChild(m)}else["SCRIPT","STYLE","TEMPLATE","NOSCRIPT"].includes(l)||i(d,p)}};return i(xo(n),o),o}var rn=4,vo="http://www.w3.org/2000/svg";function Lr(){let n=document.createElementNS(vo,"svg");n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("class","chev"),n.setAttribute("aria-hidden","true");let o=document.createElementNS(vo,"path");return o.setAttribute("d","M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"),n.append(o),n}function sn(n,o){let i=(n||[]).map(u=>B(u.data_item_name)).filter(Boolean);if(!i.length){let u=(o||[]).map(B).filter(Boolean).join(" \xB7 ");return u?_("div",u,"ps"):null}let r=_("div",void 0,"ps"),p=document.createTextNode("");r.append(p);let d=!1,l=()=>{p.data=(d?i:i.slice(0,rn)).join(", "),m.textContent=d?"show less":`+${i.length-rn} more`},m=_("button",void 0,"more");return m.type="button",m.onclick=()=>{d=!d,l()},l(),i.length>rn&&r.append(m),r}function wo(n,o,i){let r=_("div",void 0,"grp"),p=_("button",void 0,"gh");p.type="button",p.setAttribute("aria-expanded","false");let d=_("span",void 0,"gx");d.append(_("span",n,"gt")),o&&d.append(_("span",o,"gd")),p.append(d,Lr()),p.onclick=()=>{let m=!r.classList.contains("open");r.classList.toggle("open",m),p.setAttribute("aria-expanded",String(m))};let l=_("div",void 0,"gb");return i.forEach(m=>l.append(_("span",m,"gi"))),r.append(p,l),r}function an(n){if(!B(n))return null;let o=_("div",void 0,"text");return o.append(So(n)),o}function Ro({root:n,config:o,state:i,mode:r,demo:p,onClose:d,onSubmit:l,onChange:m}){n.replaceChildren();for(let f of o.purposes)f.required&&(i.choices[String(f.id)]=!0);let u=o.notice||{},A=[...u.purposes||[]],S=new Set(A.flatMap(f=>(f.sub_items||[]).map(b=>b.purpose_id))),F=o.purposes.filter(f=>!S.has(f.id));F.length&&A.push({purpose_reason:A.length?"Other purposes":"Purposes",sub_items:F.map(f=>({purpose_id:f.id,purpose_name:f.name}))});let ve=u.content?.consent_data?.find(f=>f.section_type==="initial-section")?.section_data,$=_("section",void 0,"shell"),ke=_("div",void 0,"body");if(r!=="panel"){let f=_("button","\xD7","close");f.type="button",f.setAttribute("aria-label","Close consent form"),f.onclick=()=>d(),$.append(f)}ke.append(_("h1",B(ve?.title)||o.name||"Your consent preferences"));let ee=_("form",void 0,"sec");ee.id="consent-form",ee.style.padding="0",ee.style.gap="16px";let ae=new Map,ce=[],le=()=>{ae.forEach((f,b)=>{f.forEach(x=>x.checked=!!i.choices[String(b)])}),ce.forEach(f=>{f.box.checked=f.ids.every(b=>!!i.choices[String(b)])}),ue()},Ne=(f,b)=>{if(i.busy){le();return}for(let x of f)o.purposes.find(k=>k.id===x)?.required||(i.choices[String(x)]=b);m(),le()},X=ve?.sections?.length?[...ve.sections]:[{section_type:"data_process_section",section_data:{section_title:"How we use it"}}];X.some(f=>f.section_type==="data_process_section")||X.push({section_type:"data_process_section",section_data:{section_title:"Purposes"}});let pe=u.sections_language_code&&u.sections_language_code!==o.language_code?u.sections_language_code:void 0;for(let f of X){let b=f.section_data,x=f.section_type;if(x==="link_section")continue;let k=_("div",void 0,"sec");if(x==="generic_section"){let O=an(b.section_body);O&&k.append(O),ee.append(k);continue}b.section_title&&k.append(_("p",B(b.section_title),"st"));let de=an(b.section_body);de&&k.append(de);let te=_("div",void 0,"grps");if(pe&&(te.lang=pe),x==="data_collect_section")for(let O of u.collected||[]){let q=O.sub_items||[];te.append(wo(`${B(O.data_category_name)||"Data"} (${q.length})`,B(O.desc),q.map(B)))}else if(x==="data_process_section")for(let O of A){let q=O.sub_items||[],Z=q.map(N=>N.purpose_id),St=Z.length>0&&Z.every(N=>o.purposes.find(ne=>ne.id===N)?.required);for(let N of Z){let ne=!!o.purposes.find(Te=>Te.id===N)?.required;i.choices[String(N)]=ne||!!i.choices[String(N)]}let nt=_("div",void 0,"grp pg"),ot=_("div",void 0,"ph"),E=_("span",void 0,"gx");E.append(_("span",B(O.purpose_reason)||"Purposes","gt")),O.desc&&E.append(_("span",B(O.desc),"gd"));let fe=_("input");fe.type="checkbox",fe.disabled=St,fe.setAttribute("aria-label",`Select all: ${O.purpose_reason||"purposes"}`),fe.onchange=()=>Ne(Z,fe.checked),ce.push({box:fe,ids:Z}),ot.append(E,fe);let rt=_("div",void 0,"pb");for(let N of q){let ne=o.purposes.find(st=>st.id===N.purpose_id),Te=_("div",void 0,"pr"),$e=_("label",void 0,"prh");$e.append(_("span",B(N.purpose_name||ne?.name),"pn"));let oe=_("input");oe.type="checkbox",oe.name=String(N.purpose_id),oe.disabled=!!ne?.required,oe.onchange=()=>Ne([N.purpose_id],oe.checked),ae.set(N.purpose_id,[...ae.get(N.purpose_id)||[],oe]),$e.append(oe),Te.append($e),ne?.description&&Te.append(_("p",B(ne.description),"ps"));let it=sn(N.data_items,N.data_categories);it&&Te.append(it),rt.append(Te)}nt.append(ot,_("hr",void 0,"hr"),rt),te.append(nt)}else if(x==="data_share_section"){for(let O of u.shared||[]){let q=_("div",void 0,"sh");q.append(_("span",B(O.purpose_name)||"Sharing","gt"));let Z=sn(O.data_items,O.data_categories);Z&&q.append(Z),te.append(q)}te.childElementCount||te.append(_("p","NIL","st"))}te.childElementCount&&k.append(te),ee.append(k)}le();let ye=_("div");ye.id="feedback",ye.setAttribute("aria-live","polite"),ee.append(ye),ee.onsubmit=f=>{f.preventDefault(),l()},ke.append(ee),$.append(ke);let z=ve?.buttons?.length?ve.buttons:[{button_type:"accept-all",button_text:"Accept All",button_enabled:!0},{button_type:"reject-all",button_text:"Reject All",button_enabled:!0},{button_type:"accept-necessary",button_enabled:!0,button_data:{accept_necessary_text:"Accept Necessary",accept_selected_text:"Accept Selected"}}],be=_("div",void 0,"foot"),Ge=_("div",void 0,"actions"),We=f=>{f==="accept-all"?o.purposes.forEach(b=>i.choices[String(b.id)]=!0):f==="reject-all"&&o.purposes.forEach(b=>i.choices[String(b.id)]=b.required),l()},U=[...z.filter(f=>f.button_type!=="accept-necessary"),...z.filter(f=>f.button_type==="accept-necessary")];for(let f of U){if(f.button_enabled===!1)continue;let b=f.button_type==="accept-necessary",x=_("button",void 0,b?"primary":void 0);x.type="button",x.dataset.type=f.button_type,x.textContent=b?f.button_data?.accept_necessary_text||"Accept Necessary":f.button_text||f.button_type,x.onclick=()=>We(f.button_type),b&&(x.dataset.necessary=f.button_data?.accept_necessary_text||"Accept Necessary",x.dataset.selected=f.button_data?.accept_selected_text||"Accept Selected"),Ge.append(x)}return be.append(Ge),$.append(be),n.append($),le(),(r==="popup"||r==="page")&&$.addEventListener("keydown",Ye),r!=="panel"&&!p&&($.tabIndex=-1,$.focus({preventScroll:!0})),le;function ue(){let f=n.querySelector("button.primary");if(!f?.dataset.necessary)return;let b=o.purposes.some(x=>!x.required&&i.choices[String(x.id)]);f.textContent=b?f.dataset.selected:f.dataset.necessary}function Ye(f){if(f.key==="Escape"){d();return}if(f.key!=="Tab")return;let b=[...n.querySelectorAll("button:not([disabled]),input:not([disabled]),summary,a[href]")],x=b[0],k=b[b.length-1],de=n.getRootNode().activeElement;f.shiftKey&&(de===x||de===$)?(f.preventDefault(),k?.focus()):!f.shiftKey&&(de===k||de===$)&&(f.preventDefault(),x?.focus())}}var cn=`*{box-sizing:border-box}:host{all:initial;display:block}.theme,.root{height:100%}.root{background:var(--page);color:var(--text);font:var(--fs)/1.5 var(--font)}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.shell:focus{outline:none}.shell{max-width:560px;margin:auto;background:var(--bg);height:100%;display:flex;flex-direction:column;position:relative}.body{flex:1;min-height:0;overflow:auto;padding:var(--pad) var(--pad) 8px;display:flex;flex-direction:column;gap:var(--gap)}h1{font-size:calc(var(--fs) + 2px);line-height:1.4;font-weight:700;margin:0}.sec{display:flex;flex-direction:column;gap:calc(var(--gap) * .5);padding-bottom:var(--gap)}.st{font-weight:700;margin:0}.text{margin:0;white-space:pre-wrap}.text :is(p,ul,ol,pre,blockquote){margin:0 0 .5em}.text>:last-child{margin-bottom:0}.text a{color:var(--primary)}.grps{display:flex;flex-direction:column;gap:calc(var(--gap) * .6)}.grp{border:1.2px solid var(--line);border-radius:var(--r-card)}.gh{display:flex;width:100%;gap:12px;align-items:center;padding:var(--rowy) var(--rowx);background:none;border:0;text-align:left}.gx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gt{font-weight:600}.gd{font-size:12px;font-weight:400;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:480px){.gd{-webkit-line-clamp:2}}.chev{flex-shrink:0;width:1.25em;height:1.25em;fill:currentColor;transition:transform .2s ease}.open .chev{transform:rotate(180deg)}.gb{display:none;flex-direction:column;gap:4px;padding:0 var(--rowx) var(--rowx)}.open .gb{display:flex}.gi{font-size:16px;font-weight:800}.pg{display:flex;flex-direction:column}.ph{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--rowy) var(--rowx)}.hr{border:0;border-top:1px solid var(--line);margin:0}.pb{display:flex;flex-direction:column;padding:var(--rowy) var(--rowx)}.pr{display:flex;flex-direction:column;gap:2px;padding:4px 0}.prh{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;cursor:pointer}.pn{font-size:15px;font-weight:800;min-width:0;flex:1}.ps{font-size:12px;font-weight:400;color:var(--muted);padding-right:32px}.more{background:none;border:0;padding:0;margin-left:4px;color:var(--muted);text-decoration:underline;font-size:12px}.pg input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--primary)}.sh{display:flex;flex-direction:column;gap:2px;border:1.2px solid var(--line);border-radius:var(--r-card);padding:8px 16px}.foot{position:relative;flex-shrink:0;padding:0 var(--pad) var(--pad)}.foot:before{content:"";position:absolute;left:0;right:0;top:-50px;height:50px;background:linear-gradient(to top,var(--bg),var(--bg),transparent);pointer-events:none}.actions{display:flex;flex-direction:column;gap:calc(var(--gap) * .4)}.actions button{min-height:calc(var(--btn) - 8px);padding:0 16px;border-radius:var(--r-btn);border:1px solid var(--text);background:transparent;color:var(--text);font-weight:600;width:100%}.actions button:hover:not(:disabled){background:color-mix(in srgb,var(--text) 8%,transparent)}.actions .primary{min-height:var(--btn);background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.actions .primary:hover:not(:disabled){background:var(--primary);filter:brightness(.92)}.close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:23px;line-height:1;color:var(--muted);padding:4px 10px;z-index:1}.message{padding:12px 14px;border-radius:8px;background:#eff8f2;color:#19683e}.error{background:#fff0ef;color:#a43328}.root[data-mode=page] .shell{margin:36px auto;height:auto;max-height:calc(100dvh - 72px);border-radius:calc(var(--r-card) + 6px);box-shadow:0 15px 60px #16324c12}.root[data-mode=panel]{background:var(--bg);--fs: 14px}.root[data-mode=panel] .shell{max-width:none}@media(max-width:520px){.root[data-mode=page] .shell{margin:0;border-radius:0;height:100dvh;max-height:none}}
4
+ `;var bt;function Oo(n){if("adoptedStyleSheets"in Document.prototype&&"replaceSync"in CSSStyleSheet.prototype){bt||(bt=new CSSStyleSheet,bt.replaceSync(cn)),n.adoptedStyleSheets=[bt];return}let o=document.createElement("style");o.textContent=cn,n.append(o)}var J=n=>n!==null&&typeof n=="object"&&!Array.isArray(n),Y=n=>n==null||typeof n=="string",_e=(n,o)=>n==null||Array.isArray(n)&&n.length<=1e3&&n.every(o),ln=n=>_e(n,o=>typeof o=="string"),Co=n=>_e(n,o=>J(o)&&Y(o.data_item_name));function Lo(n,o){if(!J(n)||!Y(n.sections_language_code))return!1;let i=new Set(o.map(l=>l.id)),r=new Set,p=l=>J(l)&&["accept-all","reject-all","accept-necessary"].includes(l.button_type)&&Y(l.button_text)&&(l.button_enabled===void 0||typeof l.button_enabled=="boolean")&&(l.button_data==null||J(l.button_data)&&Y(l.button_data.accept_necessary_text)&&Y(l.button_data.accept_selected_text)),d=(l,m=0)=>{if(!J(l)||typeof l.section_type!="string"||!J(l.section_data))return!1;let u=l.section_data;return m<8&&Y(u.title)&&Y(u.section_title)&&Y(u.section_body)&&_e(u.buttons,p)&&_e(u.sections,A=>d(A,m+1))};return(n.content==null||J(n.content)&&_e(n.content.consent_data,l=>d(l)))&&_e(n.purposes,l=>J(l)&&Y(l.purpose_reason)&&Y(l.desc)&&_e(l.sub_items,m=>!J(m)||!i.has(m.purpose_id)||r.has(m.purpose_id)?!1:(r.add(m.purpose_id),Y(m.purpose_name)&&Co(m.data_items)&&ln(m.data_categories))))&&_e(n.collected,l=>J(l)&&Y(l.data_category_name)&&Y(l.desc)&&ln(l.sub_items))&&_e(n.shared,l=>J(l)&&Y(l.purpose_name)&&Co(l.data_items)&&ln(l.data_categories))}var Tt=class{constructor(o){this.options=o;this.syncChecks=()=>{};this.pendingKey="";this.pendingBody="";this.needsRefresh=!1;let i=o.host.attachShadow({mode:"open"});Oo(i);let r=document.createElement("div");r.className="theme",r.lang=o.config.language_code,this.root=document.createElement("div"),this.root.className="root",this.root.dataset.mode=o.mode,r.append(this.root),i.append(r),this.appearance=Xn(r),this.appearance.apply(o.appearance),this.state={choices:{...o.choices},busy:!1}}render(){let{config:o,mode:i,demo:r=!1,onClose:p}=this.options;try{if(!Lo(o.notice,o.purposes))throw new Error("Invalid notice");this.syncChecks=Ro({root:this.root,config:o,state:this.state,mode:i,demo:r,onClose:p,onSubmit:()=>this.submit(),onChange:()=>{this.pendingKey=""}})}catch{let d="The consent form could not be displayed. Check the notice configuration and reload.",l=_("section",void 0,"shell"),m=_("p",d,"message error");m.setAttribute("role","alert");let u=_("div",void 0,"body");if(u.append(m),l.append(u),i!=="panel"){let A=_("button","\xD7","close");A.setAttribute("aria-label","Close consent form"),A.type="button",A.onclick=p,l.append(A)}this.root.replaceChildren(l),i!=="panel"&&!r&&l.querySelector("button")?.focus(),this.options.onError(new Ze(d,"form_error"))}}setAppearance(o){this.appearance.apply(o),this.render()}destroy(){this.appearance.destroy()}message(o,i=!1){let r=this.root.querySelector("#feedback");r&&(r.textContent=o,r.className=i?"message error":"message",r.setAttribute("role",i?"alert":"status"))}async submit(){let{state:o,root:i,options:r}=this;if(o.busy||this.needsRefresh)return;o.busy=!0;let p=[...i.querySelectorAll("input:not(:disabled)")];p.forEach(u=>u.disabled=!0),i.querySelectorAll("button:not(.close)").forEach(u=>u.disabled=!0);let d={config_version:r.config.config_version,language_code:r.config.language_code,answers:r.config.purposes.map(u=>({purpose_id:u.id,given:!!o.choices[String(u.id)]}))},l=JSON.stringify(d);(!this.pendingKey||this.pendingBody!==l)&&(this.pendingKey=jn(),this.pendingBody=l);let m;try{m=await r.save(d,this.pendingKey),o.choices=m.choices,this.message(r.demo?"Demo complete. No record was saved.":"Your choices are saved.")}catch(u){let A=u instanceof Error?u.message:"Your choices could not be saved. Please retry.";if(this.message(A,!0),u instanceof Ze&&u.code==="notice_changed"&&r.onRefresh){this.needsRefresh=!0;let S=_("button","Reload consent form");S.type="button",S.onclick=()=>void r.onRefresh().catch(()=>{}),i.querySelector("#feedback")?.append(S)}r.onError(u)}finally{o.busy=!1,i.querySelectorAll("button").forEach(u=>u.disabled=!1),p.forEach(u=>u.disabled=!1),this.syncChecks(),this.needsRefresh&&i.querySelectorAll(".actions button").forEach(u=>{u.disabled=!0})}m&&r.onComplete(m)}};var xt=new URLSearchParams(location.search),dn=xt.get("channel")||"",fn=xt.get("parent_origin")||"",kr=xt.get("app_id")||"",pn=xt.get("mode"),Nr=pn==="popup"||pn==="page"?pn:"panel",mn=window.parent!==window?window.parent:null,un=document.getElementById("atlas-root"),At,Et=(n,o={})=>mn?.postMessage({protocol:ht,channel:dn,type:n,...o},fn);window.addEventListener("message",n=>{if(n.source!==mn||n.origin!==fn||!Gn(n.data,dn))return;let o=n.data;if(o.type==="appearance"){At?.setAppearance(o.appearance);return}if(o.type!=="init"||At||o.demo!==!0)return;let i=o.config;!i||i.app_id!==kr||!Array.isArray(i.purposes)||(un.textContent="",At=new Tt({host:un,config:i,choices:{},mode:Nr,appearance:i.appearance,demo:!0,save:r=>Promise.resolve({ref_id:"demo-no-record",app_id:i.app_id,level_id:i.level_id,config_version:i.config_version,choices:Object.fromEntries(r.answers.map(p=>[p.purpose_id,p.given]))}),onComplete:r=>Et("complete",{result:r}),onError:r=>Et("error",{message:r instanceof Error?r.message:"Preview failed."}),onClose:()=>Et("close")}),At.render())});mn&&dn&&/^https?:\/\//.test(fn)?Et("ready"):un.textContent="This page is the Atlas dashboard preview of the consent form.";})();
5
+ /*! Bundled license information:
6
+
7
+ dompurify/dist/purify.es.mjs:
8
+ (*! @license DOMPurify 3.4.17 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.17/LICENSE *)
9
+ (*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE *)
10
+ */
@@ -0,0 +1,10 @@
1
+ var $n="https://play.dashboard.atlaskyc.com/v3/api";var Qt="1.0.0";function Yn(){if(!globalThis.crypto?.getRandomValues)throw new Error("Atlas Consent needs a secure browser context.");return[...crypto.getRandomValues(new Uint8Array(24))].map(n=>n.toString(16).padStart(2,"0")).join("")}function bt(n,t){if(!n||typeof n!="object")return!1;let o=n;return typeof o.ref_id!="string"||!o.ref_id||o.app_id!==t.app_id||o.level_id!==t.level_id||o.config_version!==t.config_version||!o.choices||typeof o.choices!="object"||Array.isArray(o.choices)?!1:Object.keys(o.choices).length===t.purposes.length&&t.purposes.every(r=>typeof o.choices[String(r.id)]=="boolean"&&(!r.required||o.choices[String(r.id)]))}var w=class extends Error{constructor(o,r,s=0){super(o);this.code=r;this.status=s;this.name="ConsentError"}};var Vn={system:'Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif',serif:"Georgia,'Times New Roman',serif",rounded:"'Trebuchet MS','Segoe UI',Verdana,'Helvetica Neue',sans-serif"},Kn={sharp:["2px","2px"],soft:["6px","6px"],round:["999px","16px"]},sr=/^#[0-9a-f]{6}$/i,De={theme:"light",primary_color:"#ae0a60",background_color:"#ffffff",text_color:"#1a202c",radius:"soft",font:"system",density:"comfortable"},Xn={background_color:"#0f172a",text_color:"#f1f5f9"};function Jn(n){let[t,o,r]=[1,3,5].map(s=>parseInt(n.slice(s,s+2),16)/255).map(s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4);return .2126*t+.7152*o+.0722*r}function Zn(n,t){let o=Jn(n),r=Jn(t);return(Math.max(o,r)+.05)/(Math.min(o,r)+.05)}function Qn(n,t,o){let r={...De,...t||{}};for(let _ of["primary_color","background_color","text_color"])(typeof r[_]!="string"||!sr.test(r[_]))&&(r[_]=De[_]);(typeof r.radius!="string"||!Object.prototype.hasOwnProperty.call(Kn,r.radius))&&(r.radius=De.radius),(typeof r.font!="string"||!Object.prototype.hasOwnProperty.call(Vn,r.font))&&(r.font=De.font),["light","dark","system"].includes(r.theme)||(r.theme=De.theme);let s=r.theme==="dark"||r.theme==="system"&&o.matches;s&&(r.background_color.toLowerCase()===De.background_color&&(r.background_color=Xn.background_color),r.text_color.toLowerCase()===De.text_color&&(r.text_color=Xn.text_color));let[d,p]=Kn[r.radius],f=r.density==="compact",u={"--primary":r.primary_color,"--bg":r.background_color,"--text":r.text_color,"--on-primary":Zn(r.primary_color,"#000000")>Zn(r.primary_color,"#ffffff")?"#000000":"#ffffff","--muted":`color-mix(in srgb,${r.text_color} 66%,${r.background_color})`,"--line":`color-mix(in srgb,${r.text_color} 14%,${r.background_color})`,"--line-strong":`color-mix(in srgb,${r.text_color} 26%,${r.background_color})`,"--tint":`color-mix(in srgb,${r.text_color} 8%,${r.background_color})`,"--page":`color-mix(in srgb,${r.text_color} 4%,${r.background_color})`,"--font":Vn[r.font],"--r-btn":d,"--r-card":p,"--pad":f?"16px":"28px","--gap":f?"10px":"20px","--fs":f?"14px":"16px","--btn":f?"42px":"52px","--rowy":f?"4px":"12px","--rowx":f?"12px":"18px"};for(let[_,S]of Object.entries(u))n.style.setProperty(_,S);n.style.colorScheme=s?"dark":"light"}function eo(n){let t=window.matchMedia("(prefers-color-scheme: dark)"),o,r=()=>{o?.theme==="system"&&Qn(n,o,t)};return t.addEventListener("change",r),{apply(s){o=s,Qn(n,s,t)},destroy(){t.removeEventListener("change",r)}}}function ar(n,t){this.v=n,this.k=t}function to(n,t){(t==null||t>n.length)&&(t=n.length);for(var o=0,r=Array(t);o<t;o++)r[o]=n[o];return r}function cr(n){if(Array.isArray(n))return n}function lr(n,t){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var r,s,d,p,f=[],u=!0,_=!1;try{if(d=(o=o.call(n)).next,t===0){if(Object(o)!==o)return;u=!1}else for(;!(u=(r=d.call(o)).done)&&(f.push(r.value),f.length!==t);u=!0);}catch(S){_=!0,s=S}finally{try{if(!u&&o.return!=null&&(p=o.return(),Object(p)!==p))return}finally{if(_)throw s}}return f}}function pr(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dr(n,t){return cr(n)||lr(n,t)||ur(n,t)||pr()}function ur(n,t){if(n){if(typeof n=="string")return to(n,t);var o={}.toString.call(n).slice(8,-1);return o==="Object"&&n.constructor&&(o=n.constructor.name),o==="Map"||o==="Set"?Array.from(n):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?to(n,t):void 0}}function vt(n){var t,o;function r(d,p){try{var f=n[d](p),u=f.value,_=u instanceof ar;Promise.resolve(_?u.v:u).then(function(S){if(_){var H=d==="return"&&u.k?d:"next";if(!u.k||S.done)return r(H,S);S=n[H](S).value}s(!!f.done,S)},function(S){r("throw",S)})}catch(S){s(2,S)}}function s(d,p){d===2?t.reject(p):t.resolve({value:p,done:d}),(t=t.next)?r(t.key,t.arg):o=null}this._invoke=function(d,p){return new Promise(function(f,u){var _={key:d,arg:p,resolve:f,reject:u,next:null};o?o=o.next=_:(t=o=_,r(d,p))})},typeof n.return!="function"&&(this.return=void 0)}vt.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},vt.prototype.next=function(n){return this._invoke("next",n)},vt.prototype.throw=function(n){return this._invoke("throw",n)},vt.prototype.return=function(n){return this._invoke("return",n)};var yo=Object.entries,no=Object.setPrototypeOf,fr=Object.isFrozen,_o=Object.getPrototypeOf,bo=Object.getOwnPropertyDescriptor,M=Object.freeze,U=Object.seal,Ge=Object.create,vo=typeof Reflect<"u"&&Reflect,pn=vo.apply,dn=vo.construct;M||(M=function(t){return t});U||(U=function(t){return t});pn||(pn=function(t,o){for(var r=arguments.length,s=new Array(r>2?r-2:0),d=2;d<r;d++)s[d-2]=arguments[d];return t.apply(o,s)});dn||(dn=function(t){for(var o=arguments.length,r=new Array(o>1?o-1:0),s=1;s<o;s++)r[s-1]=arguments[s];return new t(...r)});var ye=R(Array.prototype.forEach);Array.prototype.indexOf;var hr=R(Array.prototype.lastIndexOf),oo=R(Array.prototype.pop),et=R(Array.prototype.push),mr=R(Array.prototype.slice),gr=R(Array.prototype.splice),We=Array.isArray,en=To(Set),tn=R(Set.prototype.add),tt=R(Set.prototype.has),Ie=R(String.prototype.toLowerCase),nn=R(String.prototype.toString),ro=R(String.prototype.match),nt=R(String.prototype.replace),io=R(String.prototype.indexOf),yr=R(String.prototype.trim),_r=R(Number.prototype.toString),br=R(Boolean.prototype.toString),so=typeof BigInt>"u"?null:R(BigInt.prototype.toString),ao=typeof Symbol>"u"?null:R(Symbol.prototype.toString),q=R(Object.prototype.hasOwnProperty),ot=R(Object.prototype.toString),N=R(RegExp.prototype.test),_e=To(TypeError);function R(n){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var o=arguments.length,r=new Array(o>1?o-1:0),s=1;s<o;s++)r[s-1]=arguments[s];return pn(n,t,r)}}function To(n){return function(){for(var t=arguments.length,o=new Array(t),r=0;r<t;r++)o[r]=arguments[r];return dn(n,o)}}function T(n,t){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ie;if(no&&no(n,null),!We(t))return n;let r=t.length;for(;r--;){let s=t[r];if(typeof s=="string"){let d=o(s);d!==s&&(fr(t)||(t[r]=d),s=d)}n[s]=!0}return n}function vr(n){for(let t=0;t<n.length;t++)q(n,t)||(n[t]=null);return n}function K(n){let t=Ge(null);for(let r of yo(n)){var o=dr(r,2);let s=o[0],d=o[1];q(n,s)&&(We(d)?t[s]=vr(d):d&&typeof d=="object"&&d.constructor===Object?t[s]=K(d):t[s]=d)}return t}function Tr(n){switch(typeof n){case"string":return n;case"number":return _r(n);case"boolean":return br(n);case"bigint":return so?so(n):"0";case"symbol":return ao?ao(n):"Symbol()";case"undefined":return ot(n);case"function":case"object":{if(n===null)return ot(n);let t=n,o=J(t,"toString");if(typeof o=="function"){let r=o(t);return typeof r=="string"?r:ot(r)}return ot(n)}default:return ot(n)}}function J(n,t){for(;n!==null;){let r=bo(n,t);if(r){if(r.get)return R(r.get);if(typeof r.value=="function")return R(r.value)}n=_o(n)}function o(){return null}return o}function Er(n,t){for(;n!==null;){let o=bo(n,t);if(o)return o.get?R(o.get):null;n=_o(n)}return null}function wr(n){try{return N(n,""),!0}catch{return!1}}var co=M(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),on=M(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),rn=M(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Ar=M(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),sn=M(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Sr=M(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),lo=M(["#text"]),po=M(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),an=M(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),uo=M(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Tt=M(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),xr=U(/{{[\w\W]*|^[\w\W]*}}/g),kr=U(/<%[\w\W]*|^[\w\W]*%>/g),Rr=U(/\${[\w\W]*/g),Cr=U(/^data-[\-\w.\u00B7-\uFFFF]+$/),Or=U(/^aria-[\-\w]+$/),fo=U(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Lr=U(/^(?:\w+script|data):/i),Dr=U(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ir=U(/^html$/i),Pr=U(/^[a-z][.\w]*(-[.\w]+)+$/i),cn=U(/<[/\w!]/g),ho=U(/<[/\w]/g),Mr=U(/<\/no(script|embed|frames)/i),mo=U(/\/>/i),L={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Nr=M(T({},["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"])),Ur=function(){return typeof window>"u"?null:window},Fr=function(t,o){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null,s="data-tt-policy-suffix";o&&o.hasAttribute(s)&&(r=o.getAttribute(s));let d="dompurify"+(r?"#"+r:"");try{return t.createPolicy(d,{createHTML(p){return p},createScriptURL(p){return p}})}catch{return console.warn("TrustedTypes policy "+d+" could not be created."),null}},go=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},xe=function(t,o,r,s){return q(t,o)&&We(t[o])?T(s.base?K(s.base):{},t[o],s.transform):r},ln=function(t,o,r){let s=q(t,o)?t[o]:void 0;return s&&typeof s=="object"?K(s):r()};function Eo(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ur(),t=l=>Eo(l);if(t.version="3.4.17",t.removed=[],!n||!n.document||n.document.nodeType!==L.document||!n.Element)return t.isSupported=!1,t;let o=n.document,r=o,s=r.currentScript;n.DocumentFragment;let d=n.HTMLTemplateElement,p=n.Node,f=n.Element,u=n.NodeFilter;n.NamedNodeMap===void 0&&(n.NamedNodeMap||n.MozNamedAttrMap),n.HTMLFormElement;let _=n.DOMParser,S=n.trustedTypes,H=f.prototype,ke=J(H,"cloneNode"),Y=J(H,"remove"),Pe=J(H,"removeAttributeNode"),ne=J(H,"nextSibling"),le=J(H,"childNodes"),pe=J(H,"parentNode"),de=J(H,"shadowRoot"),Me=J(H,"attributes"),Z=p&&p.prototype?J(p.prototype,"nodeType"):null,ue=p&&p.prototype?J(p.prototype,"nodeName"):null,ve=p&&p.prototype?J(p.prototype,"ownerDocument"):null,z=function(e){return Z?Z(e):e.nodeType},Te=function(e){return ue?ue(e):e.nodeName},$e=Er(H,"namespaceURI"),Ye=function(e){return $e?$e(e):e.namespaceURI};if(typeof d=="function"){let l=o.createElement("template");l.content&&l.content.ownerDocument&&(o=l.content.ownerDocument)}let F,fe="",Ve,h=!1,v=0,A=function(){if(v>0)throw _e('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},I=function(e){A(),v++;try{return F.createHTML(e)}finally{v--}},he=function(e){A(),v++;try{return F.createScriptURL(e)}finally{v--}},oe=function(){return h||(Ve=Fr(S,s),h=!0),Ve},C=o,V=C.implementation,Q=C.createNodeIterator,Ot=C.createDocumentFragment,it=C.getElementsByTagName,st=r.importNode,E=go();t.isSupported=typeof yo=="function"&&typeof pe=="function"&&V&&V.createHTMLDocument!==void 0;let me=xr,at=kr,P=Rr,re=Cr,Ee=Or,Ke=Lr,ie=Dr,ct=Pr,lt=fo,x=null,Lt=T({},[...co,...on,...rn,...sn,...lo]),k=null,Dt=T({},[...po,...an,...uo,...Tt]),se=Object.seal(Ge(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Xe=null,bn=null,we=Object.seal(Ge(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),vn=!0,It=!0,Tn=!1,Pt=!0,ge=!1,Re=!0,Ce=!1,Mt=!1,pt=null,dt=null,Nt=!1,Ne=!1,ut=!1,ft=!1,En=!0,wn=!1,An="user-content-",Ut=!0,Ft=!1,Oe=null,Ue={},Le=null,Sn=T({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),xn=null,kn=T({},["audio","video","img","source","image","track"]),Rn=null,Cn=T({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ht="http://www.w3.org/1998/Math/MathML",mt="http://www.w3.org/2000/svg",ae="http://www.w3.org/1999/xhtml",Fe=ae,Ht=!1,zt=null,zo=T({},[ht,mt,ae],nn),On=M(["mi","mo","mn","ms","mtext"]),Bt=T({},On),Ln=M(["annotation-xml"]),jt=T({},Ln),Bo=T({},["title","style","font","a","script"]),Je=null,jo=["application/xhtml+xml","text/html"],Go="text/html",O=null,He=null,Wo=o.createElement("form"),Dn=function(e){return e instanceof RegExp||e instanceof Function},Gt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(He&&He===e)return;(!e||typeof e!="object")&&(e={}),e=K(e),Je=jo.indexOf(e.PARSER_MEDIA_TYPE)===-1?Go:e.PARSER_MEDIA_TYPE,O=Je==="application/xhtml+xml"?nn:Ie,x=xe(e,"ALLOWED_TAGS",Lt,{transform:O}),k=xe(e,"ALLOWED_ATTR",Dt,{transform:O}),zt=xe(e,"ALLOWED_NAMESPACES",zo,{transform:nn}),Rn=xe(e,"ADD_URI_SAFE_ATTR",Cn,{transform:O,base:Cn}),xn=xe(e,"ADD_DATA_URI_TAGS",kn,{transform:O,base:kn}),Le=xe(e,"FORBID_CONTENTS",Sn,{transform:O}),Xe=xe(e,"FORBID_TAGS",K({}),{transform:O}),bn=xe(e,"FORBID_ATTR",K({}),{transform:O}),Ue=q(e,"USE_PROFILES")?e.USE_PROFILES&&typeof e.USE_PROFILES=="object"?K(e.USE_PROFILES):e.USE_PROFILES:!1,vn=e.ALLOW_ARIA_ATTR!==!1,It=e.ALLOW_DATA_ATTR!==!1,Tn=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Pt=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ge=e.SAFE_FOR_TEMPLATES||!1,Re=e.SAFE_FOR_XML!==!1,Ce=e.WHOLE_DOCUMENT||!1,Ne=e.RETURN_DOM||!1,ut=e.RETURN_DOM_FRAGMENT||!1,ft=e.RETURN_TRUSTED_TYPE||!1,Nt=e.FORCE_BODY||!1,En=e.SANITIZE_DOM!==!1,wn=e.SANITIZE_NAMED_PROPS||!1,Ut=e.KEEP_CONTENT!==!1,Ft=e.IN_PLACE||!1,lt=wr(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:fo,Fe=typeof e.NAMESPACE=="string"?e.NAMESPACE:ae,Bt=ln(e,"MATHML_TEXT_INTEGRATION_POINTS",()=>T({},On)),jt=ln(e,"HTML_INTEGRATION_POINTS",()=>T({},Ln));let i=ln(e,"CUSTOM_ELEMENT_HANDLING",()=>Ge(null));if(se=Ge(null),q(i,"tagNameCheck")&&Dn(i.tagNameCheck)&&(se.tagNameCheck=i.tagNameCheck),q(i,"attributeNameCheck")&&Dn(i.attributeNameCheck)&&(se.attributeNameCheck=i.attributeNameCheck),q(i,"allowCustomizedBuiltInElements")&&typeof i.allowCustomizedBuiltInElements=="boolean"&&(se.allowCustomizedBuiltInElements=i.allowCustomizedBuiltInElements),U(se),ge&&(It=!1),ut&&(Ne=!0),Ue&&(x=T({},lo),k=Ge(null),Ue.html===!0&&(T(x,co),T(k,po)),Ue.svg===!0&&(T(x,on),T(k,an),T(k,Tt)),Ue.svgFilters===!0&&(T(x,rn),T(k,an),T(k,Tt)),Ue.mathMl===!0&&(T(x,sn),T(k,uo),T(k,Tt))),we.tagCheck=null,we.attributeCheck=null,q(e,"ADD_TAGS")&&(typeof e.ADD_TAGS=="function"?we.tagCheck=e.ADD_TAGS:We(e.ADD_TAGS)&&(x===Lt&&(x=K(x)),T(x,e.ADD_TAGS,O))),q(e,"ADD_ATTR")&&(typeof e.ADD_ATTR=="function"?we.attributeCheck=e.ADD_ATTR:We(e.ADD_ATTR)&&(k===Dt&&(k=K(k)),T(k,e.ADD_ATTR,O))),q(e,"ADD_FORBID_CONTENTS")&&We(e.ADD_FORBID_CONTENTS)&&(Le===Sn&&(Le=K(Le)),T(Le,e.ADD_FORBID_CONTENTS,O)),Ut&&(x["#text"]=!0),Ce&&T(x,["html","head","body"]),x.table&&(T(x,["tbody"]),delete Xe.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!="function")throw _e('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw _e('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let a=F;F=e.TRUSTED_TYPES_POLICY;try{fe=I("")}catch(c){throw F=a,c}}else e.TRUSTED_TYPES_POLICY===null?(F=void 0,fe=""):(F===void 0&&(F=oe()),F&&typeof fe=="string"&&(fe=I("")));M&&M(e),He=e},In=T({},[...on,...rn,...Ar]),Pn=T({},[...sn,...Sr]),qo=function(e,i,a){return i.namespaceURI===ae?e==="svg":i.namespaceURI===ht?e==="svg"&&(a==="annotation-xml"||Bt[a]):!!In[e]},$o=function(e,i,a){return i.namespaceURI===ae?e==="math":i.namespaceURI===mt?e==="math"&&jt[a]:!!Pn[e]},Yo=function(e,i,a){return i.namespaceURI===mt&&!jt[a]||i.namespaceURI===ht&&!Bt[a]?!1:!Pn[e]&&(Bo[e]||!In[e])},Vo=function(e){let i=Ye(e),a=Ie(Te(e)),c=pe(e),m,g;return c&&z(c)===L.element?(m={namespaceURI:Ye(c)},g=Ie(Te(c))):(m={namespaceURI:Fe},g="template"),zt[i]?i===mt?qo(a,m,g):i===ht?$o(a,m,g):i===ae?Yo(a,m,g):!!(Je==="application/xhtml+xml"&&zt[i]):!1},Ae=function(e){et(t.removed,{element:e});try{pe(e).removeChild(e)}catch{if(Y(e),!pe(e))throw _e("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Mn=function(e,i,a){try{Pe(e,i)}catch{try{e.removeAttribute(a)}catch{}}},Wt=function(e){$t(e);let i=le(e);i&&ye(mr(i),c=>{try{Y(c)}catch{}});let a=z(e)===L.element?Me(e):null;if(a)for(let c=a.length-1;c>=0;--c){let m=a[c],g=m&&m.name;typeof g=="string"&&Mn(e,m,g)}},ze=function(e,i,a){if(!a)try{a=i.getAttributeNode(e)}catch{a=null}et(t.removed,{attribute:a||null,from:i});try{a?Pe(i,a):i.removeAttribute(e)}catch{try{i.removeAttribute(e)}catch{}}if(e==="is")if(Ne||ut)try{Ae(i)}catch{}else try{i.setAttribute(e,"")}catch{}},Nn=function(e){let i=Me(e);if(i)for(let a=i.length-1;a>=0;--a){let c=i[a],m=c&&c.name;typeof m!="string"||k[O(m)]||Mn(e,c,m)}},qt=function(e,i){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,c=[e];for(;c.length>0;){let m=c.pop();if(i(m)===!1)continue;if(a&&z(m)===L.element){let b=de(m);Se(b)&&c.push(b)}let g=le(m);if(g)for(let b=g.length-1;b>=0;--b)c.push(g[b])}},$t=function(e){qt(e,i=>{z(i)===L.element&&Nn(i)})},Yt=function(e){let i=[];return qt(e,a=>{i.push(a)},!0),i},Ko=function(e,i){let a=en();ye(Yt(e),c=>{z(c)===L.element&&tn(a,c)}),ye(i,c=>{z(c)===L.element&&!tt(a,c)&&Nn(c)})},Un=function(e,i){let a=!1;return ye(t.removed,c=>{c.element&&(a=a||c.element===e,$t(c.element))}),Ko(e,i),a},Xo=8,Jo=function(e,i){let a=Oe,c=null,m=()=>(c||(c=en(),ye(i,g=>{tn(c,g)})),c);for(let g=0;;g++){let b=Yt(e),D=[e],ce=!1;if(ye(b,B=>{z(B)===L.documentFragment?et(D,B):!ce&&!tt(a,B)&&(ce=tt(m(),B))}),!ce)return;if(g>=Xo)throw _e("the tree kept changing during in-place sanitization; refusing to return it");ye(D,(B,G)=>{Zo(B,G>0,e,m())})}},Zo=function(e,i,a,c){let m=Vt(e),g;for(;g=m.nextNode();)!tt(c,g)||tt(Oe,g)||(i&&ee(E.uponSanitizeShadowNode,g,null),Xt(g,a),Jt(g,a),Se(g.content)&&Qe(g.content))},Qo=function(e){Oe&&tn(Oe,e)},Fn=function(e,i){return Re?e==="patchsrc"?!0:e==="for"&&i!=="label"&&i!=="output":!1},er=function(e){Re&&qt(e,i=>{let a=z(i);if(a===L.processingInstruction||a===L.comment&&N(ho,i.data)){try{Y(i)}catch{}return!1}if(a===L.element){let c=i,m=O(Te(i));try{c.hasAttribute&&c.hasAttribute("patchsrc")&&c.removeAttribute("patchsrc"),c.hasAttribute&&c.hasAttribute("for")&&Fn("for",m)&&c.removeAttribute("for")}catch{}}return!0})},Hn=function(e){let i=null,a=null;if(Nt)e="<remove></remove>"+e;else{let g=ro(e,/^[\r\n\t ]+/);a=g&&g[0]}Je==="application/xhtml+xml"&&Fe===ae&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");let c=F?I(e):e;if(Fe===ae)try{i=new _().parseFromString(c,Je)}catch{}if(!i||!i.documentElement){i=V.createDocument(Fe,"template",null);try{i.documentElement.innerHTML=Ht?fe:c}catch{}}let m=i.body||i.documentElement;return e&&a&&m.insertBefore(o.createTextNode(a),m.childNodes[0]||null),Fe===ae?it.call(i,Ce?"html":"body")[0]:Ce?i.documentElement:m},Vt=function(e){let i=ve?ve(e):e.ownerDocument;return Q.call(i||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},gt=function(e){return e=nt(e,me," "),e=nt(e,at," "),e=nt(e,P," "),e},Kt=function(e){var i;zn(e);let a=(i=e.querySelectorAll)===null||i===void 0?void 0:i.call(e,"template");a&&ye(a,c=>{Se(c.content)&&Kt(c.content)})},zn=function(e){e.normalize();let i=ve?ve(e):e.ownerDocument,a=Q.call(i||e,e,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null),c=a.nextNode();for(;c;)c.data=gt(c.data),c=a.nextNode()},yt=function(e){let i=ue?ue(e):null;return typeof i!="string"||O(i)!=="form"?!1:typeof e.nodeName!="string"||typeof e.textContent!="string"||typeof e.removeChild!="function"||e.attributes!==Me(e)||typeof e.removeAttribute!="function"||typeof e.removeAttributeNode!="function"||typeof e.getAttributeNode!="function"||typeof e.setAttribute!="function"||typeof e.namespaceURI!="string"||typeof e.insertBefore!="function"||typeof e.hasChildNodes!="function"||e.nodeType!==Z(e)||e.childNodes!==le(e)},Se=function(e){if(!Z||typeof e!="object"||e===null)return!1;try{return Z(e)===L.documentFragment}catch{return!1}},Ze=function(e){if(!Z||typeof e!="object"||e===null)return!1;try{return typeof Z(e)=="number"}catch{return!1}};function ee(l,e,i){l.length!==0&&ye(l,a=>{a.call(t,e,i,He)})}let tr=function(e,i){return!!(Re&&e.hasChildNodes()&&!Ze(e.firstElementChild)&&N(cn,e.textContent)&&N(cn,e.innerHTML)||Re&&Nr[i]&&z(e)===L.element&&Ye(e)===ae&&(Ze(e.firstElementChild)||typeof e.textContent=="string"&&N(cn,e.textContent))||e.nodeType===L.processingInstruction||Re&&e.nodeType===L.comment&&N(ho,e.data))},_t=function(e,i){if(e instanceof RegExp)return N(e,i);if(e instanceof Function){for(var a=arguments.length,c=new Array(a>2?a-2:0),m=2;m<a;m++)c[m-2]=arguments[m];return!!e(i,...c)}return!1},nr=function(e,i,a){if(!Xe[i]&&Gn(i)&&_t(se.tagNameCheck,i))return!1;if(Ut&&!Le[i]&&!Le[Ie(i)]){let c=pe(e),m=le(e);if(m&&c){let g=m.length;for(let b=g-1;b>=0;--b){let D=e===a?ke(m[b],!0):m[b];c.insertBefore(D,ne(e))}}}return Ae(e),!0},Bn=function(e,i,a,c){return e.length===0?i:i===a||i===c?K(i):i},Be=function(e,i){return e===i||pe(e)!==null?!1:(Ft&&$t(e),!0)},Xt=function(e,i){if(Qo(e),ee(E.beforeSanitizeElements,e,null),Be(e,i))return!0;if(yt(e))return Ae(e),!0;let a=O(Te(e));if(x=Bn(E.uponSanitizeElement,x,Lt,pt),ee(E.uponSanitizeElement,e,{tagName:a,allowedTags:x}),Be(e,i))return!0;if(tr(e,a))return Ae(e),!0;if(Xe[a]||!(we.tagCheck instanceof Function&&we.tagCheck(a))&&!x[a]){let c=nr(e,a,i);return c===!1&&(ee(E.afterSanitizeElements,e,null),Be(e,i))?!0:c}if(z(e)===L.element&&!Vo(e)||(a==="noscript"||a==="noembed"||a==="noframes")&&N(Mr,e.innerHTML))return Ae(e),!0;if(ge&&e.nodeType===L.text){let c=gt(e.textContent);e.textContent!==c&&(et(t.removed,{element:e.cloneNode()}),e.textContent=c)}return ee(E.afterSanitizeElements,e,null),Be(e,i)},jn=function(e,i,a){if(bn[i]||Fn(i,e)||En&&(i==="id"||i==="name")&&(a in o||a in Wo))return!1;let c=k[i]||we.attributeCheck instanceof Function&&we.attributeCheck(i,e);return It&&N(re,i)||vn&&N(Ee,i)?!0:c?Rn[i]||N(lt,nt(a,ie,""))||(i==="src"||i==="xlink:href"||i==="href")&&e!=="script"&&io(a,"data:")===0&&xn[e]||Tn&&!N(Ke,nt(a,ie,""))?!0:!a:Gn(e)&&_t(se.tagNameCheck,e)&&_t(se.attributeNameCheck,i,e)||i==="is"&&se.allowCustomizedBuiltInElements&&_t(se.tagNameCheck,a)},or=T({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Gn=function(e){return!or[Ie(e)]&&N(ct,e)},rr=function(e,i,a,c){if(F&&typeof S=="object"&&typeof S.getAttributeType=="function"&&!a)switch(S.getAttributeType(e,i)){case"TrustedHTML":return I(c);case"TrustedScriptURL":return he(c)}return c},ir=function(e,i,a,c){try{return a?e.setAttributeNS(a,i,c):e.setAttribute(i,c),yt(e)?(Ae(e),!1):!0}catch{return ze(i,e),!1}},Wn=function(e,i){return Re&&N(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,i)?!0:Ie(e)==="attributename"&&ro(i,"href")!==null},Jt=function(e,i){if(ee(E.beforeSanitizeAttributes,e,null),Be(e,i))return;let a=e.attributes;if(!a||yt(e))return;k=Bn(E.uponSanitizeAttribute,k,Dt,dt);let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:k,forceKeepAttr:void 0},m=a.length,g=O(e.nodeName);for(;m--;){let b=a[m],D=b.name,ce=b.namespaceURI,B=b.value,G=O(D),je=B,W=D==="value"?je:yr(je),qn=!1;if(c.attrName=G,c.attrValue=W,c.keepAttr=!0,c.forceKeepAttr=void 0,ee(E.uponSanitizeAttribute,e,c),W=c.attrValue,wn&&(G==="id"||G==="name")&&io(W,An)!==0&&(ze(D,e,b),W=An+W,qn=!0),Wn(D,W)){ze(D,e,b);continue}if(!c.forceKeepAttr){if(!c.keepAttr){ze(D,e,b);continue}if(!Pt&&N(mo,W)){ze(D,e,b);continue}if(ge&&(W=gt(W)),!jn(g,G,W)){ze(D,e,b);continue}W=rr(g,G,ce,W),W!==je&&ir(e,D,ce,W)&&qn&&oo(t.removed)}}ee(E.afterSanitizeAttributes,e,null),Be(e,i)},Qe=function(e){let i=null,a=Vt(e);for(ee(E.beforeSanitizeShadowDOM,e,null);i=a.nextNode();)if(ee(E.uponSanitizeShadowNode,i,null),Xt(i,e),Jt(i,e),Se(i.content)&&Qe(i.content),z(i)===L.element){let c=de(i);Se(c)&&(Zt(c),Qe(c))}ge&&zn(e),ee(E.afterSanitizeShadowDOM,e,null)},Zt=function(e){let i=[{node:e,shadow:null}];for(;i.length>0;){let a=i.pop();if(a.shadow){Qe(a.shadow);continue}let c=a.node,m=z(c)===L.element,g=le(c);if(g)for(let b=g.length-1;b>=0;--b)i.push({node:g[b],shadow:null});if(m){let b=ue?ue(c):null;if(typeof b=="string"&&O(b)==="template"){let D=c.content;Se(D)&&i.push({node:D,shadow:null})}}if(m){let b=de(c);Se(b)&&i.push({node:null,shadow:b},{node:b,shadow:null})}}};return t.sanitize=function(l){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,c=null,m=null;if(Ht=!l,Ht&&(l="<!-->"),typeof l!="string"&&!Ze(l)&&(l=Tr(l),typeof l!="string"))throw _e("dirty is not a string, aborting");if(!t.isSupported)return l;Mt?(x=pt,k=dt):Gt(e),(E.uponSanitizeElement.length>0||E.uponSanitizeAttribute.length>0)&&(x=K(x)),E.uponSanitizeAttribute.length>0&&(k=K(k)),t.removed=[];let g=Ft&&typeof l!="string"&&Ze(l),b=[],D=Oe;if(g){er(l);let G=Te(l);if(typeof G=="string"){let je=O(G);if(!x[je]||Xe[je])throw Wt(l),_e("root node is forbidden and cannot be sanitized in-place")}if(yt(l))throw Wt(l),_e("root node is clobbered and cannot be sanitized in-place");b=Yt(l),Oe=en()}else if(Ze(l))i=Hn("<!---->"),a=i.ownerDocument.importNode(l,!0),a.nodeType===L.element&&a.nodeName==="BODY"||a.nodeName==="HTML"?i=a:i.appendChild(a),Zt(i);else{if(!Ne&&!ge&&!Ce&&l.indexOf("<")===-1)return F&&ft?I(l):l;if(i=Hn(l),!i)return Ne?null:ft?fe:""}i&&Nt&&Ae(i.firstChild);let ce=g?l:i;try{g&&Zt(l);let G=Vt(ce);for(;c=G.nextNode();)Xt(c,ce),Jt(c,ce),Se(c.content)&&Qe(c.content);g&&Jo(l,b)}catch(G){throw g&&(Wt(l),Un(l,b)),G}finally{Oe=D}if(g){if(Un(l,b))throw _e("a node selected for removal could not be safely returned; refusing to sanitize in place");return ge&&Kt(l),l}if(Ne){if(ge&&Kt(i),ut)for(m=Ot.call(i.ownerDocument);i.firstChild;)m.appendChild(i.firstChild);else m=i;return(k.shadowroot||k.shadowrootmode)&&(m=st.call(r,m,!0)),m}let B=Ce?i.outerHTML:i.innerHTML;return Ce&&x["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&N(Ir,i.ownerDocument.doctype.name)&&(B="<!DOCTYPE "+i.ownerDocument.doctype.name+`>
3
+ `+B),ge&&(B=gt(B)),F&&ft?I(B):B},t.setConfig=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Gt(l),Mt=!0,pt=x,dt=k},t.clearConfig=function(){He=null,Mt=!1,pt=null,dt=null,F=Ve,fe=""},t.isValidAttribute=function(l,e,i){He||Gt({});let a=O(l),c=O(e);return typeof i=="string"&&(Wn(e,i)||!Pt&&N(mo,i))?!1:jn(a,c,i)},t.addHook=function(l,e){typeof e=="function"&&q(E,l)&&et(E[l],e)},t.removeHook=function(l,e){if(q(E,l)){if(e!==void 0){let i=hr(E[l],e);return i===-1?void 0:gr(E[l],i,1)[0]}return oo(E[l])}},t.removeHooks=function(l){q(E,l)&&(E[l]=[])},t.removeAllHooks=function(){E=go()},t}var wo=Eo();function y(n,t,o){let r=document.createElement(n);return t&&(r.textContent=t),o&&(r.className=o),r}function j(n){return typeof n!="string"?"":(ko(n).textContent||"").trim()}var So=new Set(["A","B","BLOCKQUOTE","BR","CODE","EM","I","LI","OL","P","PRE","STRONG","U","UL"]),xo=new Set(["H1","H2","H3","H4","H5","H6"]),Ao;function ko(n){return Ao??(Ao=wo(window)),Ao.sanitize(n,{ALLOWED_TAGS:[...So,...xo].map(t=>t.toLowerCase()),ALLOWED_ATTR:["href"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1,RETURN_DOM_FRAGMENT:!0})}function Ro(n){let t=document.createDocumentFragment();if(typeof n!="string")return t;let o=(r,s)=>{for(let d of Array.from(r.childNodes)){if(d.nodeType===Node.TEXT_NODE){s.appendChild(document.createTextNode(d.textContent||""));continue}if(!(d instanceof Element))continue;let p=d.tagName;if(xo.has(p)){let f=document.createElement("p"),u=document.createElement("strong");f.appendChild(u),o(d,u),s.appendChild(f)}else if(So.has(p)){let f=document.createElement(p.toLowerCase());if(p==="A"){let u=d.getAttribute("href")||"";/^(https?:|mailto:)/i.test(u.trim())&&(f.setAttribute("href",u.trim()),f.setAttribute("target","_blank"),f.setAttribute("rel","noopener noreferrer nofollow"))}o(d,f),s.appendChild(f)}else["SCRIPT","STYLE","TEMPLATE","NOSCRIPT"].includes(p)||o(d,s)}};return o(ko(n),t),t}var un=4,Co="http://www.w3.org/2000/svg";function Hr(){let n=document.createElementNS(Co,"svg");n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("class","chev"),n.setAttribute("aria-hidden","true");let t=document.createElementNS(Co,"path");return t.setAttribute("d","M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"),n.append(t),n}function fn(n,t){let o=(n||[]).map(u=>j(u.data_item_name)).filter(Boolean);if(!o.length){let u=(t||[]).map(j).filter(Boolean).join(" \xB7 ");return u?y("div",u,"ps"):null}let r=y("div",void 0,"ps"),s=document.createTextNode("");r.append(s);let d=!1,p=()=>{s.data=(d?o:o.slice(0,un)).join(", "),f.textContent=d?"show less":`+${o.length-un} more`},f=y("button",void 0,"more");return f.type="button",f.onclick=()=>{d=!d,p()},p(),o.length>un&&r.append(f),r}function Oo(n,t,o){let r=y("div",void 0,"grp"),s=y("button",void 0,"gh");s.type="button",s.setAttribute("aria-expanded","false");let d=y("span",void 0,"gx");d.append(y("span",n,"gt")),t&&d.append(y("span",t,"gd")),s.append(d,Hr()),s.onclick=()=>{let f=!r.classList.contains("open");r.classList.toggle("open",f),s.setAttribute("aria-expanded",String(f))};let p=y("div",void 0,"gb");return o.forEach(f=>p.append(y("span",f,"gi"))),r.append(s,p),r}function hn(n){if(!j(n))return null;let t=y("div",void 0,"text");return t.append(Ro(n)),t}function Lo({root:n,config:t,state:o,mode:r,demo:s,onClose:d,onSubmit:p,onChange:f}){n.replaceChildren();for(let h of t.purposes)h.required&&(o.choices[String(h.id)]=!0);let u=t.notice||{},_=[...u.purposes||[]],S=new Set(_.flatMap(h=>(h.sub_items||[]).map(v=>v.purpose_id))),H=t.purposes.filter(h=>!S.has(h.id));H.length&&_.push({purpose_reason:_.length?"Other purposes":"Purposes",sub_items:H.map(h=>({purpose_id:h.id,purpose_name:h.name}))});let ke=u.content?.consent_data?.find(h=>h.section_type==="initial-section")?.section_data,Y=y("section",void 0,"shell"),Pe=y("div",void 0,"body");if(r!=="panel"){let h=y("button","\xD7","close");h.type="button",h.setAttribute("aria-label","Close consent form"),h.onclick=()=>d(),Y.append(h)}Pe.append(y("h1",j(ke?.title)||t.name||"Your consent preferences"));let ne=y("form",void 0,"sec");ne.id="consent-form",ne.style.padding="0",ne.style.gap="16px";let le=new Map,pe=[],de=()=>{le.forEach((h,v)=>{h.forEach(A=>A.checked=!!o.choices[String(v)])}),pe.forEach(h=>{h.box.checked=h.ids.every(v=>!!o.choices[String(v)])}),fe()},Me=(h,v)=>{if(o.busy){de();return}for(let A of h)t.purposes.find(I=>I.id===A)?.required||(o.choices[String(A)]=v);f(),de()},Z=ke?.sections?.length?[...ke.sections]:[{section_type:"data_process_section",section_data:{section_title:"How we use it"}}];Z.some(h=>h.section_type==="data_process_section")||Z.push({section_type:"data_process_section",section_data:{section_title:"Purposes"}});let ue=u.sections_language_code&&u.sections_language_code!==t.language_code?u.sections_language_code:void 0;for(let h of Z){let v=h.section_data,A=h.section_type;if(A==="link_section")continue;let I=y("div",void 0,"sec");if(A==="generic_section"){let C=hn(v.section_body);C&&I.append(C),ne.append(I);continue}v.section_title&&I.append(y("p",j(v.section_title),"st"));let he=hn(v.section_body);he&&I.append(he);let oe=y("div",void 0,"grps");if(ue&&(oe.lang=ue),A==="data_collect_section")for(let C of u.collected||[]){let V=C.sub_items||[];oe.append(Oo(`${j(C.data_category_name)||"Data"} (${V.length})`,j(C.desc),V.map(j)))}else if(A==="data_process_section")for(let C of _){let V=C.sub_items||[],Q=V.map(P=>P.purpose_id),Ot=Q.length>0&&Q.every(P=>t.purposes.find(re=>re.id===P)?.required);for(let P of Q){let re=!!t.purposes.find(Ee=>Ee.id===P)?.required;o.choices[String(P)]=re||!!o.choices[String(P)]}let it=y("div",void 0,"grp pg"),st=y("div",void 0,"ph"),E=y("span",void 0,"gx");E.append(y("span",j(C.purpose_reason)||"Purposes","gt")),C.desc&&E.append(y("span",j(C.desc),"gd"));let me=y("input");me.type="checkbox",me.disabled=Ot,me.setAttribute("aria-label",`Select all: ${C.purpose_reason||"purposes"}`),me.onchange=()=>Me(Q,me.checked),pe.push({box:me,ids:Q}),st.append(E,me);let at=y("div",void 0,"pb");for(let P of V){let re=t.purposes.find(lt=>lt.id===P.purpose_id),Ee=y("div",void 0,"pr"),Ke=y("label",void 0,"prh");Ke.append(y("span",j(P.purpose_name||re?.name),"pn"));let ie=y("input");ie.type="checkbox",ie.name=String(P.purpose_id),ie.disabled=!!re?.required,ie.onchange=()=>Me([P.purpose_id],ie.checked),le.set(P.purpose_id,[...le.get(P.purpose_id)||[],ie]),Ke.append(ie),Ee.append(Ke),re?.description&&Ee.append(y("p",j(re.description),"ps"));let ct=fn(P.data_items,P.data_categories);ct&&Ee.append(ct),at.append(Ee)}it.append(st,y("hr",void 0,"hr"),at),oe.append(it)}else if(A==="data_share_section"){for(let C of u.shared||[]){let V=y("div",void 0,"sh");V.append(y("span",j(C.purpose_name)||"Sharing","gt"));let Q=fn(C.data_items,C.data_categories);Q&&V.append(Q),oe.append(V)}oe.childElementCount||oe.append(y("p","NIL","st"))}oe.childElementCount&&I.append(oe),ne.append(I)}de();let ve=y("div");ve.id="feedback",ve.setAttribute("aria-live","polite"),ne.append(ve),ne.onsubmit=h=>{h.preventDefault(),p()},Pe.append(ne),Y.append(Pe);let z=ke?.buttons?.length?ke.buttons:[{button_type:"accept-all",button_text:"Accept All",button_enabled:!0},{button_type:"reject-all",button_text:"Reject All",button_enabled:!0},{button_type:"accept-necessary",button_enabled:!0,button_data:{accept_necessary_text:"Accept Necessary",accept_selected_text:"Accept Selected"}}],Te=y("div",void 0,"foot"),$e=y("div",void 0,"actions"),Ye=h=>{h==="accept-all"?t.purposes.forEach(v=>o.choices[String(v.id)]=!0):h==="reject-all"&&t.purposes.forEach(v=>o.choices[String(v.id)]=v.required),p()},F=[...z.filter(h=>h.button_type!=="accept-necessary"),...z.filter(h=>h.button_type==="accept-necessary")];for(let h of F){if(h.button_enabled===!1)continue;let v=h.button_type==="accept-necessary",A=y("button",void 0,v?"primary":void 0);A.type="button",A.dataset.type=h.button_type,A.textContent=v?h.button_data?.accept_necessary_text||"Accept Necessary":h.button_text||h.button_type,A.onclick=()=>Ye(h.button_type),v&&(A.dataset.necessary=h.button_data?.accept_necessary_text||"Accept Necessary",A.dataset.selected=h.button_data?.accept_selected_text||"Accept Selected"),$e.append(A)}return Te.append($e),Y.append(Te),n.append(Y),de(),(r==="popup"||r==="page")&&Y.addEventListener("keydown",Ve),r!=="panel"&&!s&&(Y.tabIndex=-1,Y.focus({preventScroll:!0})),de;function fe(){let h=n.querySelector("button.primary");if(!h?.dataset.necessary)return;let v=t.purposes.some(A=>!A.required&&o.choices[String(A.id)]);h.textContent=v?h.dataset.selected:h.dataset.necessary}function Ve(h){if(h.key==="Escape"){d();return}if(h.key!=="Tab")return;let v=[...n.querySelectorAll("button:not([disabled]),input:not([disabled]),summary,a[href]")],A=v[0],I=v[v.length-1],he=n.getRootNode().activeElement;h.shiftKey&&(he===A||he===Y)?(h.preventDefault(),I?.focus()):!h.shiftKey&&(he===I||he===Y)&&(h.preventDefault(),A?.focus())}}var mn=`*{box-sizing:border-box}:host{all:initial;display:block}.theme,.root{height:100%}.root{background:var(--page);color:var(--text);font:var(--fs)/1.5 var(--font)}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.shell:focus{outline:none}.shell{max-width:560px;margin:auto;background:var(--bg);height:100%;display:flex;flex-direction:column;position:relative}.body{flex:1;min-height:0;overflow:auto;padding:var(--pad) var(--pad) 8px;display:flex;flex-direction:column;gap:var(--gap)}h1{font-size:calc(var(--fs) + 2px);line-height:1.4;font-weight:700;margin:0}.sec{display:flex;flex-direction:column;gap:calc(var(--gap) * .5);padding-bottom:var(--gap)}.st{font-weight:700;margin:0}.text{margin:0;white-space:pre-wrap}.text :is(p,ul,ol,pre,blockquote){margin:0 0 .5em}.text>:last-child{margin-bottom:0}.text a{color:var(--primary)}.grps{display:flex;flex-direction:column;gap:calc(var(--gap) * .6)}.grp{border:1.2px solid var(--line);border-radius:var(--r-card)}.gh{display:flex;width:100%;gap:12px;align-items:center;padding:var(--rowy) var(--rowx);background:none;border:0;text-align:left}.gx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gt{font-weight:600}.gd{font-size:12px;font-weight:400;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:480px){.gd{-webkit-line-clamp:2}}.chev{flex-shrink:0;width:1.25em;height:1.25em;fill:currentColor;transition:transform .2s ease}.open .chev{transform:rotate(180deg)}.gb{display:none;flex-direction:column;gap:4px;padding:0 var(--rowx) var(--rowx)}.open .gb{display:flex}.gi{font-size:16px;font-weight:800}.pg{display:flex;flex-direction:column}.ph{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--rowy) var(--rowx)}.hr{border:0;border-top:1px solid var(--line);margin:0}.pb{display:flex;flex-direction:column;padding:var(--rowy) var(--rowx)}.pr{display:flex;flex-direction:column;gap:2px;padding:4px 0}.prh{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;cursor:pointer}.pn{font-size:15px;font-weight:800;min-width:0;flex:1}.ps{font-size:12px;font-weight:400;color:var(--muted);padding-right:32px}.more{background:none;border:0;padding:0;margin-left:4px;color:var(--muted);text-decoration:underline;font-size:12px}.pg input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--primary)}.sh{display:flex;flex-direction:column;gap:2px;border:1.2px solid var(--line);border-radius:var(--r-card);padding:8px 16px}.foot{position:relative;flex-shrink:0;padding:0 var(--pad) var(--pad)}.foot:before{content:"";position:absolute;left:0;right:0;top:-50px;height:50px;background:linear-gradient(to top,var(--bg),var(--bg),transparent);pointer-events:none}.actions{display:flex;flex-direction:column;gap:calc(var(--gap) * .4)}.actions button{min-height:calc(var(--btn) - 8px);padding:0 16px;border-radius:var(--r-btn);border:1px solid var(--text);background:transparent;color:var(--text);font-weight:600;width:100%}.actions button:hover:not(:disabled){background:color-mix(in srgb,var(--text) 8%,transparent)}.actions .primary{min-height:var(--btn);background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.actions .primary:hover:not(:disabled){background:var(--primary);filter:brightness(.92)}.close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:23px;line-height:1;color:var(--muted);padding:4px 10px;z-index:1}.message{padding:12px 14px;border-radius:8px;background:#eff8f2;color:#19683e}.error{background:#fff0ef;color:#a43328}.root[data-mode=page] .shell{margin:36px auto;height:auto;max-height:calc(100dvh - 72px);border-radius:calc(var(--r-card) + 6px);box-shadow:0 15px 60px #16324c12}.root[data-mode=panel]{background:var(--bg);--fs: 14px}.root[data-mode=panel] .shell{max-width:none}@media(max-width:520px){.root[data-mode=page] .shell{margin:0;border-radius:0;height:100dvh;max-height:none}}
4
+ `;var Et;function Do(n){if("adoptedStyleSheets"in Document.prototype&&"replaceSync"in CSSStyleSheet.prototype){Et||(Et=new CSSStyleSheet,Et.replaceSync(mn)),n.adoptedStyleSheets=[Et];return}let t=document.createElement("style");t.textContent=mn,n.append(t)}var te=n=>n!==null&&typeof n=="object"&&!Array.isArray(n),$=n=>n==null||typeof n=="string",be=(n,t)=>n==null||Array.isArray(n)&&n.length<=1e3&&n.every(t),gn=n=>be(n,t=>typeof t=="string"),Io=n=>be(n,t=>te(t)&&$(t.data_item_name));function wt(n,t){if(!te(n)||!$(n.sections_language_code))return!1;let o=new Set(t.map(p=>p.id)),r=new Set,s=p=>te(p)&&["accept-all","reject-all","accept-necessary"].includes(p.button_type)&&$(p.button_text)&&(p.button_enabled===void 0||typeof p.button_enabled=="boolean")&&(p.button_data==null||te(p.button_data)&&$(p.button_data.accept_necessary_text)&&$(p.button_data.accept_selected_text)),d=(p,f=0)=>{if(!te(p)||typeof p.section_type!="string"||!te(p.section_data))return!1;let u=p.section_data;return f<8&&$(u.title)&&$(u.section_title)&&$(u.section_body)&&be(u.buttons,s)&&be(u.sections,_=>d(_,f+1))};return(n.content==null||te(n.content)&&be(n.content.consent_data,p=>d(p)))&&be(n.purposes,p=>te(p)&&$(p.purpose_reason)&&$(p.desc)&&be(p.sub_items,f=>!te(f)||!o.has(f.purpose_id)||r.has(f.purpose_id)?!1:(r.add(f.purpose_id),$(f.purpose_name)&&Io(f.data_items)&&gn(f.data_categories))))&&be(n.collected,p=>te(p)&&$(p.data_category_name)&&$(p.desc)&&gn(p.sub_items))&&be(n.shared,p=>te(p)&&$(p.purpose_name)&&Io(p.data_items)&&gn(p.data_categories))}var At=class{constructor(t){this.options=t;this.syncChecks=()=>{};this.pendingKey="";this.pendingBody="";this.needsRefresh=!1;let o=t.host.attachShadow({mode:"open"});Do(o);let r=document.createElement("div");r.className="theme",r.lang=t.config.language_code,this.root=document.createElement("div"),this.root.className="root",this.root.dataset.mode=t.mode,r.append(this.root),o.append(r),this.appearance=eo(r),this.appearance.apply(t.appearance),this.state={choices:{...t.choices},busy:!1}}render(){let{config:t,mode:o,demo:r=!1,onClose:s}=this.options;try{if(!wt(t.notice,t.purposes))throw new Error("Invalid notice");this.syncChecks=Lo({root:this.root,config:t,state:this.state,mode:o,demo:r,onClose:s,onSubmit:()=>this.submit(),onChange:()=>{this.pendingKey=""}})}catch{let d="The consent form could not be displayed. Check the notice configuration and reload.",p=y("section",void 0,"shell"),f=y("p",d,"message error");f.setAttribute("role","alert");let u=y("div",void 0,"body");if(u.append(f),p.append(u),o!=="panel"){let _=y("button","\xD7","close");_.setAttribute("aria-label","Close consent form"),_.type="button",_.onclick=s,p.append(_)}this.root.replaceChildren(p),o!=="panel"&&!r&&p.querySelector("button")?.focus(),this.options.onError(new w(d,"form_error"))}}setAppearance(t){this.appearance.apply(t),this.render()}destroy(){this.appearance.destroy()}message(t,o=!1){let r=this.root.querySelector("#feedback");r&&(r.textContent=t,r.className=o?"message error":"message",r.setAttribute("role",o?"alert":"status"))}async submit(){let{state:t,root:o,options:r}=this;if(t.busy||this.needsRefresh)return;t.busy=!0;let s=[...o.querySelectorAll("input:not(:disabled)")];s.forEach(u=>u.disabled=!0),o.querySelectorAll("button:not(.close)").forEach(u=>u.disabled=!0);let d={config_version:r.config.config_version,language_code:r.config.language_code,answers:r.config.purposes.map(u=>({purpose_id:u.id,given:!!t.choices[String(u.id)]}))},p=JSON.stringify(d);(!this.pendingKey||this.pendingBody!==p)&&(this.pendingKey=Yn(),this.pendingBody=p);let f;try{f=await r.save(d,this.pendingKey),t.choices=f.choices,this.message(r.demo?"Demo complete. No record was saved.":"Your choices are saved.")}catch(u){let _=u instanceof Error?u.message:"Your choices could not be saved. Please retry.";if(this.message(_,!0),u instanceof w&&u.code==="notice_changed"&&r.onRefresh){this.needsRefresh=!0;let S=y("button","Reload consent form");S.type="button",S.onclick=()=>void r.onRefresh().catch(()=>{}),o.querySelector("#feedback")?.append(S)}r.onError(u)}finally{t.busy=!1,o.querySelectorAll("button").forEach(u=>u.disabled=!1),s.forEach(u=>u.disabled=!1),this.syncChecks(),this.needsRefresh&&o.querySelectorAll(".actions button").forEach(u=>{u.disabled=!0})}f&&r.onComplete(f)}};function X(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function yn(n,t){if(!X(n))return!1;let o=new Set(t.purposes.map(r=>String(r.id)));return Object.entries(n).every(([r,s])=>o.has(r)&&typeof s=="boolean")}function rt(n,t){if(!X(n)||n.app_id!==t||typeof n.name!="string"||typeof n.level_id!="string"||!n.level_id||typeof n.mode!="string"||!["panel","popup","page"].includes(n.mode)||typeof n.config_version!="string"||!/^[a-f0-9]{64}$/i.test(n.config_version)||typeof n.language_code!="string"||!n.language_code||!Array.isArray(n.purposes)||!n.purposes.length||n.purposes.length>300||!X(n.notice)||n.description!==null&&typeof n.description!="string"||n.template_id!==null&&typeof n.template_id!="string"||typeof n.revision!="number"||!Number.isInteger(n.revision)||n.revision<1||typeof n.sdk_version!="string"||!n.sdk_version||n.appearance!==void 0&&!X(n.appearance))return!1;let o=new Set;return n.purposes.every(r=>!X(r)||typeof r.id!="number"||!Number.isSafeInteger(r.id)||r.id<1||o.has(r.id)||typeof r.name!="string"||typeof r.required!="boolean"||!Array.isArray(r.data_items)||typeof r.description!="string"?!1:(o.add(r.id),!0))&&wt(n.notice,n.purposes)}var St=class{notePointer(t){this.pointerFocus=t.composedPath().find(o=>o instanceof HTMLElement&&o.matches("button,a[href],input,select,textarea,[tabindex]"))}activate(t){let o=document.activeElement;for(;o?.shadowRoot?.activeElement;)o=o.shadowRoot.activeElement;this.previousFocus=o instanceof HTMLElement&&o!==document.body?o:this.pointerFocus?.isConnected?this.pointerFocus:void 0,this.previousOverflow=document.body.style.overflow,document.body.style.overflow="hidden",t.showModal()}release(){this.previousOverflow!==void 0&&(document.body.style.overflow=this.previousOverflow,this.previousOverflow=void 0),this.previousFocus?.isConnected&&this.previousFocus.focus({preventScroll:!0}),this.previousFocus=void 0,this.pointerFocus=void 0}};function Po(n,t){let o=document.createElement("dialog");return o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.setAttribute("aria-label","Consent preferences"),o.style.cssText="position:fixed;inset:0;margin:0;border:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;z-index:2147483000;display:flex;align-items:center;justify-content:center;box-sizing:border-box",t==="page"?(o.style.cssText+=";background:white",n.style.cssText+=";width:100%;height:100%;border-radius:0"):(o.style.cssText+=";background:#10182888;padding:20px",n.style.cssText+=";width:min(560px,100%);height:min(760px,90dvh);border-radius:16px;overflow:hidden;box-shadow:0 20px 70px #0004"),o}var xt;function Mo(n){xt?.close(),xt=n}function No(n){xt===n&&(xt=void 0)}function Uo(n){let t=new URL(n,window.location.href);if(t.username||t.password||t.search||t.hash)throw new Error("Use an Atlas backend base URL without credentials or query parameters.");if(t.protocol!=="https:"&&!(t.protocol==="http:"&&(t.hostname==="localhost"||t.hostname==="127.0.0.1"||t.hostname==="[::1]"||t.hostname.endsWith(".localhost"))))throw new Error("Atlas Consent requires HTTPS. HTTP is only supported for localhost.");return t.href.replace(/\/$/,"")}function _n(n){if(!n)return;let t;try{t=JSON.parse(n)}catch{return}if(!t||typeof t.token!="string"||!t.token||typeof t.expires!="string"||!Number.isFinite(Date.parse(t.expires)))return;let o=t.result;return{token:t.token,expires:t.expires,result:o&&typeof o=="object"&&typeof o.ref_id=="string"?o:void 0}}function kt(n){try{return localStorage.getItem(n)}catch{return}}function Fo(n,t){try{return t?localStorage.setItem(n,JSON.stringify(t)):localStorage.removeItem(n),!0}catch{try{localStorage.removeItem(n)}catch{}return!1}}var Rt="atlas-consent:storage";async function Ho(n,t,o,r="Consent is temporarily unavailable."){if(t.aborted)throw new w("This consent instance was destroyed.","destroyed");let s=new AbortController,d=()=>s.abort();t.addEventListener("abort",d);let p=setTimeout(d,15e3),f,u;try{f=await fetch(n,{...o,signal:s.signal,credentials:"omit",headers:{"Content-Type":"application/json",...o?.headers}}),u=await f.json()}catch(_){throw t.aborted?new w("This consent instance was destroyed.","destroyed"):s.signal.aborted?new w("Atlas took too long to respond.","request_timeout"):_ instanceof SyntaxError||_ instanceof DOMException&&_.name==="SyntaxError"?new w(f?.ok?"Atlas returned an invalid response.":r,f&&!f.ok?"request_failed":"invalid_response",f?.status):new w("Atlas could not be reached.","network_error",f?.status)}finally{clearTimeout(p),t.removeEventListener("abort",d)}if(!f.ok||!X(u)||u.data===void 0||u.data===null){let _=X(u)&&X(u.error)?u.error:{};throw new w(typeof _.message=="string"&&_.message?_.message:r,typeof _.code=="string"?_.code:typeof _.type=="string"?_.type:"request_failed",f.status)}return u.data}var Br=60*864e5,qe=n=>({ref_id:n.ref_id,app_id:n.app_id,level_id:n.level_id,config_version:n.config_version,choices:{...n.choices}}),Ct=class{constructor(t){this.options=t;this.controller=new AbortController;this.preferenceSnapshot="null";this.accessibility=new St;this.destroyed=!1;this.generation=0;this.reportedErrors=new WeakSet;this.storageChanged=t=>{(t.key===null||t.key===this.key)&&this.syncSaved()};this.documentStorageChanged=t=>{t.detail===this.key&&this.syncSaved()};this.keydown=t=>{t.key==="Escape"&&this.overlay&&this.close()};this.pointerdown=t=>this.accessibility.notePointer(t);if(!/^ac_app_[A-Za-z0-9_-]{10,40}$/.test(t.appId))throw new w("Use the app ID from Atlas Integrations.","invalid_app");let o=t.apiBaseUrl??$n;if(!o)throw new w("Set apiBaseUrl or use an SDK build with a configured backend URL.","invalid_api_base_url");try{this.api=Uo(o)}catch(s){throw new w(s.message,"invalid_api_base_url")}this.key=`atlas-consent:v2:${encodeURIComponent(this.api)}:${t.appId}`,this.stored=kt(this.key),this.saved=_n(this.stored??null),window.addEventListener("keydown",this.keydown),window.addEventListener("pointerdown",this.pointerdown,!0),window.addEventListener("storage",this.storageChanged),window.addEventListener(Rt,this.documentStorageChanged);let r=this.generation;this.ready=this.load().then(s=>{if(this.destroyed)throw new w("This consent instance was destroyed.","destroyed");return this.config=s,this.notifyPreference(),this.renewIfEnding(),r!==this.generation||(t.target?this.mount(t.target).catch(()=>{}):(t.mode||s.mode)==="popup"&&t.autoShow!==!1&&!this.hasChoice()&&this.open().catch(()=>{})),s}),this.ready.catch(s=>{this.loadFailure=s,this.fail(s)})}async load(){let t=await this.request(`/config?language_code=${encodeURIComponent(this.options.language||"en")}`);if(!rt(t,this.options.appId))throw new w("Atlas returned an invalid configuration.","invalid_response");return t}request(t,o,r){return this.assertAlive(),Ho(`${this.api}/consent-sdk/v1/apps/${this.options.appId}${t}`,this.controller.signal,o,r)}persist(){let t=this.stored,o=Fo(this.key,this.saved),r=o?this.saved?JSON.stringify(this.saved):null:kt(this.key);r!==void 0&&(this.stored=r),this.notifyPreference(),(o||t!==this.stored)&&window.dispatchEvent(new CustomEvent(Rt,{detail:this.key}))}syncSaved(){if(this.destroyed)return;let t=kt(this.key);if(t===void 0||t===this.stored)return;let o=_n(t),r=o?.token!==this.saved?.token||JSON.stringify(o?.result)!==JSON.stringify(this.saved?.result);this.stored=t,this.saved=o,r&&this.form&&this.close(!0),this.notifyPreference()}notifyPreference(){let t=this.hasChoice()?qe(this.saved.result):null,o=JSON.stringify(t);if(o!==this.preferenceSnapshot){this.preferenceSnapshot=o;try{this.options.onPreferenceChange?.(t?qe(t):null)}catch(r){queueMicrotask(()=>{throw r})}window.dispatchEvent(new CustomEvent("atlas-consent:change",{detail:{appId:this.options.appId,preference:t?qe(t):null}}))}}alive(){return!!this.saved&&Date.parse(this.saved.expires)>Date.now()}hasChoice(){return!!this.config&&this.alive()&&bt(this.saved.result,this.config)}getPreference(){return this.syncSaved(),this.notifyPreference(),this.hasChoice()?qe(this.saved.result):null}getClaim(){return this.syncSaved(),this.alive()&&this.saved.result?.app_id===this.options.appId?{app_id:this.options.appId,ref_id:this.saved.result.ref_id,claim_token:this.saved.token}:null}async session(t){this.syncSaved();let o=this.stored,r=this.saved;if(this.alive())try{let d=await this.request("/session?language_code="+encodeURIComponent(this.options.language||"en"),{headers:{Authorization:`Bearer ${r.token}`}});if(t!==this.generation)return{};if(this.syncSaved(),t!==this.generation)return{};if(o!==this.stored)return this.session(t);if(!X(d)||!rt(d.config,this.options.appId)||!yn(d.choices,d.config))throw new w("Atlas returned an invalid session.","invalid_response");return this.reconcileSession(d,r),typeof d.expires_at=="string"&&Number.isFinite(Date.parse(d.expires_at))&&(r.expires=d.expires_at),this.persist(),d.choices}catch(d){if(t!==this.generation)return{};if(!(d instanceof w)||d.status!==401)throw d;this.saved=void 0,this.persist(),o=this.stored}let s=await this.request("/sessions",{method:"POST",body:JSON.stringify({language_code:this.options.language||"en"})});if(t!==this.generation)return{};if(this.syncSaved(),t!==this.generation)return{};if(o!==this.stored)return this.session(t);if(!X(s)||typeof s.session_token!="string"||!s.session_token||typeof s.expires_at!="string"||!Number.isFinite(Date.parse(s.expires_at))||!rt(s.config,this.options.appId))throw new w("Atlas returned an invalid session.","invalid_response");return this.config=s.config,this.saved={token:s.session_token,expires:s.expires_at},this.persist(),{}}reconcileSession(t,o){let r=t.config,s=o.result;if(s?.config_version===r.config_version){let d={...s,choices:t.choices};o.result=bt(d,r)&&t.ref_id===s.ref_id?d:void 0}this.config=r}renewIfEnding(){if(!this.alive()||Date.parse(this.saved.expires)-Date.now()>Br)return;let t=this.saved,o=this.stored;this.request("/session?language_code="+encodeURIComponent(this.options.language||"en"),{headers:{Authorization:`Bearer ${t.token}`}}).then(r=>{this.syncSaved(),this.saved===t&&this.stored===o&&X(r)&&rt(r.config,this.options.appId)&&yn(r.choices,r.config)&&typeof r.expires_at=="string"&&Number.isFinite(Date.parse(r.expires_at))&&(this.reconcileSession(r,t),t.expires=r.expires_at,this.persist())}).catch(()=>{})}async save(t,o,r,s,d){if(this.syncSaved(),d!==this.generation||this.saved?.token!==s)throw new w("This consent form was closed. Open it again.","form_closed");let p=await this.request("/decisions",{method:"POST",headers:{Authorization:`Bearer ${s}`,"Idempotency-Key":o},body:JSON.stringify({...t,sdk_version:Qt})},"Your choices could not be saved. Please retry.");if(!bt(p,r))throw new w("Atlas returned an invalid consent result. Please retry.","invalid_response");let f=p.expires_at;return d===this.generation&&this.saved?.token===s&&typeof f=="string"&&Number.isFinite(Date.parse(f))&&(this.saved.expires=f),qe(p)}recordView(){this.request("/events",{method:"POST",headers:{Authorization:`Bearer ${this.saved?.token}`},body:JSON.stringify({event:"viewed"})}).catch(()=>{})}async reported(t){try{await t()}catch(o){throw o!==this.loadFailure&&this.fail(o),o}}mount(t){return this.reported(()=>this.mountForm(t))}async mountForm(t){let o=this.generation;if(await this.ready,this.assertAlive(),o!==this.generation)return;let r=typeof t=="string"?document.querySelector(t):t;if(!(r instanceof HTMLElement))throw new w("The consent container was not found.","missing_container");return this.startForm(this.options.mode||this.config?.mode||"panel",r)}open(){return this.reported(async()=>{let t=this.generation;if(await this.ready,this.assertAlive(),t!==this.generation)return;if(this.host&&!this.overlay){this.host.scrollIntoView({block:"nearest"}),this.host.focus({preventScroll:!0});return}let o=this.options.mode||this.config.mode;return this.startForm(o==="panel"?"popup":o)})}refresh(){let t=this.mountTarget;return this.close(!0),t?this.mount(t):this.open()}startForm(t,o){if(this.form)return Promise.resolve();if(this.launchTask)return this.launchTask;let r=this.generation,s=Promise.resolve().then(()=>this.insertForm(t,o,r));this.launchTask=s;let d=()=>{this.launchTask===s&&(this.launchTask=void 0)};return s.then(d,d),s}async insertForm(t,o,r){try{if(this.assertAlive(),r!==this.generation)return;let s=await this.session(r);if(this.assertAlive(),r!==this.generation)return;o||Mo(this);let d=this.createForm(t,s);if(o)this.mountTarget=o,this.host.tabIndex=-1,this.host.setAttribute("role","region"),this.host.setAttribute("aria-label","Consent preferences"),o.append(this.host);else{this.overlay=Po(this.host,t);let p=this.overlay;p.addEventListener("cancel",f=>{f.preventDefault(),this.overlay===p&&this.close()}),p.addEventListener("close",()=>{this.overlay===p&&this.close()}),this.overlay.append(this.host),document.body.append(this.overlay),this.accessibility.activate(this.overlay)}d.render(),this.recordView()}catch(s){if(this.destroyed)throw s;if(r!==this.generation)return;throw this.close(!0),s}}createForm(t,o){let r=this.generation,s=this.saved.token,d=this.config,p=document.createElement("atlas-consent-form");return p.style.cssText="display:block;width:100%;height:650px",this.host=p,this.form=new At({host:p,config:this.config,choices:o,mode:t,appearance:{...this.config?.appearance,...this.options.appearance},save:(f,u)=>this.save(f,u,d,s,r),onComplete:f=>{this.syncSaved(),r===this.generation&&this.saved?.token===s&&this.complete(f)},onError:f=>{r===this.generation&&this.fail(f)},onClose:()=>{r===this.generation&&this.close()},onRefresh:()=>r===this.generation?this.refresh():Promise.resolve()}),this.form}complete(t){let o=this.overlay,r={app_id:t.app_id,ref_id:t.ref_id,claim_token:this.saved.token};this.saved.result=qe(t),this.persist();try{this.options.onComplete?.(t,r)}finally{o&&this.overlay===o&&this.close()}}assertAlive(){if(this.destroyed)throw new w("This consent instance was destroyed.","destroyed")}fail(t){if(this.destroyed||t instanceof w&&t.code==="destroyed")return;if(t&&typeof t=="object"){if(this.reportedErrors.has(t))return;this.reportedErrors.add(t)}let o=t instanceof w?t:new w(t instanceof Error?t.message:"Consent is unavailable.","unexpected_error");try{this.options.onError?.(o)}catch(r){queueMicrotask(()=>{throw r})}window.dispatchEvent(new CustomEvent("atlas-consent:error",{detail:{appId:this.options.appId,error:o}}))}close(t=!1){this.generation+=1,this.launchTask=void 0,No(this);let o=!!(this.form||this.overlay);this.form?.destroy(),this.form=void 0,this.host?.remove(),this.host=void 0,this.mountTarget=void 0,this.overlay?.close(),this.overlay?.remove(),this.overlay=void 0,this.accessibility.release(),o&&!t&&this.options.onClose?.()}destroy(){this.destroyed=!0,this.controller.abort(),this.close(!0),window.removeEventListener("keydown",this.keydown),window.removeEventListener("pointerdown",this.pointerdown,!0),window.removeEventListener("storage",this.storageChanged),window.removeEventListener(Rt,this.documentStorageChanged)}};function Pi(n){return new Ct(n)}export{Ct as ConsentClient,w as ConsentError,Qt as VERSION,Pi as create};
5
+ /*! Bundled license information:
6
+
7
+ dompurify/dist/purify.es.mjs:
8
+ (*! @license DOMPurify 3.4.17 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.17/LICENSE *)
9
+ (*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE *)
10
+ */
@@ -0,0 +1,10 @@
1
+ "use strict";var AtlasConsent=(()=>{var nn=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var ur=Object.getOwnPropertyNames;var fr=Object.prototype.hasOwnProperty;var hr=(n,e)=>{for(var o in e)nn(n,o,{get:e[o],enumerable:!0})},mr=(n,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ur(e))!fr.call(n,s)&&s!==o&&nn(n,s,{get:()=>e[s],enumerable:!(r=dr(e,s))||r.enumerable});return n};var gr=n=>mr(nn({},"__esModule",{value:!0}),n);var Qr={};hr(Qr,{ConsentClient:()=>st,ConsentError:()=>v,VERSION:()=>Ge,create:()=>An});var Tt="https://play.dashboard.atlaskyc.com/v3/api";var Ge="1.0.0";function Zn(){if(!globalThis.crypto?.getRandomValues)throw new Error("Atlas Consent needs a secure browser context.");return[...crypto.getRandomValues(new Uint8Array(24))].map(n=>n.toString(16).padStart(2,"0")).join("")}function Et(n,e){if(!n||typeof n!="object")return!1;let o=n;return typeof o.ref_id!="string"||!o.ref_id||o.app_id!==e.app_id||o.level_id!==e.level_id||o.config_version!==e.config_version||!o.choices||typeof o.choices!="object"||Array.isArray(o.choices)?!1:Object.keys(o.choices).length===e.purposes.length&&e.purposes.every(r=>typeof o.choices[String(r.id)]=="boolean"&&(!r.required||o.choices[String(r.id)]))}var v=class extends Error{constructor(o,r,s=0){super(o);this.code=r;this.status=s;this.name="ConsentError"}};var Qn={system:'Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif',serif:"Georgia,'Times New Roman',serif",rounded:"'Trebuchet MS','Segoe UI',Verdana,'Helvetica Neue',sans-serif"},eo={sharp:["2px","2px"],soft:["6px","6px"],round:["999px","16px"]},yr=/^#[0-9a-f]{6}$/i,De={theme:"light",primary_color:"#ae0a60",background_color:"#ffffff",text_color:"#1a202c",radius:"soft",font:"system",density:"comfortable"},to={background_color:"#0f172a",text_color:"#f1f5f9"};function no(n){let[e,o,r]=[1,3,5].map(s=>parseInt(n.slice(s,s+2),16)/255).map(s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4);return .2126*e+.7152*o+.0722*r}function oo(n,e){let o=no(n),r=no(e);return(Math.max(o,r)+.05)/(Math.min(o,r)+.05)}function ro(n,e,o){let r={...De,...e||{}};for(let _ of["primary_color","background_color","text_color"])(typeof r[_]!="string"||!yr.test(r[_]))&&(r[_]=De[_]);(typeof r.radius!="string"||!Object.prototype.hasOwnProperty.call(eo,r.radius))&&(r.radius=De.radius),(typeof r.font!="string"||!Object.prototype.hasOwnProperty.call(Qn,r.font))&&(r.font=De.font),["light","dark","system"].includes(r.theme)||(r.theme=De.theme);let s=r.theme==="dark"||r.theme==="system"&&o.matches;s&&(r.background_color.toLowerCase()===De.background_color&&(r.background_color=to.background_color),r.text_color.toLowerCase()===De.text_color&&(r.text_color=to.text_color));let[p,l]=eo[r.radius],f=r.density==="compact",u={"--primary":r.primary_color,"--bg":r.background_color,"--text":r.text_color,"--on-primary":oo(r.primary_color,"#000000")>oo(r.primary_color,"#ffffff")?"#000000":"#ffffff","--muted":`color-mix(in srgb,${r.text_color} 66%,${r.background_color})`,"--line":`color-mix(in srgb,${r.text_color} 14%,${r.background_color})`,"--line-strong":`color-mix(in srgb,${r.text_color} 26%,${r.background_color})`,"--tint":`color-mix(in srgb,${r.text_color} 8%,${r.background_color})`,"--page":`color-mix(in srgb,${r.text_color} 4%,${r.background_color})`,"--font":Qn[r.font],"--r-btn":p,"--r-card":l,"--pad":f?"16px":"28px","--gap":f?"10px":"20px","--fs":f?"14px":"16px","--btn":f?"42px":"52px","--rowy":f?"4px":"12px","--rowx":f?"12px":"18px"};for(let[_,S]of Object.entries(u))n.style.setProperty(_,S);n.style.colorScheme=s?"dark":"light"}function io(n){let e=window.matchMedia("(prefers-color-scheme: dark)"),o,r=()=>{o?.theme==="system"&&ro(n,o,e)};return e.addEventListener("change",r),{apply(s){o=s,ro(n,s,e)},destroy(){e.removeEventListener("change",r)}}}function _r(n,e){this.v=n,this.k=e}function so(n,e){(e==null||e>n.length)&&(e=n.length);for(var o=0,r=Array(e);o<e;o++)r[o]=n[o];return r}function br(n){if(Array.isArray(n))return n}function vr(n,e){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var r,s,p,l,f=[],u=!0,_=!1;try{if(p=(o=o.call(n)).next,e===0){if(Object(o)!==o)return;u=!1}else for(;!(u=(r=p.call(o)).done)&&(f.push(r.value),f.length!==e);u=!0);}catch(S){_=!0,s=S}finally{try{if(!u&&o.return!=null&&(l=o.return(),Object(l)!==l))return}finally{if(_)throw s}}return f}}function Tr(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Er(n,e){return br(n)||vr(n,e)||wr(n,e)||Tr()}function wr(n,e){if(n){if(typeof n=="string")return so(n,e);var o={}.toString.call(n).slice(8,-1);return o==="Object"&&n.constructor&&(o=n.constructor.name),o==="Map"||o==="Set"?Array.from(n):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?so(n,e):void 0}}function wt(n){var e,o;function r(p,l){try{var f=n[p](l),u=f.value,_=u instanceof _r;Promise.resolve(_?u.v:u).then(function(S){if(_){var H=p==="return"&&u.k?p:"next";if(!u.k||S.done)return r(H,S);S=n[H](S).value}s(!!f.done,S)},function(S){r("throw",S)})}catch(S){s(2,S)}}function s(p,l){p===2?e.reject(l):e.resolve({value:l,done:p}),(e=e.next)?r(e.key,e.arg):o=null}this._invoke=function(p,l){return new Promise(function(f,u){var _={key:p,arg:l,resolve:f,reject:u,next:null};o?o=o.next=_:(e=o=_,r(p,l))})},typeof n.return!="function"&&(this.return=void 0)}wt.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},wt.prototype.next=function(n){return this._invoke("next",n)},wt.prototype.throw=function(n){return this._invoke("throw",n)},wt.prototype.return=function(n){return this._invoke("return",n)};var Eo=Object.entries,ao=Object.setPrototypeOf,Ar=Object.isFrozen,wo=Object.getPrototypeOf,Ao=Object.getOwnPropertyDescriptor,P=Object.freeze,U=Object.seal,We=Object.create,So=typeof Reflect<"u"&&Reflect,fn=So.apply,hn=So.construct;P||(P=function(e){return e});U||(U=function(e){return e});fn||(fn=function(e,o){for(var r=arguments.length,s=new Array(r>2?r-2:0),p=2;p<r;p++)s[p-2]=arguments[p];return e.apply(o,s)});hn||(hn=function(e){for(var o=arguments.length,r=new Array(o>1?o-1:0),s=1;s<o;s++)r[s-1]=arguments[s];return new e(...r)});var ye=R(Array.prototype.forEach);Array.prototype.indexOf;var Sr=R(Array.prototype.lastIndexOf),co=R(Array.prototype.pop),tt=R(Array.prototype.push),xr=R(Array.prototype.slice),kr=R(Array.prototype.splice),qe=Array.isArray,on=xo(Set),rn=R(Set.prototype.add),nt=R(Set.prototype.has),Ie=R(String.prototype.toLowerCase),sn=R(String.prototype.toString),lo=R(String.prototype.match),ot=R(String.prototype.replace),po=R(String.prototype.indexOf),Rr=R(String.prototype.trim),Cr=R(Number.prototype.toString),Or=R(Boolean.prototype.toString),uo=typeof BigInt>"u"?null:R(BigInt.prototype.toString),fo=typeof Symbol>"u"?null:R(Symbol.prototype.toString),q=R(Object.prototype.hasOwnProperty),rt=R(Object.prototype.toString),N=R(RegExp.prototype.test),_e=xo(TypeError);function R(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var o=arguments.length,r=new Array(o>1?o-1:0),s=1;s<o;s++)r[s-1]=arguments[s];return fn(n,e,r)}}function xo(n){return function(){for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];return hn(n,o)}}function E(n,e){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ie;if(ao&&ao(n,null),!qe(e))return n;let r=e.length;for(;r--;){let s=e[r];if(typeof s=="string"){let p=o(s);p!==s&&(Ar(e)||(e[r]=p),s=p)}n[s]=!0}return n}function Lr(n){for(let e=0;e<n.length;e++)q(n,e)||(n[e]=null);return n}function K(n){let e=We(null);for(let r of Eo(n)){var o=Er(r,2);let s=o[0],p=o[1];q(n,s)&&(qe(p)?e[s]=Lr(p):p&&typeof p=="object"&&p.constructor===Object?e[s]=K(p):e[s]=p)}return e}function Dr(n){switch(typeof n){case"string":return n;case"number":return Cr(n);case"boolean":return Or(n);case"bigint":return uo?uo(n):"0";case"symbol":return fo?fo(n):"Symbol()";case"undefined":return rt(n);case"function":case"object":{if(n===null)return rt(n);let e=n,o=J(e,"toString");if(typeof o=="function"){let r=o(e);return typeof r=="string"?r:rt(r)}return rt(n)}default:return rt(n)}}function J(n,e){for(;n!==null;){let r=Ao(n,e);if(r){if(r.get)return R(r.get);if(typeof r.value=="function")return R(r.value)}n=wo(n)}function o(){return null}return o}function Ir(n,e){for(;n!==null;){let o=Ao(n,e);if(o)return o.get?R(o.get):null;n=wo(n)}return null}function Mr(n){try{return N(n,""),!0}catch{return!1}}var ho=P(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),an=P(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),cn=P(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Pr=P(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),ln=P(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Nr=P(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),mo=P(["#text"]),go=P(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),pn=P(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),yo=P(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),At=P(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Ur=U(/{{[\w\W]*|^[\w\W]*}}/g),Fr=U(/<%[\w\W]*|^[\w\W]*%>/g),Hr=U(/\${[\w\W]*/g),zr=U(/^data-[\-\w.\u00B7-\uFFFF]+$/),Br=U(/^aria-[\-\w]+$/),_o=U(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),jr=U(/^(?:\w+script|data):/i),Gr=U(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Wr=U(/^html$/i),qr=U(/^[a-z][.\w]*(-[.\w]+)+$/i),dn=U(/<[/\w!]/g),bo=U(/<[/\w]/g),$r=U(/<\/no(script|embed|frames)/i),vo=U(/\/>/i),L={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Yr=P(E({},["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"])),Vr=function(){return typeof window>"u"?null:window},Kr=function(e,o){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null,s="data-tt-policy-suffix";o&&o.hasAttribute(s)&&(r=o.getAttribute(s));let p="dompurify"+(r?"#"+r:"");try{return e.createPolicy(p,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+p+" could not be created."),null}},To=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},xe=function(e,o,r,s){return q(e,o)&&qe(e[o])?E(s.base?K(s.base):{},e[o],s.transform):r},un=function(e,o,r){let s=q(e,o)?e[o]:void 0;return s&&typeof s=="object"?K(s):r()};function ko(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Vr(),e=d=>ko(d);if(e.version="3.4.17",e.removed=[],!n||!n.document||n.document.nodeType!==L.document||!n.Element)return e.isSupported=!1,e;let o=n.document,r=o,s=r.currentScript;n.DocumentFragment;let p=n.HTMLTemplateElement,l=n.Node,f=n.Element,u=n.NodeFilter;n.NamedNodeMap===void 0&&(n.NamedNodeMap||n.MozNamedAttrMap),n.HTMLFormElement;let _=n.DOMParser,S=n.trustedTypes,H=f.prototype,ke=J(H,"cloneNode"),Y=J(H,"remove"),Me=J(H,"removeAttributeNode"),ne=J(H,"nextSibling"),le=J(H,"childNodes"),pe=J(H,"parentNode"),de=J(H,"shadowRoot"),Pe=J(H,"attributes"),Z=l&&l.prototype?J(l.prototype,"nodeType"):null,ue=l&&l.prototype?J(l.prototype,"nodeName"):null,ve=l&&l.prototype?J(l.prototype,"ownerDocument"):null,z=function(t){return Z?Z(t):t.nodeType},Te=function(t){return ue?ue(t):t.nodeName},Ye=Ir(H,"namespaceURI"),Ve=function(t){return Ye?Ye(t):t.namespaceURI};if(typeof p=="function"){let d=o.createElement("template");d.content&&d.content.ownerDocument&&(o=d.content.ownerDocument)}let F,fe="",Ke,h=!1,T=0,A=function(){if(T>0)throw _e('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},I=function(t){A(),T++;try{return F.createHTML(t)}finally{T--}},he=function(t){A(),T++;try{return F.createScriptURL(t)}finally{T--}},oe=function(){return h||(Ke=Kr(S,s),h=!0),Ke},C=o,V=C.implementation,Q=C.createNodeIterator,It=C.createDocumentFragment,at=C.getElementsByTagName,ct=r.importNode,w=To();e.isSupported=typeof Eo=="function"&&typeof pe=="function"&&V&&V.createHTMLDocument!==void 0;let me=Ur,lt=Fr,M=Hr,re=zr,Ee=Br,Xe=jr,ie=Gr,pt=qr,dt=_o,x=null,Mt=E({},[...ho,...an,...cn,...ln,...mo]),k=null,Pt=E({},[...go,...pn,...yo,...At]),se=Object.seal(We(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Je=null,Sn=null,we=Object.seal(We(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),xn=!0,Nt=!0,kn=!1,Ut=!0,ge=!1,Re=!0,Ce=!1,Ft=!1,ut=null,ft=null,Ht=!1,Ne=!1,ht=!1,mt=!1,Rn=!0,Cn=!1,On="user-content-",zt=!0,Bt=!1,Oe=null,Ue={},Le=null,Ln=E({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),Dn=null,In=E({},["audio","video","img","source","image","track"]),Mn=null,Pn=E({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),gt="http://www.w3.org/1998/Math/MathML",yt="http://www.w3.org/2000/svg",ae="http://www.w3.org/1999/xhtml",Fe=ae,jt=!1,Gt=null,qo=E({},[gt,yt,ae],sn),Nn=P(["mi","mo","mn","ms","mtext"]),Wt=E({},Nn),Un=P(["annotation-xml"]),qt=E({},Un),$o=E({},["title","style","font","a","script"]),Ze=null,Yo=["application/xhtml+xml","text/html"],Vo="text/html",O=null,He=null,Ko=o.createElement("form"),Fn=function(t){return t instanceof RegExp||t instanceof Function},$t=function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(He&&He===t)return;(!t||typeof t!="object")&&(t={}),t=K(t),Ze=Yo.indexOf(t.PARSER_MEDIA_TYPE)===-1?Vo:t.PARSER_MEDIA_TYPE,O=Ze==="application/xhtml+xml"?sn:Ie,x=xe(t,"ALLOWED_TAGS",Mt,{transform:O}),k=xe(t,"ALLOWED_ATTR",Pt,{transform:O}),Gt=xe(t,"ALLOWED_NAMESPACES",qo,{transform:sn}),Mn=xe(t,"ADD_URI_SAFE_ATTR",Pn,{transform:O,base:Pn}),Dn=xe(t,"ADD_DATA_URI_TAGS",In,{transform:O,base:In}),Le=xe(t,"FORBID_CONTENTS",Ln,{transform:O}),Je=xe(t,"FORBID_TAGS",K({}),{transform:O}),Sn=xe(t,"FORBID_ATTR",K({}),{transform:O}),Ue=q(t,"USE_PROFILES")?t.USE_PROFILES&&typeof t.USE_PROFILES=="object"?K(t.USE_PROFILES):t.USE_PROFILES:!1,xn=t.ALLOW_ARIA_ATTR!==!1,Nt=t.ALLOW_DATA_ATTR!==!1,kn=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Ut=t.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ge=t.SAFE_FOR_TEMPLATES||!1,Re=t.SAFE_FOR_XML!==!1,Ce=t.WHOLE_DOCUMENT||!1,Ne=t.RETURN_DOM||!1,ht=t.RETURN_DOM_FRAGMENT||!1,mt=t.RETURN_TRUSTED_TYPE||!1,Ht=t.FORCE_BODY||!1,Rn=t.SANITIZE_DOM!==!1,Cn=t.SANITIZE_NAMED_PROPS||!1,zt=t.KEEP_CONTENT!==!1,Bt=t.IN_PLACE||!1,dt=Mr(t.ALLOWED_URI_REGEXP)?t.ALLOWED_URI_REGEXP:_o,Fe=typeof t.NAMESPACE=="string"?t.NAMESPACE:ae,Wt=un(t,"MATHML_TEXT_INTEGRATION_POINTS",()=>E({},Nn)),qt=un(t,"HTML_INTEGRATION_POINTS",()=>E({},Un));let i=un(t,"CUSTOM_ELEMENT_HANDLING",()=>We(null));if(se=We(null),q(i,"tagNameCheck")&&Fn(i.tagNameCheck)&&(se.tagNameCheck=i.tagNameCheck),q(i,"attributeNameCheck")&&Fn(i.attributeNameCheck)&&(se.attributeNameCheck=i.attributeNameCheck),q(i,"allowCustomizedBuiltInElements")&&typeof i.allowCustomizedBuiltInElements=="boolean"&&(se.allowCustomizedBuiltInElements=i.allowCustomizedBuiltInElements),U(se),ge&&(Nt=!1),ht&&(Ne=!0),Ue&&(x=E({},mo),k=We(null),Ue.html===!0&&(E(x,ho),E(k,go)),Ue.svg===!0&&(E(x,an),E(k,pn),E(k,At)),Ue.svgFilters===!0&&(E(x,cn),E(k,pn),E(k,At)),Ue.mathMl===!0&&(E(x,ln),E(k,yo),E(k,At))),we.tagCheck=null,we.attributeCheck=null,q(t,"ADD_TAGS")&&(typeof t.ADD_TAGS=="function"?we.tagCheck=t.ADD_TAGS:qe(t.ADD_TAGS)&&(x===Mt&&(x=K(x)),E(x,t.ADD_TAGS,O))),q(t,"ADD_ATTR")&&(typeof t.ADD_ATTR=="function"?we.attributeCheck=t.ADD_ATTR:qe(t.ADD_ATTR)&&(k===Pt&&(k=K(k)),E(k,t.ADD_ATTR,O))),q(t,"ADD_FORBID_CONTENTS")&&qe(t.ADD_FORBID_CONTENTS)&&(Le===Ln&&(Le=K(Le)),E(Le,t.ADD_FORBID_CONTENTS,O)),zt&&(x["#text"]=!0),Ce&&E(x,["html","head","body"]),x.table&&(E(x,["tbody"]),delete Je.tbody),t.TRUSTED_TYPES_POLICY){if(typeof t.TRUSTED_TYPES_POLICY.createHTML!="function")throw _e('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof t.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw _e('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let a=F;F=t.TRUSTED_TYPES_POLICY;try{fe=I("")}catch(c){throw F=a,c}}else t.TRUSTED_TYPES_POLICY===null?(F=void 0,fe=""):(F===void 0&&(F=oe()),F&&typeof fe=="string"&&(fe=I("")));P&&P(t),He=t},Hn=E({},[...an,...cn,...Pr]),zn=E({},[...ln,...Nr]),Xo=function(t,i,a){return i.namespaceURI===ae?t==="svg":i.namespaceURI===gt?t==="svg"&&(a==="annotation-xml"||Wt[a]):!!Hn[t]},Jo=function(t,i,a){return i.namespaceURI===ae?t==="math":i.namespaceURI===yt?t==="math"&&qt[a]:!!zn[t]},Zo=function(t,i,a){return i.namespaceURI===yt&&!qt[a]||i.namespaceURI===gt&&!Wt[a]?!1:!zn[t]&&($o[t]||!Hn[t])},Qo=function(t){let i=Ve(t),a=Ie(Te(t)),c=pe(t),m,g;return c&&z(c)===L.element?(m={namespaceURI:Ve(c)},g=Ie(Te(c))):(m={namespaceURI:Fe},g="template"),Gt[i]?i===yt?Xo(a,m,g):i===gt?Jo(a,m,g):i===ae?Zo(a,m,g):!!(Ze==="application/xhtml+xml"&&Gt[i]):!1},Ae=function(t){tt(e.removed,{element:t});try{pe(t).removeChild(t)}catch{if(Y(t),!pe(t))throw _e("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Bn=function(t,i,a){try{Me(t,i)}catch{try{t.removeAttribute(a)}catch{}}},Yt=function(t){Kt(t);let i=le(t);i&&ye(xr(i),c=>{try{Y(c)}catch{}});let a=z(t)===L.element?Pe(t):null;if(a)for(let c=a.length-1;c>=0;--c){let m=a[c],g=m&&m.name;typeof g=="string"&&Bn(t,m,g)}},ze=function(t,i,a){if(!a)try{a=i.getAttributeNode(t)}catch{a=null}tt(e.removed,{attribute:a||null,from:i});try{a?Me(i,a):i.removeAttribute(t)}catch{try{i.removeAttribute(t)}catch{}}if(t==="is")if(Ne||ht)try{Ae(i)}catch{}else try{i.setAttribute(t,"")}catch{}},jn=function(t){let i=Pe(t);if(i)for(let a=i.length-1;a>=0;--a){let c=i[a],m=c&&c.name;typeof m!="string"||k[O(m)]||Bn(t,c,m)}},Vt=function(t,i){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,c=[t];for(;c.length>0;){let m=c.pop();if(i(m)===!1)continue;if(a&&z(m)===L.element){let b=de(m);Se(b)&&c.push(b)}let g=le(m);if(g)for(let b=g.length-1;b>=0;--b)c.push(g[b])}},Kt=function(t){Vt(t,i=>{z(i)===L.element&&jn(i)})},Xt=function(t){let i=[];return Vt(t,a=>{i.push(a)},!0),i},er=function(t,i){let a=on();ye(Xt(t),c=>{z(c)===L.element&&rn(a,c)}),ye(i,c=>{z(c)===L.element&&!nt(a,c)&&jn(c)})},Gn=function(t,i){let a=!1;return ye(e.removed,c=>{c.element&&(a=a||c.element===t,Kt(c.element))}),er(t,i),a},tr=8,nr=function(t,i){let a=Oe,c=null,m=()=>(c||(c=on(),ye(i,g=>{rn(c,g)})),c);for(let g=0;;g++){let b=Xt(t),D=[t],ce=!1;if(ye(b,B=>{z(B)===L.documentFragment?tt(D,B):!ce&&!nt(a,B)&&(ce=nt(m(),B))}),!ce)return;if(g>=tr)throw _e("the tree kept changing during in-place sanitization; refusing to return it");ye(D,(B,G)=>{or(B,G>0,t,m())})}},or=function(t,i,a,c){let m=Jt(t),g;for(;g=m.nextNode();)!nt(c,g)||nt(Oe,g)||(i&&ee(w.uponSanitizeShadowNode,g,null),Qt(g,a),en(g,a),Se(g.content)&&et(g.content))},rr=function(t){Oe&&rn(Oe,t)},Wn=function(t,i){return Re?t==="patchsrc"?!0:t==="for"&&i!=="label"&&i!=="output":!1},ir=function(t){Re&&Vt(t,i=>{let a=z(i);if(a===L.processingInstruction||a===L.comment&&N(bo,i.data)){try{Y(i)}catch{}return!1}if(a===L.element){let c=i,m=O(Te(i));try{c.hasAttribute&&c.hasAttribute("patchsrc")&&c.removeAttribute("patchsrc"),c.hasAttribute&&c.hasAttribute("for")&&Wn("for",m)&&c.removeAttribute("for")}catch{}}return!0})},qn=function(t){let i=null,a=null;if(Ht)t="<remove></remove>"+t;else{let g=lo(t,/^[\r\n\t ]+/);a=g&&g[0]}Ze==="application/xhtml+xml"&&Fe===ae&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");let c=F?I(t):t;if(Fe===ae)try{i=new _().parseFromString(c,Ze)}catch{}if(!i||!i.documentElement){i=V.createDocument(Fe,"template",null);try{i.documentElement.innerHTML=jt?fe:c}catch{}}let m=i.body||i.documentElement;return t&&a&&m.insertBefore(o.createTextNode(a),m.childNodes[0]||null),Fe===ae?at.call(i,Ce?"html":"body")[0]:Ce?i.documentElement:m},Jt=function(t){let i=ve?ve(t):t.ownerDocument;return Q.call(i||t,t,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},_t=function(t){return t=ot(t,me," "),t=ot(t,lt," "),t=ot(t,M," "),t},Zt=function(t){var i;$n(t);let a=(i=t.querySelectorAll)===null||i===void 0?void 0:i.call(t,"template");a&&ye(a,c=>{Se(c.content)&&Zt(c.content)})},$n=function(t){t.normalize();let i=ve?ve(t):t.ownerDocument,a=Q.call(i||t,t,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null),c=a.nextNode();for(;c;)c.data=_t(c.data),c=a.nextNode()},bt=function(t){let i=ue?ue(t):null;return typeof i!="string"||O(i)!=="form"?!1:typeof t.nodeName!="string"||typeof t.textContent!="string"||typeof t.removeChild!="function"||t.attributes!==Pe(t)||typeof t.removeAttribute!="function"||typeof t.removeAttributeNode!="function"||typeof t.getAttributeNode!="function"||typeof t.setAttribute!="function"||typeof t.namespaceURI!="string"||typeof t.insertBefore!="function"||typeof t.hasChildNodes!="function"||t.nodeType!==Z(t)||t.childNodes!==le(t)},Se=function(t){if(!Z||typeof t!="object"||t===null)return!1;try{return Z(t)===L.documentFragment}catch{return!1}},Qe=function(t){if(!Z||typeof t!="object"||t===null)return!1;try{return typeof Z(t)=="number"}catch{return!1}};function ee(d,t,i){d.length!==0&&ye(d,a=>{a.call(e,t,i,He)})}let sr=function(t,i){return!!(Re&&t.hasChildNodes()&&!Qe(t.firstElementChild)&&N(dn,t.textContent)&&N(dn,t.innerHTML)||Re&&Yr[i]&&z(t)===L.element&&Ve(t)===ae&&(Qe(t.firstElementChild)||typeof t.textContent=="string"&&N(dn,t.textContent))||t.nodeType===L.processingInstruction||Re&&t.nodeType===L.comment&&N(bo,t.data))},vt=function(t,i){if(t instanceof RegExp)return N(t,i);if(t instanceof Function){for(var a=arguments.length,c=new Array(a>2?a-2:0),m=2;m<a;m++)c[m-2]=arguments[m];return!!t(i,...c)}return!1},ar=function(t,i,a){if(!Je[i]&&Kn(i)&&vt(se.tagNameCheck,i))return!1;if(zt&&!Le[i]&&!Le[Ie(i)]){let c=pe(t),m=le(t);if(m&&c){let g=m.length;for(let b=g-1;b>=0;--b){let D=t===a?ke(m[b],!0):m[b];c.insertBefore(D,ne(t))}}}return Ae(t),!0},Yn=function(t,i,a,c){return t.length===0?i:i===a||i===c?K(i):i},Be=function(t,i){return t===i||pe(t)!==null?!1:(Bt&&Kt(t),!0)},Qt=function(t,i){if(rr(t),ee(w.beforeSanitizeElements,t,null),Be(t,i))return!0;if(bt(t))return Ae(t),!0;let a=O(Te(t));if(x=Yn(w.uponSanitizeElement,x,Mt,ut),ee(w.uponSanitizeElement,t,{tagName:a,allowedTags:x}),Be(t,i))return!0;if(sr(t,a))return Ae(t),!0;if(Je[a]||!(we.tagCheck instanceof Function&&we.tagCheck(a))&&!x[a]){let c=ar(t,a,i);return c===!1&&(ee(w.afterSanitizeElements,t,null),Be(t,i))?!0:c}if(z(t)===L.element&&!Qo(t)||(a==="noscript"||a==="noembed"||a==="noframes")&&N($r,t.innerHTML))return Ae(t),!0;if(ge&&t.nodeType===L.text){let c=_t(t.textContent);t.textContent!==c&&(tt(e.removed,{element:t.cloneNode()}),t.textContent=c)}return ee(w.afterSanitizeElements,t,null),Be(t,i)},Vn=function(t,i,a){if(Sn[i]||Wn(i,t)||Rn&&(i==="id"||i==="name")&&(a in o||a in Ko))return!1;let c=k[i]||we.attributeCheck instanceof Function&&we.attributeCheck(i,t);return Nt&&N(re,i)||xn&&N(Ee,i)?!0:c?Mn[i]||N(dt,ot(a,ie,""))||(i==="src"||i==="xlink:href"||i==="href")&&t!=="script"&&po(a,"data:")===0&&Dn[t]||kn&&!N(Xe,ot(a,ie,""))?!0:!a:Kn(t)&&vt(se.tagNameCheck,t)&&vt(se.attributeNameCheck,i,t)||i==="is"&&se.allowCustomizedBuiltInElements&&vt(se.tagNameCheck,a)},cr=E({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Kn=function(t){return!cr[Ie(t)]&&N(pt,t)},lr=function(t,i,a,c){if(F&&typeof S=="object"&&typeof S.getAttributeType=="function"&&!a)switch(S.getAttributeType(t,i)){case"TrustedHTML":return I(c);case"TrustedScriptURL":return he(c)}return c},pr=function(t,i,a,c){try{return a?t.setAttributeNS(a,i,c):t.setAttribute(i,c),bt(t)?(Ae(t),!1):!0}catch{return ze(i,t),!1}},Xn=function(t,i){return Re&&N(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,i)?!0:Ie(t)==="attributename"&&lo(i,"href")!==null},en=function(t,i){if(ee(w.beforeSanitizeAttributes,t,null),Be(t,i))return;let a=t.attributes;if(!a||bt(t))return;k=Yn(w.uponSanitizeAttribute,k,Pt,ft);let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:k,forceKeepAttr:void 0},m=a.length,g=O(t.nodeName);for(;m--;){let b=a[m],D=b.name,ce=b.namespaceURI,B=b.value,G=O(D),je=B,W=D==="value"?je:Rr(je),Jn=!1;if(c.attrName=G,c.attrValue=W,c.keepAttr=!0,c.forceKeepAttr=void 0,ee(w.uponSanitizeAttribute,t,c),W=c.attrValue,Cn&&(G==="id"||G==="name")&&po(W,On)!==0&&(ze(D,t,b),W=On+W,Jn=!0),Xn(D,W)){ze(D,t,b);continue}if(!c.forceKeepAttr){if(!c.keepAttr){ze(D,t,b);continue}if(!Ut&&N(vo,W)){ze(D,t,b);continue}if(ge&&(W=_t(W)),!Vn(g,G,W)){ze(D,t,b);continue}W=lr(g,G,ce,W),W!==je&&pr(t,D,ce,W)&&Jn&&co(e.removed)}}ee(w.afterSanitizeAttributes,t,null),Be(t,i)},et=function(t){let i=null,a=Jt(t);for(ee(w.beforeSanitizeShadowDOM,t,null);i=a.nextNode();)if(ee(w.uponSanitizeShadowNode,i,null),Qt(i,t),en(i,t),Se(i.content)&&et(i.content),z(i)===L.element){let c=de(i);Se(c)&&(tn(c),et(c))}ge&&$n(t),ee(w.afterSanitizeShadowDOM,t,null)},tn=function(t){let i=[{node:t,shadow:null}];for(;i.length>0;){let a=i.pop();if(a.shadow){et(a.shadow);continue}let c=a.node,m=z(c)===L.element,g=le(c);if(g)for(let b=g.length-1;b>=0;--b)i.push({node:g[b],shadow:null});if(m){let b=ue?ue(c):null;if(typeof b=="string"&&O(b)==="template"){let D=c.content;Se(D)&&i.push({node:D,shadow:null})}}if(m){let b=de(c);Se(b)&&i.push({node:null,shadow:b},{node:b,shadow:null})}}};return e.sanitize=function(d){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,c=null,m=null;if(jt=!d,jt&&(d="<!-->"),typeof d!="string"&&!Qe(d)&&(d=Dr(d),typeof d!="string"))throw _e("dirty is not a string, aborting");if(!e.isSupported)return d;Ft?(x=ut,k=ft):$t(t),(w.uponSanitizeElement.length>0||w.uponSanitizeAttribute.length>0)&&(x=K(x)),w.uponSanitizeAttribute.length>0&&(k=K(k)),e.removed=[];let g=Bt&&typeof d!="string"&&Qe(d),b=[],D=Oe;if(g){ir(d);let G=Te(d);if(typeof G=="string"){let je=O(G);if(!x[je]||Je[je])throw Yt(d),_e("root node is forbidden and cannot be sanitized in-place")}if(bt(d))throw Yt(d),_e("root node is clobbered and cannot be sanitized in-place");b=Xt(d),Oe=on()}else if(Qe(d))i=qn("<!---->"),a=i.ownerDocument.importNode(d,!0),a.nodeType===L.element&&a.nodeName==="BODY"||a.nodeName==="HTML"?i=a:i.appendChild(a),tn(i);else{if(!Ne&&!ge&&!Ce&&d.indexOf("<")===-1)return F&&mt?I(d):d;if(i=qn(d),!i)return Ne?null:mt?fe:""}i&&Ht&&Ae(i.firstChild);let ce=g?d:i;try{g&&tn(d);let G=Jt(ce);for(;c=G.nextNode();)Qt(c,ce),en(c,ce),Se(c.content)&&et(c.content);g&&nr(d,b)}catch(G){throw g&&(Yt(d),Gn(d,b)),G}finally{Oe=D}if(g){if(Gn(d,b))throw _e("a node selected for removal could not be safely returned; refusing to sanitize in place");return ge&&Zt(d),d}if(Ne){if(ge&&Zt(i),ht)for(m=It.call(i.ownerDocument);i.firstChild;)m.appendChild(i.firstChild);else m=i;return(k.shadowroot||k.shadowrootmode)&&(m=ct.call(r,m,!0)),m}let B=Ce?i.outerHTML:i.innerHTML;return Ce&&x["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&N(Wr,i.ownerDocument.doctype.name)&&(B="<!DOCTYPE "+i.ownerDocument.doctype.name+`>
3
+ `+B),ge&&(B=_t(B)),F&&mt?I(B):B},e.setConfig=function(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};$t(d),Ft=!0,ut=x,ft=k},e.clearConfig=function(){He=null,Ft=!1,ut=null,ft=null,F=Ke,fe=""},e.isValidAttribute=function(d,t,i){He||$t({});let a=O(d),c=O(t);return typeof i=="string"&&(Xn(t,i)||!Ut&&N(vo,i))?!1:Vn(a,c,i)},e.addHook=function(d,t){typeof t=="function"&&q(w,d)&&tt(w[d],t)},e.removeHook=function(d,t){if(q(w,d)){if(t!==void 0){let i=Sr(w[d],t);return i===-1?void 0:kr(w[d],i,1)[0]}return co(w[d])}},e.removeHooks=function(d){q(w,d)&&(w[d]=[])},e.removeAllHooks=function(){w=To()},e}var Ro=ko();function y(n,e,o){let r=document.createElement(n);return e&&(r.textContent=e),o&&(r.className=o),r}function j(n){return typeof n!="string"?"":(Do(n).textContent||"").trim()}var Oo=new Set(["A","B","BLOCKQUOTE","BR","CODE","EM","I","LI","OL","P","PRE","STRONG","U","UL"]),Lo=new Set(["H1","H2","H3","H4","H5","H6"]),Co;function Do(n){return Co??(Co=Ro(window)),Co.sanitize(n,{ALLOWED_TAGS:[...Oo,...Lo].map(e=>e.toLowerCase()),ALLOWED_ATTR:["href"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1,RETURN_DOM_FRAGMENT:!0})}function Io(n){let e=document.createDocumentFragment();if(typeof n!="string")return e;let o=(r,s)=>{for(let p of Array.from(r.childNodes)){if(p.nodeType===Node.TEXT_NODE){s.appendChild(document.createTextNode(p.textContent||""));continue}if(!(p instanceof Element))continue;let l=p.tagName;if(Lo.has(l)){let f=document.createElement("p"),u=document.createElement("strong");f.appendChild(u),o(p,u),s.appendChild(f)}else if(Oo.has(l)){let f=document.createElement(l.toLowerCase());if(l==="A"){let u=p.getAttribute("href")||"";/^(https?:|mailto:)/i.test(u.trim())&&(f.setAttribute("href",u.trim()),f.setAttribute("target","_blank"),f.setAttribute("rel","noopener noreferrer nofollow"))}o(p,f),s.appendChild(f)}else["SCRIPT","STYLE","TEMPLATE","NOSCRIPT"].includes(l)||o(p,s)}};return o(Do(n),e),e}var mn=4,Mo="http://www.w3.org/2000/svg";function Xr(){let n=document.createElementNS(Mo,"svg");n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("class","chev"),n.setAttribute("aria-hidden","true");let e=document.createElementNS(Mo,"path");return e.setAttribute("d","M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"),n.append(e),n}function gn(n,e){let o=(n||[]).map(u=>j(u.data_item_name)).filter(Boolean);if(!o.length){let u=(e||[]).map(j).filter(Boolean).join(" \xB7 ");return u?y("div",u,"ps"):null}let r=y("div",void 0,"ps"),s=document.createTextNode("");r.append(s);let p=!1,l=()=>{s.data=(p?o:o.slice(0,mn)).join(", "),f.textContent=p?"show less":`+${o.length-mn} more`},f=y("button",void 0,"more");return f.type="button",f.onclick=()=>{p=!p,l()},l(),o.length>mn&&r.append(f),r}function Po(n,e,o){let r=y("div",void 0,"grp"),s=y("button",void 0,"gh");s.type="button",s.setAttribute("aria-expanded","false");let p=y("span",void 0,"gx");p.append(y("span",n,"gt")),e&&p.append(y("span",e,"gd")),s.append(p,Xr()),s.onclick=()=>{let f=!r.classList.contains("open");r.classList.toggle("open",f),s.setAttribute("aria-expanded",String(f))};let l=y("div",void 0,"gb");return o.forEach(f=>l.append(y("span",f,"gi"))),r.append(s,l),r}function yn(n){if(!j(n))return null;let e=y("div",void 0,"text");return e.append(Io(n)),e}function No({root:n,config:e,state:o,mode:r,demo:s,onClose:p,onSubmit:l,onChange:f}){n.replaceChildren();for(let h of e.purposes)h.required&&(o.choices[String(h.id)]=!0);let u=e.notice||{},_=[...u.purposes||[]],S=new Set(_.flatMap(h=>(h.sub_items||[]).map(T=>T.purpose_id))),H=e.purposes.filter(h=>!S.has(h.id));H.length&&_.push({purpose_reason:_.length?"Other purposes":"Purposes",sub_items:H.map(h=>({purpose_id:h.id,purpose_name:h.name}))});let ke=u.content?.consent_data?.find(h=>h.section_type==="initial-section")?.section_data,Y=y("section",void 0,"shell"),Me=y("div",void 0,"body");if(r!=="panel"){let h=y("button","\xD7","close");h.type="button",h.setAttribute("aria-label","Close consent form"),h.onclick=()=>p(),Y.append(h)}Me.append(y("h1",j(ke?.title)||e.name||"Your consent preferences"));let ne=y("form",void 0,"sec");ne.id="consent-form",ne.style.padding="0",ne.style.gap="16px";let le=new Map,pe=[],de=()=>{le.forEach((h,T)=>{h.forEach(A=>A.checked=!!o.choices[String(T)])}),pe.forEach(h=>{h.box.checked=h.ids.every(T=>!!o.choices[String(T)])}),fe()},Pe=(h,T)=>{if(o.busy){de();return}for(let A of h)e.purposes.find(I=>I.id===A)?.required||(o.choices[String(A)]=T);f(),de()},Z=ke?.sections?.length?[...ke.sections]:[{section_type:"data_process_section",section_data:{section_title:"How we use it"}}];Z.some(h=>h.section_type==="data_process_section")||Z.push({section_type:"data_process_section",section_data:{section_title:"Purposes"}});let ue=u.sections_language_code&&u.sections_language_code!==e.language_code?u.sections_language_code:void 0;for(let h of Z){let T=h.section_data,A=h.section_type;if(A==="link_section")continue;let I=y("div",void 0,"sec");if(A==="generic_section"){let C=yn(T.section_body);C&&I.append(C),ne.append(I);continue}T.section_title&&I.append(y("p",j(T.section_title),"st"));let he=yn(T.section_body);he&&I.append(he);let oe=y("div",void 0,"grps");if(ue&&(oe.lang=ue),A==="data_collect_section")for(let C of u.collected||[]){let V=C.sub_items||[];oe.append(Po(`${j(C.data_category_name)||"Data"} (${V.length})`,j(C.desc),V.map(j)))}else if(A==="data_process_section")for(let C of _){let V=C.sub_items||[],Q=V.map(M=>M.purpose_id),It=Q.length>0&&Q.every(M=>e.purposes.find(re=>re.id===M)?.required);for(let M of Q){let re=!!e.purposes.find(Ee=>Ee.id===M)?.required;o.choices[String(M)]=re||!!o.choices[String(M)]}let at=y("div",void 0,"grp pg"),ct=y("div",void 0,"ph"),w=y("span",void 0,"gx");w.append(y("span",j(C.purpose_reason)||"Purposes","gt")),C.desc&&w.append(y("span",j(C.desc),"gd"));let me=y("input");me.type="checkbox",me.disabled=It,me.setAttribute("aria-label",`Select all: ${C.purpose_reason||"purposes"}`),me.onchange=()=>Pe(Q,me.checked),pe.push({box:me,ids:Q}),ct.append(w,me);let lt=y("div",void 0,"pb");for(let M of V){let re=e.purposes.find(dt=>dt.id===M.purpose_id),Ee=y("div",void 0,"pr"),Xe=y("label",void 0,"prh");Xe.append(y("span",j(M.purpose_name||re?.name),"pn"));let ie=y("input");ie.type="checkbox",ie.name=String(M.purpose_id),ie.disabled=!!re?.required,ie.onchange=()=>Pe([M.purpose_id],ie.checked),le.set(M.purpose_id,[...le.get(M.purpose_id)||[],ie]),Xe.append(ie),Ee.append(Xe),re?.description&&Ee.append(y("p",j(re.description),"ps"));let pt=gn(M.data_items,M.data_categories);pt&&Ee.append(pt),lt.append(Ee)}at.append(ct,y("hr",void 0,"hr"),lt),oe.append(at)}else if(A==="data_share_section"){for(let C of u.shared||[]){let V=y("div",void 0,"sh");V.append(y("span",j(C.purpose_name)||"Sharing","gt"));let Q=gn(C.data_items,C.data_categories);Q&&V.append(Q),oe.append(V)}oe.childElementCount||oe.append(y("p","NIL","st"))}oe.childElementCount&&I.append(oe),ne.append(I)}de();let ve=y("div");ve.id="feedback",ve.setAttribute("aria-live","polite"),ne.append(ve),ne.onsubmit=h=>{h.preventDefault(),l()},Me.append(ne),Y.append(Me);let z=ke?.buttons?.length?ke.buttons:[{button_type:"accept-all",button_text:"Accept All",button_enabled:!0},{button_type:"reject-all",button_text:"Reject All",button_enabled:!0},{button_type:"accept-necessary",button_enabled:!0,button_data:{accept_necessary_text:"Accept Necessary",accept_selected_text:"Accept Selected"}}],Te=y("div",void 0,"foot"),Ye=y("div",void 0,"actions"),Ve=h=>{h==="accept-all"?e.purposes.forEach(T=>o.choices[String(T.id)]=!0):h==="reject-all"&&e.purposes.forEach(T=>o.choices[String(T.id)]=T.required),l()},F=[...z.filter(h=>h.button_type!=="accept-necessary"),...z.filter(h=>h.button_type==="accept-necessary")];for(let h of F){if(h.button_enabled===!1)continue;let T=h.button_type==="accept-necessary",A=y("button",void 0,T?"primary":void 0);A.type="button",A.dataset.type=h.button_type,A.textContent=T?h.button_data?.accept_necessary_text||"Accept Necessary":h.button_text||h.button_type,A.onclick=()=>Ve(h.button_type),T&&(A.dataset.necessary=h.button_data?.accept_necessary_text||"Accept Necessary",A.dataset.selected=h.button_data?.accept_selected_text||"Accept Selected"),Ye.append(A)}return Te.append(Ye),Y.append(Te),n.append(Y),de(),(r==="popup"||r==="page")&&Y.addEventListener("keydown",Ke),r!=="panel"&&!s&&(Y.tabIndex=-1,Y.focus({preventScroll:!0})),de;function fe(){let h=n.querySelector("button.primary");if(!h?.dataset.necessary)return;let T=e.purposes.some(A=>!A.required&&o.choices[String(A.id)]);h.textContent=T?h.dataset.selected:h.dataset.necessary}function Ke(h){if(h.key==="Escape"){p();return}if(h.key!=="Tab")return;let T=[...n.querySelectorAll("button:not([disabled]),input:not([disabled]),summary,a[href]")],A=T[0],I=T[T.length-1],he=n.getRootNode().activeElement;h.shiftKey&&(he===A||he===Y)?(h.preventDefault(),I?.focus()):!h.shiftKey&&(he===I||he===Y)&&(h.preventDefault(),A?.focus())}}var _n=`*{box-sizing:border-box}:host{all:initial;display:block}.theme,.root{height:100%}.root{background:var(--page);color:var(--text);font:var(--fs)/1.5 var(--font)}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.shell:focus{outline:none}.shell{max-width:560px;margin:auto;background:var(--bg);height:100%;display:flex;flex-direction:column;position:relative}.body{flex:1;min-height:0;overflow:auto;padding:var(--pad) var(--pad) 8px;display:flex;flex-direction:column;gap:var(--gap)}h1{font-size:calc(var(--fs) + 2px);line-height:1.4;font-weight:700;margin:0}.sec{display:flex;flex-direction:column;gap:calc(var(--gap) * .5);padding-bottom:var(--gap)}.st{font-weight:700;margin:0}.text{margin:0;white-space:pre-wrap}.text :is(p,ul,ol,pre,blockquote){margin:0 0 .5em}.text>:last-child{margin-bottom:0}.text a{color:var(--primary)}.grps{display:flex;flex-direction:column;gap:calc(var(--gap) * .6)}.grp{border:1.2px solid var(--line);border-radius:var(--r-card)}.gh{display:flex;width:100%;gap:12px;align-items:center;padding:var(--rowy) var(--rowx);background:none;border:0;text-align:left}.gx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gt{font-weight:600}.gd{font-size:12px;font-weight:400;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:480px){.gd{-webkit-line-clamp:2}}.chev{flex-shrink:0;width:1.25em;height:1.25em;fill:currentColor;transition:transform .2s ease}.open .chev{transform:rotate(180deg)}.gb{display:none;flex-direction:column;gap:4px;padding:0 var(--rowx) var(--rowx)}.open .gb{display:flex}.gi{font-size:16px;font-weight:800}.pg{display:flex;flex-direction:column}.ph{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--rowy) var(--rowx)}.hr{border:0;border-top:1px solid var(--line);margin:0}.pb{display:flex;flex-direction:column;padding:var(--rowy) var(--rowx)}.pr{display:flex;flex-direction:column;gap:2px;padding:4px 0}.prh{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;cursor:pointer}.pn{font-size:15px;font-weight:800;min-width:0;flex:1}.ps{font-size:12px;font-weight:400;color:var(--muted);padding-right:32px}.more{background:none;border:0;padding:0;margin-left:4px;color:var(--muted);text-decoration:underline;font-size:12px}.pg input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--primary)}.sh{display:flex;flex-direction:column;gap:2px;border:1.2px solid var(--line);border-radius:var(--r-card);padding:8px 16px}.foot{position:relative;flex-shrink:0;padding:0 var(--pad) var(--pad)}.foot:before{content:"";position:absolute;left:0;right:0;top:-50px;height:50px;background:linear-gradient(to top,var(--bg),var(--bg),transparent);pointer-events:none}.actions{display:flex;flex-direction:column;gap:calc(var(--gap) * .4)}.actions button{min-height:calc(var(--btn) - 8px);padding:0 16px;border-radius:var(--r-btn);border:1px solid var(--text);background:transparent;color:var(--text);font-weight:600;width:100%}.actions button:hover:not(:disabled){background:color-mix(in srgb,var(--text) 8%,transparent)}.actions .primary{min-height:var(--btn);background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.actions .primary:hover:not(:disabled){background:var(--primary);filter:brightness(.92)}.close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:23px;line-height:1;color:var(--muted);padding:4px 10px;z-index:1}.message{padding:12px 14px;border-radius:8px;background:#eff8f2;color:#19683e}.error{background:#fff0ef;color:#a43328}.root[data-mode=page] .shell{margin:36px auto;height:auto;max-height:calc(100dvh - 72px);border-radius:calc(var(--r-card) + 6px);box-shadow:0 15px 60px #16324c12}.root[data-mode=panel]{background:var(--bg);--fs: 14px}.root[data-mode=panel] .shell{max-width:none}@media(max-width:520px){.root[data-mode=page] .shell{margin:0;border-radius:0;height:100dvh;max-height:none}}
4
+ `;var St;function Uo(n){if("adoptedStyleSheets"in Document.prototype&&"replaceSync"in CSSStyleSheet.prototype){St||(St=new CSSStyleSheet,St.replaceSync(_n)),n.adoptedStyleSheets=[St];return}let e=document.createElement("style");e.textContent=_n,n.append(e)}var te=n=>n!==null&&typeof n=="object"&&!Array.isArray(n),$=n=>n==null||typeof n=="string",be=(n,e)=>n==null||Array.isArray(n)&&n.length<=1e3&&n.every(e),bn=n=>be(n,e=>typeof e=="string"),Fo=n=>be(n,e=>te(e)&&$(e.data_item_name));function xt(n,e){if(!te(n)||!$(n.sections_language_code))return!1;let o=new Set(e.map(l=>l.id)),r=new Set,s=l=>te(l)&&["accept-all","reject-all","accept-necessary"].includes(l.button_type)&&$(l.button_text)&&(l.button_enabled===void 0||typeof l.button_enabled=="boolean")&&(l.button_data==null||te(l.button_data)&&$(l.button_data.accept_necessary_text)&&$(l.button_data.accept_selected_text)),p=(l,f=0)=>{if(!te(l)||typeof l.section_type!="string"||!te(l.section_data))return!1;let u=l.section_data;return f<8&&$(u.title)&&$(u.section_title)&&$(u.section_body)&&be(u.buttons,s)&&be(u.sections,_=>p(_,f+1))};return(n.content==null||te(n.content)&&be(n.content.consent_data,l=>p(l)))&&be(n.purposes,l=>te(l)&&$(l.purpose_reason)&&$(l.desc)&&be(l.sub_items,f=>!te(f)||!o.has(f.purpose_id)||r.has(f.purpose_id)?!1:(r.add(f.purpose_id),$(f.purpose_name)&&Fo(f.data_items)&&bn(f.data_categories))))&&be(n.collected,l=>te(l)&&$(l.data_category_name)&&$(l.desc)&&bn(l.sub_items))&&be(n.shared,l=>te(l)&&$(l.purpose_name)&&Fo(l.data_items)&&bn(l.data_categories))}var kt=class{constructor(e){this.options=e;this.syncChecks=()=>{};this.pendingKey="";this.pendingBody="";this.needsRefresh=!1;let o=e.host.attachShadow({mode:"open"});Uo(o);let r=document.createElement("div");r.className="theme",r.lang=e.config.language_code,this.root=document.createElement("div"),this.root.className="root",this.root.dataset.mode=e.mode,r.append(this.root),o.append(r),this.appearance=io(r),this.appearance.apply(e.appearance),this.state={choices:{...e.choices},busy:!1}}render(){let{config:e,mode:o,demo:r=!1,onClose:s}=this.options;try{if(!xt(e.notice,e.purposes))throw new Error("Invalid notice");this.syncChecks=No({root:this.root,config:e,state:this.state,mode:o,demo:r,onClose:s,onSubmit:()=>this.submit(),onChange:()=>{this.pendingKey=""}})}catch{let p="The consent form could not be displayed. Check the notice configuration and reload.",l=y("section",void 0,"shell"),f=y("p",p,"message error");f.setAttribute("role","alert");let u=y("div",void 0,"body");if(u.append(f),l.append(u),o!=="panel"){let _=y("button","\xD7","close");_.setAttribute("aria-label","Close consent form"),_.type="button",_.onclick=s,l.append(_)}this.root.replaceChildren(l),o!=="panel"&&!r&&l.querySelector("button")?.focus(),this.options.onError(new v(p,"form_error"))}}setAppearance(e){this.appearance.apply(e),this.render()}destroy(){this.appearance.destroy()}message(e,o=!1){let r=this.root.querySelector("#feedback");r&&(r.textContent=e,r.className=o?"message error":"message",r.setAttribute("role",o?"alert":"status"))}async submit(){let{state:e,root:o,options:r}=this;if(e.busy||this.needsRefresh)return;e.busy=!0;let s=[...o.querySelectorAll("input:not(:disabled)")];s.forEach(u=>u.disabled=!0),o.querySelectorAll("button:not(.close)").forEach(u=>u.disabled=!0);let p={config_version:r.config.config_version,language_code:r.config.language_code,answers:r.config.purposes.map(u=>({purpose_id:u.id,given:!!e.choices[String(u.id)]}))},l=JSON.stringify(p);(!this.pendingKey||this.pendingBody!==l)&&(this.pendingKey=Zn(),this.pendingBody=l);let f;try{f=await r.save(p,this.pendingKey),e.choices=f.choices,this.message(r.demo?"Demo complete. No record was saved.":"Your choices are saved.")}catch(u){let _=u instanceof Error?u.message:"Your choices could not be saved. Please retry.";if(this.message(_,!0),u instanceof v&&u.code==="notice_changed"&&r.onRefresh){this.needsRefresh=!0;let S=y("button","Reload consent form");S.type="button",S.onclick=()=>void r.onRefresh().catch(()=>{}),o.querySelector("#feedback")?.append(S)}r.onError(u)}finally{e.busy=!1,o.querySelectorAll("button").forEach(u=>u.disabled=!1),s.forEach(u=>u.disabled=!1),this.syncChecks(),this.needsRefresh&&o.querySelectorAll(".actions button").forEach(u=>{u.disabled=!0})}f&&r.onComplete(f)}};function X(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function vn(n,e){if(!X(n))return!1;let o=new Set(e.purposes.map(r=>String(r.id)));return Object.entries(n).every(([r,s])=>o.has(r)&&typeof s=="boolean")}function it(n,e){if(!X(n)||n.app_id!==e||typeof n.name!="string"||typeof n.level_id!="string"||!n.level_id||typeof n.mode!="string"||!["panel","popup","page"].includes(n.mode)||typeof n.config_version!="string"||!/^[a-f0-9]{64}$/i.test(n.config_version)||typeof n.language_code!="string"||!n.language_code||!Array.isArray(n.purposes)||!n.purposes.length||n.purposes.length>300||!X(n.notice)||n.description!==null&&typeof n.description!="string"||n.template_id!==null&&typeof n.template_id!="string"||typeof n.revision!="number"||!Number.isInteger(n.revision)||n.revision<1||typeof n.sdk_version!="string"||!n.sdk_version||n.appearance!==void 0&&!X(n.appearance))return!1;let o=new Set;return n.purposes.every(r=>!X(r)||typeof r.id!="number"||!Number.isSafeInteger(r.id)||r.id<1||o.has(r.id)||typeof r.name!="string"||typeof r.required!="boolean"||!Array.isArray(r.data_items)||typeof r.description!="string"?!1:(o.add(r.id),!0))&&xt(n.notice,n.purposes)}var Rt=class{notePointer(e){this.pointerFocus=e.composedPath().find(o=>o instanceof HTMLElement&&o.matches("button,a[href],input,select,textarea,[tabindex]"))}activate(e){let o=document.activeElement;for(;o?.shadowRoot?.activeElement;)o=o.shadowRoot.activeElement;this.previousFocus=o instanceof HTMLElement&&o!==document.body?o:this.pointerFocus?.isConnected?this.pointerFocus:void 0,this.previousOverflow=document.body.style.overflow,document.body.style.overflow="hidden",e.showModal()}release(){this.previousOverflow!==void 0&&(document.body.style.overflow=this.previousOverflow,this.previousOverflow=void 0),this.previousFocus?.isConnected&&this.previousFocus.focus({preventScroll:!0}),this.previousFocus=void 0,this.pointerFocus=void 0}};function Ho(n,e){let o=document.createElement("dialog");return o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.setAttribute("aria-label","Consent preferences"),o.style.cssText="position:fixed;inset:0;margin:0;border:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;z-index:2147483000;display:flex;align-items:center;justify-content:center;box-sizing:border-box",e==="page"?(o.style.cssText+=";background:white",n.style.cssText+=";width:100%;height:100%;border-radius:0"):(o.style.cssText+=";background:#10182888;padding:20px",n.style.cssText+=";width:min(560px,100%);height:min(760px,90dvh);border-radius:16px;overflow:hidden;box-shadow:0 20px 70px #0004"),o}var Ct;function zo(n){Ct?.close(),Ct=n}function Bo(n){Ct===n&&(Ct=void 0)}function Tn(n){let e=new URL(n,window.location.href);if(e.username||e.password||e.search||e.hash)throw new Error("Use an Atlas backend base URL without credentials or query parameters.");if(e.protocol!=="https:"&&!(e.protocol==="http:"&&(e.hostname==="localhost"||e.hostname==="127.0.0.1"||e.hostname==="[::1]"||e.hostname.endsWith(".localhost"))))throw new Error("Atlas Consent requires HTTPS. HTTP is only supported for localhost.");return e.href.replace(/\/$/,"")}var jo="/consent-sdk/assets/";function En(n){let e=new URL(n,window.location.href).href,o=e.indexOf(jo);if(o<1)throw new Error(`Atlas Consent could not find "${jo}" in the script address. Load the SDK from the URL shown in Atlas, or use AtlasConsent.create({apiBaseUrl}).`);return Tn(e.slice(0,o))}function wn(n){if(!n)return;let e;try{e=JSON.parse(n)}catch{return}if(!e||typeof e.token!="string"||!e.token||typeof e.expires!="string"||!Number.isFinite(Date.parse(e.expires)))return;let o=e.result;return{token:e.token,expires:e.expires,result:o&&typeof o=="object"&&typeof o.ref_id=="string"?o:void 0}}function Ot(n){try{return localStorage.getItem(n)}catch{return}}function Go(n,e){try{return e?localStorage.setItem(n,JSON.stringify(e)):localStorage.removeItem(n),!0}catch{try{localStorage.removeItem(n)}catch{}return!1}}var Lt="atlas-consent:storage";async function Wo(n,e,o,r="Consent is temporarily unavailable."){if(e.aborted)throw new v("This consent instance was destroyed.","destroyed");let s=new AbortController,p=()=>s.abort();e.addEventListener("abort",p);let l=setTimeout(p,15e3),f,u;try{f=await fetch(n,{...o,signal:s.signal,credentials:"omit",headers:{"Content-Type":"application/json",...o?.headers}}),u=await f.json()}catch(_){throw e.aborted?new v("This consent instance was destroyed.","destroyed"):s.signal.aborted?new v("Atlas took too long to respond.","request_timeout"):_ instanceof SyntaxError||_ instanceof DOMException&&_.name==="SyntaxError"?new v(f?.ok?"Atlas returned an invalid response.":r,f&&!f.ok?"request_failed":"invalid_response",f?.status):new v("Atlas could not be reached.","network_error",f?.status)}finally{clearTimeout(l),e.removeEventListener("abort",p)}if(!f.ok||!X(u)||u.data===void 0||u.data===null){let _=X(u)&&X(u.error)?u.error:{};throw new v(typeof _.message=="string"&&_.message?_.message:r,typeof _.code=="string"?_.code:typeof _.type=="string"?_.type:"request_failed",f.status)}return u.data}var Zr=60*864e5,$e=n=>({ref_id:n.ref_id,app_id:n.app_id,level_id:n.level_id,config_version:n.config_version,choices:{...n.choices}}),st=class{constructor(e){this.options=e;this.controller=new AbortController;this.preferenceSnapshot="null";this.accessibility=new Rt;this.destroyed=!1;this.generation=0;this.reportedErrors=new WeakSet;this.storageChanged=e=>{(e.key===null||e.key===this.key)&&this.syncSaved()};this.documentStorageChanged=e=>{e.detail===this.key&&this.syncSaved()};this.keydown=e=>{e.key==="Escape"&&this.overlay&&this.close()};this.pointerdown=e=>this.accessibility.notePointer(e);if(!/^ac_app_[A-Za-z0-9_-]{10,40}$/.test(e.appId))throw new v("Use the app ID from Atlas Integrations.","invalid_app");let o=e.apiBaseUrl??Tt;if(!o)throw new v("Set apiBaseUrl or use an SDK build with a configured backend URL.","invalid_api_base_url");try{this.api=Tn(o)}catch(s){throw new v(s.message,"invalid_api_base_url")}this.key=`atlas-consent:v2:${encodeURIComponent(this.api)}:${e.appId}`,this.stored=Ot(this.key),this.saved=wn(this.stored??null),window.addEventListener("keydown",this.keydown),window.addEventListener("pointerdown",this.pointerdown,!0),window.addEventListener("storage",this.storageChanged),window.addEventListener(Lt,this.documentStorageChanged);let r=this.generation;this.ready=this.load().then(s=>{if(this.destroyed)throw new v("This consent instance was destroyed.","destroyed");return this.config=s,this.notifyPreference(),this.renewIfEnding(),r!==this.generation||(e.target?this.mount(e.target).catch(()=>{}):(e.mode||s.mode)==="popup"&&e.autoShow!==!1&&!this.hasChoice()&&this.open().catch(()=>{})),s}),this.ready.catch(s=>{this.loadFailure=s,this.fail(s)})}async load(){let e=await this.request(`/config?language_code=${encodeURIComponent(this.options.language||"en")}`);if(!it(e,this.options.appId))throw new v("Atlas returned an invalid configuration.","invalid_response");return e}request(e,o,r){return this.assertAlive(),Wo(`${this.api}/consent-sdk/v1/apps/${this.options.appId}${e}`,this.controller.signal,o,r)}persist(){let e=this.stored,o=Go(this.key,this.saved),r=o?this.saved?JSON.stringify(this.saved):null:Ot(this.key);r!==void 0&&(this.stored=r),this.notifyPreference(),(o||e!==this.stored)&&window.dispatchEvent(new CustomEvent(Lt,{detail:this.key}))}syncSaved(){if(this.destroyed)return;let e=Ot(this.key);if(e===void 0||e===this.stored)return;let o=wn(e),r=o?.token!==this.saved?.token||JSON.stringify(o?.result)!==JSON.stringify(this.saved?.result);this.stored=e,this.saved=o,r&&this.form&&this.close(!0),this.notifyPreference()}notifyPreference(){let e=this.hasChoice()?$e(this.saved.result):null,o=JSON.stringify(e);if(o!==this.preferenceSnapshot){this.preferenceSnapshot=o;try{this.options.onPreferenceChange?.(e?$e(e):null)}catch(r){queueMicrotask(()=>{throw r})}window.dispatchEvent(new CustomEvent("atlas-consent:change",{detail:{appId:this.options.appId,preference:e?$e(e):null}}))}}alive(){return!!this.saved&&Date.parse(this.saved.expires)>Date.now()}hasChoice(){return!!this.config&&this.alive()&&Et(this.saved.result,this.config)}getPreference(){return this.syncSaved(),this.notifyPreference(),this.hasChoice()?$e(this.saved.result):null}getClaim(){return this.syncSaved(),this.alive()&&this.saved.result?.app_id===this.options.appId?{app_id:this.options.appId,ref_id:this.saved.result.ref_id,claim_token:this.saved.token}:null}async session(e){this.syncSaved();let o=this.stored,r=this.saved;if(this.alive())try{let p=await this.request("/session?language_code="+encodeURIComponent(this.options.language||"en"),{headers:{Authorization:`Bearer ${r.token}`}});if(e!==this.generation)return{};if(this.syncSaved(),e!==this.generation)return{};if(o!==this.stored)return this.session(e);if(!X(p)||!it(p.config,this.options.appId)||!vn(p.choices,p.config))throw new v("Atlas returned an invalid session.","invalid_response");return this.reconcileSession(p,r),typeof p.expires_at=="string"&&Number.isFinite(Date.parse(p.expires_at))&&(r.expires=p.expires_at),this.persist(),p.choices}catch(p){if(e!==this.generation)return{};if(!(p instanceof v)||p.status!==401)throw p;this.saved=void 0,this.persist(),o=this.stored}let s=await this.request("/sessions",{method:"POST",body:JSON.stringify({language_code:this.options.language||"en"})});if(e!==this.generation)return{};if(this.syncSaved(),e!==this.generation)return{};if(o!==this.stored)return this.session(e);if(!X(s)||typeof s.session_token!="string"||!s.session_token||typeof s.expires_at!="string"||!Number.isFinite(Date.parse(s.expires_at))||!it(s.config,this.options.appId))throw new v("Atlas returned an invalid session.","invalid_response");return this.config=s.config,this.saved={token:s.session_token,expires:s.expires_at},this.persist(),{}}reconcileSession(e,o){let r=e.config,s=o.result;if(s?.config_version===r.config_version){let p={...s,choices:e.choices};o.result=Et(p,r)&&e.ref_id===s.ref_id?p:void 0}this.config=r}renewIfEnding(){if(!this.alive()||Date.parse(this.saved.expires)-Date.now()>Zr)return;let e=this.saved,o=this.stored;this.request("/session?language_code="+encodeURIComponent(this.options.language||"en"),{headers:{Authorization:`Bearer ${e.token}`}}).then(r=>{this.syncSaved(),this.saved===e&&this.stored===o&&X(r)&&it(r.config,this.options.appId)&&vn(r.choices,r.config)&&typeof r.expires_at=="string"&&Number.isFinite(Date.parse(r.expires_at))&&(this.reconcileSession(r,e),e.expires=r.expires_at,this.persist())}).catch(()=>{})}async save(e,o,r,s,p){if(this.syncSaved(),p!==this.generation||this.saved?.token!==s)throw new v("This consent form was closed. Open it again.","form_closed");let l=await this.request("/decisions",{method:"POST",headers:{Authorization:`Bearer ${s}`,"Idempotency-Key":o},body:JSON.stringify({...e,sdk_version:Ge})},"Your choices could not be saved. Please retry.");if(!Et(l,r))throw new v("Atlas returned an invalid consent result. Please retry.","invalid_response");let f=l.expires_at;return p===this.generation&&this.saved?.token===s&&typeof f=="string"&&Number.isFinite(Date.parse(f))&&(this.saved.expires=f),$e(l)}recordView(){this.request("/events",{method:"POST",headers:{Authorization:`Bearer ${this.saved?.token}`},body:JSON.stringify({event:"viewed"})}).catch(()=>{})}async reported(e){try{await e()}catch(o){throw o!==this.loadFailure&&this.fail(o),o}}mount(e){return this.reported(()=>this.mountForm(e))}async mountForm(e){let o=this.generation;if(await this.ready,this.assertAlive(),o!==this.generation)return;let r=typeof e=="string"?document.querySelector(e):e;if(!(r instanceof HTMLElement))throw new v("The consent container was not found.","missing_container");return this.startForm(this.options.mode||this.config?.mode||"panel",r)}open(){return this.reported(async()=>{let e=this.generation;if(await this.ready,this.assertAlive(),e!==this.generation)return;if(this.host&&!this.overlay){this.host.scrollIntoView({block:"nearest"}),this.host.focus({preventScroll:!0});return}let o=this.options.mode||this.config.mode;return this.startForm(o==="panel"?"popup":o)})}refresh(){let e=this.mountTarget;return this.close(!0),e?this.mount(e):this.open()}startForm(e,o){if(this.form)return Promise.resolve();if(this.launchTask)return this.launchTask;let r=this.generation,s=Promise.resolve().then(()=>this.insertForm(e,o,r));this.launchTask=s;let p=()=>{this.launchTask===s&&(this.launchTask=void 0)};return s.then(p,p),s}async insertForm(e,o,r){try{if(this.assertAlive(),r!==this.generation)return;let s=await this.session(r);if(this.assertAlive(),r!==this.generation)return;o||zo(this);let p=this.createForm(e,s);if(o)this.mountTarget=o,this.host.tabIndex=-1,this.host.setAttribute("role","region"),this.host.setAttribute("aria-label","Consent preferences"),o.append(this.host);else{this.overlay=Ho(this.host,e);let l=this.overlay;l.addEventListener("cancel",f=>{f.preventDefault(),this.overlay===l&&this.close()}),l.addEventListener("close",()=>{this.overlay===l&&this.close()}),this.overlay.append(this.host),document.body.append(this.overlay),this.accessibility.activate(this.overlay)}p.render(),this.recordView()}catch(s){if(this.destroyed)throw s;if(r!==this.generation)return;throw this.close(!0),s}}createForm(e,o){let r=this.generation,s=this.saved.token,p=this.config,l=document.createElement("atlas-consent-form");return l.style.cssText="display:block;width:100%;height:650px",this.host=l,this.form=new kt({host:l,config:this.config,choices:o,mode:e,appearance:{...this.config?.appearance,...this.options.appearance},save:(f,u)=>this.save(f,u,p,s,r),onComplete:f=>{this.syncSaved(),r===this.generation&&this.saved?.token===s&&this.complete(f)},onError:f=>{r===this.generation&&this.fail(f)},onClose:()=>{r===this.generation&&this.close()},onRefresh:()=>r===this.generation?this.refresh():Promise.resolve()}),this.form}complete(e){let o=this.overlay,r={app_id:e.app_id,ref_id:e.ref_id,claim_token:this.saved.token};this.saved.result=$e(e),this.persist();try{this.options.onComplete?.(e,r)}finally{o&&this.overlay===o&&this.close()}}assertAlive(){if(this.destroyed)throw new v("This consent instance was destroyed.","destroyed")}fail(e){if(this.destroyed||e instanceof v&&e.code==="destroyed")return;if(e&&typeof e=="object"){if(this.reportedErrors.has(e))return;this.reportedErrors.add(e)}let o=e instanceof v?e:new v(e instanceof Error?e.message:"Consent is unavailable.","unexpected_error");try{this.options.onError?.(o)}catch(r){queueMicrotask(()=>{throw r})}window.dispatchEvent(new CustomEvent("atlas-consent:error",{detail:{appId:this.options.appId,error:o}}))}close(e=!1){this.generation+=1,this.launchTask=void 0,Bo(this);let o=!!(this.form||this.overlay);this.form?.destroy(),this.form=void 0,this.host?.remove(),this.host=void 0,this.mountTarget=void 0,this.overlay?.close(),this.overlay?.remove(),this.overlay=void 0,this.accessibility.release(),o&&!e&&this.options.onClose?.()}destroy(){this.destroyed=!0,this.controller.abort(),this.close(!0),window.removeEventListener("keydown",this.keydown),window.removeEventListener("pointerdown",this.pointerdown,!0),window.removeEventListener("storage",this.storageChanged),window.removeEventListener(Lt,this.documentStorageChanged)}};function An(n){return new st(n)}var Dt=document.currentScript;if(Dt?.dataset.atlasApp){let n=Dt.dataset,e=n.atlasApp,o=p=>{let l=p instanceof v?p:new v(p instanceof Error?p.message:"Atlas Consent could not start.","unexpected_error");console.error(l.message),window.dispatchEvent(new CustomEvent("atlas-consent:error",{detail:{appId:e,error:l}}))},r=()=>{try{return En(Dt.src)}catch{return""}},s=()=>{let p;try{let l;if(n.appearance)try{l=JSON.parse(n.appearance)}catch{throw new v("data-appearance must be valid JSON.","invalid_appearance")}p=An({appId:e,apiBaseUrl:n.apiBaseUrl||r()||Tt||En(Dt.src),mode:n.mode,target:n.target,language:n.language||"en",autoShow:n.autoShow===void 0?void 0:n.autoShow!=="false",appearance:l})}catch(l){o(l);return}p.ready.then(l=>{window.dispatchEvent(new CustomEvent("atlas-consent:ready",{detail:{client:p,version:Ge}})),!n.target&&(n.mode||l.mode)==="panel"&&o(new v('This integration shows a panel. Add data-target="#element-id" to the script tag, or call client.mount().',"missing_container"))},()=>{})};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s,{once:!0}):s()}return gr(Qr);})();
5
+ /*! Bundled license information:
6
+
7
+ dompurify/dist/purify.es.mjs:
8
+ (*! @license DOMPurify 3.4.17 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.17/LICENSE *)
9
+ (*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE *)
10
+ */
@@ -0,0 +1 @@
1
+ export * from "./index.js";