UNPKG

@almacareer/cookie-consent-manager

Version:

Cookie Consent Manager mainly for Alma Career products

1,153 lines 138 kB
/*! * CookieConsent 3.1.0 * https://github.com/orestbida/cookieconsent * Author Orest Bida * Released under the MIT License */ const Va = "opt-in", Ie = "opt-out", ra = "show--consent", ca = "show--preferences", ta = "disable--interaction", Ue = "data-category", $ = "div", oe = "button", ie = "aria-hidden", xe = "btn-group", W = "click", Me = "data-role", la = "consentModal", pa = "preferencesModal"; class Ua { constructor() { this.t = { mode: Va, revision: 0, autoShow: !0, lazyHtmlGeneration: !0, autoClearCookies: !0, manageScriptTags: !0, hideFromBots: !0, cookie: { name: "cc_cookie", expiresAfterDays: 182, domain: "", path: "/", secure: !0, sameSite: "Lax" } }, this.o = { i: {}, l: "", _: {}, u: {}, p: {}, m: [], v: !1, h: null, C: null, S: null, M: "", D: !0, T: !1, k: !1, A: !1, N: !1, H: [], V: !1, I: !0, L: [], j: !1, F: "", P: !1, O: [], R: [], B: [], $: [], G: !1, J: !1, U: !1, q: [], K: [], W: [], X: {}, Y: {}, Z: {}, ee: {}, te: {}, oe: [] }, this.ne = { ae: {}, se: {} }, this.ce = {}, this.re = { ie: "cc:onFirstConsent", le: "cc:onConsent", de: "cc:onChange", fe: "cc:onModalShow", _e: "cc:onModalHide", ue: "cc:onModalReady" }; } } const i = new Ua(), Ya = (t, n) => t.indexOf(n), S = (t, n) => Ya(t, n) !== -1, _e = (t) => Array.isArray(t), me = (t) => typeof t == "string", Ye = (t) => !!t && typeof t == "object" && !_e(t), se = (t) => typeof t == "function", re = (t) => Object.keys(t), da = (t) => Array.from(new Set(t)), Ze = () => document.activeElement, Ne = (t) => t.preventDefault(), ua = (t, n) => t.querySelectorAll(n), Ee = (t) => t.dispatchEvent(new Event("change")), h = (t) => { const n = document.createElement(t); return t === oe && (n.type = t), n; }, A = (t, n, e) => t.setAttribute(n, e), Xe = (t, n, e) => { t.removeAttribute(e ? "data-" + n : n); }, Ke = (t, n, e) => t.getAttribute(e ? "data-" + n : n), v = (t, n) => t.appendChild(n), I = (t, n) => t.classList.add(n), V = (t, n) => I(t, "cm__" + n), _ = (t, n) => I(t, "pm__" + n), he = (t, n) => t.classList.remove(n), ue = (t) => { if (typeof t != "object") return t; if (t instanceof Date) return new Date(t.getTime()); let n = Array.isArray(t) ? [] : {}; for (let e in t) { let a = t[e]; n[e] = ue(a); } return n; }, zt = () => { const t = {}, { O: n, X: e, Y: a } = i.o; for (const o of n) t[o] = We(a[o], re(e[o])); return t; }, Na = (t, n) => dispatchEvent(new CustomEvent(t, { detail: n })), x = (t, n, e, a) => { t.addEventListener(n, e), a && i.o.m.push({ pe: t, ge: n, me: e }); }, Ma = () => { const t = i.t.cookie.expiresAfterDays; return se(t) ? t(i.o.F) : t; }, We = (t, n) => { const e = t || [], a = n || []; return e.filter((o) => !S(a, o)).concat(a.filter((o) => !S(e, o))); }, Za = (t) => { i.o.R = da(t), i.o.F = (() => { let n = "custom"; const { R: e, O: a, B: o } = i.o, r = e.length; return r === a.length ? n = "all" : r === o.length && (n = "necessary"), n; })(); }, Ja = (t, n, e, a) => { const o = "accept-", { show: r, showPreferences: l, hide: s, hidePreferences: c, acceptCategory: u } = n, y = t || document, p = (g) => ua(y, `[data-cc="${g}"]`), m = (g, w) => { Ne(g), u(w), c(), s(); }, b = p("show-preferencesModal"), d = p("show-consentModal"), k = p(o + "all"), j = p(o + "necessary"), z = p(o + "custom"), C = i.t.lazyHtmlGeneration; for (const g of b) A(g, "aria-haspopup", "dialog"), x(g, W, (w) => { Ne(w), l(); }), C && (x(g, "mouseenter", (w) => { Ne(w), i.o.N || e(n, a); }, !0), x(g, "focus", () => { i.o.N || e(n, a); })); for (let g of d) A(g, "aria-haspopup", "dialog"), x(g, W, (w) => { Ne(w), r(!0); }, !0); for (let g of k) x(g, W, (w) => { m(w, "all"); }, !0); for (let g of z) x(g, W, (w) => { m(w); }, !0); for (let g of j) x(g, W, (w) => { m(w, []); }, !0); }, ce = (t, n) => { t && (n && (t.tabIndex = -1), t.focus(), n && t.removeAttribute("tabindex")); }, Xa = (t, n) => { const e = (a) => { a.target.removeEventListener("transitionend", e), a.propertyName === "opacity" && getComputedStyle(t).opacity === "1" && ce(((o) => o === 1 ? i.ne.be : i.ne.ve)(n)); }; x(t, "transitionend", e); }; let Pa; const Qa = (t) => { clearTimeout(Pa), t ? I(i.ne.ye, ta) : Pa = setTimeout(() => { he(i.ne.ye, ta); }, 500); }, wt = ["M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5", "M 3.572 13.406 L 8.281 18.115 L 20.428 5.885", "M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 "], De = (t = 0, n = 1.5) => `<svg viewBox="0 0 24 24" stroke-width="${n}"><path d="${wt[t]}"/></svg>`, et = (t) => { const n = i.ne, e = i.o; ((a) => { const o = a === n.he, r = e.i.disablePageInteraction ? n.ye : o ? n.Ce : n.ye; x(r, "keydown", (l) => { if (l.key !== "Tab" || !(o ? e.k && !e.A : e.A)) return; const s = Ze(), c = o ? e.q : e.K; c.length !== 0 && (l.shiftKey ? s !== c[0] && a.contains(s) || (Ne(l), ce(c[1])) : s !== c[1] && a.contains(s) || (Ne(l), ce(c[0]))); }, !0); })(t); }, Ct = ["[href]", oe, "input", "details", "[tabindex]"].map((t) => t + ':not([tabindex="-1"])').join(","), at = (t) => { const { o: n, ne: e } = i, a = (o, r) => { const l = ua(o, Ct); r[0] = l[0], r[1] = l[l.length - 1]; }; t === 1 && n.T && a(e.he, n.q), t === 2 && n.N && a(e.we, n.K); }, le = (t, n, e) => { const { de: a, le: o, ie: r, _e: l, ue: s, fe: c } = i.ce, u = i.re; if (n) { const p = { modalName: n }; return t === u.fe ? se(c) && c(p) : t === u._e ? se(l) && l(p) : (p.modal = e, se(s) && s(p)), Na(t, p); } const y = { cookie: i.o.p }; t === u.ie ? se(r) && r(ue(y)) : t === u.le ? se(o) && o(ue(y)) : (y.changedCategories = i.o.L, y.changedServices = i.o.ee, se(a) && a(ue(y))), Na(t, ue(y)); }, Le = (t, n) => { try { return t(); } catch (e) { return !n && console.warn("CookieConsent:", e), !1; } }, na = (t) => { const { Y: n, ee: e, O: a, X: o, oe: r, p: l, L: s } = i.o; for (const p of a) { const m = e[p] || n[p] || []; for (const b of m) { const d = o[p][b]; if (!d) continue; const { onAccept: k, onReject: j } = d; !d.Se && S(n[p], b) ? (d.Se = !0, se(k) && k()) : d.Se && !S(n[p], b) && (d.Se = !1, se(j) && j()); } } if (!i.t.manageScriptTags) return; const c = r, u = t || l.categories || [], y = (p, m) => { if (m >= p.length) return; const b = r[m]; if (b.xe) return y(p, m + 1); const d = b.Me, k = b.De, j = b.Te, z = S(u, k), C = !!j && S(n[k], j); if (!j && !b.ke && z || !j && b.ke && !z && S(s, k) || j && !b.ke && C || j && b.ke && !C && S(e[k] || [], j)) { b.xe = !0; const g = Ke(d, "type", !0); Xe(d, "type", !!g), Xe(d, Ue); let w = Ke(d, "src", !0); w && Xe(d, "src", !0); const N = h("script"); N.textContent = d.innerHTML; for (const { nodeName: f } of d.attributes) A(N, f, d[f] || Ke(d, f)); g && (N.type = g), w ? N.src = w : w = d.src; const M = !!w && (!g || ["text/javascript", "module"].includes(g)); if (M && (N.onload = N.onerror = () => { y(p, ++m); }), d.replaceWith(N), M) return; } y(p, ++m); }; y(c, 0); }, Ge = "bottom", oa = "left", tt = "center", ma = "right", Qe = "inline", nt = "wide", ot = "pm--", ea = ["middle", "top", Ge], _a = [oa, tt, ma], At = { box: { Ee: [nt, Qe], Ae: ea, Ne: _a, He: Ge, Ve: ma }, cloud: { Ee: [Qe], Ae: ea, Ne: _a, He: Ge, Ve: tt }, bar: { Ee: [Qe], Ae: ea.slice(1), Ne: [], He: Ge, Ve: "" } }, Nt = { box: { Ee: [], Ae: [], Ne: [], He: "", Ve: "" }, bar: { Ee: [nt], Ae: [], Ne: [oa, ma], He: "", Ve: oa } }, it = (t) => { const n = i.o.i.guiOptions, e = n && n.consentModal, a = n && n.preferencesModal; t === 0 && $a(i.ne.he, At, e, "cm--", "box", "cm"), t === 1 && $a(i.ne.we, Nt, a, ot, "box", "pm"); }, $a = (t, n, e, a, o, r) => { t.className = r; const l = e && e.layout, s = e && e.position, c = e && e.flipButtons, u = !e || e.equalWeightButtons !== !1, y = l && l.split(" ") || [], p = y[0], m = y[1], b = p in n ? p : o, d = n[b], k = S(d.Ee, m) && m, j = s && s.split(" ") || [], z = j[0], C = a === ot ? j[0] : j[1], g = S(d.Ae, z) ? z : d.He, w = S(d.Ne, C) ? C : d.Ve, N = (f) => { f && I(t, a + f); }; N(b), N(k), N(g), N(w), c && N("flip"); const M = r + "__btn--secondary"; if (r === "cm") { const { Ie: f, Le: B } = i.ne; f && (u ? he(f, M) : I(f, M)), B && (u ? he(B, M) : I(B, M)); } else { const { je: f } = i.ne; f && (u ? he(f, M) : I(f, M)); } }, Pe = (t, n) => { const e = i.o, a = i.ne, { hide: o, hidePreferences: r, acceptCategory: l } = t, s = (w) => { l(w), r(), o(); }, c = e.u && e.u.preferencesModal; if (!c) return; const u = c.title, y = c.closeIconLabel, p = c.acceptAllBtn, m = c.acceptNecessaryBtn, b = c.savePreferencesBtn, d = c.sections || [], k = p || m || b; if (a.Fe) a.Pe = h($), _(a.Pe, "body"); else { a.Fe = h($), I(a.Fe, "pm-wrapper"); const w = h("div"); I(w, "pm-overlay"), v(a.Fe, w), x(w, W, r), a.we = h($), I(a.we, "pm"), A(a.we, "role", "dialog"), A(a.we, ie, !0), A(a.we, "aria-modal", !0), A(a.we, "aria-labelledby", "pm__title"), x(a.ye, "keydown", (N) => { N.keyCode === 27 && r(); }, !0), a.Oe = h($), _(a.Oe, "header"), a.Re = h("h2"), _(a.Re, "title"), a.Re.id = "pm__title", a.Be = h(oe), _(a.Be, "close-btn"), A(a.Be, "aria-label", c.closeIconLabel || ""), x(a.Be, W, r), a.$e = h("span"), a.$e.innerHTML = De(), v(a.Be, a.$e), a.Ge = h($), _(a.Ge, "body"), a.Je = h($), _(a.Je, "footer"); var j = h($); I(j, "btns"); var z = h($), C = h($); _(z, xe), _(C, xe), v(a.Je, z), v(a.Je, C), v(a.Oe, a.Re), v(a.Oe, a.Be), a.ve = h($), A(a.ve, "tabIndex", -1), v(a.we, a.ve), v(a.we, a.Oe), v(a.we, a.Ge), k && v(a.we, a.Je), v(a.Fe, a.we); } let g; u && (a.Re.innerHTML = u, y && A(a.Be, "aria-label", y)), d.forEach((w, N) => { const M = w.title, f = w.description, B = w.linkedCategory, X = B && e.P[B], P = w.cookieTable, Y = P && P.body, te = P && P.caption, G = Y && Y.length > 0, q = !!X, Z = q && e.X[B], ke = Ye(Z) && re(Z) || [], R = q && (!!f || !!G || re(Z).length > 0); var ne = h($); if (_(ne, "section"), R || f) { var ae = h($); _(ae, "section-desc-wrapper"); } let ge = ke.length; if (R && ge > 0) { const K = h($); _(K, "section-services"); for (const ee of ke) { const D = Z[ee], J = D && D.label || ee, be = h($), je = h($), $e = h($), we = h($); _(be, "service"), _(we, "service-title"), _(je, "service-header"), _($e, "service-icon"); const de = Sa(J, ee, X, !0, B); we.innerHTML = J, v(je, $e), v(je, we), v(be, je), v(be, de), v(K, be); } v(ae, K); } if (M) { var fe = h($), Q = h(q ? oe : $); if (_(fe, "section-title-wrapper"), _(Q, "section-title"), Q.innerHTML = M, v(fe, Q), q) { const K = h("span"); K.innerHTML = De(2, 3.5), _(K, "section-arrow"), v(fe, K), ne.className += "--toggle"; const ee = Sa(M, B, X); let D = c.serviceCounterLabel; if (ge > 0 && me(D)) { let J = h("span"); _(J, "badge"), _(J, "service-counter"), A(J, ie, !0), A(J, "data-servicecounter", ge), D && (D = D.split("|"), D = D.length > 1 && ge > 1 ? D[1] : D[0], A(J, "data-counterlabel", D)), J.innerHTML = ge + (D ? " " + D : ""), v(Q, J); } if (R) { _(ne, "section--expandable"); var wa = B + "-desc"; A(Q, "aria-expanded", !1), A(Q, "aria-controls", wa); } v(fe, ee); } else A(Q, "role", "heading"), A(Q, "aria-level", "3"); v(ne, fe); } if (f) { var Je = h("p"); _(Je, "section-desc"), Je.innerHTML = f, v(ae, Je); } if (R && (A(ae, ie, "true"), ae.id = wa, ((K, ee, D) => { x(Q, W, () => { ee.classList.contains("is-expanded") ? (he(ee, "is-expanded"), A(D, "aria-expanded", "false"), A(K, ie, "true")) : (I(ee, "is-expanded"), A(D, "aria-expanded", "true"), A(K, ie, "false")); }); })(ae, ne, Q), G)) { const K = h("table"), ee = h("thead"), D = h("tbody"); if (te) { const de = h("caption"); _(de, "table-caption"), de.innerHTML = te, K.appendChild(de); } _(K, "section-table"), _(ee, "table-head"), _(D, "table-body"); const J = P.headers, be = re(J), je = a.Ue.createDocumentFragment(), $e = h("tr"); for (const de of be) { const Ce = J[de], ye = h("th"); ye.id = "cc__row-" + Ce + N, A(ye, "scope", "col"), _(ye, "table-th"), ye.innerHTML = Ce, v(je, ye); } v($e, je), v(ee, $e); const we = a.Ue.createDocumentFragment(); for (const de of Y) { const Ce = h("tr"); _(Ce, "table-tr"); for (const ye of be) { const Ca = J[ye], jt = de[ye], Se = h("td"), Aa = h($); _(Se, "table-td"), A(Se, "data-column", Ca), A(Se, "headers", "cc__row-" + Ca + N), Aa.insertAdjacentHTML("beforeend", jt), v(Se, Aa), v(Ce, Se); } v(we, Ce); } v(D, we), v(K, ee), v(K, D), v(ae, K); } (R || f) && v(ne, ae); const bt = a.Pe || a.Ge; q ? (g || (g = h($), _(g, "section-toggles")), g.appendChild(ne)) : g = null, v(bt, g || ne); }), p && (a.ze || (a.ze = h(oe), _(a.ze, "btn"), A(a.ze, Me, "all"), v(z, a.ze), x(a.ze, W, () => s("all"))), a.ze.innerHTML = p), m && (a.je || (a.je = h(oe), _(a.je, "btn"), A(a.je, Me, "necessary"), v(z, a.je), x(a.je, W, () => s([]))), a.je.innerHTML = m), b && (a.qe || (a.qe = h(oe), _(a.qe, "btn"), _(a.qe, "btn--secondary"), A(a.qe, Me, "save"), v(C, a.qe), x(a.qe, W, () => s())), a.qe.innerHTML = b), a.Pe && (a.we.replaceChild(a.Pe, a.Ge), a.Ge = a.Pe), it(1), e.N || (e.N = !0, le(i.re.ue, pa, a.we), n(t), v(a.Ce, a.Fe), et(a.we), setTimeout(() => I(a.Fe, "cc--anim"), 100)), at(2); }; function Sa(t, n, e, a, o) { const r = i.o, l = i.ne, s = h("label"), c = h("input"), u = h("span"), y = h("span"), p = h("span"), m = h("span"), b = h("span"); if (m.innerHTML = De(1, 3), b.innerHTML = De(0, 3), c.type = "checkbox", I(s, "section__toggle-wrapper"), I(c, "section__toggle"), I(m, "toggle__icon-on"), I(b, "toggle__icon-off"), I(u, "toggle__icon"), I(y, "toggle__icon-circle"), I(p, "toggle__label"), A(u, ie, "true"), a ? (I(s, "toggle-service"), A(c, Ue, o), l.se[o][n] = c) : l.ae[n] = c, a ? ((d) => { x(c, "change", () => { const k = l.se[d], j = l.ae[d]; r.Z[d] = []; for (let z in k) { const C = k[z]; C.checked && r.Z[d].push(C.value); } j.checked = r.Z[d].length > 0; }); })(o) : ((d) => { x(c, W, () => { const k = l.se[d], j = c.checked; r.Z[d] = []; for (let z in k) k[z].checked = j, j && r.Z[d].push(z); }); })(n), c.value = n, p.textContent = t.replace(/<.*>.*<\/.*>/gm, ""), v(y, b), v(y, m), v(u, y), r.D) (e.readOnly || e.enabled) && (c.checked = !0); else if (a) { const d = r.Y[o]; c.checked = e.readOnly || S(d, n); } else S(r.R, n) && (c.checked = !0); return e.readOnly && (c.disabled = !0), v(s, c), v(s, u), v(s, p), s; } const aa = () => { const t = h("span"); return i.ne.Ke || (i.ne.Ke = t), t; }, ka = (t, n) => { const e = i.o, a = i.ne, { hide: o, showPreferences: r, acceptCategory: l } = t, s = e.u && e.u.consentModal; if (!s) return; const c = s.acceptAllBtn, u = s.acceptNecessaryBtn, y = s.showPreferencesBtn, p = s.closeIconLabel, m = s.footer, b = s.label, d = s.title, k = (z) => { o(), l(z); }; if (!a.Qe) { a.Qe = h($), a.he = h($), a.We = h($), a.Xe = h($), a.Ye = h($), I(a.Qe, "cm-wrapper"), I(a.he, "cm"), V(a.We, "body"), V(a.Xe, "texts"), V(a.Ye, "btns"), A(a.he, "role", "dialog"), A(a.he, "aria-modal", "true"), A(a.he, ie, "false"), A(a.he, "aria-describedby", "cm__desc"), b ? A(a.he, "aria-label", b) : d && A(a.he, "aria-labelledby", "cm__title"); const z = "box", C = e.i.guiOptions, g = C && C.consentModal, w = (g && g.layout || z).split(" ")[0] === z; d && p && w && (a.Le || (a.Le = h(oe), a.Le.innerHTML = De(), V(a.Le, "btn"), V(a.Le, "btn--close"), x(a.Le, W, () => { k([]); }), v(a.We, a.Le)), A(a.Le, "aria-label", p)), v(a.We, a.Xe), (c || u || y) && v(a.We, a.Ye), a.be = h($), A(a.be, "tabIndex", -1), v(a.he, a.be), v(a.he, a.We), v(a.Qe, a.he); } d && (a.Ze || (a.Ze = h("h2"), a.Ze.className = a.Ze.id = "cm__title", v(a.Xe, a.Ze)), a.Ze.innerHTML = d); let j = s.description; if (j && (e.V && (j = j.replace("{{revisionMessage}}", e.I ? "" : s.revisionMessage || "")), a.et || (a.et = h("p"), a.et.className = a.et.id = "cm__desc", v(a.Xe, a.et)), a.et.innerHTML = j), c && (a.tt || (a.tt = h(oe), v(a.tt, aa()), V(a.tt, "btn"), A(a.tt, Me, "all"), x(a.tt, W, () => { k("all"); })), a.tt.firstElementChild.innerHTML = c), u && (a.Ie || (a.Ie = h(oe), v(a.Ie, aa()), V(a.Ie, "btn"), A(a.Ie, Me, "necessary"), x(a.Ie, W, () => { k([]); })), a.Ie.firstElementChild.innerHTML = u), y && (a.ot || (a.ot = h(oe), v(a.ot, aa()), V(a.ot, "btn"), V(a.ot, "btn--secondary"), A(a.ot, Me, "show"), x(a.ot, "mouseenter", () => { e.N || Pe(t, n); }), x(a.ot, W, r)), a.ot.firstElementChild.innerHTML = y), a.nt || (a.nt = h($), V(a.nt, xe), c && v(a.nt, a.tt), u && v(a.nt, a.Ie), (c || u) && v(a.We, a.nt), v(a.Ye, a.nt)), a.ot && !a.st && (a.st = h($), a.Ie && a.tt ? (V(a.st, xe), v(a.st, a.ot), v(a.Ye, a.st)) : (v(a.nt, a.ot), V(a.nt, xe + "--uneven"))), m) { if (!a.ct) { let z = h($), C = h($); a.ct = h($), V(z, "footer"), V(C, "links"), V(a.ct, "link-group"), v(C, a.ct), v(z, C), v(a.he, z); } a.ct.innerHTML = m; } it(0), e.T || (e.T = !0, le(i.re.ue, la, a.he), n(t), v(a.Ce, a.Qe), et(a.he), setTimeout(() => I(a.Qe, "cc--anim"), 100)), at(1), Ja(a.We, t, Pe, n); }, ga = (t) => { if (!me(t)) return null; if (t in i.o._) return t; let n = t.slice(0, 2); return n in i.o._ ? n : null; }, fa = () => i.o.l || i.o.i.language.default, ya = (t) => { t && (i.o.l = t); }, st = async (t) => { const n = i.o; let e = ga(t) ? t : fa(), a = n._[e]; if (me(a) ? a = await (async (o) => { try { return await (await fetch(o)).json(); } catch (r) { return console.error(r), !1; } })(a) : se(a) && (a = await a()), !a) throw `Could not load translation for the '${e}' language`; return n.u = a, ya(e), !0; }, rt = () => { let t = i.o.i.language.rtl, n = i.ne.Ce; t && n && (_e(t) || (t = [t]), S(t, i.o.l) ? I(n, "cc--rtl") : he(n, "cc--rtl")); }, ze = () => { const t = i.ne; if (t.Ce) return; t.Ce = h($), t.Ce.id = "cc-main", t.Ce.setAttribute("data-nosnippet", ""), rt(); let n = i.o.i.root; n && me(n) && (n = document.querySelector(n)), (n || t.Ue.body).appendChild(t.Ce); }, ct = (t) => Le(() => localStorage.removeItem(t)), Ta = (t, n) => { if (n instanceof RegExp) return t.filter((e) => n.test(e)); { const e = Ya(t, n); return e > -1 ? [t[e]] : []; } }, lt = (t) => { const { hostname: n, protocol: e } = location, { name: a, path: o, domain: r, sameSite: l, useLocalStorage: s, secure: c } = i.t.cookie, u = t ? (() => { const b = i.o.S, d = b ? /* @__PURE__ */ new Date() - b : 0; return 864e5 * Ma() - d; })() : 864e5 * Ma(), y = /* @__PURE__ */ new Date(); y.setTime(y.getTime() + u), i.o.p.expirationTime = y.getTime(); const p = JSON.stringify(i.o.p); let m = a + "=" + encodeURIComponent(p) + (u !== 0 ? "; expires=" + y.toUTCString() : "") + "; Path=" + o + "; SameSite=" + l; S(n, ".") && (m += "; Domain=" + r), c && e === "https:" && (m += "; Secure"), s ? ((b, d) => { Le(() => localStorage.setItem(b, d)); })(a, p) : document.cookie = m, i.o.p; }, ia = (t, n, e) => { if (t.length === 0) return; const a = e || i.t.cookie.domain, o = n || i.t.cookie.path, r = a.slice(0, 4) === "www.", l = r && a.substring(4), s = (c, u) => { u && u.slice(0, 1) !== "." && (u = "." + u), document.cookie = c + "=; path=" + o + (u ? "; domain=" + u : "") + "; expires=Thu, 01 Jan 1970 00:00:01 GMT;"; }; for (const c of t) s(c, e), e || s(c, a), r && s(c, l); }, pt = (t) => { const n = t || i.t.cookie.name, e = i.t.cookie.useLocalStorage; return ((o, r) => { let l; return l = Le(() => JSON.parse(r ? o : decodeURIComponent(o)), !0) || {}, l; })(e ? (a = n, Le(() => localStorage.getItem(a)) || "") : va(n, !0), e); var a; }, va = (t, n) => { const e = document.cookie.match("(^|;)\\s*" + t + "\\s*=\\s*([^;]+)"); return e ? n ? e.pop() : t : ""; }, dt = (t) => { const n = document.cookie.split(/;\s*/), e = []; for (const a of n) { let o = a.split("=")[0]; t ? Le(() => { t.test(o) && e.push(o); }) : e.push(o); } return e; }, ha = (t, n = []) => { ((e, a) => { const { O: o, R: r, B: l, N: s, Z: c, $: u, X: y } = i.o; let p = []; if (e) { _e(e) ? p.push(...e) : me(e) && (p = e === "all" ? o : [e]); for (const m of o) c[m] = S(p, m) ? re(y[m]) : []; } else p = [...r, ...u], s && (p = (() => { const m = i.ne.ae; if (!m) return []; let b = []; for (let d in m) m[d].checked && b.push(d); return b; })()); p = p.filter((m) => !S(o, m) || !S(a, m)), p.push(...l), Za(p); })(t, n), (() => { const e = i.o, { Z: a, B: o, Y: r, X: l, O: s } = e, c = s; e.te = ue(r); for (const u of c) { const y = l[u], p = re(y), m = a[u] && a[u].length > 0, b = S(o, u); if (p.length !== 0) { if (r[u] = [], b) r[u].push(...p); else if (m) { const d = a[u]; r[u].push(...d); } else r[u] = e.Z[u]; r[u] = da(r[u]); } } })(), (() => { const e = i.o; e.L = i.t.mode === Ie && e.D ? We(e.$, e.R) : We(e.R, e.p.categories); let a = e.L.length > 0, o = !1; for (const c of e.O) e.ee[c] = We(e.Y[c], e.te[c]), e.ee[c].length > 0 && (o = !0); const r = i.ne.ae; for (const c in r) r[c].checked = S(e.R, c); for (const c of e.O) { const u = i.ne.se[c], y = e.Y[c]; for (const p in u) u[p].checked = S(y, p); } e.C || (e.C = /* @__PURE__ */ new Date()), e.M || (e.M = ("10000000-1000-4000-8000" + -1e11).replace(/[018]/g, (c) => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16))), e.p = { categories: ue(e.R), revision: i.t.revision, data: e.h, consentTimestamp: e.C.toISOString(), consentId: e.M, services: ue(e.Y), languageCode: i.o.l }, e.S && (e.p.lastConsentTimestamp = e.S.toISOString()); let l = !1; const s = a || o; (e.D || s) && (e.D && (e.D = !1, l = !0), e.S = e.S ? /* @__PURE__ */ new Date() : e.C, e.p.lastConsentTimestamp = e.S.toISOString(), lt(), i.t.autoClearCookies && (l || s) && ((c) => { const u = i.o, y = dt(), p = ((m) => { const b = i.o; return (m ? b.O : b.L).filter((d) => { const k = b.P[d]; return !!k && !k.readOnly && !!k.autoClear; }); })(c); for (const m in u.ee) for (const b of u.ee[m]) { const d = u.X[m][b].cookies; if (!S(u.Y[m], b) && d) for (const k of d) { const j = Ta(y, k.name); ia(j, k.path, k.domain); } } for (const m of p) { const b = u.P[m].autoClear, d = b && b.cookies || [], k = S(u.L, m), j = !S(u.R, m), z = k && j; if (c ? j : z) { b.reloadPage && z && (u.j = !0); for (const C of d) { const g = Ta(y, C.name); ia(g, C.path, C.domain); } } } })(l), na()), l && (le(i.re.ie), le(i.re.le), i.t.mode === Va) || (s && le(i.re.de), e.j && (e.j = !1, location.reload())); })(); }, ut = (t) => { const n = i.o.D ? [] : i.o.R; return S(n, t); }, Mt = (t, n) => { const { O: e, X: a } = i.o; if (!(t && n && me(n) && S(e, n) && re(a[n]).length !== 0)) return !1; ((o, r) => { const l = i.o, { X: s, Z: c, N: u } = l, y = i.ne.se[r] || {}, p = i.ne.ae[r] || {}, m = re(s[r]); if (c[r] = [], me(o)) { if (o === "all") { if (c[r].push(...m), u) for (let d in y) y[d].checked = !0, Ee(y[d]); } else if (S(m, o) && c[r].push(o), u) for (let d in y) y[d].checked = o === d, Ee(y[d]); } else if (_e(o)) for (let d of m) { const k = S(o, d); k && c[r].push(d), u && (y[d].checked = k, Ee(y[d])); } const b = c[r].length === 0; l.R = b ? l.R.filter((d) => d !== r) : da([...l.R, r]), u && (p.checked = !b, Ee(p)); })(t, n), ha(); }, mt = (t, n) => { const e = i.o.D ? [] : i.o.Y[n] || []; return S(e, t); }, Pt = (t) => va(t, !0) !== "", kt = (t, n, e) => { let a = []; const o = (r) => { if (me(r)) { let l = va(r); l !== "" && a.push(l); } else a.push(...dt(r)); }; if (_e(t)) for (let r of t) o(r); else o(t); ia(a, n, e); }, ba = (t) => { const { ne: n, o: e } = i; if (!e.k) { if (!e.T) { if (!t) return; ka(Oe, ze); } e.k = !0, e.J = Ze(), e.v && Qa(!0), Xa(n.he, 1), I(n.ye, ra), A(n.he, ie, "false"), setTimeout(() => { ce(i.ne.be); }, 100), le(i.re.fe, la); } }, gt = () => { const { ne: t, o: n, re: e } = i; n.k && (n.k = !1, n.v && Qa(), ce(t.Ke, !0), he(t.ye, ra), A(t.he, ie, "true"), ce(n.J), n.J = null, le(e._e, la)); }, ft = () => { const t = i.o; t.A || (t.N || Pe(Oe, ze), t.A = !0, t.k ? t.U = Ze() : t.J = Ze(), Xa(i.ne.we, 2), I(i.ne.ye, ca), A(i.ne.we, ie, "false"), setTimeout(() => { ce(i.ne.ve); }, 100), le(i.re.fe, pa)); }, yt = () => { const t = i.o; t.A && (t.A = !1, (() => { const n = ja(), e = i.o.P, a = i.ne.ae, o = i.ne.se, r = (l) => S(i.o.$, l); for (const l in a) { const s = !!e[l].readOnly; a[l].checked = s || (n ? ut(l) : r(l)); for (const c in o[l]) o[l][c].checked = s || (n ? mt(c, l) : r(l)); } })(), ce(i.ne.$e, !0), he(i.ne.ye, ca), A(i.ne.we, ie, "true"), t.k ? (ce(t.U), t.U = null) : (ce(t.J), t.J = null), le(i.re._e, pa)); }; var Oe = { show: ba, hide: gt, showPreferences: ft, hidePreferences: yt, acceptCategory: ha }; const _t = async (t, n) => { if (!ga(t)) return !1; const e = i.o; return !(t === fa() && n !== !0 || !await st(t) || (ya(t), e.T && ka(Oe, ze), e.N && Pe(Oe, ze), rt(), 0)); }, $t = () => { const { F: t, Y: n } = i.o, { accepted: e, rejected: a } = (() => { const { D: o, R: r, O: l } = i.o; return { accepted: r, rejected: o ? [] : l.filter((s) => !S(r, s)) }; })(); return ue({ acceptType: t, acceptedCategories: e, rejectedCategories: a, acceptedServices: n, rejectedServices: zt() }); }, St = (t, n) => { let e = document.querySelector('script[src="' + t + '"]'); return new Promise((a) => { if (e) return a(!0); if (e = h("script"), Ye(n)) for (const o in n) A(e, o, n[o]); e.onload = () => a(!0), e.onerror = () => { e.remove(), a(!1); }, e.src = t, v(document.head, e); }); }, Tt = (t) => { let n, e = t.value, a = t.mode, o = !1; const r = i.o; if (a === "update") { r.h = n = vt("data"); const l = typeof n == typeof e; if (l && typeof n == "object") { !n && (n = {}); for (let s in e) n[s] !== e[s] && (n[s] = e[s], o = !0); } else !l && n || n === e || (n = e, o = !0); } else n = e, o = !0; return o && (r.h = n, r.p.data = n, lt(!0)), o; }, vt = (t, n) => { const e = pt(n); return t ? e[t] : e; }, Bt = (t) => { const n = i.t, e = i.o.i; return t ? n[t] || e[t] : { ...n, ...e, cookie: { ...n.cookie } }; }, ja = () => !i.o.D, It = async (t) => { const { o: n, t: e, re: a } = i, o = window; if (!o._ccRun) { if (o._ccRun = !0, ((s) => { const { ne: c, t: u, o: y } = i, p = u, m = y, { cookie: b } = p, d = i.ce, k = s.cookie, j = s.categories, z = re(j) || [], C = navigator, g = document; c.Ue = g, c.ye = g.documentElement, b.domain = location.hostname, m.i = s, m.P = j, m.O = z, m._ = s.language.translations, m.v = !!s.disablePageInteraction, d.ie = s.onFirstConsent, d.le = s.onConsent, d.de = s.onChange, d._e = s.onModalHide, d.fe = s.onModalShow, d.ue = s.onModalReady; const { mode: w, autoShow: N, lazyHtmlGeneration: M, autoClearCookies: f, revision: B, manageScriptTags: X, hideFromBots: P } = s; w === Ie && (p.mode = w), typeof f == "boolean" && (p.autoClearCookies = f), typeof X == "boolean" && (p.manageScriptTags = X), typeof B == "number" && B >= 0 && (p.revision = B, m.V = !0), typeof N == "boolean" && (p.autoShow = N), typeof M == "boolean" && (p.lazyHtmlGeneration = M), P === !1 && (p.hideFromBots = !1), p.hideFromBots === !0 && C && (m.G = C.userAgent && /bot|crawl|spider|slurp|teoma/i.test(C.userAgent) || C.webdriver), Ye(k) && (p.cookie = { ...b, ...k }), p.autoClearCookies, m.V, p.manageScriptTags, ((Y) => { const { P: te, X: G, Y: q, Z, B: ke } = i.o; for (let R of Y) { const ne = te[R], ae = ne.services || {}, ge = Ye(ae) && re(ae) || []; G[R] = {}, q[R] = [], Z[R] = [], ne.readOnly && (ke.push(R), q[R] = ge), i.ne.se[R] = {}; for (let fe of ge) { const Q = ae[fe]; Q.Se = !1, G[R][fe] = Q; } } })(z), (() => { if (!i.t.manageScriptTags) return; const Y = i.o, te = ua(document, "script[" + Ue + "]"); for (const G of te) { let q = Ke(G, Ue), Z = G.dataset.service || "", ke = !1; if (q && q.charAt(0) === "!" && (q = q.slice(1), ke = !0), Z.charAt(0) === "!" && (Z = Z.slice(1), ke = !0), S(Y.O, q) && (Y.oe.push({ Me: G, xe: !1, ke, De: q, Te: Z }), Z)) { const R = Y.X[q]; R[Z] || (R[Z] = { Se: !1 }); } } })(), ya((() => { const Y = i.o.i.language.autoDetect; if (Y) { const te = { browser: navigator.language, document: document.documentElement.lang }, G = ga(te[Y]); if (G) return G; } return fa(); })()); })(t), n.G) return; (() => { const s = i.o, c = i.t, u = pt(), { categories: y, services: p, consentId: m, consentTimestamp: b, lastConsentTimestamp: d, data: k, revision: j } = u, z = _e(y); s.p = u, s.M = m; const C = !!m && me(m); s.C = b, s.C && (s.C = new Date(b)), s.S = d, s.S && (s.S = new Date(d)), s.h = k !== void 0 ? k : null, s.V && C && j !== c.revision && (s.I = !1), s.D = !(C && s.I && s.C && s.S && z), c.cookie.useLocalStorage && !s.D && (s.D = (/* @__PURE__ */ new Date()).getTime() > (u.expirationTime || 0), s.D && ct(c.cookie.name)), s.D, (() => { const g = i.o; for (const w of g.O) { const N = g.P[w]; if (N.readOnly || N.enabled) { g.$.push(w); const M = g.X[w] || {}; for (let f in M) g.Z[w].push(f), g.i.mode === Ie && g.Y[w].push(f); } } })(), s.D ? c.mode === Ie && (s.R = [...s.$]) : (s.Y = { ...s.Y, ...p }, s.Z = { ...s.Y }, Za([...s.B, ...y])); })(); const l = ja(); if (!await st()) return !1; if (Ja(null, r = Oe, Pe, ze), i.o.D && ka(r, ze), i.t.lazyHtmlGeneration || Pe(r, ze), e.autoShow && !l && ba(!0), l) return na(), le(a.le); e.mode === Ie && na(n.$); } var r; }, xt = (t) => { const { Ce: n, ye: e } = i.ne, { name: a, path: o, domain: r, useLocalStorage: l } = i.t.cookie; t && (l ? ct(a) : kt(a, o, r)); for (const { pe: c, ge: u, me: y } of i.o.m) c.removeEventListener(u, y); n && n.remove(), e && e.classList.remove(ta, ca, ra); const s = new Ua(); for (const c in i) i[c] = s[c]; window._ccRun = !1; }, Dt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, acceptCategory: ha, acceptService: Mt, acceptedCategory: ut, acceptedService: mt, eraseCookies: kt, getConfig: Bt, getCookie: vt, getUserPreferences: $t, hide: gt, hidePreferences: yt, loadScript: St, reset: xt, run: It, setCookieData: Tt, setLanguage: _t, show: ba, showPreferences: ft, validConsent: ja, validCookie: Pt }, Symbol.toStringTag, { value: "Module" })); let Lt = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", Ot = (t = 21) => { let n = "", e = crypto.getRandomValues(new Uint8Array(t |= 0)); for (; t--; ) n += Lt[e[t] & 63]; return n; }; /*! * mergician * v2.0.2 * https://jhildenbiddle.github.io/mergician/ * (c) 2022-2024 John Hildenbiddle * MIT license */ function za(...t) { const n = {}; return t.forEach((e) => { e.forEach((a) => { n[a] = a in n ? ++n[a] : 1; }); }), n; } function Et(...t) { return t.reduce( (n, e) => n.filter(Set.prototype.has, new Set(e)) ); } function Ht(...t) { const n = za(...t); return Object.keys(n).filter((e) => n[e] > 1); } function Ft(...t) { const n = za(...t); return Object.keys(n).filter((e) => n[e] < t.length); } function qt(...t) { const n = za(...t); return Object.keys(n).filter((e) => n[e] === 1); } function Rt(t, n = !1) { const e = Object.getOwnPropertyNames(t); if (n) for (const a in t) !e.includes(a) && e.push(a); return e; } function sa(t) { return typeof t == "object" && t !== null && !Array.isArray(t); } function Ba(t) { if (!sa(t)) return !1; const n = ["writable", "enumerable", "configurable"].some( (r) => r in t ), e = ["get", "set"].some((r) => typeof t[r] == "function"), a = ["get", "set"].every((r) => r in t); let o = "value" in t && n || e && (a || n); if (o) { const r = [ "configurable", "get", "set", "enumerable", "value", "writable" ]; o = Object.keys(t).some((l) => !(l in r)); } return o; } /** * @typedef {Object} MergicianOptions * @property {string[]} [onlyKeys] - Exclusive array of keys to be merged * (others are skipped) * @property {string[]} [skipKeys] - Array of keys to skip (others are * merged) * @property {boolean} [onlyCommonKeys=false] - Merge only keys found * in multiple objects (ignore single occurrence keys) * @property {boolean} [onlyUniversalKeys=false] - Merge only keys * found in all objects * @property {boolean} [skipCommonKeys=false] - Skip keys found in * multiple objects (merge only single occurrence keys) * @property {boolean} [skipUniversalKeys=false] - Skip keys found in * all objects (merge only common keys) * @property {boolean} [invokeGetters=false] - Invoke "getter" methods * and merge returned values * @property {boolean} [skipSetters=false] - Skip "setter" methods * during merge * @property {boolean} [appendArrays=false] - Merge array values at * the end of existing arrays * @property {boolean} [prependArrays=false] - Merge array values at * the beginning of existing arrays * @property {boolean} [dedupArrays=false] - Remove duplicate array * values in new merged object * @property {boolean|function} [sortArrays=false] - Sort array values * in new merged object * @property {boolean} [hoistEnumerable=false] - Merge enumerable * prototype properties as direct properties of merged object * @property {boolean} [hoistProto=false] - Merge custom prototype * properties as direct properties of merged object * @property {boolean} [skipProto=false] - Skip merging of custom * prototype properties * @property {filterCallback} [filter] - Callback used to conditionally merge * or skip a property. Return a "truthy" value to merge or a "falsy" value to * skip. Return no value to proceed according to other option values. * @property {beforeEachCallback} [beforeEach] - Callback used for * inspecting/modifying properties before merge. Return value is used as value * to merge. * @property {afterEachCallback} [afterEach] - Callback used for * inspecting/modifying properties after merge. Return value is used as merged * value. * @property {onCircularCallback} [onCircular] - Callback used for handling * circular object references during merge * @preserve */ /** * @callback filterCallback * @param {callbackData} callbackData * @preserve */ /** * @callback beforeEachCallback * @param {callbackData} callbackData * @preserve */ /** * @callback afterEachCallback * @param {afterEachCallbackData} callbackData * @preserve */ /** * @callback onCircularCallback * @param {callbackData} callbackData * @preserve */ /** * @typedef {Object} callbackData * @property {number} depth - Nesting level of the key being processed * @property {string} key - Object key being processed * @property {object} srcObj - Object containing the source value * @property {any} srcVal - Source object’s property value * @property {object} targetObj - New merged object * @property {any} targetVal - New merged object’s current property value * @preserve */ /** * @typedef {Object} afterEachCallbackData * @property {number} depth - Nesting level of the key being processed * @property {string} key - Object key being processed * @property {any} mergeVal - New merged value * @property {object} srcObj - Object containing the source value * @property {object} targetObj - New merged object * @preserve */ var Ae = { // Keys onlyKeys: [], skipKeys: [], onlyCommonKeys: !1, onlyUniversalKeys: !1, skipCommonKeys: !1, skipUniversalKeys: !1, // Values invokeGetters: !1, skipSetters: !1, // Arrays appendArrays: !1, prependArrays: !1, dedupArrays: !1, sortArrays: !1, // Prototype hoistEnumerable: !1, hoistProto: !1, skipProto: !1, // Callbacks filter: Function.prototype, beforeEach: Function.prototype, afterEach: Function.prototype, onCircular: Function.prototype }; /** * @description Deep (recursive) object merging with support for descriptor * values, accessor functions, custom prototypes, and advanced options for * customizing the merge process. * * @example * // Custom merge options * const mergedObj = mergician({ * // Options * })(obj1, obj2, obj3); * * // Custom merge function * const customMerge = mergician({ * // Options * }); * const customMergeObj = customMerge(obj1, obj2, obj3); * * @overload * @param {MergicianOptions} options * @returns {function} New merge function with options set as defaults * @preserve */ /** * @description Deep (recursive) object merging with support for descriptor * values, accessor functions, custom prototypes, and advanced options for * customizing the merge process. * * @example * // Clone with default options * const clonedObj = mergician({}, obj1); * * // Merge with default options * const mergedObj = mergician(obj1, obj2, obj3); * * @overload * @param {...object} objects * @returns {object} New merged object * @preserve */ /** * @description Deep (recursive) object merging with support for descriptor * values, accessor functions, custom prototypes, and advanced options for * customizing the merge process. * * @example * // Clone with default options * const clonedObj = mergician({}, obj1); * * // Merge with default options * const mergedObj = mergician(obj1, obj2, obj3); * * @example * // Custom merge options * const mergedObj = mergician({ * // Options * })(obj1, obj2, obj3); * * // Custom merge function * const customMerge = mergician({ * // Options * }); * const customMergeObj = customMerge(obj1, obj2, obj3); * * @param {MergicianOptions} optionsOrObject * @param {...object} [objects] * @returns {function|object} New merge function with options set as defaults * (single argument) or new merged object (multiple arguments) * @preserve */ function ht(t, ...n) { const e = arguments.length === 1 ? arguments[0] : {}, a = { ...Ae, ...e }, o = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), l = typeof a.sortArrays == "function" ? a.sortArrays : void 0, s = /* @__PURE__ */ new WeakMap(); let c = 0; function u(p) { return Rt(p, a.hoistEnumerable); } function y(...p) { let m; p.length > 1 && (a.onlyCommonKeys ? m = Ht( ...p.map((k) => u(k)) ) : a.onlyUniversalKeys ? m = Et(...p.map((k) => u(k))) : a.skipCommonKeys ? m = qt( ...p.map((k) => u(k)) ) : a.skipUniversalKeys && (m = Ft(...p.map((k) => u(k))))), !m && a.onlyKeys.length && (m = a.onlyKeys), m && m !== a.onlyKeys && a.onlyKeys.length && (m = m.filter( (k) => a.onlyKeys.includes(k) )); const b = p.reduce((k, j) => { s.set(j, k); let z = m || u(j); a.skipKeys.length && (z = z.filter((C) => a.skipKeys.indexOf(C) === -1)); for (let C = 0; C < z.length; C++) { const g = z[C], w = k[g], N = { configurable: !0, enumerable: !0 }; if (!(g in j)) continue; let M = !1, f = j[g]; const B = Object.getOwnPropertyDescriptor(j, g); if (B && typeof B.set == "function" && typeof B.get != "function") { a.skipSetters || Object.defineProperty(k, g, B); continue; } if (a.filter !== Ae.filter) { const P = a.filter({ depth: c, key: g, srcObj: j, srcVal: f, targetObj: k, targetVal: w }); if (P !== void 0 && !P) continue; } if (a.beforeEach !== Ae.beforeEach) { const P = a.beforeEach({ depth: c, key: g, srcObj: j, srcVal: f, targetObj: k, targetVal: w }); P !== void 0 && (M = !0, f = P); } if (typeof f == "object" && f !== null && s.has(j[g])) { const P = a.onCircular({ depth: c, key: g, srcObj: j, srcVal: j[g], targetObj: k, targetVal: w }); if (P === void 0) { f = s.get(j[g]), k[g] = f; continue; } M = !0, f = P; } if (Array.isArray(f)) { if (f = [...f], Array.isArray(w) && (a.appendArrays ? f = [...w, ...f] : a.prependArrays && (f = [...f, ...w])), a.dedupArrays) if (a.afterEach !== Ae.afterEach) f = [...new Set(f)]; else { const P = o.get(k); P && !P.includes(g) ? P.push(g) : o.set(k, [g]); } if (a.sortArrays) if (a.afterEach !== Ae.afterEach) f = f.sort(l); else { const P = r.get(k); P && !P.includes(g) ? P.push(g) : r.set(k, [g]); } } else f instanceof Date ? f = new Date(f) : sa(f) && (!M || !Ba(f)) && (c++, sa(w) ? f = y(w, f) : f = y(f), c--); if (a.afterEach !== Ae.afterEach) { const P = a.afterEach({ depth: c, key: g, mergeVal: f, srcObj: j, targetObj: k }); P !== void 0 && (M = !0, f = P); } if (M) { const P = Ba(f) ? f : { configurable: !0, enumerable: !0, value: f, writable: !0 }; Object.defineProperty(k, g, P); continue; } if (B) { const { configurable: P, enumerable: Y, get: te, set: G, writable: q } = B; Object.assign(N, { configurable: P, enumerable: Y }), typeof te == "function" && (a.invokeGetters ? N.value = f : N.get = te), !a.skipSetters && typeof G == "function" && !Object.hasOwnProperty.call(N, "value") && (N.set = G), !N.get && !N.set && (N.writable = !!q); } !N.get && !N.set && !("value" in N) && (N.value = f, N.writable = B && "writable" in B ? B.writable : !0), Object.defineProperty(k, g, N); } return k; }, {}); for (const [k, j] of o.entries()) for (const z of j) { const C = Object.getOwnPropertyDescriptor(k, z), { configurable: g, enumerable: w, writable: N } = C; Object.defineProperty(k, z, { configurable: g, enumerable: w, value: [...new Set(k[z])], writable: N !== void 0 ? N : !0 }); } for (const [k, j] of r.entries()) for (const z of j) k[z].sort(l); let d = b; if (!a.skipProto) { const k = p.reduce((j, z) => { const C = Object.getPrototypeOf(z); return C && C !== Object.prototype && j.push(C), j; }, []); if (k.length) { const j = y(...k); a.hoistProto ? d = y(j, b) : d = Object.create( j, Object.getOwnPropertyDescriptors(b) ); } } return d; } return arguments.length === 1 ? function(...p) { return arguments.length === 1 ? ht({ ...a, ...p[0] }) : y(...p); } : y(...arguments); } function Ia(t, n, e) { const a = Kt(e, n); Gt(t, a); } function Kt(t, n) { const e = n.data; return { data: { type: "localDataAcceptationDataEntries", attributes: { acceptation_id: e.uid, accept_type: `accept_${t.acceptType}`, accepted_categories: t.acceptedCategories, rejected_categories: t.rejectedCategories, revision: n.revision, source: e.serviceName, language: n.languageCode, days_of_acceptation: Wt(n) } } }; } function Wt(t) { return Math.ceil((t.expirationTime - Date.now()) / 1e3 / 60 / 60 / 24); } async function Gt(t, n) { return (await fetch(t, { method: "POST", headers: { "Content-Type": "application/vnd.api+json", Accept: "application/vnd.api+json" }, body: JSON.stringify(n) })).json(); } const Vt = [ "bs", "cs", "de", "en", "es", "et", "fr", "hr", "hu", "lt", "lv", "mk", "pl", "pt", "ro", "ru", "sk", "sl", "sr", "uk" ], Ut = (t) => Vt.includes(t), U = { NECESSARY: "necessary", AD: "ad", ANALYTICS: "analytics", FUNCTIONALITY: "functionality", PERSONALIZATION: "personalization" }, Ve = { FORCE: "force", SOFT: "soft" }, Yt = [ { name: "phpsessid", pattern: "phpsessid", provider: "PHP", category: "necessary" }, { name: "jsessionid", pattern: "jsessionid", provider: "Java", category: "necessary" }, { name: "aspnetsessionid", pattern: "aspnetsessionid", provider: "Microsoft ASP.NET", category: "necessary" }, { name: "sessionid", pattern: "sessionid", provider: "*", category: "necessary" }, { name: "docs.sid", pattern: "docs\\.sid", provider: "Supernova Docs", category: "necessary" }, { name: "lasid", pattern: "lasid", provider: "LiveAgent", category: "necessary" }, { name: "*_session", pattern: ".*_session", provider: "Laravel / Rails / Django", category: "necessary" }, { name: "csrf", pattern: "csrf", provider: "*", category: "necessary" }, { name: "xsrf", pattern: "xsrf", provider: "*", category: "necessary" }, { name: "_token", pattern: "_token", provider: "*", category: "necessary" }, { name: "token", pattern: "token", provider: "*", category: "necessary" }, { name: "authtoken", pattern: "authtoken", provider: "*", category: "necessary" }, { name: "idt", pattern: "idt", provider: "*", category: "necessary" }, { name: "auth.strategy", pattern: "auth\\.strategy", provider: "Nuxt Auth", category: "necessary" }, { name: "cf_clearance", pattern: "cf_clearance", provider: "Cloudflare", category: "necessary" }, { name: "__cfduid", pattern: "__cfduid", provider: "Cloudflare", category: "necessary" }, { name: "cf_bm", pattern: "cf_bm", provider: "Cloudflare", category: "necessary" }, { name: "cf_ray", pattern: "cf_ray", provider: "Cloudflare", category: "necessary" }, { name: "apprace*", pattern: "apprace*", provider: "Prace.cz", category: "necessary" }, { name: "apjobs*", pattern: "apjobs*", provider: "Jobs.cz", category: "necessary" }, { name: "jobssid", pattern: "jobssid", provider: "Jobs portál", category: "necessary" }, { name: "apatmoskopid", pattern: "apatmoskopid", provider: "Atmoskop.cz", category: "necessary" }, { name: "awsalbcors", pattern: "awsalbcors", provider: "Amazon Web Services", category: "necessary" }, { name: "awsalb", pattern: "awsalb", provider: "Amazon Web Services", category: "necessary" }, { name: "lmc_ccm_version", pattern: "lmc_ccm_version", provider: "Alma Career", category: "necessary" }, { name: "almacareer_ccm", pattern: "almacareer_ccm", provider: "Alma Career", category: "necessary" }, { name: "cookieyes-consent", pattern: "cookieyes-consent", provider: "CookieYes", category: "necessary" }, { name: "cookie-consent", pattern: "cookie-consent", provider: "*", category: "necessary" }, { name: "gdpr-consent", pattern: "gdpr-consent", provider: "*", category: "necessary" }, { name: "cmplz*", pattern: "cmplz.*", provider: "Complianz", category: "necessary" }, { name: "bsession", pattern: "bsession", provider: "Wix", category: "necessary" }, { name: "ssr-caching", pattern: "ssr-caching", provider: "Wix", category: "necessary" }, { name: "svsession", pattern: "svsession", provider: "Wix", category: "necessary" }, { name: "hs", pattern: "hs", provider: "Wix", category: "necessary" }, { name: "server-session-bind", pattern: "server-session-bind", provider: "Wix", category: "necessary" }, { name: "intercom-device-id*", pattern: "intercom-device-id.*", provider: "Intercom", category: "functionality" }, { name: "intercom-id*", pattern: "intercom-id.*", provider: "Intercom", category: "functionality" }, { name: "intercom-session*", pattern: "intercom-session.*", provider: "Intercom", category: "functionality" }, { name: "pll_language", pattern: "pll_language", provider: "Polylang (WordPress)", category: "functionality" }, { name: "hl", pattern: "hl", provider: "Web", category: "functionality" }, { name: "lang", pattern: "lang", provider: "Web", category: "functionality" }, { name: "language", pattern: "language", provider: "Web", category: "functionality" }, { name: "locale", pattern: "locale", provider: "Web", category: "functionality" }, { name: "channel_*_lang", pattern: "channel_.*_lang", provider: "Web", category: "functionality" }, { name: "wp-wpml_current_language", pattern