diff --git a/static/_headers b/static/_headers index 9ca3f0f..a91c22c 100644 --- a/static/_headers +++ b/static/_headers @@ -1,5 +1,5 @@ /* - Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://utteranc.es; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://www.google-analytics.com; font-src 'self'; connect-src 'self' https://www.google-analytics.com; frame-src https://www.youtube-nocookie.com https://utteranc.es; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests + Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://utteranc.es https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://www.google-analytics.com; font-src 'self'; connect-src 'self' https://www.google-analytics.com https://cloudflareinsights.com; frame-src https://www.youtube-nocookie.com https://utteranc.es; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests X-Frame-Options: DENY X-Content-Type-Options: nosniff Referrer-Policy: strict-origin-when-cross-origin diff --git a/static/js/cookieconsent.umd.js b/static/js/cookieconsent.umd.js index 7fcf1fd..c7394b4 100644 --- a/static/js/cookieconsent.umd.js +++ b/static/js/cookieconsent.umd.js @@ -1,1483 +1,7 @@ /*! - * CookieConsent 3.1.0 - * https://github.com/orestbida/cookieconsent - * Author Orest Bida - * Released under the MIT License - */ -var e, t; -((e = this), - (t = function (e) { - 'use strict'; - const t = 'opt-in', - o = 'opt-out', - n = 'show--consent', - s = 'show--preferences', - a = 'disable--interaction', - c = 'data-category', - r = 'div', - i = 'button', - l = 'aria-hidden', - d = 'btn-group', - f = 'click', - _ = 'data-role', - u = 'consentModal', - p = 'preferencesModal'; - class g { - constructor() { - ((this.t = { - mode: t, - 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: '', - T: !0, - D: !1, - k: !1, - A: !1, - N: !1, - H: [], - V: !1, - j: !0, - I: [], - L: !1, - F: '', - P: !1, - O: [], - R: [], - B: [], - $: [], - G: !1, - J: !1, - U: !1, - q: [], - K: [], - W: [], - X: {}, - Y: {}, - Z: {}, - ee: {}, - te: {}, - oe: [], - }), - (this.ne = { se: {}, ae: {} }), - (this.ce = {}), - (this.re = { - ie: 'cc:onFirstConsent', - le: 'cc:onConsent', - de: 'cc:onChange', - fe: 'cc:onModalShow', - _e: 'cc:onModalHide', - ue: 'cc:onModalReady', - })); - } - } - const m = new g(), - b = (e, t) => e.indexOf(t), - v = (e, t) => -1 !== b(e, t), - y = (e) => Array.isArray(e), - h = (e) => 'string' == typeof e, - C = (e) => !!e && 'object' == typeof e && !y(e), - w = (e) => 'function' == typeof e, - S = (e) => Object.keys(e), - x = (e) => Array.from(new Set(e)), - M = () => document.activeElement, - T = (e) => e.preventDefault(), - D = (e, t) => e.querySelectorAll(t), - k = (e) => e.dispatchEvent(new Event('change')), - E = (e) => { - const t = document.createElement(e); - return (e === i && (t.type = e), t); - }, - A = (e, t, o) => e.setAttribute(t, o), - N = (e, t, o) => { - e.removeAttribute(o ? 'data-' + t : t); - }, - H = (e, t, o) => e.getAttribute(o ? 'data-' + t : t), - V = (e, t) => e.appendChild(t), - j = (e, t) => e.classList.add(t), - I = (e, t) => j(e, 'cm__' + t), - L = (e, t) => j(e, 'pm__' + t), - F = (e, t) => e.classList.remove(t), - P = (e) => { - if ('object' != typeof e) return e; - if (e instanceof Date) return new Date(e.getTime()); - let t = Array.isArray(e) ? [] : {}; - for (let o in e) { - let n = e[o]; - t[o] = P(n); - } - return t; - }, - O = () => { - const e = {}, - { O: t, X: o, Y: n } = m.o; - for (const s of t) e[s] = G(n[s], S(o[s])); - return e; - }, - R = (e, t) => dispatchEvent(new CustomEvent(e, { detail: t })), - B = (e, t, o, n) => { - (e.addEventListener(t, o), n && m.o.m.push({ pe: e, ge: t, me: o })); - }, - $ = () => { - const e = m.t.cookie.expiresAfterDays; - return w(e) ? e(m.o.F) : e; - }, - G = (e, t) => { - const o = e || [], - n = t || []; - return o.filter((e) => !v(n, e)).concat(n.filter((e) => !v(o, e))); - }, - J = (e) => { - ((m.o.R = x(e)), - (m.o.F = (() => { - let e = 'custom'; - const { R: t, O: o, B: n } = m.o, - s = t.length; - return (s === o.length ? (e = 'all') : s === n.length && (e = 'necessary'), e); - })())); - }, - U = (e, t, o, n) => { - const s = 'accept-', - { show: a, showPreferences: c, hide: r, hidePreferences: i, acceptCategory: l } = t, - d = e || document, - _ = (e) => D(d, `[data-cc="${e}"]`), - u = (e, t) => { - (T(e), l(t), i(), r()); - }, - p = _('show-preferencesModal'), - g = _('show-consentModal'), - b = _(s + 'all'), - v = _(s + 'necessary'), - y = _(s + 'custom'), - h = m.t.lazyHtmlGeneration; - for (const e of p) - (A(e, 'aria-haspopup', 'dialog'), - B(e, f, (e) => { - (T(e), c()); - }), - h && - (B( - e, - 'mouseenter', - (e) => { - (T(e), m.o.N || o(t, n)); - }, - !0, - ), - B(e, 'focus', () => { - m.o.N || o(t, n); - }))); - for (let e of g) - (A(e, 'aria-haspopup', 'dialog'), - B( - e, - f, - (e) => { - (T(e), a(!0)); - }, - !0, - )); - for (let e of b) - B( - e, - f, - (e) => { - u(e, 'all'); - }, - !0, - ); - for (let e of y) - B( - e, - f, - (e) => { - u(e); - }, - !0, - ); - for (let e of v) - B( - e, - f, - (e) => { - u(e, []); - }, - !0, - ); - }, - z = (e, t) => { - e && (t && (e.tabIndex = -1), e.focus(), t && e.removeAttribute('tabindex')); - }, - q = (e, t) => { - const o = (n) => { - (n.target.removeEventListener('transitionend', o), - 'opacity' === n.propertyName && - '1' === getComputedStyle(e).opacity && - z(((e) => (1 === e ? m.ne.be : m.ne.ve))(t))); - }; - B(e, 'transitionend', o); - }; - let K; - const Q = (e) => { - (clearTimeout(K), - e - ? j(m.ne.ye, a) - : (K = setTimeout(() => { - F(m.ne.ye, a); - }, 500))); - }, - W = [ - '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 ', - ], - X = (e = 0, t = 1.5) => - ``, - Y = (e) => { - const t = m.ne, - o = m.o; - ((e) => { - const n = e === t.he, - s = o.i.disablePageInteraction ? t.ye : n ? t.Ce : t.ye; - B( - s, - 'keydown', - (t) => { - if ('Tab' !== t.key || !(n ? o.k && !o.A : o.A)) return; - const s = M(), - a = n ? o.q : o.K; - 0 !== a.length && - (t.shiftKey - ? (s !== a[0] && e.contains(s)) || (T(t), z(a[1])) - : (s !== a[1] && e.contains(s)) || (T(t), z(a[0]))); - }, - !0, - ); - })(e); - }, - Z = ['[href]', i, 'input', 'details', '[tabindex]'] - .map((e) => e + ':not([tabindex="-1"])') - .join(','), - ee = (e) => { - const { o: t, ne: o } = m, - n = (e, t) => { - const o = D(e, Z); - ((t[0] = o[0]), (t[1] = o[o.length - 1])); - }; - (1 === e && t.D && n(o.he, t.q), 2 === e && t.N && n(o.we, t.K)); - }, - te = (e, t, o) => { - const { de: n, le: s, ie: a, _e: c, ue: r, fe: i } = m.ce, - l = m.re; - if (t) { - const n = { modalName: t }; - return ( - e === l.fe ? w(i) && i(n) : e === l._e ? w(c) && c(n) : ((n.modal = o), w(r) && r(n)), - R(e, n) - ); - } - const d = { cookie: m.o.p }; - (e === l.ie - ? w(a) && a(P(d)) - : e === l.le - ? w(s) && s(P(d)) - : ((d.changedCategories = m.o.I), (d.changedServices = m.o.ee), w(n) && n(P(d))), - R(e, P(d))); - }, - oe = (e, t) => { - try { - return e(); - } catch (e) { - return (!t && console.warn('CookieConsent:', e), !1); - } - }, - ne = (e) => { - const { Y: t, ee: o, O: n, X: s, oe: a, p: r, I: i } = m.o; - for (const e of n) { - const n = o[e] || t[e] || []; - for (const o of n) { - const n = s[e][o]; - if (!n) continue; - const { onAccept: a, onReject: c } = n; - !n.Se && v(t[e], o) - ? ((n.Se = !0), w(a) && a()) - : n.Se && !v(t[e], o) && ((n.Se = !1), w(c) && c()); - } - } - if (!m.t.manageScriptTags) return; - const l = a, - d = e || r.categories || [], - f = (e, n) => { - if (n >= e.length) return; - const s = a[n]; - if (s.xe) return f(e, n + 1); - const r = s.Me, - l = s.Te, - _ = s.De, - u = v(d, l), - p = !!_ && v(t[l], _); - if ( - (!_ && !s.ke && u) || - (!_ && s.ke && !u && v(i, l)) || - (_ && !s.ke && p) || - (_ && s.ke && !p && v(o[l] || [], _)) - ) { - s.xe = !0; - const t = H(r, 'type', !0); - (N(r, 'type', !!t), N(r, c)); - let o = H(r, 'src', !0); - o && N(r, 'src', !0); - const a = E('script'); - a.textContent = r.innerHTML; - for (const { nodeName: e } of r.attributes) A(a, e, r[e] || H(r, e)); - (t && (a.type = t), o ? (a.src = o) : (o = r.src)); - const i = !!o && (!t || ['text/javascript', 'module'].includes(t)); - if ( - (i && - (a.onload = a.onerror = - () => { - f(e, ++n); - }), - r.replaceWith(a), - i) - ) - return; - } - f(e, ++n); - }; - f(l, 0); - }, - se = 'bottom', - ae = 'left', - ce = 'center', - re = 'right', - ie = 'inline', - le = 'wide', - de = 'pm--', - fe = ['middle', 'top', se], - _e = [ae, ce, re], - ue = { - box: { Ee: [le, ie], Ae: fe, Ne: _e, He: se, Ve: re }, - cloud: { Ee: [ie], Ae: fe, Ne: _e, He: se, Ve: ce }, - bar: { Ee: [ie], Ae: fe.slice(1), Ne: [], He: se, Ve: '' }, - }, - pe = { - box: { Ee: [], Ae: [], Ne: [], He: '', Ve: '' }, - bar: { Ee: [le], Ae: [], Ne: [ae, re], He: '', Ve: ae }, - }, - ge = (e) => { - const t = m.o.i.guiOptions, - o = t && t.consentModal, - n = t && t.preferencesModal; - (0 === e && me(m.ne.he, ue, o, 'cm--', 'box', 'cm'), - 1 === e && me(m.ne.we, pe, n, de, 'box', 'pm')); - }, - me = (e, t, o, n, s, a) => { - e.className = a; - const c = o && o.layout, - r = o && o.position, - i = o && o.flipButtons, - l = !o || !1 !== o.equalWeightButtons, - d = (c && c.split(' ')) || [], - f = d[0], - _ = d[1], - u = f in t ? f : s, - p = t[u], - g = v(p.Ee, _) && _, - b = (r && r.split(' ')) || [], - y = b[0], - h = n === de ? b[0] : b[1], - C = v(p.Ae, y) ? y : p.He, - w = v(p.Ne, h) ? h : p.Ve, - S = (t) => { - t && j(e, n + t); - }; - (S(u), S(g), S(C), S(w), i && S('flip')); - const x = a + '__btn--secondary'; - if ('cm' === a) { - const { je: e, Ie: t } = m.ne; - (e && (l ? F(e, x) : j(e, x)), t && (l ? F(t, x) : j(t, x))); - } else { - const { Le: e } = m.ne; - e && (l ? F(e, x) : j(e, x)); - } - }, - be = (e, t) => { - const o = m.o, - n = m.ne, - { hide: s, hidePreferences: a, acceptCategory: c } = e, - u = (e) => { - (c(e), a(), s()); - }, - g = o.u && o.u.preferencesModal; - if (!g) return; - const b = g.title, - v = g.closeIconLabel, - y = g.acceptAllBtn, - w = g.acceptNecessaryBtn, - x = g.savePreferencesBtn, - M = g.sections || [], - T = y || w || x; - if (n.Fe) ((n.Pe = E(r)), L(n.Pe, 'body')); - else { - ((n.Fe = E(r)), j(n.Fe, 'pm-wrapper')); - const e = E('div'); - (j(e, 'pm-overlay'), - V(n.Fe, e), - B(e, f, a), - (n.we = E(r)), - j(n.we, 'pm'), - A(n.we, 'role', 'dialog'), - A(n.we, l, !0), - A(n.we, 'aria-modal', !0), - A(n.we, 'aria-labelledby', 'pm__title'), - B( - n.ye, - 'keydown', - (e) => { - 27 === e.keyCode && a(); - }, - !0, - ), - (n.Oe = E(r)), - L(n.Oe, 'header'), - (n.Re = E('h2')), - L(n.Re, 'title'), - (n.Re.id = 'pm__title'), - (n.Be = E(i)), - L(n.Be, 'close-btn'), - A(n.Be, 'aria-label', g.closeIconLabel || ''), - B(n.Be, f, a), - (n.$e = E('span')), - (n.$e.innerHTML = X()), - V(n.Be, n.$e), - (n.Ge = E(r)), - L(n.Ge, 'body'), - (n.Je = E(r)), - L(n.Je, 'footer')); - var D = E(r); - j(D, 'btns'); - var k = E(r), - N = E(r); - (L(k, d), - L(N, d), - V(n.Je, k), - V(n.Je, N), - V(n.Oe, n.Re), - V(n.Oe, n.Be), - (n.ve = E(r)), - A(n.ve, 'tabIndex', -1), - V(n.we, n.ve), - V(n.we, n.Oe), - V(n.we, n.Ge), - T && V(n.we, n.Je), - V(n.Fe, n.we)); - } - let H; - (b && ((n.Re.innerHTML = b), v && A(n.Be, 'aria-label', v)), - M.forEach((e, t) => { - const s = e.title, - a = e.description, - c = e.linkedCategory, - d = c && o.P[c], - _ = e.cookieTable, - u = _ && _.body, - p = _ && _.caption, - m = u && u.length > 0, - b = !!d, - v = b && o.X[c], - y = (C(v) && S(v)) || [], - w = b && (!!a || !!m || S(v).length > 0); - var x = E(r); - if ((L(x, 'section'), w || a)) { - var M = E(r); - L(M, 'section-desc-wrapper'); - } - let T = y.length; - if (w && T > 0) { - const e = E(r); - L(e, 'section-services'); - for (const t of y) { - const o = v[t], - n = (o && o.label) || t, - s = E(r), - a = E(r), - i = E(r), - l = E(r); - (L(s, 'service'), - L(l, 'service-title'), - L(a, 'service-header'), - L(i, 'service-icon')); - const f = ve(n, t, d, !0, c); - ((l.innerHTML = n), V(a, i), V(a, l), V(s, a), V(s, f), V(e, s)); - } - V(M, e); - } - if (s) { - var D = E(r), - k = E(b ? i : r); - if ( - (L(D, 'section-title-wrapper'), - L(k, 'section-title'), - (k.innerHTML = s), - V(D, k), - b) - ) { - const e = E('span'); - ((e.innerHTML = X(2, 3.5)), - L(e, 'section-arrow'), - V(D, e), - (x.className += '--toggle')); - const t = ve(s, c, d); - let o = g.serviceCounterLabel; - if (T > 0 && h(o)) { - let e = E('span'); - (L(e, 'badge'), - L(e, 'service-counter'), - A(e, l, !0), - A(e, 'data-servicecounter', T), - o && - ((o = o.split('|')), - (o = o.length > 1 && T > 1 ? o[1] : o[0]), - A(e, 'data-counterlabel', o)), - (e.innerHTML = T + (o ? ' ' + o : '')), - V(k, e)); - } - if (w) { - L(x, 'section--expandable'); - var N = c + '-desc'; - (A(k, 'aria-expanded', !1), A(k, 'aria-controls', N)); - } - V(D, t); - } else (A(k, 'role', 'heading'), A(k, 'aria-level', '3')); - V(x, D); - } - if (a) { - var I = E('p'); - (L(I, 'section-desc'), (I.innerHTML = a), V(M, I)); - } - if ( - w && - (A(M, l, 'true'), - (M.id = N), - ((e, t, o) => { - B(k, f, () => { - t.classList.contains('is-expanded') - ? (F(t, 'is-expanded'), A(o, 'aria-expanded', 'false'), A(e, l, 'true')) - : (j(t, 'is-expanded'), A(o, 'aria-expanded', 'true'), A(e, l, 'false')); - }); - })(M, x, k), - m) - ) { - const e = E('table'), - o = E('thead'), - s = E('tbody'); - if (p) { - const t = E('caption'); - (L(t, 'table-caption'), (t.innerHTML = p), e.appendChild(t)); - } - (L(e, 'section-table'), L(o, 'table-head'), L(s, 'table-body')); - const a = _.headers, - c = S(a), - i = n.Ue.createDocumentFragment(), - l = E('tr'); - for (const e of c) { - const o = a[e], - n = E('th'); - ((n.id = 'cc__row-' + o + t), - A(n, 'scope', 'col'), - L(n, 'table-th'), - (n.innerHTML = o), - V(i, n)); - } - (V(l, i), V(o, l)); - const d = n.Ue.createDocumentFragment(); - for (const e of u) { - const o = E('tr'); - L(o, 'table-tr'); - for (const n of c) { - const s = a[n], - c = e[n], - i = E('td'), - l = E(r); - (L(i, 'table-td'), - A(i, 'data-column', s), - A(i, 'headers', 'cc__row-' + s + t), - l.insertAdjacentHTML('beforeend', c), - V(i, l), - V(o, i)); - } - V(d, o); - } - (V(s, d), V(e, o), V(e, s), V(M, e)); - } - (w || a) && V(x, M); - const P = n.Pe || n.Ge; - (b ? (H || ((H = E(r)), L(H, 'section-toggles')), H.appendChild(x)) : (H = null), - V(P, H || x)); - }), - y && - (n.ze || - ((n.ze = E(i)), - L(n.ze, 'btn'), - A(n.ze, _, 'all'), - V(k, n.ze), - B(n.ze, f, () => u('all'))), - (n.ze.innerHTML = y)), - w && - (n.Le || - ((n.Le = E(i)), - L(n.Le, 'btn'), - A(n.Le, _, 'necessary'), - V(k, n.Le), - B(n.Le, f, () => u([]))), - (n.Le.innerHTML = w)), - x && - (n.qe || - ((n.qe = E(i)), - L(n.qe, 'btn'), - L(n.qe, 'btn--secondary'), - A(n.qe, _, 'save'), - V(N, n.qe), - B(n.qe, f, () => u())), - (n.qe.innerHTML = x)), - n.Pe && (n.we.replaceChild(n.Pe, n.Ge), (n.Ge = n.Pe)), - ge(1), - o.N || - ((o.N = !0), - te(m.re.ue, p, n.we), - t(e), - V(n.Ce, n.Fe), - Y(n.we), - setTimeout(() => j(n.Fe, 'cc--anim'), 100)), - ee(2)); - }; - function ve(e, t, o, n, s) { - const a = m.o, - r = m.ne, - i = E('label'), - d = E('input'), - _ = E('span'), - u = E('span'), - p = E('span'), - g = E('span'), - b = E('span'); - if ( - ((g.innerHTML = X(1, 3)), - (b.innerHTML = X(0, 3)), - (d.type = 'checkbox'), - j(i, 'section__toggle-wrapper'), - j(d, 'section__toggle'), - j(g, 'toggle__icon-on'), - j(b, 'toggle__icon-off'), - j(_, 'toggle__icon'), - j(u, 'toggle__icon-circle'), - j(p, 'toggle__label'), - A(_, l, 'true'), - n ? (j(i, 'toggle-service'), A(d, c, s), (r.ae[s][t] = d)) : (r.se[t] = d), - n - ? ((e) => { - B(d, 'change', () => { - const t = r.ae[e], - o = r.se[e]; - a.Z[e] = []; - for (let o in t) { - const n = t[o]; - n.checked && a.Z[e].push(n.value); - } - o.checked = a.Z[e].length > 0; - }); - })(s) - : ((e) => { - B(d, f, () => { - const t = r.ae[e], - o = d.checked; - a.Z[e] = []; - for (let n in t) ((t[n].checked = o), o && a.Z[e].push(n)); - }); - })(t), - (d.value = t), - (p.textContent = e.replace(/<.*>.*<\/.*>/gm, '')), - V(u, b), - V(u, g), - V(_, u), - a.T) - ) - (o.readOnly || o.enabled) && (d.checked = !0); - else if (n) { - const e = a.Y[s]; - d.checked = o.readOnly || v(e, t); - } else v(a.R, t) && (d.checked = !0); - return (o.readOnly && (d.disabled = !0), V(i, d), V(i, _), V(i, p), i); - } - const ye = () => { - const e = E('span'); - return (m.ne.Ke || (m.ne.Ke = e), e); - }, - he = (e, t) => { - const o = m.o, - n = m.ne, - { hide: s, showPreferences: a, acceptCategory: c } = e, - p = o.u && o.u.consentModal; - if (!p) return; - const g = p.acceptAllBtn, - b = p.acceptNecessaryBtn, - v = p.showPreferencesBtn, - y = p.closeIconLabel, - h = p.footer, - C = p.label, - w = p.title, - S = (e) => { - (s(), c(e)); - }; - if (!n.Qe) { - ((n.Qe = E(r)), - (n.he = E(r)), - (n.We = E(r)), - (n.Xe = E(r)), - (n.Ye = E(r)), - j(n.Qe, 'cm-wrapper'), - j(n.he, 'cm'), - I(n.We, 'body'), - I(n.Xe, 'texts'), - I(n.Ye, 'btns'), - A(n.he, 'role', 'dialog'), - A(n.he, 'aria-modal', 'true'), - A(n.he, l, 'false'), - A(n.he, 'aria-describedby', 'cm__desc'), - C ? A(n.he, 'aria-label', C) : w && A(n.he, 'aria-labelledby', 'cm__title')); - const e = 'box', - t = o.i.guiOptions, - s = t && t.consentModal, - a = ((s && s.layout) || e).split(' ')[0] === e; - (w && - y && - a && - (n.Ie || - ((n.Ie = E(i)), - (n.Ie.innerHTML = X()), - I(n.Ie, 'btn'), - I(n.Ie, 'btn--close'), - B(n.Ie, f, () => { - S([]); - }), - V(n.We, n.Ie)), - A(n.Ie, 'aria-label', y)), - V(n.We, n.Xe), - (g || b || v) && V(n.We, n.Ye), - (n.be = E(r)), - A(n.be, 'tabIndex', -1), - V(n.he, n.be), - V(n.he, n.We), - V(n.Qe, n.he)); - } - w && - (n.Ze || ((n.Ze = E('h2')), (n.Ze.className = n.Ze.id = 'cm__title'), V(n.Xe, n.Ze)), - (n.Ze.innerHTML = w)); - let x = p.description; - if ( - (x && - (o.V && (x = x.replace('{{revisionMessage}}', o.j ? '' : p.revisionMessage || '')), - n.et || ((n.et = E('p')), (n.et.className = n.et.id = 'cm__desc'), V(n.Xe, n.et)), - (n.et.innerHTML = x)), - g && - (n.tt || - ((n.tt = E(i)), - V(n.tt, ye()), - I(n.tt, 'btn'), - A(n.tt, _, 'all'), - B(n.tt, f, () => { - S('all'); - })), - (n.tt.firstElementChild.innerHTML = g)), - b && - (n.je || - ((n.je = E(i)), - V(n.je, ye()), - I(n.je, 'btn'), - A(n.je, _, 'necessary'), - B(n.je, f, () => { - S([]); - })), - (n.je.firstElementChild.innerHTML = b)), - v && - (n.ot || - ((n.ot = E(i)), - V(n.ot, ye()), - I(n.ot, 'btn'), - I(n.ot, 'btn--secondary'), - A(n.ot, _, 'show'), - B(n.ot, 'mouseenter', () => { - o.N || be(e, t); - }), - B(n.ot, f, a)), - (n.ot.firstElementChild.innerHTML = v)), - n.nt || - ((n.nt = E(r)), - I(n.nt, d), - g && V(n.nt, n.tt), - b && V(n.nt, n.je), - (g || b) && V(n.We, n.nt), - V(n.Ye, n.nt)), - n.ot && - !n.st && - ((n.st = E(r)), - n.je && n.tt - ? (I(n.st, d), V(n.st, n.ot), V(n.Ye, n.st)) - : (V(n.nt, n.ot), I(n.nt, d + '--uneven'))), - h) - ) { - if (!n.ct) { - let e = E(r), - t = E(r); - ((n.ct = E(r)), - I(e, 'footer'), - I(t, 'links'), - I(n.ct, 'link-group'), - V(t, n.ct), - V(e, t), - V(n.he, e)); - } - n.ct.innerHTML = h; - } - (ge(0), - o.D || - ((o.D = !0), - te(m.re.ue, u, n.he), - t(e), - V(n.Ce, n.Qe), - Y(n.he), - setTimeout(() => j(n.Qe, 'cc--anim'), 100)), - ee(1), - U(n.We, e, be, t)); - }, - Ce = (e) => { - if (!h(e)) return null; - if (e in m.o._) return e; - let t = e.slice(0, 2); - return t in m.o._ ? t : null; - }, - we = () => m.o.l || m.o.i.language.default, - Se = (e) => { - e && (m.o.l = e); - }, - xe = async (e) => { - const t = m.o; - let o = Ce(e) ? e : we(), - n = t._[o]; - if ( - (h(n) - ? (n = await (async (e) => { - try { - const t = await fetch(e); - return await t.json(); - } catch (e) { - return (console.error(e), !1); - } - })(n)) - : w(n) && (n = await n()), - !n) - ) - throw `Could not load translation for the '${o}' language`; - return ((t.u = n), Se(o), !0); - }, - Me = () => { - let e = m.o.i.language.rtl, - t = m.ne.Ce; - e && t && (y(e) || (e = [e]), v(e, m.o.l) ? j(t, 'cc--rtl') : F(t, 'cc--rtl')); - }, - Te = () => { - const e = m.ne; - if (e.Ce) return; - ((e.Ce = E(r)), (e.Ce.id = 'cc-main'), e.Ce.setAttribute('data-nosnippet', ''), Me()); - let t = m.o.i.root; - (t && h(t) && (t = document.querySelector(t)), (t || e.Ue.body).appendChild(e.Ce)); - }, - De = (e) => oe(() => localStorage.removeItem(e)), - ke = (e, t) => { - if (t instanceof RegExp) return e.filter((e) => t.test(e)); - { - const o = b(e, t); - return o > -1 ? [e[o]] : []; - } - }, - Ee = (e) => { - const { hostname: t, protocol: o } = location, - { name: n, path: s, domain: a, sameSite: c, useLocalStorage: r, secure: i } = m.t.cookie, - l = e - ? (() => { - const e = m.o.S, - t = e ? new Date() - e : 0; - return 864e5 * $() - t; - })() - : 864e5 * $(), - d = new Date(); - (d.setTime(d.getTime() + l), (m.o.p.expirationTime = d.getTime())); - const f = JSON.stringify(m.o.p); - let _ = - n + - '=' + - encodeURIComponent(f) + - (0 !== l ? '; expires=' + d.toUTCString() : '') + - '; Path=' + - s + - '; SameSite=' + - c; - (v(t, '.') && (_ += '; Domain=' + a), - i && 'https:' === o && (_ += '; Secure'), - r - ? ((e, t) => { - oe(() => localStorage.setItem(e, t)); - })(n, f) - : (document.cookie = _), - m.o.p); - }, - Ae = (e, t, o) => { - if (0 === e.length) return; - const n = o || m.t.cookie.domain, - s = t || m.t.cookie.path, - a = 'www.' === n.slice(0, 4), - c = a && n.substring(4), - r = (e, t) => { - (t && '.' !== t.slice(0, 1) && (t = '.' + t), - (document.cookie = - e + - '=; path=' + - s + - (t ? '; domain=' + t : '') + - '; expires=Thu, 01 Jan 1970 00:00:01 GMT;')); - }; - for (const t of e) (r(t, o), o || r(t, n), a && r(t, c)); - }, - Ne = (e) => { - const t = e || m.t.cookie.name, - o = m.t.cookie.useLocalStorage; - return ((e, t) => { - let o; - return ((o = oe(() => JSON.parse(t ? e : decodeURIComponent(e)), !0) || {}), o); - })(o ? ((n = t), oe(() => localStorage.getItem(n)) || '') : He(t, !0), o); - var n; - }, - He = (e, t) => { - const o = document.cookie.match('(^|;)\\s*' + e + '\\s*=\\s*([^;]+)'); - return o ? (t ? o.pop() : e) : ''; - }, - Ve = (e) => { - const t = document.cookie.split(/;\s*/), - o = []; - for (const n of t) { - let t = n.split('=')[0]; - e - ? oe(() => { - e.test(t) && o.push(t); - }) - : o.push(t); - } - return o; - }, - je = (e, n = []) => { - (((e, t) => { - const { O: o, R: n, B: s, N: a, Z: c, $: r, X: i } = m.o; - let l = []; - if (e) { - y(e) ? l.push(...e) : h(e) && (l = 'all' === e ? o : [e]); - for (const e of o) c[e] = v(l, e) ? S(i[e]) : []; - } else - ((l = [...n, ...r]), - a && - (l = (() => { - const e = m.ne.se; - if (!e) return []; - let t = []; - for (let o in e) e[o].checked && t.push(o); - return t; - })())); - ((l = l.filter((e) => !v(o, e) || !v(t, e))), l.push(...s), J(l)); - })(e, n), - (() => { - const e = m.o, - { Z: t, B: o, Y: n, X: s, O: a } = e, - c = a; - e.te = P(n); - for (const a of c) { - const c = s[a], - r = S(c), - i = t[a] && t[a].length > 0, - l = v(o, a); - if (0 !== r.length) { - if (((n[a] = []), l)) n[a].push(...r); - else if (i) { - const e = t[a]; - n[a].push(...e); - } else n[a] = e.Z[a]; - n[a] = x(n[a]); - } - } - })(), - (() => { - const e = m.o; - e.I = m.t.mode === o && e.T ? G(e.$, e.R) : G(e.R, e.p.categories); - let n = e.I.length > 0, - s = !1; - for (const t of e.O) ((e.ee[t] = G(e.Y[t], e.te[t])), e.ee[t].length > 0 && (s = !0)); - const a = m.ne.se; - for (const t in a) a[t].checked = v(e.R, t); - for (const t of e.O) { - const o = m.ne.ae[t], - n = e.Y[t]; - for (const e in o) o[e].checked = v(n, e); - } - (e.C || (e.C = new Date()), - e.M || - (e.M = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (e) => - (e ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (e / 4)))).toString( - 16, - ), - )), - (e.p = { - categories: P(e.R), - revision: m.t.revision, - data: e.h, - consentTimestamp: e.C.toISOString(), - consentId: e.M, - services: P(e.Y), - languageCode: m.o.l, - }), - e.S && (e.p.lastConsentTimestamp = e.S.toISOString())); - let c = !1; - const r = n || s; - ((e.T || r) && - (e.T && ((e.T = !1), (c = !0)), - (e.S = e.S ? new Date() : e.C), - (e.p.lastConsentTimestamp = e.S.toISOString()), - Ee(), - m.t.autoClearCookies && - (c || r) && - ((e) => { - const t = m.o, - o = Ve(), - n = ((e) => { - const t = m.o; - return (e ? t.O : t.I).filter((e) => { - const o = t.P[e]; - return !!o && !o.readOnly && !!o.autoClear; - }); - })(e); - for (const e in t.ee) - for (const n of t.ee[e]) { - const s = t.X[e][n].cookies; - if (!v(t.Y[e], n) && s) - for (const e of s) { - const t = ke(o, e.name); - Ae(t, e.path, e.domain); - } - } - for (const s of n) { - const n = t.P[s].autoClear, - a = (n && n.cookies) || [], - c = v(t.I, s), - r = !v(t.R, s), - i = c && r; - if (e ? r : i) { - n.reloadPage && i && (t.L = !0); - for (const e of a) { - const t = ke(o, e.name); - Ae(t, e.path, e.domain); - } - } - } - })(c), - ne()), - (c && (te(m.re.ie), te(m.re.le), m.t.mode === t)) || - (r && te(m.re.de), e.L && ((e.L = !1), location.reload()))); - })()); - }, - Ie = (e) => { - const t = m.o.T ? [] : m.o.R; - return v(t, e); - }, - Le = (e, t) => { - const o = m.o.T ? [] : m.o.Y[t] || []; - return v(o, e); - }, - Fe = (e, t, o) => { - let n = []; - const s = (e) => { - if (h(e)) { - let t = He(e); - '' !== t && n.push(t); - } else n.push(...Ve(e)); - }; - if (y(e)) for (let t of e) s(t); - else s(e); - Ae(n, t, o); - }, - Pe = (e) => { - const { ne: t, o: o } = m; - if (!o.k) { - if (!o.D) { - if (!e) return; - he($e, Te); - } - ((o.k = !0), - (o.J = M()), - o.v && Q(!0), - q(t.he, 1), - j(t.ye, n), - A(t.he, l, 'false'), - setTimeout(() => { - z(m.ne.be); - }, 100), - te(m.re.fe, u)); - } - }, - Oe = () => { - const { ne: e, o: t, re: o } = m; - t.k && - ((t.k = !1), - t.v && Q(), - z(e.Ke, !0), - F(e.ye, n), - A(e.he, l, 'true'), - z(t.J), - (t.J = null), - te(o._e, u)); - }, - Re = () => { - const e = m.o; - e.A || - (e.N || be($e, Te), - (e.A = !0), - e.k ? (e.U = M()) : (e.J = M()), - q(m.ne.we, 2), - j(m.ne.ye, s), - A(m.ne.we, l, 'false'), - setTimeout(() => { - z(m.ne.ve); - }, 100), - te(m.re.fe, p)); - }, - Be = () => { - const e = m.o; - e.A && - ((e.A = !1), - (() => { - const e = Je(), - t = m.o.P, - o = m.ne.se, - n = m.ne.ae, - s = (e) => v(m.o.$, e); - for (const a in o) { - const c = !!t[a].readOnly; - o[a].checked = c || (e ? Ie(a) : s(a)); - for (const t in n[a]) n[a][t].checked = c || (e ? Le(t, a) : s(a)); - } - })(), - z(m.ne.$e, !0), - F(m.ne.ye, s), - A(m.ne.we, l, 'true'), - e.k ? (z(e.U), (e.U = null)) : (z(e.J), (e.J = null)), - te(m.re._e, p)); - }; - var $e = { show: Pe, hide: Oe, showPreferences: Re, hidePreferences: Be, acceptCategory: je }; - const Ge = (e, t) => { - const o = Ne(t); - return e ? o[e] : o; - }, - Je = () => !m.o.T; - ((e.acceptCategory = je), - (e.acceptService = (e, t) => { - const { O: o, X: n } = m.o; - if (!(e && t && h(t) && v(o, t) && 0 !== S(n[t]).length)) return !1; - (((e, t) => { - const o = m.o, - { X: n, Z: s, N: a } = o, - c = m.ne.ae[t] || {}, - r = m.ne.se[t] || {}, - i = S(n[t]); - if (((s[t] = []), h(e))) { - if ('all' === e) { - if ((s[t].push(...i), a)) for (let e in c) ((c[e].checked = !0), k(c[e])); - } else if ((v(i, e) && s[t].push(e), a)) - for (let t in c) ((c[t].checked = e === t), k(c[t])); - } else if (y(e)) - for (let o of i) { - const n = v(e, o); - (n && s[t].push(o), a && ((c[o].checked = n), k(c[o]))); - } - const l = 0 === s[t].length; - ((o.R = l ? o.R.filter((e) => e !== t) : x([...o.R, t])), a && ((r.checked = !l), k(r))); - })(e, t), - je()); - }), - (e.acceptedCategory = Ie), - (e.acceptedService = Le), - (e.eraseCookies = Fe), - (e.getConfig = (e) => { - const t = m.t, - o = m.o.i; - return e ? t[e] || o[e] : { ...t, ...o, cookie: { ...t.cookie } }; - }), - (e.getCookie = Ge), - (e.getUserPreferences = () => { - const { F: e, Y: t } = m.o, - { accepted: o, rejected: n } = (() => { - const { T: e, R: t, O: o } = m.o; - return { accepted: t, rejected: e ? [] : o.filter((e) => !v(t, e)) }; - })(); - return P({ - acceptType: e, - acceptedCategories: o, - rejectedCategories: n, - acceptedServices: t, - rejectedServices: O(), - }); - }), - (e.hide = Oe), - (e.hidePreferences = Be), - (e.loadScript = (e, t) => { - let o = document.querySelector('script[src="' + e + '"]'); - return new Promise((n) => { - if (o) return n(!0); - if (((o = E('script')), C(t))) for (const e in t) A(o, e, t[e]); - ((o.onload = () => n(!0)), - (o.onerror = () => { - (o.remove(), n(!1)); - }), - (o.src = e), - V(document.head, o)); - }); - }), - (e.reset = (e) => { - const { Ce: t, ye: o } = m.ne, - { name: c, path: r, domain: i, useLocalStorage: l } = m.t.cookie; - e && (l ? De(c) : Fe(c, r, i)); - for (const { pe: e, ge: t, me: o } of m.o.m) e.removeEventListener(t, o); - (t && t.remove(), o && o.classList.remove(a, s, n)); - const d = new g(); - for (const e in m) m[e] = d[e]; - window._ccRun = !1; - }), - (e.run = async (e) => { - const { o: t, t: n, re: s } = m, - a = window; - if (!a._ccRun) { - if ( - ((a._ccRun = !0), - ((e) => { - const { ne: t, t: n, o: s } = m, - a = n, - r = s, - { cookie: i } = a, - l = m.ce, - d = e.cookie, - f = e.categories, - _ = S(f) || [], - u = navigator, - p = document; - ((t.Ue = p), - (t.ye = p.documentElement), - (i.domain = location.hostname), - (r.i = e), - (r.P = f), - (r.O = _), - (r._ = e.language.translations), - (r.v = !!e.disablePageInteraction), - (l.ie = e.onFirstConsent), - (l.le = e.onConsent), - (l.de = e.onChange), - (l._e = e.onModalHide), - (l.fe = e.onModalShow), - (l.ue = e.onModalReady)); - const { - mode: g, - autoShow: b, - lazyHtmlGeneration: y, - autoClearCookies: h, - revision: w, - manageScriptTags: x, - hideFromBots: M, - } = e; - (g === o && (a.mode = g), - 'boolean' == typeof h && (a.autoClearCookies = h), - 'boolean' == typeof x && (a.manageScriptTags = x), - 'number' == typeof w && w >= 0 && ((a.revision = w), (r.V = !0)), - 'boolean' == typeof b && (a.autoShow = b), - 'boolean' == typeof y && (a.lazyHtmlGeneration = y), - !1 === M && (a.hideFromBots = !1), - !0 === a.hideFromBots && - u && - (r.G = - (u.userAgent && /bot|crawl|spider|slurp|teoma/i.test(u.userAgent)) || - u.webdriver), - C(d) && (a.cookie = { ...i, ...d }), - a.autoClearCookies, - r.V, - a.manageScriptTags, - ((e) => { - const { P: t, X: o, Y: n, Z: s, B: a } = m.o; - for (let c of e) { - const e = t[c], - r = e.services || {}, - i = (C(r) && S(r)) || []; - ((o[c] = {}), - (n[c] = []), - (s[c] = []), - e.readOnly && (a.push(c), (n[c] = i)), - (m.ne.ae[c] = {})); - for (let e of i) { - const t = r[e]; - ((t.Se = !1), (o[c][e] = t)); - } - } - })(_), - (() => { - if (!m.t.manageScriptTags) return; - const e = m.o, - t = D(document, 'script[' + c + ']'); - for (const o of t) { - let t = H(o, c), - n = o.dataset.service || '', - s = !1; - if ( - (t && '!' === t.charAt(0) && ((t = t.slice(1)), (s = !0)), - '!' === n.charAt(0) && ((n = n.slice(1)), (s = !0)), - v(e.O, t) && (e.oe.push({ Me: o, xe: !1, ke: s, Te: t, De: n }), n)) - ) { - const o = e.X[t]; - o[n] || (o[n] = { Se: !1 }); - } - } - })(), - Se( - (() => { - const e = m.o.i.language.autoDetect; - if (e) { - const t = { - browser: navigator.language, - document: document.documentElement.lang, - }, - o = Ce(t[e]); - if (o) return o; - } - return we(); - })(), - )); - })(e), - t.G) - ) - return; - (() => { - const e = m.o, - t = m.t, - n = Ne(), - { - categories: s, - services: a, - consentId: c, - consentTimestamp: r, - lastConsentTimestamp: i, - data: l, - revision: d, - } = n, - f = y(s); - ((e.p = n), (e.M = c)); - const _ = !!c && h(c); - ((e.C = r), - e.C && (e.C = new Date(r)), - (e.S = i), - e.S && (e.S = new Date(i)), - (e.h = void 0 !== l ? l : null), - e.V && _ && d !== t.revision && (e.j = !1), - (e.T = !(_ && e.j && e.C && e.S && f)), - t.cookie.useLocalStorage && - !e.T && - ((e.T = new Date().getTime() > (n.expirationTime || 0)), e.T && De(t.cookie.name)), - e.T, - (() => { - const e = m.o; - for (const t of e.O) { - const n = e.P[t]; - if (n.readOnly || n.enabled) { - e.$.push(t); - const n = e.X[t] || {}; - for (let s in n) (e.Z[t].push(s), e.i.mode === o && e.Y[t].push(s)); - } - } - })(), - e.T - ? t.mode === o && (e.R = [...e.$]) - : ((e.Y = { ...e.Y, ...a }), (e.Z = { ...e.Y }), J([...e.B, ...s]))); - })(); - const i = Je(); - if (!(await xe())) return !1; - if ( - (U(null, (r = $e), be, Te), - m.o.T && he(r, Te), - m.t.lazyHtmlGeneration || be(r, Te), - n.autoShow && !i && Pe(!0), - i) - ) - return (ne(), te(s.le)); - n.mode === o && ne(t.$); - } - var r; - }), - (e.setCookieData = (e) => { - let t, - o = e.value, - n = e.mode, - s = !1; - const a = m.o; - if ('update' === n) { - a.h = t = Ge('data'); - const e = typeof t == typeof o; - if (e && 'object' == typeof t) { - !t && (t = {}); - for (let e in o) t[e] !== o[e] && ((t[e] = o[e]), (s = !0)); - } else (!e && t) || t === o || ((t = o), (s = !0)); - } else ((t = o), (s = !0)); - return (s && ((a.h = t), (a.p.data = t), Ee(!0)), s); - }), - (e.setLanguage = async (e, t) => { - if (!Ce(e)) return !1; - const o = m.o; - return !( - (e === we() && !0 !== t) || - !(await xe(e)) || - (Se(e), o.D && he($e, Te), o.N && be($e, Te), Me(), 0) - ); - }), - (e.show = Pe), - (e.showPreferences = Re), - (e.validConsent = Je), - (e.validCookie = (e) => '' !== He(e, !0))); - }), - 'object' == typeof exports && 'undefined' != typeof module - ? t(exports) - : 'function' == typeof define && define.amd - ? define(['exports'], t) - : t(((e = 'undefined' != typeof globalThis ? globalThis : e || self).CookieConsent = {}))); +* CookieConsent 3.1.0 +* https://github.com/orestbida/cookieconsent +* Author Orest Bida +* Released under the MIT License +*/ +var e,t;e=this,t=function(e){"use strict";const t="opt-in",o="opt-out",n="show--consent",r="show--preferences",s="disable--interaction",c="data-category",a="div",i="button",l="aria-hidden",d="btn-group",f="click",u="data-role",p="consentModal",h="preferencesModal";class m{constructor(){this.t={mode:t,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:"",T:!0,D:!1,k:!1,A:!1,N:!1,H:[],V:!1,j:!0,I:[],L:!1,F:"",P:!1,O:[],R:[],B:[],$:[],G:!1,J:!1,U:!1,q:[],K:[],W:[],X:{},Y:{},Z:{},ee:{},te:{},oe:[]},this.ne={se:{},ae:{}},this.ce={},this.re={ie:"cc:onFirstConsent",le:"cc:onConsent",de:"cc:onChange",fe:"cc:onModalShow",_e:"cc:onModalHide",ue:"cc:onModalReady"}}}const g=new m,y=(e,t)=>e.indexOf(t),b=(e,t)=>-1!==y(e,t),v=e=>Array.isArray(e),w=e=>"string"==typeof e,C=e=>!!e&&"object"==typeof e&&!v(e),k=e=>"function"==typeof e,T=e=>Object.keys(e),S=e=>Array.from(new Set(e)),L=()=>document.activeElement,M=e=>e.preventDefault(),_=(e,t)=>e.querySelectorAll(t),x=e=>e.dispatchEvent(new Event("change")),H=e=>{const t=document.createElement(e);return e===i&&(t.type=e),t},A=(e,t,o)=>e.setAttribute(t,o),O=(e,t,o)=>{e.removeAttribute(o?"data-"+t:t)},I=(e,t,o)=>e.getAttribute(o?"data-"+t:t),R=(e,t)=>e.appendChild(t),P=(e,t)=>e.classList.add(t),j=(e,t)=>P(e,"cm__"+t),N=(e,t)=>P(e,"pm__"+t),B=(e,t)=>e.classList.remove(t),D=e=>{if("object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=D(n)}return t},E=()=>{const e={},{O:t,X:o,Y:n}=g.o;for(const r of t)e[r]=X(n[r],T(o[r]));return e},Y=(e,t)=>dispatchEvent(new CustomEvent(e,{detail:t})),F=(e,t,o,n)=>{e.addEventListener(t,o),n&&g.o.m.push({pe:e,ge:t,me:o})},Z=()=>{const e=g.t.cookie.expiresAfterDays;return k(e)?e(g.o.F):e},X=(e,t)=>{const o=e||[],n=t||[];return o.filter(e=>!b(n,e)).concat(n.filter(e=>!b(o,e)))},q=e=>{g.o.R=S(e),g.o.F=(()=>{let e="custom";const{R:t,O:o,B:n}=g.o,r=t.length;return r===o.length?e="all":r===n.length&&(e="necessary"),e})()},G=(e,t,o,n)=>{const r="accept-",{show:s,showPreferences:c,hide:a,hidePreferences:i,acceptCategory:l}=t,d=e||document,u=e=>_(d,`[data-cc="${e}"]`),p=(e,t)=>{M(e),l(t),i(),a()},h=u("show-preferencesModal"),m=u("show-consentModal"),y=u(r+"all"),b=u(r+"necessary"),v=u(r+"custom"),w=g.t.lazyHtmlGeneration;for(const e of h)A(e,"aria-haspopup","dialog"),F(e,f,e=>{M(e),c()}),w&&(F(e,"mouseenter",e=>{M(e),g.o.N||o(t,n)},!0),F(e,"focus",()=>{g.o.N||o(t,n)}));for(let e of m)A(e,"aria-haspopup","dialog"),F(e,f,e=>{M(e),s(!0)},!0);for(let e of y)F(e,f,e=>{p(e,"all")},!0);for(let e of v)F(e,f,e=>{p(e)},!0);for(let e of b)F(e,f,e=>{p(e,[])},!0)},J=(e,t)=>{e&&(t&&(e.tabIndex=-1),e.focus(),t&&e.removeAttribute("tabindex"))},$=(e,t)=>{const o=n=>{n.target.removeEventListener("transitionend",o),"opacity"===n.propertyName&&"1"===getComputedStyle(e).opacity&&J((e=>1===e?g.ne.be:g.ne.ve)(t))};F(e,"transitionend",o)};let U;const z=e=>{clearTimeout(U),e?P(g.ne.ye,s):U=setTimeout(()=>{B(g.ne.ye,s)},500)},V=["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 "],W=(e=0,t=1.5)=>``,K=e=>{const t=g.ne,o=g.o;(e=>{const n=e===t.he,r=o.i.disablePageInteraction?t.ye:n?t.Ce:t.ye;F(r,"keydown",t=>{if("Tab"!==t.key||!(n?o.k&&!o.A:o.A))return;const r=L(),s=n?o.q:o.K;0!==s.length&&(t.shiftKey?r!==s[0]&&e.contains(r)||(M(t),J(s[1])):r!==s[1]&&e.contains(r)||(M(t),J(s[0])))},!0)})(e)},Q=["[href]",i,"input","details","[tabindex]"].map(e=>e+':not([tabindex="-1"])').join(","),ee=e=>{const{o:t,ne:o}=g,n=(e,t)=>{const o=_(e,Q);t[0]=o[0],t[1]=o[o.length-1]};1===e&&t.D&&n(o.he,t.q),2===e&&t.N&&n(o.we,t.K)},te=(e,t,o)=>{const{de:n,le:r,ie:s,_e:c,ue:a,fe:i}=g.ce,l=g.re;if(t){const n={modalName:t};return e===l.fe?k(i)&&i(n):e===l._e?k(c)&&c(n):(n.modal=o,k(a)&&a(n)),Y(e,n)}const d={cookie:g.o.p};e===l.ie?k(s)&&s(D(d)):e===l.le?k(r)&&r(D(d)):(d.changedCategories=g.o.I,d.changedServices=g.o.ee,k(n)&&n(D(d))),Y(e,D(d))},oe=(e,t)=>{try{return e()}catch(e){return!t&&console.warn("CookieConsent:",e),!1}},ne=e=>{const{Y:t,ee:o,O:n,X:r,oe:s,p:a,I:i}=g.o;for(const e of n){const n=o[e]||t[e]||[];for(const o of n){const n=r[e][o];if(!n)continue;const{onAccept:s,onReject:c}=n;!n.Se&&b(t[e],o)?(n.Se=!0,k(s)&&s()):n.Se&&!b(t[e],o)&&(n.Se=!1,k(c)&&c())}}if(!g.t.manageScriptTags)return;const l=s,d=e||a.categories||[],f=(e,n)=>{if(n>=e.length)return;const r=s[n];if(r.xe)return f(e,n+1);const a=r.Me,l=r.Te,u=r.De,p=b(d,l),h=!!u&&b(t[l],u);if(!u&&!r.ke&&p||!u&&r.ke&&!p&&b(i,l)||u&&!r.ke&&h||u&&r.ke&&!h&&b(o[l]||[],u)){r.xe=!0;const t=I(a,"type",!0);O(a,"type",!!t),O(a,c);let o=I(a,"src",!0);o&&O(a,"src",!0);const s=H("script");s.textContent=a.innerHTML;for(const{nodeName:e}of a.attributes)A(s,e,a[e]||I(a,e));t&&(s.type=t),o?s.src=o:o=a.src;const i=!!o&&(!t||["text/javascript","module"].includes(t));if(i&&(s.onload=s.onerror=()=>{f(e,++n)}),a.replaceWith(s),i)return}f(e,++n)};f(l,0)},re="bottom",se="left",ce="center",ae="right",ie="inline",le="wide",de="pm--",fe=["middle","top",re],ue=[se,ce,ae],pe={box:{Ee:[le,ie],Ae:fe,Ne:ue,He:re,Ve:ae},cloud:{Ee:[ie],Ae:fe,Ne:ue,He:re,Ve:ce},bar:{Ee:[ie],Ae:fe.slice(1),Ne:[],He:re,Ve:""}},he={box:{Ee:[],Ae:[],Ne:[],He:"",Ve:""},bar:{Ee:[le],Ae:[],Ne:[se,ae],He:"",Ve:se}},me=e=>{const t=g.o.i.guiOptions,o=t&&t.consentModal,n=t&&t.preferencesModal;0===e&&ge(g.ne.he,pe,o,"cm--","box","cm"),1===e&&ge(g.ne.we,he,n,de,"box","pm")},ge=(e,t,o,n,r,s)=>{e.className=s;const c=o&&o.layout,a=o&&o.position,i=o&&o.flipButtons,l=!o||!1!==o.equalWeightButtons,d=c&&c.split(" ")||[],f=d[0],u=d[1],p=f in t?f:r,h=t[p],m=b(h.Ee,u)&&u,y=a&&a.split(" ")||[],v=y[0],w=n===de?y[0]:y[1],C=b(h.Ae,v)?v:h.He,k=b(h.Ne,w)?w:h.Ve,T=t=>{t&&P(e,n+t)};T(p),T(m),T(C),T(k),i&&T("flip");const S=s+"__btn--secondary";if("cm"===s){const{je:e,Ie:t}=g.ne;e&&(l?B(e,S):P(e,S)),t&&(l?B(t,S):P(t,S))}else{const{Le:e}=g.ne;e&&(l?B(e,S):P(e,S))}},ye=(e,t)=>{const o=g.o,n=g.ne,{hide:r,hidePreferences:s,acceptCategory:c}=e,p=e=>{c(e),s(),r()},m=o.u&&o.u.preferencesModal;if(!m)return;const y=m.title,b=m.closeIconLabel,v=m.acceptAllBtn,k=m.acceptNecessaryBtn,S=m.savePreferencesBtn,L=m.sections||[],M=v||k||S;if(n.Fe)n.Pe=H(a),N(n.Pe,"body");else{n.Fe=H(a),P(n.Fe,"pm-wrapper");const e=H("div");P(e,"pm-overlay"),R(n.Fe,e),F(e,f,s),n.we=H(a),P(n.we,"pm"),A(n.we,"role","dialog"),A(n.we,l,!0),A(n.we,"aria-modal",!0),A(n.we,"aria-labelledby","pm__title"),F(n.ye,"keydown",e=>{27===e.keyCode&&s()},!0),n.Oe=H(a),N(n.Oe,"header"),n.Re=H("h2"),N(n.Re,"title"),n.Re.id="pm__title",n.Be=H(i),N(n.Be,"close-btn"),A(n.Be,"aria-label",m.closeIconLabel||""),F(n.Be,f,s),n.$e=H("span"),n.$e.innerHTML=W(),R(n.Be,n.$e),n.Ge=H(a),N(n.Ge,"body"),n.Je=H(a),N(n.Je,"footer");var _=H(a);P(_,"btns");var x=H(a),O=H(a);N(x,d),N(O,d),R(n.Je,x),R(n.Je,O),R(n.Oe,n.Re),R(n.Oe,n.Be),n.ve=H(a),A(n.ve,"tabIndex",-1),R(n.we,n.ve),R(n.we,n.Oe),R(n.we,n.Ge),M&&R(n.we,n.Je),R(n.Fe,n.we)}let I;y&&(n.Re.innerHTML=y,b&&A(n.Be,"aria-label",b)),L.forEach((e,t)=>{const r=e.title,s=e.description,c=e.linkedCategory,d=c&&o.P[c],u=e.cookieTable,p=u&&u.body,h=u&&u.caption,g=p&&p.length>0,y=!!d,b=y&&o.X[c],v=C(b)&&T(b)||[],k=y&&(!!s||!!g||T(b).length>0);var S=H(a);if(N(S,"section"),k||s){var L=H(a);N(L,"section-desc-wrapper")}let M=v.length;if(k&&M>0){const e=H(a);N(e,"section-services");for(const t of v){const o=b[t],n=o&&o.label||t,r=H(a),s=H(a),i=H(a),l=H(a);N(r,"service"),N(l,"service-title"),N(s,"service-header"),N(i,"service-icon");const f=be(n,t,d,!0,c);l.innerHTML=n,R(s,i),R(s,l),R(r,s),R(r,f),R(e,r)}R(L,e)}if(r){var _=H(a),x=H(y?i:a);if(N(_,"section-title-wrapper"),N(x,"section-title"),x.innerHTML=r,R(_,x),y){const e=H("span");e.innerHTML=W(2,3.5),N(e,"section-arrow"),R(_,e),S.className+="--toggle";const t=be(r,c,d);let o=m.serviceCounterLabel;if(M>0&&w(o)){let e=H("span");N(e,"badge"),N(e,"service-counter"),A(e,l,!0),A(e,"data-servicecounter",M),o&&(o=o.split("|"),o=o.length>1&&M>1?o[1]:o[0],A(e,"data-counterlabel",o)),e.innerHTML=M+(o?" "+o:""),R(x,e)}if(k){N(S,"section--expandable");var O=c+"-desc";A(x,"aria-expanded",!1),A(x,"aria-controls",O)}R(_,t)}else A(x,"role","heading"),A(x,"aria-level","3");R(S,_)}if(s){var j=H("p");N(j,"section-desc"),j.innerHTML=s,R(L,j)}if(k&&(A(L,l,"true"),L.id=O,((e,t,o)=>{F(x,f,()=>{t.classList.contains("is-expanded")?(B(t,"is-expanded"),A(o,"aria-expanded","false"),A(e,l,"true")):(P(t,"is-expanded"),A(o,"aria-expanded","true"),A(e,l,"false"))})})(L,S,x),g)){const e=H("table"),o=H("thead"),r=H("tbody");if(h){const t=H("caption");N(t,"table-caption"),t.innerHTML=h,e.appendChild(t)}N(e,"section-table"),N(o,"table-head"),N(r,"table-body");const s=u.headers,c=T(s),i=n.Ue.createDocumentFragment(),l=H("tr");for(const e of c){const o=s[e],n=H("th");n.id="cc__row-"+o+t,A(n,"scope","col"),N(n,"table-th"),n.innerHTML=o,R(i,n)}R(l,i),R(o,l);const d=n.Ue.createDocumentFragment();for(const e of p){const o=H("tr");N(o,"table-tr");for(const n of c){const r=s[n],c=e[n],i=H("td"),l=H(a);N(i,"table-td"),A(i,"data-column",r),A(i,"headers","cc__row-"+r+t),l.insertAdjacentHTML("beforeend",c),R(i,l),R(o,i)}R(d,o)}R(r,d),R(e,o),R(e,r),R(L,e)}(k||s)&&R(S,L);const D=n.Pe||n.Ge;y?(I||(I=H(a),N(I,"section-toggles")),I.appendChild(S)):I=null,R(D,I||S)}),v&&(n.ze||(n.ze=H(i),N(n.ze,"btn"),A(n.ze,u,"all"),R(x,n.ze),F(n.ze,f,()=>p("all"))),n.ze.innerHTML=v),k&&(n.Le||(n.Le=H(i),N(n.Le,"btn"),A(n.Le,u,"necessary"),R(x,n.Le),F(n.Le,f,()=>p([]))),n.Le.innerHTML=k),S&&(n.qe||(n.qe=H(i),N(n.qe,"btn"),N(n.qe,"btn--secondary"),A(n.qe,u,"save"),R(O,n.qe),F(n.qe,f,()=>p())),n.qe.innerHTML=S),n.Pe&&(n.we.replaceChild(n.Pe,n.Ge),n.Ge=n.Pe),me(1),o.N||(o.N=!0,te(g.re.ue,h,n.we),t(e),R(n.Ce,n.Fe),K(n.we),setTimeout(()=>P(n.Fe,"cc--anim"),100)),ee(2)};function be(e,t,o,n,r){const s=g.o,a=g.ne,i=H("label"),d=H("input"),u=H("span"),p=H("span"),h=H("span"),m=H("span"),y=H("span");if(m.innerHTML=W(1,3),y.innerHTML=W(0,3),d.type="checkbox",P(i,"section__toggle-wrapper"),P(d,"section__toggle"),P(m,"toggle__icon-on"),P(y,"toggle__icon-off"),P(u,"toggle__icon"),P(p,"toggle__icon-circle"),P(h,"toggle__label"),A(u,l,"true"),n?(P(i,"toggle-service"),A(d,c,r),a.ae[r][t]=d):a.se[t]=d,n?(e=>{F(d,"change",()=>{const t=a.ae[e],o=a.se[e];s.Z[e]=[];for(let o in t){const n=t[o];n.checked&&s.Z[e].push(n.value)}o.checked=s.Z[e].length>0})})(r):(e=>{F(d,f,()=>{const t=a.ae[e],o=d.checked;s.Z[e]=[];for(let n in t)t[n].checked=o,o&&s.Z[e].push(n)})})(t),d.value=t,h.textContent=e.replace(/<.*>.*<\/.*>/gm,""),R(p,y),R(p,m),R(u,p),s.T)(o.readOnly||o.enabled)&&(d.checked=!0);else if(n){const e=s.Y[r];d.checked=o.readOnly||b(e,t)}else b(s.R,t)&&(d.checked=!0);return o.readOnly&&(d.disabled=!0),R(i,d),R(i,u),R(i,h),i}const ve=()=>{const e=H("span");return g.ne.Ke||(g.ne.Ke=e),e},we=(e,t)=>{const o=g.o,n=g.ne,{hide:r,showPreferences:s,acceptCategory:c}=e,h=o.u&&o.u.consentModal;if(!h)return;const m=h.acceptAllBtn,y=h.acceptNecessaryBtn,b=h.showPreferencesBtn,v=h.closeIconLabel,w=h.footer,C=h.label,k=h.title,T=e=>{r(),c(e)};if(!n.Qe){n.Qe=H(a),n.he=H(a),n.We=H(a),n.Xe=H(a),n.Ye=H(a),P(n.Qe,"cm-wrapper"),P(n.he,"cm"),j(n.We,"body"),j(n.Xe,"texts"),j(n.Ye,"btns"),A(n.he,"role","dialog"),A(n.he,"aria-modal","true"),A(n.he,l,"false"),A(n.he,"aria-describedby","cm__desc"),C?A(n.he,"aria-label",C):k&&A(n.he,"aria-labelledby","cm__title");const e="box",t=o.i.guiOptions,r=t&&t.consentModal,s=(r&&r.layout||e).split(" ")[0]===e;k&&v&&s&&(n.Ie||(n.Ie=H(i),n.Ie.innerHTML=W(),j(n.Ie,"btn"),j(n.Ie,"btn--close"),F(n.Ie,f,()=>{T([])}),R(n.We,n.Ie)),A(n.Ie,"aria-label",v)),R(n.We,n.Xe),(m||y||b)&&R(n.We,n.Ye),n.be=H(a),A(n.be,"tabIndex",-1),R(n.he,n.be),R(n.he,n.We),R(n.Qe,n.he)}k&&(n.Ze||(n.Ze=H("h2"),n.Ze.className=n.Ze.id="cm__title",R(n.Xe,n.Ze)),n.Ze.innerHTML=k);let S=h.description;if(S&&(o.V&&(S=S.replace("{{revisionMessage}}",o.j?"":h.revisionMessage||"")),n.et||(n.et=H("p"),n.et.className=n.et.id="cm__desc",R(n.Xe,n.et)),n.et.innerHTML=S),m&&(n.tt||(n.tt=H(i),R(n.tt,ve()),j(n.tt,"btn"),A(n.tt,u,"all"),F(n.tt,f,()=>{T("all")})),n.tt.firstElementChild.innerHTML=m),y&&(n.je||(n.je=H(i),R(n.je,ve()),j(n.je,"btn"),A(n.je,u,"necessary"),F(n.je,f,()=>{T([])})),n.je.firstElementChild.innerHTML=y),b&&(n.ot||(n.ot=H(i),R(n.ot,ve()),j(n.ot,"btn"),j(n.ot,"btn--secondary"),A(n.ot,u,"show"),F(n.ot,"mouseenter",()=>{o.N||ye(e,t)}),F(n.ot,f,s)),n.ot.firstElementChild.innerHTML=b),n.nt||(n.nt=H(a),j(n.nt,d),m&&R(n.nt,n.tt),y&&R(n.nt,n.je),(m||y)&&R(n.We,n.nt),R(n.Ye,n.nt)),n.ot&&!n.st&&(n.st=H(a),n.je&&n.tt?(j(n.st,d),R(n.st,n.ot),R(n.Ye,n.st)):(R(n.nt,n.ot),j(n.nt,d+"--uneven"))),w){if(!n.ct){let e=H(a),t=H(a);n.ct=H(a),j(e,"footer"),j(t,"links"),j(n.ct,"link-group"),R(t,n.ct),R(e,t),R(n.he,e)}n.ct.innerHTML=w}me(0),o.D||(o.D=!0,te(g.re.ue,p,n.he),t(e),R(n.Ce,n.Qe),K(n.he),setTimeout(()=>P(n.Qe,"cc--anim"),100)),ee(1),G(n.We,e,ye,t)},Ce=e=>{if(!w(e))return null;if(e in g.o._)return e;let t=e.slice(0,2);return t in g.o._?t:null},ke=()=>g.o.l||g.o.i.language.default,Te=e=>{e&&(g.o.l=e)},Se=async e=>{const t=g.o;let o=Ce(e)?e:ke(),n=t._[o];if(w(n)?n=await(async e=>{try{const t=await fetch(e);return await t.json()}catch(e){return console.error(e),!1}})(n):k(n)&&(n=await n()),!n)throw`Could not load translation for the '${o}' language`;return t.u=n,Te(o),!0},Le=()=>{let e=g.o.i.language.rtl,t=g.ne.Ce;e&&t&&(v(e)||(e=[e]),b(e,g.o.l)?P(t,"cc--rtl"):B(t,"cc--rtl"))},Me=()=>{const e=g.ne;if(e.Ce)return;e.Ce=H(a),e.Ce.id="cc-main",e.Ce.setAttribute("data-nosnippet",""),Le();let t=g.o.i.root;t&&w(t)&&(t=document.querySelector(t)),(t||e.Ue.body).appendChild(e.Ce)},_e=e=>oe(()=>localStorage.removeItem(e)),xe=(e,t)=>{if(t instanceof RegExp)return e.filter(e=>t.test(e));{const o=y(e,t);return o>-1?[e[o]]:[]}},He=e=>{const{hostname:t,protocol:o}=location,{name:n,path:r,domain:s,sameSite:c,useLocalStorage:a,secure:i}=g.t.cookie,l=e?(()=>{const e=g.o.S,t=e?new Date-e:0;return 864e5*Z()-t})():864e5*Z(),d=new Date;d.setTime(d.getTime()+l),g.o.p.expirationTime=d.getTime();const f=JSON.stringify(g.o.p);let u=n+"="+encodeURIComponent(f)+(0!==l?"; expires="+d.toUTCString():"")+"; Path="+r+"; SameSite="+c;b(t,".")&&(u+="; Domain="+s),i&&"https:"===o&&(u+="; Secure"),a?((e,t)=>{oe(()=>localStorage.setItem(e,t))})(n,f):document.cookie=u,g.o.p},Ae=(e,t,o)=>{if(0===e.length)return;const n=o||g.t.cookie.domain,r=t||g.t.cookie.path,s="www."===n.slice(0,4),c=s&&n.substring(4),a=(e,t)=>{t&&"."!==t.slice(0,1)&&(t="."+t),document.cookie=e+"=; path="+r+(t?"; domain="+t:"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;"};for(const t of e)a(t,o),o||a(t,n),s&&a(t,c)},Oe=e=>{const t=e||g.t.cookie.name,o=g.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=oe(()=>JSON.parse(t?e:decodeURIComponent(e)),!0)||{},o})(o?(n=t,oe(()=>localStorage.getItem(n))||""):Ie(t,!0),o);var n},Ie=(e,t)=>{const o=document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]+)");return o?t?o.pop():e:""},Re=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split("=")[0];e?oe(()=>{e.test(t)&&o.push(t)}):o.push(t)}return o},Pe=(e,n=[])=>{((e,t)=>{const{O:o,R:n,B:r,N:s,Z:c,$:a,X:i}=g.o;let l=[];if(e){v(e)?l.push(...e):w(e)&&(l="all"===e?o:[e]);for(const e of o)c[e]=b(l,e)?T(i[e]):[]}else l=[...n,...a],s&&(l=(()=>{const e=g.ne.se;if(!e)return[];let t=[];for(let o in e)e[o].checked&&t.push(o);return t})());l=l.filter(e=>!b(o,e)||!b(t,e)),l.push(...r),q(l)})(e,n),(()=>{const e=g.o,{Z:t,B:o,Y:n,X:r,O:s}=e,c=s;e.te=D(n);for(const s of c){const c=r[s],a=T(c),i=t[s]&&t[s].length>0,l=b(o,s);if(0!==a.length){if(n[s]=[],l)n[s].push(...a);else if(i){const e=t[s];n[s].push(...e)}else n[s]=e.Z[s];n[s]=S(n[s])}}})(),(()=>{const e=g.o;e.I=g.t.mode===o&&e.T?X(e.$,e.R):X(e.R,e.p.categories);let n=e.I.length>0,r=!1;for(const t of e.O)e.ee[t]=X(e.Y[t],e.te[t]),e.ee[t].length>0&&(r=!0);const s=g.ne.se;for(const t in s)s[t].checked=b(e.R,t);for(const t of e.O){const o=g.ne.ae[t],n=e.Y[t];for(const e in o)o[e].checked=b(n,e)}e.C||(e.C=new Date),e.M||(e.M=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))),e.p={categories:D(e.R),revision:g.t.revision,data:e.h,consentTimestamp:e.C.toISOString(),consentId:e.M,services:D(e.Y),languageCode:g.o.l},e.S&&(e.p.lastConsentTimestamp=e.S.toISOString());let c=!1;const a=n||r;(e.T||a)&&(e.T&&(e.T=!1,c=!0),e.S=e.S?new Date:e.C,e.p.lastConsentTimestamp=e.S.toISOString(),He(),g.t.autoClearCookies&&(c||a)&&(e=>{const t=g.o,o=Re(),n=(e=>{const t=g.o;return(e?t.O:t.I).filter(e=>{const o=t.P[e];return!!o&&!o.readOnly&&!!o.autoClear})})(e);for(const e in t.ee)for(const n of t.ee[e]){const r=t.X[e][n].cookies;if(!b(t.Y[e],n)&&r)for(const e of r){const t=xe(o,e.name);Ae(t,e.path,e.domain)}}for(const r of n){const n=t.P[r].autoClear,s=n&&n.cookies||[],c=b(t.I,r),a=!b(t.R,r),i=c&&a;if(e?a:i){n.reloadPage&&i&&(t.L=!0);for(const e of s){const t=xe(o,e.name);Ae(t,e.path,e.domain)}}}})(c),ne()),c&&(te(g.re.ie),te(g.re.le),g.t.mode===t)||(a&&te(g.re.de),e.L&&(e.L=!1,location.reload()))})()},je=e=>{const t=g.o.T?[]:g.o.R;return b(t,e)},Ne=(e,t)=>{const o=g.o.T?[]:g.o.Y[t]||[];return b(o,e)},Be=(e,t,o)=>{let n=[];const r=e=>{if(w(e)){let t=Ie(e);""!==t&&n.push(t)}else n.push(...Re(e))};if(v(e))for(let t of e)r(t);else r(e);Ae(n,t,o)},De=e=>{const{ne:t,o:o}=g;if(!o.k){if(!o.D){if(!e)return;we(Ze,Me)}o.k=!0,o.J=L(),o.v&&z(!0),$(t.he,1),P(t.ye,n),A(t.he,l,"false"),setTimeout(()=>{J(g.ne.be)},100),te(g.re.fe,p)}},Ee=()=>{const{ne:e,o:t,re:o}=g;t.k&&(t.k=!1,t.v&&z(),J(e.Ke,!0),B(e.ye,n),A(e.he,l,"true"),J(t.J),t.J=null,te(o._e,p))},Ye=()=>{const e=g.o;e.A||(e.N||ye(Ze,Me),e.A=!0,e.k?e.U=L():e.J=L(),$(g.ne.we,2),P(g.ne.ye,r),A(g.ne.we,l,"false"),setTimeout(()=>{J(g.ne.ve)},100),te(g.re.fe,h))},Fe=()=>{const e=g.o;e.A&&(e.A=!1,(()=>{const e=qe(),t=g.o.P,o=g.ne.se,n=g.ne.ae,r=e=>b(g.o.$,e);for(const s in o){const c=!!t[s].readOnly;o[s].checked=c||(e?je(s):r(s));for(const t in n[s])n[s][t].checked=c||(e?Ne(t,s):r(s))}})(),J(g.ne.$e,!0),B(g.ne.ye,r),A(g.ne.we,l,"true"),e.k?(J(e.U),e.U=null):(J(e.J),e.J=null),te(g.re._e,h))};var Ze={show:De,hide:Ee,showPreferences:Ye,hidePreferences:Fe,acceptCategory:Pe};const Xe=(e,t)=>{const o=Oe(t);return e?o[e]:o},qe=()=>!g.o.T;e.acceptCategory=Pe,e.acceptService=(e,t)=>{const{O:o,X:n}=g.o;if(!(e&&t&&w(t)&&b(o,t)&&0!==T(n[t]).length))return!1;((e,t)=>{const o=g.o,{X:n,Z:r,N:s}=o,c=g.ne.ae[t]||{},a=g.ne.se[t]||{},i=T(n[t]);if(r[t]=[],w(e)){if("all"===e){if(r[t].push(...i),s)for(let e in c)c[e].checked=!0,x(c[e])}else if(b(i,e)&&r[t].push(e),s)for(let t in c)c[t].checked=e===t,x(c[t])}else if(v(e))for(let o of i){const n=b(e,o);n&&r[t].push(o),s&&(c[o].checked=n,x(c[o]))}const l=0===r[t].length;o.R=l?o.R.filter(e=>e!==t):S([...o.R,t]),s&&(a.checked=!l,x(a))})(e,t),Pe()},e.acceptedCategory=je,e.acceptedService=Ne,e.eraseCookies=Be,e.getConfig=e=>{const t=g.t,o=g.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},e.getCookie=Xe,e.getUserPreferences=()=>{const{F:e,Y:t}=g.o,{accepted:o,rejected:n}=(()=>{const{T:e,R:t,O:o}=g.o;return{accepted:t,rejected:e?[]:o.filter(e=>!b(t,e))}})();return D({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:E()})},e.hide=Ee,e.hidePreferences=Fe,e.loadScript=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise(n=>{if(o)return n(!0);if(o=H("script"),C(t))for(const e in t)A(o,e,t[e]);o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,R(document.head,o)})},e.reset=e=>{const{Ce:t,ye:o}=g.ne,{name:c,path:a,domain:i,useLocalStorage:l}=g.t.cookie;e&&(l?_e(c):Be(c,a,i));for(const{pe:e,ge:t,me:o}of g.o.m)e.removeEventListener(t,o);t&&t.remove(),o&&o.classList.remove(s,r,n);const d=new m;for(const e in g)g[e]=d[e];window._ccRun=!1},e.run=async e=>{const{o:t,t:n,re:r}=g,s=window;if(!s._ccRun){if(s._ccRun=!0,(e=>{const{ne:t,t:n,o:r}=g,s=n,a=r,{cookie:i}=s,l=g.ce,d=e.cookie,f=e.categories,u=T(f)||[],p=navigator,h=document;t.Ue=h,t.ye=h.documentElement,i.domain=location.hostname,a.i=e,a.P=f,a.O=u,a._=e.language.translations,a.v=!!e.disablePageInteraction,l.ie=e.onFirstConsent,l.le=e.onConsent,l.de=e.onChange,l._e=e.onModalHide,l.fe=e.onModalShow,l.ue=e.onModalReady;const{mode:m,autoShow:y,lazyHtmlGeneration:v,autoClearCookies:w,revision:k,manageScriptTags:S,hideFromBots:L}=e;m===o&&(s.mode=m),"boolean"==typeof w&&(s.autoClearCookies=w),"boolean"==typeof S&&(s.manageScriptTags=S),"number"==typeof k&&k>=0&&(s.revision=k,a.V=!0),"boolean"==typeof y&&(s.autoShow=y),"boolean"==typeof v&&(s.lazyHtmlGeneration=v),!1===L&&(s.hideFromBots=!1),!0===s.hideFromBots&&p&&(a.G=p.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(p.userAgent)||p.webdriver),C(d)&&(s.cookie={...i,...d}),s.autoClearCookies,a.V,s.manageScriptTags,(e=>{const{P:t,X:o,Y:n,Z:r,B:s}=g.o;for(let c of e){const e=t[c],a=e.services||{},i=C(a)&&T(a)||[];o[c]={},n[c]=[],r[c]=[],e.readOnly&&(s.push(c),n[c]=i),g.ne.ae[c]={};for(let e of i){const t=a[e];t.Se=!1,o[c][e]=t}}})(u),(()=>{if(!g.t.manageScriptTags)return;const e=g.o,t=_(document,"script["+c+"]");for(const o of t){let t=I(o,c),n=o.dataset.service||"",r=!1;if(t&&"!"===t.charAt(0)&&(t=t.slice(1),r=!0),"!"===n.charAt(0)&&(n=n.slice(1),r=!0),b(e.O,t)&&(e.oe.push({Me:o,xe:!1,ke:r,Te:t,De:n}),n)){const o=e.X[t];o[n]||(o[n]={Se:!1})}}})(),Te((()=>{const e=g.o.i.language.autoDetect;if(e){const t={browser:navigator.language,document:document.documentElement.lang},o=Ce(t[e]);if(o)return o}return ke()})())})(e),t.G)return;(()=>{const e=g.o,t=g.t,n=Oe(),{categories:r,services:s,consentId:c,consentTimestamp:a,lastConsentTimestamp:i,data:l,revision:d}=n,f=v(r);e.p=n,e.M=c;const u=!!c&&w(c);e.C=a,e.C&&(e.C=new Date(a)),e.S=i,e.S&&(e.S=new Date(i)),e.h=void 0!==l?l:null,e.V&&u&&d!==t.revision&&(e.j=!1),e.T=!(u&&e.j&&e.C&&e.S&&f),t.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&_e(t.cookie.name)),e.T,(()=>{const e=g.o;for(const t of e.O){const n=e.P[t];if(n.readOnly||n.enabled){e.$.push(t);const n=e.X[t]||{};for(let r in n)e.Z[t].push(r),e.i.mode===o&&e.Y[t].push(r)}}})(),e.T?t.mode===o&&(e.R=[...e.$]):(e.Y={...e.Y,...s},e.Z={...e.Y},q([...e.B,...r]))})();const i=qe();if(!await Se())return!1;if(G(null,a=Ze,ye,Me),g.o.T&&we(a,Me),g.t.lazyHtmlGeneration||ye(a,Me),n.autoShow&&!i&&De(!0),i)return ne(),te(r.le);n.mode===o&&ne(t.$)}var a},e.setCookieData=e=>{let t,o=e.value,n=e.mode,r=!1;const s=g.o;if("update"===n){s.h=t=Xe("data");const e=typeof t==typeof o;if(e&&"object"==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],r=!0)}else!e&&t||t===o||(t=o,r=!0)}else t=o,r=!0;return r&&(s.h=t,s.p.data=t,He(!0)),r},e.setLanguage=async(e,t)=>{if(!Ce(e))return!1;const o=g.o;return!(e===ke()&&!0!==t||!await Se(e)||(Te(e),o.D&&we(Ze,Me),o.N&&ye(Ze,Me),Le(),0))},e.show=De,e.showPreferences=Ye,e.validConsent=qe,e.validCookie=e=>""!==Ie(e,!0)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CookieConsent={}); \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 932c525..ab399f9 100644 --- a/templates/base.html +++ b/templates/base.html @@ -109,8 +109,9 @@ {% endif %} - - + + +