/*!
* CookieConsent 3.0.0
* https://github.com/orestbida/cookieconsent/tree/v3
* 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 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: "/",
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: [],
J: !1,
U: !1,
$: !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(),
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")),
A = (e) => {
const t = document.createElement(e);
return e === i && (t.type = e), t;
},
E = (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 } = g.o;
for (const s of t) e[s] = J(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 && g.o.m.push({ pe: e, me: t, ge: o });
},
G = () => {
const e = g.t.cookie.expiresAfterDays;
return w(e) ? e(g.o.F) : e;
},
J = (e, t) => {
const o = e || [],
n = t || [];
return o.filter((e) => !v(n, e)).concat(n.filter((e) => !v(o, e)));
},
U = (e) => {
(g.o.R = x(e)),
(g.o.F = (() => {
let e = "custom";
const { R: t, O: o, B: n } = g.o,
s = t.length;
return (
s === o.length
? (e = "all")
: s === n.length && (e = "necessary"),
e
);
})());
},
$ = (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"),
m = _("show-consentModal"),
b = _(s + "all"),
v = _(s + "necessary"),
y = _(s + "custom"),
h = g.t.lazyHtmlGeneration;
for (const e of p)
E(e, "aria-haspopup", "dialog"),
B(e, f, (e) => {
T(e), c();
}),
h &&
(B(
e,
"mouseenter",
(e) => {
T(e), g.o.N || o(t, n);
},
!0
),
B(e, "focus", () => {
g.o.N || o(t, n);
}));
for (let e of m)
E(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 ? g.ne.be : g.ne.ve))(t));
};
B(e, "transitionend", o);
};
let K;
const Q = (e) => {
clearTimeout(K),
e
? j(g.ne.ye, a)
: (K = setTimeout(() => {
F(g.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 = g.ne,
o = g.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 } = g,
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 } = g.ce,
l = g.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: g.o.p };
e === l.ie
? w(a) && a(P(d))
: e === l.le
? w(s) && s(P(d))
: ((d.changedCategories = g.o.I),
(d.changedServices = g.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 } = g.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) && w(a)
? ((n.Se = !0), a())
: n.Se && !v(t[e], o) && w(c) && ((n.Se = !1), c());
}
}
if (!g.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 = A("script");
a.textContent = r.innerHTML;
for (const { nodeName: e } of r.attributes)
E(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: { Ae: [le, ie], Ee: fe, Ne: _e, He: se, Ve: re },
cloud: { Ae: [ie], Ee: fe, Ne: _e, He: se, Ve: ce },
bar: { Ae: [ie], Ee: fe.slice(1), Ne: [], He: se, Ve: "" },
},
pe = {
box: { Ae: [], Ee: [], Ne: [], He: "", Ve: "" },
bar: { Ae: [le], Ee: [], Ne: [ae, re], He: "", Ve: ae },
},
me = (e) => {
const t = g.o.i.guiOptions,
o = t && t.consentModal,
n = t && t.preferencesModal;
0 === e && ge(g.ne.he, ue, o, "cm--", "box", "cm"),
1 === e && ge(g.ne.we, pe, n, de, "box", "pm");
},
ge = (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],
m = v(p.Ae, _) && _,
b = (r && r.split(" ")) || [],
y = b[0],
h = n === de ? b[0] : b[1],
C = v(p.Ee, y) ? y : p.He,
w = v(p.Ne, h) ? h : p.Ve,
S = (t) => {
t && j(e, n + t);
};
S(u), S(m), S(C), S(w), i && S("flip");
const x = a + "__btn--secondary";
if ("cm" === a) {
const { je: e, Ie: t } = g.ne;
e && (l ? F(e, x) : j(e, x)), t && (l ? F(t, x) : j(t, x));
} else {
const { Le: e } = g.ne;
e && (l ? F(e, x) : j(e, x));
}
},
be = (e, t) => {
const o = g.o,
n = g.ne,
{ hide: s, hidePreferences: a, acceptCategory: c } = e,
u = (e) => {
c(e), a(), s();
},
m = o.u && o.u.preferencesModal;
if (!m) return;
const b = m.title,
v = m.closeIconLabel,
y = m.acceptAllBtn,
w = m.acceptNecessaryBtn,
x = m.savePreferencesBtn,
M = m.sections || [],
T = y || w || x;
if (n.Fe) (n.Pe = A(r)), L(n.Pe, "body");
else {
(n.Fe = A(r)), j(n.Fe, "pm-wrapper");
const e = A("div");
j(e, "pm-overlay"),
V(n.Fe, e),
B(e, f, a),
(n.we = A(r)),
j(n.we, "pm"),
E(n.we, "role", "dialog"),
E(n.we, l, !0),
E(n.we, "aria-modal", !0),
E(n.we, "aria-labelledby", "pm__title"),
B(
n.ye,
"keydown",
(e) => {
27 === e.keyCode && a();
},
!0
),
(n.Oe = A(r)),
L(n.Oe, "header"),
(n.Re = A("h2")),
L(n.Re, "title"),
(n.Re.id = "pm__title"),
(n.Be = A(i)),
L(n.Be, "close-btn"),
E(n.Be, "aria-label", m.closeIconLabel || ""),
B(n.Be, f, a),
(n.Ge = A("span")),
(n.Ge.innerHTML = X()),
V(n.Be, n.Ge),
(n.Je = A(r)),
L(n.Je, "body"),
(n.Ue = A(r)),
L(n.Ue, "footer");
var D = A(r);
j(D, "btns");
var k = A(r),
N = A(r);
L(k, d),
L(N, d),
V(n.Ue, k),
V(n.Ue, N),
V(n.Oe, n.Re),
V(n.Oe, n.Be),
(n.ve = A(r)),
E(n.ve, "tabIndex", -1),
V(n.we, n.ve),
V(n.we, n.Oe),
V(n.we, n.Je),
T && V(n.we, n.Ue),
V(n.Fe, n.we);
}
let H;
b && ((n.Re.innerHTML = b), v && E(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,
g = u && u.length > 0,
b = !!d,
v = b && o.X[c],
y = (C(v) && S(v)) || [],
w = b && (!!a || !!g || S(v).length > 0);
var x = A(r);
if ((L(x, "section"), w || a)) {
var M = A(r);
L(M, "section-desc-wrapper");
}
let T = y.length;
if (w && T > 0) {
const e = A(r);
L(e, "section-services");
for (const t of y) {
const o = v[t],
n = (o && o.label) || t,
s = A(r),
a = A(r),
i = A(r),
l = A(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 = A(r),
k = A(b ? i : r);
if (
(L(D, "section-title-wrapper"),
L(k, "section-title"),
(k.innerHTML = s),
V(D, k),
b)
) {
const e = A("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 = m.serviceCounterLabel;
if (T > 0 && h(o)) {
let e = A("span");
L(e, "badge"),
L(e, "service-counter"),
E(e, l, !0),
E(e, "data-servicecounter", T),
o &&
((o = o.split("|")),
(o = o.length > 1 && T > 1 ? o[1] : o[0]),
E(e, "data-counterlabel", o)),
(e.innerHTML = T + (o ? " " + o : "")),
V(k, e);
}
if (w) {
L(x, "section--expandable");
var N = c + "-desc";
E(k, "aria-expanded", !1), E(k, "aria-controls", N);
}
V(D, t);
} else E(k, "role", "heading"), E(k, "aria-level", "3");
V(x, D);
}
if (a) {
var I = A("p");
L(I, "section-desc"), (I.innerHTML = a), V(M, I);
}
if (
w &&
(E(M, l, "true"),
(M.id = N),
((e, t, o) => {
B(k, f, () => {
t.classList.contains("is-expanded")
? (F(t, "is-expanded"),
E(o, "aria-expanded", "false"),
E(e, l, "true"))
: (j(t, "is-expanded"),
E(o, "aria-expanded", "true"),
E(e, l, "false"));
});
})(M, x, k),
g)
) {
const e = A("table"),
o = A("thead"),
s = A("tbody");
if (p) {
const t = A("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.$e.createDocumentFragment(),
l = A("tr");
for (const e of c) {
const o = a[e],
n = A("th");
(n.id = "cc__row-" + o + t),
E(n, "scope", "col"),
L(n, "table-th"),
(n.innerHTML = o),
V(i, n);
}
V(l, i), V(o, l);
const d = n.$e.createDocumentFragment();
for (const e of u) {
const o = A("tr");
L(o, "table-tr");
for (const n of c) {
const s = a[n],
c = e[n],
i = A("td"),
l = A(r);
L(i, "table-td"),
E(i, "data-column", s),
E(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.Je;
b
? (H || ((H = A(r)), L(H, "section-toggles")), H.appendChild(x))
: (H = null),
V(P, H || x);
}),
y &&
(n.ze ||
((n.ze = A(i)),
L(n.ze, "btn"),
E(n.ze, _, "all"),
V(k, n.ze),
B(n.ze, f, () => u("all"))),
(n.ze.innerHTML = y)),
w &&
(n.Le ||
((n.Le = A(i)),
L(n.Le, "btn"),
E(n.Le, _, "necessary"),
V(k, n.Le),
B(n.Le, f, () => u([]))),
(n.Le.innerHTML = w)),
x &&
(n.qe ||
((n.qe = A(i)),
L(n.qe, "btn"),
L(n.qe, "btn--secondary"),
E(n.qe, _, "save"),
V(N, n.qe),
B(n.qe, f, () => u())),
(n.qe.innerHTML = x)),
n.Pe && (n.we.replaceChild(n.Pe, n.Je), (n.Je = n.Pe)),
me(1),
o.N ||
((o.N = !0),
te(g.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 = g.o,
r = g.ne,
i = A("label"),
d = A("input"),
_ = A("span"),
u = A("span"),
p = A("span"),
m = A("span"),
b = A("span");
if (
((m.innerHTML = X(1, 3)),
(b.innerHTML = X(0, 3)),
(d.type = "checkbox"),
j(i, "section__toggle-wrapper"),
j(d, "section__toggle"),
j(m, "toggle__icon-on"),
j(b, "toggle__icon-off"),
j(_, "toggle__icon"),
j(u, "toggle__icon-circle"),
j(p, "toggle__label"),
E(_, l, "true"),
n
? (j(i, "toggle-service"), E(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, m),
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 = A("span");
return g.ne.Ke || (g.ne.Ke = e), e;
},
he = (e, t) => {
const o = g.o,
n = g.ne,
{ hide: s, showPreferences: a, acceptCategory: c } = e,
p = o.u && o.u.consentModal;
if (!p) return;
const m = 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 = A(r)),
(n.he = A(r)),
(n.We = A(r)),
(n.Xe = A(r)),
(n.Ye = A(r)),
j(n.Qe, "cm-wrapper"),
j(n.he, "cm"),
I(n.We, "body"),
I(n.Xe, "texts"),
I(n.Ye, "btns"),
E(n.he, "role", "dialog"),
E(n.he, "aria-modal", "true"),
E(n.he, l, "false"),
E(n.he, "aria-describedby", "cm__desc"),
C
? E(n.he, "aria-label", C)
: w && E(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 = A(i)),
(n.Ie.innerHTML = X()),
I(n.Ie, "btn"),
I(n.Ie, "btn--close"),
B(n.Ie, f, () => {
S([]);
}),
V(n.We, n.Ie)),
E(n.Ie, "aria-label", y)),
V(n.We, n.Xe),
(m || b || v) && V(n.We, n.Ye),
(n.be = A(r)),
E(n.be, "tabIndex", -1),
V(n.he, n.be),
V(n.he, n.We),
V(n.Qe, n.he);
}
w &&
(n.Ze ||
((n.Ze = A("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 = A("p")),
(n.et.className = n.et.id = "cm__desc"),
V(n.Xe, n.et)),
(n.et.innerHTML = x)),
m &&
(n.tt ||
((n.tt = A(i)),
V(n.tt, ye()),
I(n.tt, "btn"),
E(n.tt, _, "all"),
B(n.tt, f, () => {
S("all");
})),
(n.tt.firstElementChild.innerHTML = m)),
b &&
(n.je ||
((n.je = A(i)),
V(n.je, ye()),
I(n.je, "btn"),
E(n.je, _, "necessary"),
B(n.je, f, () => {
S([]);
})),
(n.je.firstElementChild.innerHTML = b)),
v &&
(n.ot ||
((n.ot = A(i)),
V(n.ot, ye()),
I(n.ot, "btn"),
I(n.ot, "btn--secondary"),
E(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 = A(r)),
I(n.nt, d),
m && V(n.nt, n.tt),
b && V(n.nt, n.je),
(m || b) && V(n.We, n.nt),
V(n.Ye, n.nt)),
n.ot &&
!n.st &&
((n.st = A(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 = A(r),
t = A(r);
(n.ct = A(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;
}
me(0),
o.D ||
((o.D = !0),
te(g.re.ue, u, n.he),
t(e),
V(n.Ce, n.Qe),
Y(n.he),
setTimeout(() => j(n.Qe, "cc--anim"), 100)),
ee(1),
$(n.We, e, be, t);
},
Ce = (e) => {
if (!h(e)) return null;
if (e in g.o._) return e;
let t = e.slice(0, 2);
return t in g.o._ ? t : null;
},
we = () => g.o.l || g.o.i.language.default,
Se = (e) => {
e && (g.o.l = e);
},
xe = async (e) => {
const t = g.o;
let o = Ce(e) ? e : we(),
n = t._[o];
if (!n) return !1;
if (h(n)) {
const e = await (async (e) => {
try {
const t = await fetch(e);
return await t.json();
} catch (e) {
return console.error(e), !1;
}
})(n);
if (!e) return !1;
n = e;
}
return (t.u = n), Se(o), !0;
},
Me = () => {
let e = g.o.i.language.rtl,
t = g.ne.Ce;
e &&
t &&
(y(e) || (e = [e]), v(e, g.o.l) ? j(t, "cc--rtl") : F(t, "cc--rtl"));
},
Te = () => {
const e = g.ne;
if (e.Ce) return;
(e.Ce = A(r)),
(e.Ce.id = "cc-main"),
e.Ce.setAttribute("data-nosnippet", ""),
Me();
let t = g.o.i.root;
t && h(t) && (t = document.querySelector(t)),
(t || e.$e.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]] : [];
}
},
Ae = (e) => {
const { hostname: t, protocol: o } = location,
{
name: n,
path: s,
domain: a,
sameSite: c,
useLocalStorage: r,
} = g.t.cookie,
i = e
? (() => {
const e = g.o.S,
t = e ? new Date() - e : 0;
return 864e5 * G() - t;
})()
: 864e5 * G(),
l = new Date();
l.setTime(l.getTime() + i), (g.o.p.expirationTime = l.getTime());
const d = JSON.stringify(g.o.p);
let f =
n +
"=" +
encodeURIComponent(d) +
(0 !== i ? "; expires=" + l.toUTCString() : "") +
"; Path=" +
s +
"; SameSite=" +
c;
v(t, ".") && (f += "; Domain=" + a),
"https:" === o && (f += "; Secure"),
r
? ((e, t) => {
oe(() => localStorage.setItem(e, t));
})(n, d)
: (document.cookie = f),
g.o.p;
},
Ee = (e, t, o) => {
if (0 === e.length) return;
const n = o || g.t.cookie.domain,
s = t || g.t.cookie.path,
a = "www." === n.slice(0, 4),
c = a && n.substring(4),
r = (e, 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), r(t, n), a && r(t, c);
},
Ne = (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)) || "") : 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, X: r } = g.o;
let i = [];
if (e) {
y(e) ? i.push(...e) : h(e) && (i = "all" === e ? o : [e]);
for (const e of o) c[e] = v(i, e) ? S(r[e]) : [];
} else
(i = n),
a &&
(i = (() => {
const e = g.ne.se;
if (!e) return [];
let t = [];
for (let o in e) e[o].checked && t.push(o);
return t;
})());
(i = i.filter((e) => !v(o, e) || !v(t, e))), i.push(...s), U(i);
})(e, n),
((e) => {
const t = g.o,
{ Z: o, B: n, Y: s, X: a, O: c } = t,
r = c;
t.te = P(s);
for (const e of r) {
const t = a[e],
c = S(t),
r = o[e] && o[e].length > 0,
i = v(n, e);
if (0 !== c.length) {
if (((s[e] = []), i)) s[e].push(...c);
else if (r) {
const t = o[e];
s[e].push(...t);
} else s[e] = [];
s[e] = x(s[e]);
}
}
})(),
(() => {
const e = g.o;
e.I = g.t.mode === o && e.T ? J(e.G, e.R) : J(e.R, e.p.categories);
let n = e.I.length > 0,
s = !1;
for (const t of e.O)
(e.ee[t] = J(e.Y[t], e.te[t])), e.ee[t].length > 0 && (s = !0);
const a = g.ne.se;
for (const t in a) a[t].checked = v(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 = 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: g.t.revision,
data: e.h,
consentTimestamp: e.C.toISOString(),
consentId: e.M,
services: P(e.Y),
});
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()),
Ae(),
g.t.autoClearCookies &&
(c || r) &&
((e) => {
const t = g.o,
o = Ve(),
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 s = t.X[e][n].cookies;
if (!v(t.Y[e], n) && s)
for (const e of s) {
const t = ke(o, e.name);
Ee(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);
Ee(t, e.path, e.domain);
}
}
}
})(c),
ne()),
(c && (te(g.re.ie), te(g.re.le), g.t.mode === t)) ||
(r && te(g.re.de), e.L && ((e.L = !1), location.reload()));
})();
},
Ie = (e) => {
const t = g.o.T ? [] : g.o.R;
return v(t, e);
},
Le = (e, t) => {
const o = g.o.T ? [] : g.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);
Ee(n, t, o);
},
Pe = (e) => {
const { ne: t, o: o } = g;
if (!o.k) {
if (!o.D) {
if (!e) return;
he(Ge, Te);
}
(o.k = !0),
(o.U = M()),
o.v && Q(!0),
q(t.he, 1),
j(t.ye, n),
E(t.he, l, "false"),
setTimeout(() => {
z(g.ne.be);
}, 100),
te(g.re.fe, u);
}
},
Oe = () => {
const { ne: e, o: t, re: o } = g;
t.k &&
((t.k = !1),
t.v && Q(),
z(e.Ke, !0),
F(e.ye, n),
E(e.he, l, "true"),
z(t.U),
(t.U = null),
te(o._e, u));
},
Re = () => {
const e = g.o;
e.A ||
(e.N || be(Ge, Te),
(e.A = !0),
e.k ? (e.$ = M()) : (e.U = M()),
q(g.ne.we, 2),
j(g.ne.ye, s),
E(g.ne.we, l, "false"),
setTimeout(() => {
z(g.ne.ve);
}, 100),
te(g.re.fe, p));
},
Be = () => {
const e = g.o;
e.A &&
((e.A = !1),
(() => {
const e = Ue(),
t = g.o.P,
o = g.ne.se,
n = g.ne.ae,
s = (e) => v(g.o.G, 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(g.ne.Ge, !0),
F(g.ne.ye, s),
E(g.ne.we, l, "true"),
e.k ? (z(e.$), (e.$ = null)) : (z(e.U), (e.U = null)),
te(g.re._e, p));
};
var Ge = {
show: Pe,
hide: Oe,
showPreferences: Re,
hidePreferences: Be,
acceptCategory: je,
};
const Je = (e, t) => {
const o = Ne(t);
return e ? o[e] : o;
},
Ue = () => !g.o.T;
(e.acceptCategory = je),
(e.acceptService = (e, t) => {
const { O: o, X: n } = g.o;
if (!(e && t && h(t) && v(o, t) && 0 !== S(n[t]).length)) return !1;
((e, t) => {
const o = g.o,
{ X: n, Z: s, N: a } = o,
c = g.ne.ae[t] || {},
r = g.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 = g.t,
o = g.o.i;
return e ? t[e] || o[e] : { ...t, ...o, cookie: { ...t.cookie } };
}),
(e.getCookie = Je),
(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) => !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 = A("script")), C(t))) for (const e in t) E(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 } = g.ne,
{ name: c, path: r, domain: i, useLocalStorage: l } = g.t.cookie;
e && (l ? De(c) : Fe(c, r, i));
for (const { pe: e, me: t, ge: o } of g.o.m)
e.removeEventListener(t, o);
t && t.remove(), o && o.classList.remove(a, s, 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: s } = g,
a = window;
if (!a._ccRun) {
if (
((a._ccRun = !0),
((e) => {
const { ne: t, t: n, o: s } = g,
a = n,
r = s,
{ cookie: i } = a,
l = g.ce,
d = e.cookie,
f = e.categories,
_ = S(f) || [],
u = navigator,
p = document;
(t.$e = 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: m,
autoShow: b,
lazyHtmlGeneration: y,
autoClearCookies: h,
revision: w,
manageScriptTags: x,
hideFromBots: M,
} = e;
m === o && (a.mode = m),
"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.J =
(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 } = g.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)),
(g.ne.ae[c] = {});
for (let e of i) {
const t = r[e];
(t.Se = !1), (o[c][e] = t);
}
}
})(_),
(() => {
if (!g.t.manageScriptTags) return;
const e = g.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 = 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 we();
})()
);
})(e),
t.J)
)
return;
(() => {
const e = g.o,
t = g.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 = g.o;
for (const t of e.O) {
const n = e.P[t];
if (n.readOnly || (n.enabled && e.i.mode === o)) {
e.G.push(t);
const o = e.X[t] || {};
for (let n in o) e.Y[t].push(n);
}
}
})(),
e.T
? t.mode === o && (e.R = [...e.G])
: ((e.Y = { ...e.Y, ...a }), U([...e.B, ...s])),
(e.Z = { ...e.Y });
})();
const i = Ue();
if (!(await xe())) return !1;
if (
($(null, (r = Ge), be, Te),
g.o.T && he(r, Te),
g.t.lazyHtmlGeneration || be(r, Te),
n.autoShow && !i && Pe(!0),
i)
)
return ne(), te(s.le);
n.mode === o && ne(t.G);
}
var r;
}),
(e.setCookieData = (e) => {
let t,
o = e.value,
n = e.mode,
s = !1;
const a = g.o;
if ("update" === n) {
a.h = t = Je("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), Ae(!0)), s;
}),
(e.setLanguage = async (e, t) => {
if (!Ce(e)) return !1;
const o = g.o;
return !(
(e === we() && !0 !== t) ||
!(await xe(e)) ||
(Se(e), o.D && he(Ge, Te), o.N && be(Ge, Te), Me(), 0)
);
}),
(e.show = Pe),
(e.showPreferences = Re),
(e.validConsent = Ue),
(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 = {})
);
!function(){const e={autoShow:!1,guiOptions:{consentModal:{layout:"cloud",position:"bottom center",flipButtons:!1},preferencesModal:{layout:"bar",position:"left"}},cookie:{mame:"p21-consent-manager",domain:window.location.hostname,path:"/",expiresAfterDays:179,sameSite:"Lax",useLocalStorage:!1},manageScriptTags:!1,autoClearCookies:!1,disablePageInteraction:!1,categories:{necessary:{enabled:!0,readOnly:!0},functional:{},analytics:{},marketing:{}},onFirstContent:({cookie:e})=>{window.Privacy21CookieManager.setCategories(e.categories)},onConsent:({cookie:e})=>{window.Privacy21CookieManager.setCategories(e.categories)},onChange:({cookie:e})=>{window.Privacy21CookieManager.setCategories(e.categories)},language:{default:function(){const e=window.navigator.language;return e?e.startsWith("pt")?"pt":!e.startsWith("en")&&e.startsWith("es")?"es":"en":"en"}(),autoDetect:"browser",translations:{en:{consentModal:{title:"We use cookies to enhance your experience!",description:'We value your privacy. Therefore, you can choose which cookies are enabled on our website. For more details, see our Privacy Center.',acceptAllBtn:"Accept all",acceptNecessaryBtn:"Accept only necessary",showPreferencesBtn:"Manage preferences"},preferencesModal:{title:"Cookie preferences",acceptAllBtn:"Accept all",acceptNecessaryBtn:"Accept only necessary",savePreferencesBtn:"Save preferences",closeIconLabel:"Close",serviceCounterLabel:"Service|Services",sections:[{title:"Cookie usage",description:"You can choose which cookies are used by enabling or disabling a category."},{title:'Necessary Always Enabled',description:"Cookies required to enable features of this site. These cookies can't be disabled.",linkedCategory:"necessary"},{title:"Functional",description:"Cookies that provides functionalities like user preferences, language choice, and other third-party features.",linkedCategory:"functional"},{title:"Analytics and performance",description:"Cookies used for usage analysis, performance measurement, etc.",linkedCategory:"analytics"},{title:"Marketing",description:"Cookies used for ad targeting.",linkedCategory:"marketing"},{title:"More information",description:'To know more about how we handle your personal data, access our Privacy Center.'},{title:"Other languages",description:`
`}]}},pt:{consentModal:{title:"Utilizamos cookies para oferecer uma melhor experiência!",description:'Prezamos pela sua privacidade. Por isso, você pode escolher quais cookies estarão habilitados em nosso site. Para mais detalhes, consulte a nossa Central de Privacidade.',acceptAllBtn:"Aceitar todos",acceptNecessaryBtn:"Aceitar somente necessários",showPreferencesBtn:"Alterar preferências"},preferencesModal:{title:"Preferências de cookies",acceptAllBtn:"Aceitar todos",acceptNecessaryBtn:"Aceitar somente necessários",savePreferencesBtn:"Salvar preferências",closeIconLabel:"Fechar",serviceCounterLabel:"Serviço|Serviços",sections:[{title:"Uso de cookies",description:"Você pode escolher quais cookies são utilizados. Para isso, habilite ou desabilite uma categoria."},{title:'Necessário Sempre habilitado',description:"Cookies necessários não podem ser desabilitados pois previnem o funcionamento do site.",linkedCategory:"necessary"},{title:"Funcional",description:"Preferências do usuário, idioma, etc.",linkedCategory:"functional"},{title:"Análise e Performance",description:"Cookies para a análise de uso, medição de performance, etc.",linkedCategory:"analytics"},{title:"Marketing",description:"Direcionamento de anúncios.",linkedCategory:"marketing"},{title:"Mais informações",description:'Para ver mais detalhes sobre como tratamos os seus dados pessoais, você pode acessar a nossa Central de Privacidade.'},{title:"Outros idiomas",description:`
`}]}},es:{consentModal:{title:"¡Usamos cookies para brindarle una mejor experiencia!",description:'Valoramos su privacidad. Por lo tanto, puede elegir qué cookies están habilitadas en nuestro sitio web. Para más detalles, consulte nuestro Centro de Privacidad.',acceptAllBtn:"Aceptar todo",acceptNecessaryBtn:"Aceptar solo lo necesario",showPreferencesBtn:"Cambiar preferencias"},preferencesModal:{title:"Preferencias de cookies",acceptAllBtn:"Aceptar todo",acceptNecessaryBtn:"Aceptar solo lo necessario",savePreferencesBtn:"Guardar preferencias",closeIconLabel:"Cerrar",serviceCounterLabel:"Servicio|Servicios",sections:[{title:"Uso de cookies",description:"Puede elegir qué cookies se utilizan. Para hacer esto, habilite o deshabilite una categoría."},{title:'Requerido Siempre habilitado',description:"Cookies necessários não podem ser desabilitados pois previnem o funcionamento do site.",linkedCategory:"necessary"},{title:"Funcional",description:"Preferencias de usuario, idioma, etc.",linkedCategory:"functional"},{title:"Análisis y desempeño",description:"Cookies para análisis de uso, medición de desempeño, etc.",linkedCategory:"analytics"},{title:"Marketing",description:"Segmentación de anuncios.",linkedCategory:"marketing"},{title:"Mas informaciones",description:'Para ver más detalles sobre cómo tratamos sus datos personales, puede acceder a nuestro Centro de Privacidad.'},{title:"Otros idiomas",description:`
`}]}}}}};{const t=document.createElement("button");t.title="Gerenciar cookies",t.style="position: fixed!important; left: 20px!important; bottom: 20px!important; border-radius: 500px!important; outline: none!important; border: none!important; width: 55px!important; height: 55px!important; background-color: #0178d4!important; color: white!important; opacity: .5!important; cursor: pointer!important; z-index: 21000!important; padding: 0!important; display: flex!important; align-items: center!important; justify-content: center!important;",t.innerHTML=`
`,t.addEventListener("click",()=>CookieConsent.showPreferences()),document.body.appendChild(t)}CookieConsent.run(e),window.Privacy21CookieManager.allowedCategories.length||CookieConsent.show(!0)}();