${n}`), (t.onload = () => e(t.contentWindow.render)), document.body.appendChild(t); })), ε[n]
) }; })(); }, 3005: (e, t, n) => { nd(t, { $T: () => a, Ni: () => i, OA: () => o, RO: () => s, fR: () => r }); const i = 1, r = 2, o = 1, s = 500; συνάρτηση a(e) { return (e ?? []).reduce((e, t) => { let { event: n, method: i, url: r } = t; const o = (e[n] = ε[n] ?? {}); επιστροφή (ο[i] = ο[i] ?? []).push(r), e; }, {}); } }, 5023: (e, t, n) => {nd(t, { AU: () => m, Ic: () => v, kQ: () => y, on: () => h }); var i = n(1069), r = n(8969), o = n(6853), s = n(3272); const a = ‘eventHistoryTTL’; έστω d = μηδενικό; const c = (0, oH)({ μονοτονικό: !0, ttl: () => d }); s.$W.getConfig(a, e => {const t = d; (e = e?.[a]), (d = ‘αριθμός’ == τύπος e ? 1e3 * e : null), t !== d && c.refresh(); }); έστω l = Array.prototype.slice, u = Array.prototype.push, f = Object.values(r.qY); const g = r.cA, p = (function() { έστω e = {}, t = {}; συνάρτηση n(e) { return f.includes(e); } return ( (t.has = n), (t.on = συνάρτηση(t, r, o) { if (n(t)) {έστω n = e[t] || {αυτό: [] }; o ? ((αρ[o] = n[o] || {αυτό: [] }), n[o].que.push(r)) : n.que.push(r), (e[t] = n); } else i.vV( ‘Λάθος όνομα συμβάντος : ‘ + t + ‘ Έγκυρα ονόματα συμβάντων :’ + f ); }), (t.emit = function(t) { !(function(t, n) { i.OG(‘Emitting event for: ‘ + t); έστω r = n[0] || {}, o = r[g[t]], s = e[t] || {αυτό: [] }; var a = Object.keys; έστω d = []; c.add({ eventType: t, args: r, id: o, elapsedTime: iV() }), o && a.includes(o) && u.apply(d, s[o].que), u.apply(d, s.que), (d || []).forEach(function(e) { if (e) try { e.apply(null, n); } catch (e) {i.vV( ‘Error executing handler:’, ‘events.js’, e, t ); } }); })(t, l.call(επιχειρήματα, 1)); }), (t.off = συνάρτηση(t, n, r) {έστω o = e[t]; i.Im(o) || (i.Im(o.que) && i.Im(o[r])) || (r && (i.Im(o[r]) || i.Im(ο[r].que))) || (ρ; (ο[r].που || []).forEach(function(e) {έστω t = o[r].Τι; e === n && t.splice(t.indexOf(e), 1); }) : (τι || []).forEach(function(e) {έστω t = o.que; e === n && t.splice(t.indexOf(e), 1); }), (e[t] = o)); }), (t.get = function() { return e; }), (t.addEvents = function(e) { f = f.concat(e); }), (t.getEvents = function() { return c.toArray().map(e => Object.assign({}, e)); }), t ); })(); i.cD(p.emit.bind(p)); const { on: h, off: m, get: b, getEvents: y, emit: v, addEvents: E, has: A } = p; }, 687: (e, t, n) => {nd(t, { w: () => I }); var i = n(9214), r = n(7934), o = n(5973), s = n(1069), a = n(3172), d = n(3272), c = n(5555); const l = [
‘architecture’,
‘bitness’,
‘model’,
‘platformVersion’,
‘fullVersionList’
]u = [‘brands’, ‘mobile’, ‘platform’]f = (function() { έστω e = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: window.navigator?.userAgentData; const t = e && u.some(t => void 0 !== e[t]) ? Object.freeze(p(1, e)) : null; return function() { return t; }; })(), g = (function() { έστω e = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: window.navigator?.userAgentData; const t = {}, n = new WeakMap(); return function() { let i = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: l; if (!n.has(i)) {const e = Array.from(i); e.sort(), n.set(i, e.join(‘|’)); } const r = n.get(i); αν (!t.hasOwnProperty(r)) δοκιμάστε το { t[r] = e .getHighEntropyValues(i) .then(e => (0, s.Im)(e) ? null : Object.freeze(p(2, e)) ) .catch(() => null); } πιάνω (ε) { t[r] = c.U9.resolve(null); } επιστροφή t[r]; }; })(); συνάρτηση p(e, t) { function n(e, t) {const n = { brand: e }; επιστροφή ( (0, s.O8)(t) && !(0, s.xQ)(t) && (n.έκδοση = t.split(‘.’)), n ); } const i = { πηγή: e }; επιστροφή ( t.platform && (i.platform = n(t.platform, t.platformVersion)), (t.fullVersionList || t.brands) && (i.browser = (t.fullVersionList || t.brands).map(e => , έστω { brand: t, έκδοση: i}); !== t.mobile && (i.mobile = t.mobile ? 1 : 0),
[‘model’, ‘bitness’, ‘architecture’].forEach(e => {const n = t[e]; (0, s.O8)(n) && (i[e] = n); }), i ); } var h = n(3858), m = n(5139), b = n(3441), y = n(6811), v = n(5569), E = n(8944); const A = { getRefererInfo: r.EN, findRootDomain: oS, getWindowTop: s.mb, getWindowSelf: s.l4, getHighEntropySUA: g, getLowEntropySUA: f, getDocument: s.YE }, w = (0,(‘FPi) . i.inc’, i e => { const t = [
e,
C().catch(() => null),
c.U9.resolve(
‘cookieDeprecationLabel’ in navigator &&
(0, m.io)(y.Ue, (0, b.s)(v.tp, ‘cdep’)) &&
navigator.cookieDeprecationLabel.getValue()
).catch(() => null)
]; return c.U9.all(t).then(e => { let [t, n, i] = και; const r = A.getRefererInfo(); if ( (Object.entries(O).forEach(e => {let [n, i] = e; const o = i(t, r); o && Object.keys(o).length > 0 && (t[n] = (0, s.D9)({}, o, t[n])); }), n && (0, aJ)( t, ‘device.sua’, Object.assign({}, n, t.device.sua) ), i) ) { const e = { cdep: i }; (0, aJ)( t, ‘device.ext’, Object.assign({}, e, t.device.ext) ); } const o = A.getDocument().documentElement.lang; o && (0, aJ)(t, ‘site.ext.data.documentLang’, o), (t = w(t)); για (έστω e του h.Dy) αν ((0, hO$)(t, e)) { t[e] = (0, s.D9)({}, R(t, r), t[e]) διακοπή; } επιστροφή t; }); }); συνάρτηση T(e) { try { return e(A.getWindowTop()); } catch (t) { return e(A.getWindowSelf()); } } συνάρτηση C() { const e = d.$W.getConfig(‘firstPartyData.uaHints’); επιστροφή Array.isArray(e) && 0 !== e.length ? A.getHighEntropySUA(e) : c.U9.resolve(A.getLowEntropySUA()); } συνάρτηση B(e) { return (0, s.SH)(e, Object.keys(e)); } const O = { site(e, t) { if (!h.Dy.filter(e => ‘site’ !== e).some(hO$.bind(null, e))) return B({ page: t.page, ref: t.ref }); }, συσκευή: () => T(e => {const t = (0, s.Ot)().screen.width, n = (0, s.Ot)().screen.height, {πλάτος: i, ύψος: r } = (0, EM)(), o = { w: t, h: n, dnt: l, 9:0, s. e.navigator.userAgent, γλώσσα: e.navigator.language.split(‘-‘).shift(), ext: { vpw: i, vph: r } }; T(e => e.navigator.globalPrivacyControl) && (0, aJ)(e, ‘ext.gpc’, ‘1’); const t = d.$W.getConfig(‘coppa’); επιστροφή ‘boolean’ == τύπος t && (e.coppa = t ? 1 : 0), e; } }; συνάρτηση R(e, t) { const n = (0, r.gR)(t.page, { noLeadingWww: !0 }), i = T(e => e.document.querySelector(“meta[name=’keywords’]”). => o } var i = n(1069); [‘dooh’, ‘app’, ‘site’]; συνάρτηση o(e) { return function(t) { return ( r.reduce( (n, r) => ( s(t, r) && (null != n ? ((0, i.JE)( `${e} καθορίζει και τα δύο ‘${n}’ και ‘${r}’; απόρριψη του τελευταίου.` ), διαγραφή t.[r]) : (n = r)), n ), null ), t ); }; } συνάρτηση s(e, t) { return null != e[t] Κλειδιά && Αντικείμενο (π[t]).μήκος > 0; } }, 5973: (e, t, n) => {nd(t, { S: () => o }); var i = n(1069); const r = (0, n(2938).CK)(‘fpdEnrichment’), o = (0, i.Bj)(function() {έστω e = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: window.location.host; εάν (!r.cookiesAreEnabled()) επιστρέψει e; const t = e.split(‘.’); εάν (2 === t.length) επιστροφή e; Έστω n, o, s = -2; const a = `_rdc${Date.now()}`, d = ‘εγγράψιμο’; do { n = t.slice(s).join(‘.’); έστω e = new Date((0, i.vE)() + 1e4).toUTCString(); r.setCookie(a, d, e, ‘Lax’, n, void 0); r.getCookie(a, void 0) === d ? ((o = !1), r.setCookie( a, ”, ‘Πέμ., 01 Ιαν 1970 00:00:01 GMT’, void 0, n, void 0 )) : ((s += -1), (o = Math.abs(s) { nd(t, { A_: () => s, Gc: () => d, Y6: () => g, Yn: () => c, bz: () => f, u2: () => p, xG: () => u }); var i = n(8128), r = nn(i), o = n(5555); έστω s = r()({ ready: r().SYNC | r().ASYNC | r().QUEUE }); const a = (0, o.v6)(); s.ready = (() => {const e = s.ready; return function() { try { return e.apply(s, ορίσματα); } τέλος { a.resolve(); } }; })(); const d = a.promise, c = s.get; const l = {}; συνάρτηση u(e, t) { let { postInstallAllowed: n = !1 } = arguments.length > 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: {}; s( ‘async’, function(i) { i.forEach(e => t(…e)), n && (l[e] = t); }, ε )([]) } συνάρτηση f(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t – 1 : 0), i = 1; i {t.push(n), e(t); }); } συνάρτηση g(e, t) { return ( Object.defineProperties( t, Object.fromEntries(
[‘before’, ‘after’, ‘getHooks’, ‘removeAll’].map(t => [
t,
{ get: () => e[t] } ]) ) ), t ); } συνάρτηση p(e) { return g(e, function() { for ( var t = arguments.length, n = new Array(t), i = 0; i { nd(t, { D4: () => o, GE: () => a, G_: () => r, LM: () => s, s6: () => i }); const i = ‘native’, r = ‘video’, o = ‘banner’, s = ‘adpod’, a = [i, r, o]; }, 2449: (e, t, n) => { nd(t, { Bm: () => y, IX: () => C, Nh: () => l, Zj: () => A, gs: () => E, l6: () => p, mT: () => c, m: v: () Β}); var i = n(1069), r = n(6881), o = n(8969), s = n(9075), a = n(6031), d = n(3005); const c = []l = Object.keys(o.x5).map(e => o.x5[e]), u = { εικόνα: { ortb: { έκδοση: ‘1.2’, στοιχεία: [
{
required: 1,
id: 1,
img: { type: 3, wmin: 100, hmin: 100 }
},
{ required: 1, id: 2, title: { len: 140 } },
{ required: 1, id: 3, data: { type: 1 } },
{ required: 0, id: 4, data: { type: 2 } },
{
required: 0,
id: 5,
img: { type: 1, wmin: 20, hmin: 20 }
}
]
}, εικόνα: { υποχρεωτικό: !0 }, τίτλος: { υποχρεωτικό: !0 }, sponsoredBy: { υποχρεωτικό: !0 }, clickUrl: { υποχρεωτικό: !0 }, σώμα: { υποχρεωτικό: !1 }, εικονίδιο: { υποχρεωτικό: !1 } }, f = k(o.h0), g = k(o.jO); συνάρτηση p(e) { return e.native && ‘object’ == typeof e.native; } συνάρτηση h(e) { if ( (e && e.type && (function(e) { if (!e || !Object.keys(u).includes(e)) return (0, i.vV)(`${e} nativeParam is not supported`), !1; return !0; =})(e.type) &[e.type]), !e || !e.ortb || b(e.ortb)) ) επιστροφή e; } συνάρτηση m(e) { e.forEach(e => {const t = e.nativeParams || e?.mediaTypes?.native; t && (e.nativeParams = h(t)), e.nativeParams && (e.nativeOrtbRequest = e.nativeParams. i.Qd)(e)) return void (0, i.vV)( ‘Το αντικείμενο εγγενών στοιχείων είναι κενό ή δεν είναι αντικείμενο: ‘, e , const t = { ver: ‘1.2’, assets: [] }; for (έστω n σε e) { if (o._B.περιλαμβάνει(n)) συνέχεια; if (!o.x5.hasOwnProperty(n)) { (0, i.vV)( `Μη αναγνωρισμένος εγγενής κωδικός στοιχείου: ${n}. Το στοιχείο θα αγνοηθεί.` ); συνεχίζω; } if (‘privacyLink’ === n) { t.privacy = 1; συνεχίζω; } const r = e[n]; έστω s = 0; r.required && (0, i.Lm)(r.required) && (s = Number(r.required)); const a = { id: t.assets.length, απαιτείται: s }; if (n in o.h0) (a.data = { type: o.jO[o.h0[n]]}), r.len && (a.data.len = r.len); else if (‘εικονίδιο’ === n || ‘εικόνα’ === n) { if ( ((a.img = { type: ‘icon’ === n ? o.oA.ICON : o.oA.MAIN }), r.aspect_ratios) ) if ((0, i.cy)(r.aspect_ratios (r.aspect_ratios) min_width: e, min_height: t } = r.aspect_ratios[0]; (0, i.Fq)(e) && (0, i.Fq)(t) ? ((a.img.wmin = e), (a.img.hmin = t)) : (0, i.vV)( ‘image.aspect_ratios min_width or min_height δεν είναι έγκυρα: ‘, e, t ); const n = r.aspect_ratios .filter( e => e.ratio_width && e.ratio_height ) .map( e => `${e.ratio_width}:${e.ratio_height}` ); n.length > 0 && (a.img.ext = { aspectratios: n }); } else (0, i.vV)( “image.aspect_ratios πέρασε, αλλά είναι κενό:”, r.aspect_ratios ); else (0, i.vV)( “image.aspect_ratios πέρασε, αλλά δεν είναι πίνακας:”, r.aspect_ratios ); r.sizes && (2 === r.sizes.length && (0, i.Fq)(r.sizes[0]) && (0, i.Fq)(r.μεγέθη[1]) ? ((a.img.w = r.μεγέθη[0]), (a.img.h = r.μεγέθη[1]), delete a.img.hmin, delete a.img.wmin) : (0, i.vV)( ‘image.sizes πέρασε, αλλά η τιμή του δεν είναι ένας πίνακας ακεραίων:’, r.sizes )); } else ‘τίτλος’ === n ? (a.title = { len: r.len || 140 }) : ‘ext’ === n && ((a.ext = r), delete a.required); t.assets.push(a); } επιστροφή t; })(e.nativeParams)); }); } συνάρτηση b(e) { const t = e.assets; if (!Array.isArray(t) || 0 === t.length) return ( (0, i.vV)( “τα στοιχεία στο mediaTypes.native.ortb δεν είναι πίνακας ή είναι κενός. Στοιχεία: “, t ), !1 ); const n = t.map(e => e.id); επιστροφή t.length !== new Set(n).size || n.some(e => e !== parseInt(e, 10)) ? ((0, i.vV)( “κάθε αντικείμενο στοιχείου πρέπει να έχει την ιδιότητα ‘id’, πρέπει να είναι μοναδικό και πρέπει να είναι ακέραιος” ), !1) : e.hasOwnProperty(‘eventtrackers’) && !Array.isArray(e.eventtrackers) ? ((0, i.vV)( ‘ortb.eventtrackers δεν είναι πίνακας. Eventtrackers: ‘, e.eventtrackers ), !1) : t.every(e => (συνάρτηση(e) {if (!(0, i.Qd)(e)) return ( (0, i.vV)( ‘provid πρέπει να είναι ένα αντικείμενο, αν είναι ένα αντικείμενο. (e.img) {if (!(0, i.Et)(e.img.w) && !(0, i.Et)(e.img.wmin)) return (0, i.vV)( “για το στοιχείο img πρέπει να υπάρχει “w” ή “wmin” ιδιότητα” ), !1 ); i.Et)(e.img.hmin)) return ( (0, i.vV)( “για το στοιχείο img πρέπει να υπάρχει “h” ή “hmin” ιδιότητα”), !1 } else if (e.title) {if (!(0, i.Et)(e.title.len)) return (0, i.vV) πρέπει να είναι η ιδιότητα “!”); else if (e.data) { if (!(0, i.Et)(e.data.type)) return ( (0, i.vV)( “για την ιδιότητα του στοιχείου “type” πρέπει να είναι αριθμός” ), !1 } else if ( e.video && !( Array.isArray(e.video.video.videcola) &&rays (0, i.Et)(e.video.minduration) && (0, i.Et)(e.video.maxduration) ) ) return ( (0, i.vV)(‘το στοιχείο βίντεο δεν έχει ρυθμιστεί σωστά’), !1 ); } συνάρτηση y(e) { έστω { index: t = rnindex } = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}; const n = t.getAdUnit(e); αν (!n) επιστρέψει !1; έστω o = n.nativeOrtbRequest; return (function(e, t) { if (!e?.link?.url) return ( (0, i.vV)( “η εγγενής απάντηση δεν έχει την ιδιότητα ‘σύνδεσμος’. Απόκριση Ortb: “, e ), !1 ); έστω n = t.assets.filter(e => 1 === e.required).map(e.>p =set); const o = n.every(e => r.includes(e)) o || } συνάρτηση v(e, t) { const n = t.native.ortb || R(t.native); return ( ‘κλικ’ === e.action ? (function(e) { let t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: null, { fetchURL: n = iz$ } = arguments.length > 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: {}; if (t) { const i = (e.assets || []) .filter(e => e.link) .reduce((e, t) => ((e[t.id] = t.link), e), {}), r = e.link?.clicktrackers || []; ας ο = θ[t]s = r; o && (s = o.clicktrackers || []), s.forEach(e => n(e)); } else (e.link?.clicktrackers || []).forEach(e => n(e)); })(n, e?.assetId) : (function(e) { let { runMarkup: t = e => (0, i.ro)(e), fetchURL: n = iz$ } = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}, { [d.Ni]: r = [], [d.fR]: o = [] } = (0, d.$T)(e.eventtrackers || [])[d.OA] || {}; e.imptrackers && (r = r.concat(e.imptrackers)); r.forEach(e => n(e)), (o = o.map(e => “)), e.jstracker && (o = o.concat([e.jstracker])); o.length && t(o.join(‘n’)); })(n), e.action ); } συνάρτηση E(e, t) { const n = t?.nativeOrtbRequest, i = e.native?.ortb; if (n && i) { const t = (συνάρτηση(e, t) {const n = {}, i = t?.στοιχεία || []; (n.clickUrl = e.link?.url), (n.privacyLink = e.privacy); για (const t of e?.περιουσιακά στοιχεία || []) { const e = i.find(e => t.id === e.id); τ.τίτλος ; (n.title = t.title.text) : t.img ? (ν[e?.img?.type === o.oA.MAIN ? ‘image’ : ‘icon’] = { url: t.img.url, πλάτος: t.img.w, ύψος: t.img.h }) : t.data && (n[f[g[e?.data?.type]]]= t.data.value); } n.impressionTrackers = []; έστω r = []; e.imptrackers && n.impressionTrackers.push(…e.imptrackers); για (const t of e?.eventtrackers || []) t.event === d.OA && t.method === d.Ni && n.impressionTrackers.push(t.url), t.event === d.OA && t.method === d.fR && r.push(t.url); (r = r.map(e => “)), e?.jstracker && r.push(e.jstracker); r.length && (n.javascriptTrackers = r.join(‘n’)); επιστροφή n; })(i, n); Object.assign(e.native, t); }
[‘rendererUrl’, ‘adTemplate’].forEach(n => { const i = t?.nativeParams?.[n]; i && (e.native[n] = O(i)); }); } συνάρτηση A(e) { έστω { index: t = rnindex } = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}, n = {}; const i = t.getAdUnit(e), s = null == i?.nativeParams?.ortb && !1 !== i?.nativeParams?.sendTargetingKeys, a = (function(e) {const t = {}; e?.nativeParams?.ext &(eext.sobject.>s[e] = `hb_native_${e}`; }); return { …o.x5, …t }; })(i), d = { …e.native, …e.native.ext }; επιστροφή ( διαγραφή d.ext, Object.keys(d).forEach(t => {const r = a[t]; έστω o = O(e.εγγενής[t]) || O(e?. εγγενής;.ext?.[t]) εάν (‘adTemplate’ === t || !r || !o) επιστροφή; έστω d = i?.nativeParams?.[t]?.sendId; αν ( (‘boolean’ != τύπος d && (d = i?.nativeParams?.ext?.[t]?.sendId), δ) ) { o = `${r}:${e.adId}`; } έστω c = i?.nativeParams?.[t]?.sendTargetingKeys; ‘boolean’ != τύπος c && (c = i?.nativeParams?.ext?.[t]?.sendTargetingKeys); (‘boolean’ == τύπος c ? c : s) && (n[r] = o); }), n ); } συνάρτηση w(e, t) { έστω n = arguments.length > 2 && void 0 !== ορίσματα[2] && ορίσματα[2]i = []; return ( Object.entries(e) .filter(e => {let [i, r] = e; επιστροφή ( r && ((!1 === n && ‘ext’ === i) || null == t || t.περιλαμβάνει(i)) ); }) .forEach(e => { let [r, s] = e; !1 === n && ‘ext’ === r ? i.push(…w(s, t, !0)) : (n || o.x5.hasOwnProperty(r)) && i.push({ κλειδί: r, τιμή: O(s) }); }), i ); } συνάρτηση I(e, t, n) { έστω { index: d = rnindex } = arguments.length > 3 && void 0 !== ορίσματα[3]
? επιχειρήματα[3]
: {}; const c = { message: ‘assetResponse’, adId: e.adId }; έστω l = (0, s.vd)(t).native; επιστροφή ( l ? ((c.native = Object.assign({}, l)), (c.renderer = (0, a.kj)(t)), (c.rendererVersion = a.xh), null != n && (l.assets = l.assets.filter(e => {έστω { key return: t )n} = ein; = (συνάρτηση(e, t, n) { const r = { …(0, i.SH)(e.native, [‘rendererUrl’, ‘adTemplate’]), στοιχεία: w(e.native, n), nativeKeys: o.x5 }; επιστροφή ( e.native.ortb ? (r.ortb = e.native.ortb) : t.mediaTypes?.native?.ortb && (r.ortb = S(e.native, t.nativeOrtbRequest)), r ); })(t, d.getAdUnit(t), n)), Object.assign(c, l) ); } const T = Object.fromEntries( Object.entries(o.x5).map(e => {let [t, n] = e; απόδοση [n, t]; }) ); συνάρτηση C(e, t) { const n = e.assets.map(e => T[e]) επιστροφή I(e, t, n); } συνάρτηση B(e, t) { return I(e, t, null); } συνάρτηση O(e) { return e?.url || μι; } συνάρτηση R(e) { const t = { link: {}, eventtrackers: [] }; επιστροφή ( Object.entries(e).forEach(e => {let [n, i] = e; διακόπτης (n) { case ‘clickUrl’: t.link.url = i; διακοπή; περίπτωση ‘clickTrackers’: t.link.clicktrackers = Array.isArray(i) ? εγώ: [i]; διακοπή; περίπτωση ‘impressionTrackers’: (Array.isArray(i) ? i : [i]).forEach(e => { t.eventtrackers.push({ συμβάν: d.OA, μέθοδος: d.Ni, url: e }); }); διακοπή; case ‘javascriptTrackers’: t.jstracker = Array.isArray(i) ? i.join(”) : i; διακοπή; περίπτωση ‘privacyLink’: t.privacy = i; } }), t ); } συνάρτηση S(e, t) { const n = { …R(e), στοιχεία: [] }; συνάρτηση r(e, r) { έστω o = t.assets.find(e); null != o && ((o = (0, i.Go)(o)), r(o), n.assets.push(o)); } return ( Object.keys(e) .filter(t => !!e[t]) .forEach(t => {const n = O(e[t]) διακόπτης (t) { case ‘title’: r( e => null != e.title, e => { e.title = { text: n }; } ); διακοπή; case ‘image’: case ‘icon’: const e = ‘image’ === t ? o.oA.MAIN : o.oA.ICON; r( t => null != t.img && t.img.type === e, e => { e.img = { url: n }; } ); διακοπή; προεπιλογή: t σε o.h0 && r( e => null != e.data && e.data.type === o.jO[o.h0[t]], e => { e.data = { value: n }; } ); } }), n ); } συνάρτηση k(e) { var t = {}; για (var n in e) t[e[n]]= n; επιστροφή t; } }, 1e3: (e, t, n) => { nd(t, { Cf: () => a, S3: () => r, Tb: () => o, WR: () => s, e4: () => c, pS: () => u, qN: () => d, y, z) const i = [‘request’, ‘imp’, ‘bidResponse’, ‘response’],
[r, o, s, a] = εγώ,
[d, c] = [‘default’, ‘pbs’]l = new Set(i); const { registerOrtbProcessor: u, getProcessors: f } = (function() { const e = {}; return { registerOrtbProcessor(t) { let { type: n, name: r, fn: o, priority: s = 0, dialects: a = [d]
} = t; if (!l.has(n)) ρίχνει νέο Σφάλμα( `Ο τύπος επεξεργαστή ORTB πρέπει να είναι ένας από τους: ${i.join(‘, ‘)}` ); a.forEach(t => { e.hasOwnProperty(t) || (π[t] = {}), π[t].hasOwnProperty(n) || (μι[t][n] = {}), (π[t][n][r] = { priority: s, fn: o }); }); }, getProcessors: t => e[t] || {} }; })(); }, 8934: (e, t, n) => {nd(t, { gH: () => se }); var i = n(7873), r = n(1069), o = n(433), s = n(3172), a = n(2449), d = n(8969), c = n(9075), l = n(6031); const { REQUEST: u, RESPONSE: f, NATIV: g, EVENT: p } = d.nl, h = {
[u]: function(e, t, n) { (0, c.bw)({ renderFn(t) { e( Object.assign( { message: f, renderer: (0, l.kj)(n), rendererVersion: l.xh }, t ) ); }, resizeFn: b(t.adId: t.ad.,option, n), bidResponse: n }); },
[p]: function(e, t, n) { if (null == n) return void (0, r.vV)( `Δεν είναι δυνατή η εύρεση της διαφήμισης ‘${t.adId}’ για αίτημα συμβάντος x-origin’ ); if (n.status !== d.tl.RENDERED) return void (0, r.JE)( `Λήφθηκε αίτημα συμβάντος x-origin χωρίς αντίστοιχο αίτημα απόδοσης για τη διαφήμιση ‘${n.adId}’` ); επιστροφή (0, c.Uc)(t, n); } }; function m() { window.addEventListener( ‘message’, function(e) { !(function(e) { var t = e.message ? ‘message’ : ‘data’, n = {}; Δοκιμάστε { n = JSON.parse(e[t]) } catch (e) { return; } if (n && n.adId && n.message && h.hasOwnProperty(n.message)) (0, c.$A)(n.adId, n.message === d.nl.REQUEST).then(t => { var i, o; h[n.message]({ ((0, r.vV)(e), new Error(e) } : e.ports.length > 0 ?[0].postMessage(JSON.stringify(t)); } : function(t) { e.source.postMessage( JSON.stringify(t), e.origin ); }; })(e)), function(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t – 1 : 0), r = 1; r t.getTargeting(n).περιλαμβάνει(e)) ;
[‘div’, ‘iframe’].forEach(e => {έστω t = d(e + ‘:not([style*=”display: none”])’); if (t) { έστω e = t.style; (e.width = a(o)), (e.height = a(s)); } else (0, r.vV)( `Δεν είναι δυνατός ο εντοπισμός του αντίστοιχου στοιχείου σελίδας για το adUnitCode ${i}. Δεν είναι δυνατή η αλλαγή του μεγέθους του στις διαστάσεις της διαφήμισης. Ελέγξτε τη ρύθμιση.` ); }); })({ …t, πλάτος: n, ύψος: i, adId: e }); }; } Object.assign(h, {
[g]: function(e, t, n) { if (null == n) return void (0, r.vV)( `Δεν είναι δυνατή η εύρεση της διαφήμισης για αίτημα συμβάντος x-origin: ‘${t.adId}’ ); διακόπτης (t.action) { case ‘assetRequest’: (0, c.Hh)(n, () => e((0, a.IX)(t, n))); διακοπή; case ‘allAssetRequest’: (0, c.Hh)(n, () => e((0, a.yl)(t, n))); διακοπή; προεπιλογή: (0, c.vW)(t, n, { resizeFn: b(t.adId, n) }), (0, c.Pk)(n); } }); var y = n(8230), v = n(3272), E = n(6881), A = n(7779), w = n(9214), I = n(3597), Τ = n(1580), C = n(5555), B = n(5569); const O = ‘__tlpbjs_debugging__’; συνάρτηση R() { return (0, im)().installedModules.includes(‘debugging’); } συνάρτηση S(e) { return new C.U9(t => { (0, TR)(e, B.tp, ‘debugging’, t); }); } συνάρτηση k() { έστω { ήδη εγκατεστημένο: e = R, script: t = S } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}, n = null; return function() { return ( null == n && (n = new C.U9((n, o) => {setTimeout(() => {if (e()) n(); else {const e = ‘https://cdn.jsdelivr.net/npm/prebid.js@9.50.0/dist;r. `Η μονάδα εντοπισμού σφαλμάτων δεν έχει εγκατασταθεί, φορτώνεται από το “${e}”…` ), ((0, im)()._installDebugging = !0), t(e) .then(() => { (0, im)()._installDebugging({ DEBUG_KEY: O, hook: v.Aid:$W, config: w.Aid:$0 r.h0)(‘DEBUG:’) }) .then(n, o)); }; } const U = (function() { έστω { load: e = k(), hook: t = (0, w.Yn)(‘requestBids’) } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}, n = null, i = !1; συνάρτηση r(e) { for ( var t = arguments.length, i = new Array(t > 1 ? t – 1 : 0), r = 1; r e.apply(this, i)); } συνάρτηση o() { t.getHooks({ hook: r }).remove(), (i = !1); } return { enable: function() { i || ((n = e()), t.before(r, 99), (i = !0)); }, disable: o, reset: function() { (n = null), o(); } }; })(); U.reset; v.$W.getConfig(‘debugging’, function(e) { let { debugging: t } = e; t?.enabled ? U.enable() : U.disable(); }); var D = n(2938), _ = n(1445), $ = n(5023), j = n(6894), x = n(687), q = n(6916), N = n(2713), W = n(3895); const P = νέος χάρτης([
[
‘format’,
e =>
Array.isArray(e) &&
e.length > 0 &&
e.every(e => ‘object’ == typeof e)
],
[‘w’, r.Fq],
[‘h’, r.Fq],
[‘btype’, r.Uu],
[‘battr’, r.Uu],
[‘pos’, r.Fq],
[
‘mimes’,
e =>
Array.isArray(e) &&
e.length > 0 &&
e.every(e => ‘string’ == typeof e)
],
[‘topframe’, e => [1, 0].περιλαμβάνει(ε)],
[‘expdir’, r.Uu],
[‘api’, r.Uu],
[‘id’, r.O8],
[‘vcm’, e => [1, 0].περιλαμβάνει(ε)]]); var V = n(1371); συνάρτηση M(e, t) { return function() {if (document.prerendering && e()) {const e = this, n = Array.from(arguments); return new Promise(i => {document.addEventListener( ‘prerenderingchange’, () => { (0, r.fH)( ‘Οι δημοπρασίες είχαν ανασταλεί ενώ η σελίδα ήταν προαπόδοση’ ), i(t.apply(e, n)); }, { Once: !0 } ); }); } return Promise.resolve(t.apply(this, ορίσματα)); }; } var G = n(7377); const F = (0, im)(), {triggerUserSyncs: H } = y.zt, { ADD_AD_UNITS: L, REQUEST_BIDS: z, SET_TARGETING: J } = d.qY, Q = {bidWon: function(e) {if ( !En .ma.p. e.bids.map(e => e.adUnitCode)) .reduce(r.Bq) .filter(r.hj) .includes(e) ) return void (0, r.vV)( ‘Η τοποθέτηση “‘ + e + ‘” δεν έχει οριστεί.’ ); επιστροφή !0; } }; συνάρτηση K(e, t) { έστω n = []; επιστροφή ( (0, r.cy)(e) && (t ? e.length === t : e.length > 0) && (e.every(e => (0, r.Uu)(e, 2)) ? (n = e) : (0, r.Uu)(e, 2) && n.push),(e); } συνάρτηση Y(e, t) { const n = (0, oA)(e, `ortb2Imp.${t}`), i = (0, oA)(e, `mediaTypes.${t}`); εάν (!n && !i) επιστρέψουν; const a = { [V.G_]: W.Zy, [V.D4]: P }[t]; ένα &&
[…a].forEach(n => { let [i, a] = n; const d = (0, oA)(e, `mediaTypes.${t}.${i}`), c = (0, oA)(e, `ortb2Imp.${t}.${i}`); (null == d && null == c) || (null == d ? (0, sJ)(e, `mediaTypes.${t}.${i}`, c) : null == c ? (0, sJ)(e, `ortb2Imp.${t}.${i}`, d) : ((0, r.JE)( `αντικείμενο σύγκρουσης στοιχείων}:{e ortb2Imp.${t}.${i} και mediaTypes.${t}.${i}, το τελευταίο θα αγνοηθεί`, e ), (0, sJ)(e, `mediaTypes.${t}.${i}`, c))); }); } συνάρτηση X(e) { const t = (0, r.Go)(e), n = t.mediaTypes.banner, i = null == n.sizes ? null : K(n.sizes), o = e.ortb2Imp?.banner?.format ?? n?.μορφή; ας α? if (null != o) { (0, sJ)(t, ‘ortb2Imp.banner.format’, o), (n.format = o); try { a = o .filter(t => { έστω { w: n, h: i, wratio: o, hratio: s } = t; return null != (n ?? i) && null != (o ?? s) ? ((0, r.JE)( ‘Ad unit banner.format, e/hratio, andwratio’ specifies,! : (null != n && null != i) || (null != o && null != s }) .map(e => { έστω { w: t, h: n, wratio: i, hratio: r } = e; return); [t ?? i, n ?? r]; }); } catch (t) { (0, r.vV)( `Μη έγκυρος ορισμός μορφής στην ενότητα διαφημίσεων ${e.code}`, o ); } null == a || null == i || (0, r.bD)(i, a) || (0, r.JE)( `Η ενότητα διαφημίσεων ${e.code} έχει αντικρουόμενα μεγέθη και ορισμούς μορφής`, e ); } const d = a ?? εγω ?? []c = e.ortb2Imp?.banner?.expdir ?? n.expdir; επιστροφή ( null != c && ((n.expdir = c), (0, sJ)(t, ‘ortb2Imp.banner.expdir’, c)), d.length > 0 ? ((n.sizes = d), (t.sizes = d)) : ((0, r.vV)(T, τα μέσα διασφάλισης μεγέθους. τα μεγέθη αναφέρονται ως εξής: [[300, 250]…]. Κατάργηση μη έγκυρου αντικειμένου mediaTypes.banner από το αίτημα.’ ), διαγραφή t.mediaTypes.banner), Y(t, ‘banner’), t ); } συνάρτηση Z(e) { const t = (0, r.Go)(e), n = t.mediaTypes.video; if (n.playerSize) { let e = ‘number’ == typeof n.playerSize[0] ? 2 : 1; const i = K(n.playerSize, e); i.length > 0 ? (2 === e && (0, r.fH)( “Transforming video.playerSize from [640,480] να [[640,480]]επομένως είναι στη σωστή μορφή.” ), (n.playerSize = i), (t.sizes = i)) : ((0, r.vV)( ‘Εντοπίστηκε λανθασμένη διαμόρφωση του mediaTypes.video.playerSize. Προσδιορίστε μόνο ένα σύνολο διαστάσεων σε μορφή όπως: [[640, 480]]. Κατάργηση μη έγκυρης ιδιότητας mediaTypes.video.playerSize από αίτημα.’ ), διαγραφή t.mediaTypes.video.playerSize); } return (0, W.aP)(t), Y(t, ‘βίντεο’), t; } function ee(e) { function t(t) { return ( (0, r.vV)( `Σφάλμα στο adUnit “${e.code}”: ${t}. Κατάργηση εγγενούς αιτήματος από την ενότητα διαφημίσεων`, e ), διαγραφή i.mediaTypes.native, i ); } συνάρτηση n(e) { for (const t of [‘sendTargetingKeys’, ‘types’]) if (o.hasOwnProperty(t)) {const n = e(t); αν (n) επιστροφή n; } } const i = (0, r.Go)(e), o = i.mediaTypes.native; if (o.ortb) {if ( o.ortb.assets?.some( e => !(0, r.Et)(e.id) || e.id t(`τα εγγενή αιτήματα ORTB δεν μπορούν να καθορίσουν “${e}”`))) επιστρέψτε i; const e = Object.keys(d.x5).filter(e => d.x5[e].includes(‘hb_native_’) ), s = Object.keys(o).filter(t => e.includes(t)); s.length > 0 && ((0, r.vV)( `όταν χρησιμοποιείτε εγγενή μορφή OpenRTB, δεν μπορείτε να χρησιμοποιήσετε εγγενείς ιδιότητες παλαιού τύπου. Διαγραφή ${s} κλειδιών από αίτημα.` ), s.forEach(e => delete i.mediaTypes.native[e])); } else n( e => `mediaTypes.native.${e} έχει καταργηθεί, σκεφτείτε να χρησιμοποιήσετε το εγγενές ORTB αντί` ); επιστροφή ( o.image && o.image.sizes && !Array.isArray(o.image.sizes) && ((0, r.vV)( ‘Παρακαλώ χρησιμοποιήστε μια σειρά μεγεθών για το πεδίο native.image.sizes. Αφαίρεση μη έγκυρων mediaTypes.native.image.sizes), διαγράψτε την ιδιότητα από αίτημα.’ i.mediaTypes.native.image.sizes), o.image && o.image.aspect_ratios && !Array.isArray(o.image.aspect_ratios) && ((0, r.vV)( ‘Παρακαλώ χρησιμοποιήστε μια σειρά μεγεθών για native.image.aspect_ratios στο πεδίο Removing. mediaTypes.native.image.aspect_ratios από αίτημα.’ ), διαγραφή i.mediaTypes.native.image.aspect_ratios), o.icon && o.icon.sizes && !Array.isArray(o.icon.sizes) && ((0, r.vV χρήση του πεδίου ar.con.i). Κατάργηση μη έγκυρης ιδιότητας mediaTypes.native.icon.sizes από το αίτημα.’ ), διαγραφή i.mediaTypes.native.icon.sizes), i ); } συνάρτηση te(e, t) { έστω n = e?.mediaTypes?.[t]?.pos; if (!(0, r.Et)(n) || isNaN(n) || !isFinite(n)) {έστω n = `Η τιμή της ιδιότητας ‘pos’ στην ενότητα διαφημίσεων ${e.code} θα πρέπει να είναι τύπου: Number`; (0, r.JE)(n), διαγραφή e.mediaTypes[t].pos; } επιστροφή e; } συνάρτηση ne(e) { const t = t => `adUnit.code ‘${e.code}’ ${t}`, n = e.mediaTypes, i = e.bids; επιστροφή null == i || (0, r.cy)(i) ? null == i && null == e.ortb2Imp ? ((0, r.vV)( t( “δεν έχει ‘adUnit.bids’ και δεν έχει ‘adUnit.ortb2Imp’. Κατάργηση του adUnit από τη δημοπρασία” ) ), null) : n && 0 !== Object.keys(n).length ? (null == e.ortb2Imp || (null != i && 0 !== i.length) || ((e.bids = [{ bidder: null }]), (0, r.OG)( t( “καθορίζει το “adUnit.ortb2Imp” χωρίς το “adUnit.bids”, θα φαίνεται μόνο από τους προσαρμογείς S2S” ) )), e) : ((0, r.vV)( t( “δεν ορίζει ένα αντικείμενο “mediaTypes”. Αυτό είναι ένα υποχρεωτικό πεδίο, επομένως αυτό το πεδίο έχει αφαιρεθεί null:”) ((0, r.vV)( t( “καθορίζει το ‘adUnit.bids’ που δεν είναι πίνακας. Αφαίρεση του adUnit από τη δημοπρασία” ) ), null); } !(function() { let e = null; try { e = window.sessionStorage; } catch (e) {} if (null !== e) { let t = U, n = null; δοκιμάστε {n = e.getItem(O); } catch (e) {} null !== n && t.d.bi}(S); F.bidderSettings ||. {}), (F.libLoaded = !0), (F.version = ‘v9.50.0’), (0, r.fH)(‘Prebid.js v9.50.0 loaded’), (F.installedModules = F.installedModules || []), (F.adUnits = F.adUnits || []), (F.triggerUserSyncs = H); const ie = { validateAdUnit: ne, validateBannerMediaType: X, validateSizes: K }; Object.assign(δηλαδή, { validateNativeMediaType: ee }), Object.assign(δηλαδή, { validateVideoMediaType: Z }); const re = (0, w.A_)( ‘sync’, function(e) { const t = []; return ( e.forEach(e => {if (null == (e = ne(e))) return; const n = e.mediaTypes; έστω i, r, o; n.banner && ((i = X(e)), n.banner.hasOwnProperty(‘pos’) && (i = te(i, ‘banner’) && (i = te(i, ‘banner.) e)), n.video.hasOwnProperty(‘pos’) && (r = te(r, ‘video’))), n.native && (o = ee(r || i || e) = Object.assign({}, i, r, o); }, ‘checkAdUnitSetup’ ); συνάρτηση oe(e) { const t = En[e]().filter(e => EngetAdUnitCodes().includes(e.adUnitCode) ), n = EngetLastAuctionId(); επιστροφή t .map(e => e.adUnitCode) .filter(r.hj) .map(e => t.filter(t => t.auctionId === n && t.adUnitCode === e) ) .filter(e => e && e)[0] && ε[0].adUnitCode) .map(e => ({ [e[0].adUnitCode]: { bids: e } })) .reduce((e, t) => Object.assign(e, t), {}); } (F.getAdserverTargetingForAdUnitCodeStr = συνάρτηση(e) {if (((0, r.fH)( ‘Κατάκληση tlpbjs.getAdserverTargetingForAdUnitCodeStr’, ορίσματα ), e) ) { var t = F.getAdserverTargetingCodeStr = F.getAdserverTargetingForAd (r.D}); (0, r.OG)( ‘Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode’ }), (F.getHighestUnusedBidResponseForAdUnitCode = function(e) {if (e) {const t = EngetAllBidsForAdUnitCode.(e) t.reduce(N.Vk) : {};[e]; }), (F.getAdserverTargeting = function(e) { return ( (0, r.fH)(‘Invoking tlpbjs.getAdserverTargeting’, ορίσματα), A.iS.getAllTargeting(e)); }), (F.getConsentMetadata = function() {returing (0) tlpbjs.getConsentMetadata’), q.SL.getConsentMeta() }), (F.getNoBids = function() { return ( (0, r.fH)(‘Invoking tlpbjs.getNoBids’, ορίσματα), oe(‘getNoBids’)); EngetNoBids().filter(t => t.adUnitCode === e) }; function(e) { return { bids: EngetBidsReceived().filter(t => t.adUnitCode === e) }; A.iS.setTargetingForGPT(e, t) : (0, r.vV)(‘window.googletag δεν έχει οριστεί στη σελίδα’ }), (F.setTargetingForAst = function(e) { (0, r.fH)(‘Invoking tlpbjs.setTargetingForAn’),(Anta.Sig, όρισμα) (A.iS.setTargetingForAst(e), $.Ic(J, A.iS.getAllTargeting())) : (0, r.vV)(‘window.apntag δεν ορίζεται στη σελίδα’ }), (F.renderAd = (0, w.A_)(‘async’,’ne) (‘async’,’ne); tlpbjs.renderAd’, ορίσματα), (0, r.OG)(‘Κλήση του renderAd με adId :’ + t), (0, c.BS)(e, t, n })), (F.removeAdUnit = συνάρτηση(e) {if ((0, r.fH)(‘Av)p)’renit; επιστροφή κενού (F.adUnits = []) ας t? (t = (0, r.cy)(e) ? e : [e]), t.forEach(e => { for (έστω t = F.adUnits.length – 1; t >= 0; t–) F.adUnits[t].code === e && F.adUnits.splice(t, 1); }); }), (F.requestBids = (function() {const e = (0, w.A_)( ‘async’, function() { let {bidsBackHandler: e, timeout: t, adUnits: n, adUnitCodes: i, labels: o, auctionId: s, ttlBuffer:2, cBuffer: a, } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; $.Ic(z); const u = t || v.$W.getConfig(‘bidderTimeout’); (0, r.fH)(‘Invoking tlpbjs.requestBids’, ορίσματα), null == i || Array.isArray(i) || (i = [i]), i && i.μήκος ? (n = n.filter(e => i.includes(e.code))) : (i = n && n.map(e => e.code)), (i = i.filter(r.hj)); const f = { global: (0, r.D9)( {}, v.$W.getAnyConfig(‘ortb2’) || {}, d || {} ), πλειοδότης: Object.fromEntries( Object.entries(v.$W.getBidderConfig()) .map(e => {let [t, n] = e; απόδοση [t, (0, r.Go)(n.ortb2)]; }) .filter(e => { let [t, n] = e; επιστροφή null != n; })) }; return (0, xw)(C.U9.resolve(f.global)).then( t => ( (f.global = t), se({ bidsBackHandler: e, timeout: u, adUnits: n, adUnitCodes: i, labels: o, auctionId: s, ttlBuffer: f:tragments }) ) ); }, ‘requestBids’ ); return (0, w.Y6)( e, M( () => !v.$W.getConfig(‘allowPrendering’), function() { έστω t = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}, n = t.adUnits || F.adUnits; επιστροφή ( (t.adUnits = (0, r.cy)(n) ? n.slice() : [n]), (t.metrics = (0, j.K7)()), t.metrics.checkpoint(‘requestBids’), (t.defer = (0, C.v6)({ sozFactory: e => new Promise(e) })), e.call(this, t), t.defer.promise ); } ) ); })()); const se = (0, w.A_)( ‘async’, function() { let {bidsBackHandler: e, timeout: t, adUnits: n, ttlBuffer: i, adUnitCodes: o, labels: a, auctionId: d, ortb2Fragments: c, μέτρηση: &0, όρισμα: u. void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; const f = (0, _.pX)(v.$W.getConfig(‘s2sConfig’) || []) συνάρτηση g(t, n, i) { if (‘function’ == typeof e) try { e(t, n, i); } catch (e) { (0, r.vV)(‘Σφάλμα κατά την εκτέλεση bidsBackHandler’, null, e); } u.resolve({ bids: t, timedOut: n, auctionId: i }); } !(function(e) { e.forEach(e => (0, W.V0)(e)); })(n), (n = (0, j.BO)(l).measureTime(‘requestBids.validate’, () => re(n) )); const p = {}; if ( (n.forEach(e => {const t = Object.keys(e.mediaTypes || {banner: ‘banner’ }), n = e.bids.map(e => e.bidder), o = _.Ay.bidderRegistry, s = n.filter(e => !f.has); const a = e.ortb2Imp?.ext?.tid;[e.code] = α)), μηδενικό == i || e.hasOwnProperty(‘ttlBuffer’) || (e.ttlBuffer = i), s.forEach(n => { const i = o[n]s = i && i.getSpec && i.getSpec(), a = (s && s.supportedMediaTypes) || [‘banner’]; t.some(e => a.περιλαμβάνει(e)) || ((0, r.JE)((0, r.bz)(e, n)), (e.bids = e.bids.filter(e => e.bidder !== n))); }); }), n && 0 !== n.length) ) { n.forEach(e => {const t = e.ortb2Imp?.ext?.tid || p[e.code] || (0, r.lk)(); p.hasOwnProperty(e.code) || (σελ[e.code] = t), (e.transactionId = t), (0, sJ)(e, ‘ortb2Imp.ext.tid’, t); }); const e = EncreateAuction({ adUnits: n, adUnitCodes: o, callback: g, cbTimeout: t, labels: a, auctionId: d, ortb2Fragments: c, metrics: l }); έστω i = n.μήκος; i > 15 && (0, r.fH)( `Η τρέχουσα δημοπρασία ${e.getAuctionId()} περιέχει ${i} adUnits.`, n ), o.forEach(t => A.iS.setLatestAuctionForAdUnit(t, e.getAuctionId()) ), π.χ. } else (0, r.OG)(‘Δεν έχουν διαμορφωθεί adUnits. Δεν ζητούνται προσφορές.’), g(); }, ‘startAuction’ ); F.requestBids.before(function(e, t) {function n(e) {for (var t; (t = e.shift()); ) t();} n(D.s0), n(ae), e.call(this, t); }, 49), (F.addAdUnits = function(r.InfH)(r.Inf) {0 tlpbjs.addAdUnits’, ορίσματα), F.adUnits.push.apply(F.adUnits, (0, r.cy)(e) ? e : [e]), $.Ic(L); }), (F.onEvent = function(e, t, n) { (0, r.fH)(‘Invoking tlpbjs.onEvent’, ορίσματα), (0, r.fp)(t) ? !n || Q[e].call(null, n) ? $.on(e, t, n) : (0, r.vV)( ‘Το αναγνωριστικό που παρέχεται δεν είναι έγκυρο για το συμβάν “‘ + e + ‘” και δεν έχει οριστεί κανένας χειριστής.’ ) : (0, r.vV)( ‘Ο χειριστής συμβάντων που παρέχεται δεν είναι συνάρτηση και δεν ορίστηκε στο συμβάν “‘ + e + ‘”.’ ); }), (F.offEvent = συνάρτηση(e, t, n) { (0, r.fH)(‘Invoking tlpbjs.offEvent’, ορίσματα), (n && !Q[e].call(null, n)) || $.AU(e, t, n); }), (F.getEvents = function() { return (0, r.fH)(‘Invoking tlpbjs.getEvents’), $.kQ(); }), (F.registerBidAdapter = function(e, t, n) { (0, r.fH)(‘Invoking tlpbjs.getEvents’); ? tlpbjs.registerAnalyticsAdapter’, επιχειρήματα ); tlpbjs.createBid’, ορίσματα), (0, IO)(e) }); const ae = []de = (0, w.A_)( ‘async’, function(e) { e && !(0, r.Im)(e) ? ((0, r.fH)(‘Invoking tlpbjs.enableAnalytics for: ‘, e), _.Ay.enableAnalytics(e)) : (0)jbly, r. καλείται με την επιλογή {}’ }, ‘enableAnalyticsCb’ ); συνάρτηση ce(e) { if (‘function’ == typeof e) try { e.call(); } catch (e) { (0, r.vV)(‘Error processing command :’, e.message, e.stack); } else (0, r.vV)( ‘Οι εντολές που είναι γραμμένες στο tlpbjs.cmd.push πρέπει να είναι τυλιγμένες σε μια συνάρτηση’ ); } συνάρτηση le(e) { e.forEach(function(e) {if (void 0 === e.called) try { e.call(), (e.called = !0); } catch (e) { (0, r.vV)(‘Error processing command :’, ‘prebid.js’, e); } ); } (F.enableAnalytics = function(e) { ae.push(de.bind(this, e)); }), (F.aliasBidder = function(e, t, n) { (0, r.fH)(‘Invoking tlpbjs.aliasBidder’, ορίσματα), e && t ? _.Ay. (0, r.vV)( ‘bidderCode και το ψευδώνυμο πρέπει να διαβιβαστούν ως ορίσματα’, ‘tlpbjs.aliasBidder’ }), (F.aliasRegistry = _.Ay.aliasRegistry), v.$W.getConfig(‘aliasRegistry’, e => ‘ιδιωτικό’, &.alias’==ryas); (F.getAllWinningBids = function() { return EngetAllWinningBids(); }), (F.getAllPrebidWinningBids = function() { return ( (0, r.JE)( ‘getAllPrebidWinningBids μπορεί να αφαιρεθούν ή να μετονομαστούν σε μελλοντική έκδοση. Αυτή η συνάρτηση επιστρέφει προσφορές που έχουν οριστεί και δεν έχουν κερδίσει σε προκαθορισμένες προσφορές; Εξαιρεί τις προσφορές που έχουν αποδοθεί.’ , En .getBidsReceived() .filter(e => e.status === d.tl.BID_TARGETING_SET) } , (F.getHighestCpmBids = function(e) { return A.iS. function() { EnclearAllAuctions(); EngetBidsReceived().filter(e => e.adId === n)) : (0, r.JE)( ‘Κακή χρήση του markWinningBidAsUsed. Χρειάζεται adUnitCode ή adId για να λειτουργήσει.’ ), t.length > 0 && (o || s ? (0, c)[0]) : EnaddWinningBid(t[0]), (0, c.qn)(t[0])); }), (F.getConfig = v.$W.getAnyConfig), (F.readConfig = v.$W.readAnyConfig), (F.mergeConfig = v.$W.mergeConfig), (F.mergeBidderConfig = v.$W.mergeBidderConfig), (F.setW.figonFidConset =v.$W. v.$W.setBidderConfig), F.que.push(() => m()), (F.processQueue = M( () => (0, im)().delayPrendering, function() { (F.que.push = F.cmd.push = ce), (0, c.XO)(), (0, c.XO)(), w.A_.re, w.A_.re. (F.triggerBilling = e => { έστω { adId: t, adUnitCode: n } = e; En .getAllWinningBids() .filter( e => e.adId === t || (null == t && e.adUnitCode === n) ) .forEach(e) .forEach(e). c.vB)(e)); }, 7873: (e, t, n) => {nd(t, { E: () => s, m: () => o }); const i = παράθυρο, r = (i.tlpbjs = i.tlpbjs || {}); συνάρτηση o() { return r; } συνάρτηση s(e) { r.installedModules.push(e); } (r.cmd = r.cmd || []), (r.que = r.que || []), i === παράθυρο && ((i._pbjsGlobals = i._pbjsGlobals || []), i._pbjsGlobals.push(‘tlpbjs’)); }, 7934: (e, t, n) => { nd(t, { EN: () => d, gR: () => s }); var i = n(3272), r = n(1069); συνάρτηση o(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: παράθυρο; εάν (!e) επιστρέψει e; εάν (/w+:///.exec(e)) επιστρέψει e; έστω n = t.location.protocol; δοκιμάστε { n = t.top.location.protocol; } catch (e) {} return /^///.exec(e) ? n + e : `${n}//${e}`; } συνάρτηση s(e) { έστω { noLeadingWww: t = !1, noPort: n = !1 } = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}; δοκιμάστε { e = νέα διεύθυνση URL(o(e)); } catch (e) { return; } return ( (e = n ? e.hostname : e.host), t && e.startsWith(‘www.’) && (e = e.substring(4)), e ); } συνάρτηση a(e) { try { const t = e.querySelector(“link[rel=’canonical’]”); if (null !== t) return t.href; } catch (e) {} return null; } const d = (function(e) {έστω t, n, i, r = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: παράθυρο; επιστροφή r.top !== r ? e : function() {const o = a(r.document), s = r.location.href; επιστροφή ( (t === o && s === n) || ((t = o), (n = s), (i = e())), i ); }; })( ((c = παράθυρο), συνάρτηση() { const e = []t = (function(e) { try { if (!e.location.ancestorOrigins) return; return e.location.ancestorOrigins; } catch (e) {} })(c), n = i.$W.getConfig(‘maxNestedIframes’); Έστω d, l, u, f, g = !1, p = 0, h = !1, m = !1, b = !1; do { const n = d, i = m; έστω o, s = !1, f = null; (m = !1), (d = d? d.parent : c); δοκιμάστε { o = d.location.href || άκυρος; } catch (e) { s = !0; } if (s) if (i) { const e = n.context; δοκιμάστε { (f = e.sourceUrl), (l = f), (b = !0), (h = !0), d === c.top && (g = !0), e.canonicalUrl && (u = e.canonicalUrl); } catch (e) {} } else { (0, r.JE)( ‘Προσπαθώ να αποκτήσω πρόσβαση στο iframe μεταξύ τομέων. Συνέχεια χωρίς παραπομπή και τοποθεσία’ ); δοκιμάστε { const e = n.document.referrer; e && ((f = e), d === c.top && (g = !0)); } πιάσε (ε) {} !f && t && t[p – 1] && ((f = t[p – 1]), d === c.top && (b = !0)), f && !h && (l = f); } else { if (o && ((f = o), (l = f), (h = !1), d === c.top)) { g = !0; const e = a(d.document); e && (u = e); } d.context && d.context.sourceUrl && (m = !0); } e.push(f), p++; } while (d !== c.top && p -1 && -1 === E.indexOf(‘?’) && (E = `${E}${y.substring(y.indexOf(‘?’))}`), { reachTop: g, isAmp: h, numIframes: p – 1, topocation | y, canonicalUrl, page: E, domain: s(E) ||, null, legacy: {arteTop: g, isAmp: h, numIframes: p – 1, referer: l || }) ); var c; }, 2938: (e, t, n) => { nd(t, { CK: () => b, X0: () => g, qk: () => f, s0: () => p, vM: () => m }); var i = n(1069), r = n(2693), o = n(5569), s = n(5139), a = n(2604), d = n(6811), c = n(3272), l = n(1445), u = n(3441); const f = ‘html5’, g = ‘cookie’; έστω p = []; συνάρτηση h() { έστω { moduleName: e, moduleType: t } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}, { isAllowed: n = s.io } = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}; συνάρτηση r(i, r) { έστω s = e; const f = c.$W.getCurrentBidder(); f && t === o.tW && l.Ay.aliasRegistry[f] === e && (s = f); επιστροφή i({ ισχύει: n(d.Ue, (0, us)(t, s, { [a.Zw]: r })) }); } συνάρτηση h(e, t, n) { if (!n || ‘function’ != typeof n) return r(e, t); p.push(function() {έστω i = r(e, t); n(i); }); } συνάρτηση m(e) {const t = e.charAt(0).toUpperCase() + e.substring(1), n = () => παράθυρο[e]r = function(t) { return h( function(t) { if (t && t.valid) try { return !!n(); } catch (t) { (0, i.vV)(`${e} api disabled`); } return !1; }, f, t ); }; επιστροφή {
[`has${t}`]: r,
[`${e}IsEnabled`]: e => h( function(e) { if (e && e.valid) try { return ( n().setItem(‘prebid.cookieTest’, ‘1’), ‘1’ === n().getItem(‘prebid.cookieTest’)); } catch (e) {} τελικώς {remobid’Item’);(}remobid’Item); catch (e) {} } return !1 }, f, e ),
[`setDataIn${t}`]: (e, t, i) => h( function(i) { i && i.valid && r() && n().setItem(e, t); }, f, i ),
[`getDataFrom${t}`]: (e, t) => h( function(t) { return t && t.valid && r() ? n().getItem(e) : null; }, f, t ),
[`removeDataFrom${t}`]: (e, t) => h( function(t) { t && t.valid && r() && n().removeItem(e); }, f, t ) }; } return { setCookie: function(e, t, n, i, r, o) { return h( function(o) {if (o && o.valid) {const o = r && ” !== r ? ` ;domain=${encodeURIcomponent(r)}` : !{=n;” n &$&n : ”, a = null != i.toLowerCase() ” ; ) }, getCookie: function(e, t) { return h( function(t) { if (t && t.valid) { let t = window.document.cookie.match( ‘(^|;)\s*’ + e + ‘\s*=\s*([^;]*)\s*(;|$)’ ); επιστροφή t ? αποκωδικοποίησηURIcomponent(t[2]): null; } return null; }, g, t ); }, cookiesAreEnabled: function(e) { return h( function(e) { return !(!e || !e.valid) && (0, i.GE)(); }, g, e ); }, …m(‘localStorage’), …m(‘sessionStorage’), findSimilarCookies: function(e, t) { return h( function(t) { if (t && t.valid) {const t = []; if ((0, i.N9)()) {const n = document.cookie.split(‘;’); for (; n.length; ) {const i = n.pop(); έστω r = i.indexOf(‘=’); r = r = 0 && t.push(decodeURIcomponent(i.slice(r + 1))); } } return t; } }, g, t ); } }; } συνάρτηση m() { let { moduleType: e, moduleName: t, bidderCode: n } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; function i() { throw new Error( ‘Μη έγκυρη επίκληση για το getStorageManager: πρέπει να ορίσει είτε bidderCode, είτε moduleType + moduleName’ ); } return ( n ? (((e && e !== o.tW) || t) && i(), (e = o.tW), (t = n)) : (t && e) || i(), h({ moduleType: e, moduleName: t }) ); } συνάρτηση b(e) { return h({ moduleName: e, moduleType: o.tp }); } (0, s.qB)(d.Ue, ‘deviceAccess config’, function() { if (!(0, i.N9)()) return { allow: !1 }; }), (0, s.qB)(d.Ue, ‘bidderSettings.*.storageAllowed’, συνάρτηση > όρισμα > 1 &let. !== επιχειρήματα[1]
? επιχειρήματα[1]
: ru; αν (π[a.Dk] !== o.tW) επιστροφή; έστω n = t.get(π[a.q7]’Επιτρέπεται αποθήκευση’); αν (n && !0 !== n) { const t = e[a.Zw]; n = Array.isArray(n) ? n.some(e => e === t) : n === t; } else n = !!n; επιστροφή n ; void 0 : { allow: n }; }); }, 7779: (e, t, n) => {nd(t, {Yl: () => w, iS: () => B, uW: () => A }); var i = n(6881), r = n(7863), o = n(2693), s = n(3272), a = n(8969), d = n(5023), c = n(9214), l = n(1371), u = n(2449), f = n(2449), f = 9 n(2713), h = []; const m = 20, b = ‘targetingControls.allowTargetingKeys’, y = ‘targetingControls.addTargetingKeys’, v = `Μπορεί να οριστεί μόνο ένα από τα “${b}” ή “${y}”, E = Object.keys(a.xS).map(e =>[e]) έστω A = { isActualBid: e => e.getStatusCode() === a.XQ.GOOD, isBidNotExpired: e => e.responseTimestamp + 1e3 * (0, r.cT)(e) > (0, f.vE)(), isUnusedBid: (e =&> e.[a.tl.RENDERED].περιλαμβάνει(ε.κατάσταση)) || !e.status) }; συνάρτηση w(e) { return !Object.values(A).some(t => !t(e)); } const I = (0, c.A_)(‘sync’, function(e, t) { έστω n = arguments.length > 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: 0, i = arguments.length > 3 && void 0 !== ορίσματα[3] && ορίσματα[3]r = arguments.length > 4 && void 0 !== ορίσματα[4]
? επιχειρήματα[4]
: f.Q0; αν (!i) { const i = []o = s.$W.getConfig(‘sendBidsControl.dealPrioritization’); έστω a = (0, f.$z)(e, ‘adUnitCode’); επιστροφή ( Object.keys(a).forEach(e => {έστω s = []d = (0, f.$z)(α[e]’bidderCode’); Object.keys(d).forEach(e => { s.push(d[e].reduce(t)); }), n ? ((s = o ? s.sort(T(!0)) : s.sort((e, t) => t.cpm – e.cpm)), i.push(…s.slice(0, n))) : ((s = s.sort(r)), i.push(…s)); }), i ); } επιστροφή e; }); συνάρτηση T() { έστω e = arguments.length > 0 && void 0 !== ορίσματα[0] && ορίσματα[0]; return function(t, n) { return void 0 !== t.adserverTargeting.hb_deal && void 0 === n.adserverTargeting.hb_deal ? -1 : void 0 === t.adserverTargeting.hb_deal && void 0 !== n.adserverTargeting.hb_deal ? 1 : ε ? n.cpm – t.cpm : n.adserverTargeting.hb_pb – t.adserverTargeting.hb_pb; }; } συνάρτηση C(e, t) { return (arguments.length > 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: () => window.googletag.pubads().getSlots())().reduce( (e, n) => {const i = (0, f.fp)(t) && t(n); return ( Object.keys(e) .filter((0, f.fp)(i) ? i : (0)(E, n)t =C.[t].push(n)), e ); }, Object.fromEntries(e.map(e => [e, []])) ); } const B = (συνάρτηση(e) { έστω t = {}, n = {}; συνάρτηση i(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1] && ορίσματα[1]n = arguments.length > 2 && void 0 !== ορίσματα[2] && ορίσματα[2]; const i = E.concat(u.Nh), r = s.$W.getConfig( ‘targetingControls.allowSendAllBidsTargetingKeys’), o = r ? r.map(e => a.xS[e]) : i; return e.reduce((e, r) => { if (t || (n && r.dealId)) {const t = (function(e, t) { return t.reduce( (t, n) => ( e.adserverTargeting[n] && t.push({
[`${n}_${e.bidderCode}`.substring(0, 20)]: [
e.adserverTargeting[n]
]}), t ),
[]
) })( r, i.filter( e => void 0 !== r.adserverTargeting[e] && (n || -1 !== o.indexOf(e)) ) ); t && e.push({ [r.adUnitCode]: t }); } επιστροφή e; }, []) } συνάρτηση r(t) { return ‘string’ == typeof t ? [t]
: (0, f.cy)(t) ? t : e.getAdUnitCodes() || []; } συνάρτηση A() { έστω t = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: p.Bq, i = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: void 0, r = e.getBidsReceived().reduce((e, t) => {const i = s.$W.getConfig(‘useBidCache’), r = s.$W.getConfig(‘bidCacheFilterFunction’), o = n[t.adUnitCode] === t.auctionId, a = !(i && !o && ‘function’ == typeof r) || !!r(t); επιστροφή ( (i || ο) && a && (0, gA)(t, ‘video.context’) !== l.LM && w(t) && ((t.latestTargetedAuctionId = n[t.adUnitCode]), e.push(t)), e ); }, []) επιστροφή I(r, t, void 0, void 0, void 0, i); } συνάρτηση B(e, n) { έστω i = t.getWinningBids(n, e), r = O(); επιστροφή ( (i = i.map(e => ({
[e.adUnitCode]: Object.keys(e.adserverTargeting) .filter( t => void 0 === e.sendStandardTargeting || e.sendStandardTargeting || -1 === r.indexOf(t) ) .reduce((t, n) => { const i = [e.adserverTargeting[n]], r = { [n.substring(0, m)]: i }; if (n === a.xS.DEAL) { const o = `${n}_${e.bidderCode}`.substring(0, m), s = { [o]: i }; απόδοση […t, r, s]; } επιστροφή […t, r]; }, []) }))), i ); } συνάρτηση O() { return e .getStandardBidderAdServerTargeting() .map(e => e.key) .concat(E) .filter(f.hj); } return ( (t.setLatestAuctionForAdUnit = συνάρτηση(e, t) { n[e] = t; }), (t.resetPresetTargeting = συνάρτηση(e, t) {if ((0, f.II)()) {const n = r(e); Object.values(C(n, t)).forEach(e => { e.forEach(e => { !(function(e) {h.forEach(t) &&geting e.clearTargeting(t)); n.forEach(e => { h.includes(e.toLowerCase()) || (i[e] = t.λέξεις-κλειδιά[e]) }), window.apntag.modifyTag(e, { keywords: i }); } }); }), (t.getAllTargeting = συνάρτηση(t, n, d) { έστω c = arguments.length > 3 && void 0 !== ορίσματα[3]
? επιχειρήματα[3]
: p.Vk, l = arguments.length > 4 && void 0 !== ορίσματα[4]
? επιχειρήματα[4]
: f.Q0; d ||= A(c, l); const g = r(t), E = s.$W.getConfig(‘enableSendAllBids’), w = s.$W.getConfig(‘sendBidsControl.bidLimit’), C = (E && (n || w)) || 0, { customKeysByUnit: R, filteredBids: S } = (function(e, t) {const n = []i = {}, r = s.$W.getConfig( ‘targetingControls.alwaysIncludeDeals’ ); επιστροφή ( t.forEach(t => {const s = e.includes(t.adUnitCode), a = !0 === ouget(t.bidderCode, ‘allowZeroCpmBids’) ? t.cpm >= 0 : t.cpm > 0, d = r && t.dealId, d = r && t.dealId; Object.keys(t.adserverTargeting) .filter( (function() {έστω e = O(); e = e.concat(u.Nh); return function(t) { return -1 === e.indexOf(t); }; })() ) .forEach(e => {const n = e.substring)[t.adUnitCode] || {}, o = [t.adserverTargeting[e]]; r[n]
? (ρ[n] = r[n].concat(o).φίλτρο(f.hj)) : (r[n] = o), (i[t.adUnitCode] = r); })); }), { filteredBids: n, customKeysByUnit: i } ); })(g, d); έστω k = (function(t, n, r) {const o = !1 !== s.$W.getConfig( ‘targetingControls.allBidsCustomTargeting’ ), d = B(t, r) .concat( (συνάρτηση(e) {const t = s.$W.getwayConfig. i(e, s.$W.getConfig(‘enableSendAllBids’), t })(t) ) .concat( (function(t) { function n(e) { return e?.[a.iD.ADSERVER_TARGETING]; } συνάρτηση i(e) {const t = n(e); return Object.keys(t).map(function(e) { return ( (0, f.O8)(t[e]) && (τ[e] = t[e].split(‘,’).map(e => e.trim())), (0, f.cy)(t[e]) || (τ[e] = [t[e]]), { [e]: t[e] } ); }); } return e .getAdUnits() .filter(e => t.includes(e.code) && n(e)) .reduce((e, t) => {const n = i(t); return n && e.push({ [t.code]: n }), e; }, []) })(r) ); o && d.push( …(function(e, t) { return e.reduce((e, n) => {const i = Object.assign({}, n), r = t[i.adUnitCode]ο = []; επιστροφή ( r && Object.keys(r).forEach(e => { e && r[e] && o.push({ [e]: r[e] }); }), e.push({ [i.adUnitCode]: o }), και ); }, []) })(t, n) ); επιστροφή ( d.forEach(e => { !(function(e) { Object.keys(e).forEach(t => { e[t].forEach(e => {const t = Object.keys(e); -1 === h.indexOf(t[0]) && (h = t.concat(h)); }); }); })(μι); }), δ ); })(I(S, c, C, κενό 0, l), R, g); const U = Object.keys(Object.assign({}, a.Zh, a.x5)); έστω D = s.$W.getConfig(b); const _ = s.$W.getConfig(y); if (null != _ && null != D) ρίχνει νέο Error(v); (D = null != _ ? U.concat(_) : D || U), Array.isArray(D) && D.length > 0 && (k = (function(e, t) {const n = Object.assign({}, a.xS, a.x5), i = Object.keys(n), `r =Kaey}; επιτρεπόμενα κλειδιά [ ${t
.map(e => n[e]) .join(‘, ‘)} ]` ), e.map(e => {const o = Object.keys(e)[0]s = e[o].filter(e => {const o = Object.keys(e)[0]s = 0 === i.filter(e => 0 === o.indexOf(n[e])) .μήκος || t.find(e => {const t = n[e]; επιστροφή 0 === o.indexOf(t); }); επιστροφή (ρ[o] = !s), s; }); μι[o] = s; }); const o = Object.keys(r).filter(e => r[e]) return ( (0, f.fH)( `allowTargetingKeys – αφαιρέθηκαν κλειδιά [ ${o.join(
‘, ‘
)} ]` ), e.filter(e => e[Object.keys(e)[0]].length > 0) ); })(k, D)), (k = (συνάρτηση(e) {έστω t = e.map(e => ({
[Object.keys(e)[0]]: ε[Object.keys(e)[0]].map(e => ({
[Object.keys(e)[0]]: ε[Object.keys(e)[0]].join(‘,’) })) .reduce((e, t) => Object.assign(t, e), {}) })); return ( (t = t.reduce(function(e, t) { var n = Object.keys(t)[0]; επιστροφή (π[n] = Object.assign({}, π.χ[n]t[n])), ε; }, {})), t ); })(k)); const $ = s.$W.getConfig( ‘targetingControls.auctionKeyMaxChars’ ); return ( $ && ((0, f.fH)( `Εντοπίστηκε το ‘targetingControls.auctionKeyMaxChars’ ήταν ενεργό για αυτήν τη δημοπρασία, ορίστηκε με όριο ${$} χαρακτήρων. Εκτέλεση ελέγχων στα κλειδιά δημοπρασίας…` ), (k = (function(e, t) { let n = (0, f.max)(i.s =e)(e. ({ adUnitCode: e, adserverTargeting: n[e]
})) .sort(T()); return i.reduce(function(e, i, r, o) { έστω s = ((a = i.adserverTargeting), Object.keys(a).reduce(function(e, t) { return ( e + `${t}%3d${encodeURIcomponent(a[t])}%26` ); }, ”)); var a; r + 1 === o.length && (s = s.slice(0, -3)); έστω d = i.adUnitCode, c = s.length; επιστροφή ( c { k[e] || (κ[e] = {}); }), k ); }), s.$W.getConfig(‘targetingControls’, function(e) { null != (0, gA)(e, b) && null != (0, gA)(e, y) && (0, f.vV)(v); }), (t.setTargetingForGPT = (0, gA)(r,c). t.getAllTargeting(n), o = Object.fromEntries(h.map(e => [e, null])); Object.entries(C(Object.keys(r), i)).forEach(e => {let [t, n] = e; n.length > 1 && (0, f.JE)( `Βρέθηκαν πολλές θέσεις που ταιριάζουν: ${t}. Η στόχευση θα οριστεί σε όλες τις αντίστοιχες υποδοχές, οι οποίες μπορεί να οδηγήσουν σε διπλότυπες εμφανίσεις εάν ζητηθούν περισσότερες από μία από το GAM. Για να το επιλύσετε αυτό, βεβαιωθείτε ότι τα ορίσματα για το setTargetingForGPTAsync επιλύουν την επιθυμητή θυρίδα σε μια μεμονωμένη υποδοχή`itlysE. n.forEach(e => { Object.keys(r[t]).forEach(e => {έστω n = r[t][e]; ‘string’ == τύπος n && -1 !== n.indexOf(‘,’) && (n = n.split(‘,’)), (r[t][e] = n); }), (0, f.OG)( `Προσπάθεια ορισμού targeting-map για υποδοχή: ${e.getSlotElementId()} με targeting-map:`, r[t]
), e.updateTargetingFromMap( Object.assign({}, o, r[t]) ); }); }), Object.keys(r).forEach(t => { Object.keys(r[t]).forEach(n => { ‘hb_adid’ === n && e.setStatusForBids(r[t][n]a.tl.BID_TARGETING_SET); }); }), t.targetingDone(r), d.Ic(a.qY.SET_TARGETING, r); }, ‘setTargetingForGPT’ )), (t.targetingDone = (0, c.A_)( ‘sync’, function(e) { return e; }, ‘targetingDone’ )), (t.getWinningBids = function(e, t) { let n = arguments.length > 2 && void 0 ![2]
? επιχειρήματα[2]
: p.Vk, i = arguments.length > 3 && void 0 !== ορίσματα[3]
? επιχειρήματα[3]
: f.Q0; const s = t || A(n, i), a = r(e); return s .filter(e => a.includes(e.adUnitCode)) .filter(e => !0 === ouget(e.bidderCode, ‘allowZeroCpmBids’) ? e.cpm >= 0 : e.cpm > 0 ) .map(e =(e)(e)(e.ph) => s .filter(t => (t.adUnitCode === e ? t : null)) .reduce(p.Vk) ); }), (t.setTargetingForAst = συνάρτηση(e) { έστω n = t.getAllTargeting(e); δοκιμάστε { t.resetPresetTargetingAST(e); } catch (e) { (0, f.vV)(‘δεν είναι δυνατή η επαναφορά της στόχευσης για AST’ + e); } Object.achekeys(n)για Object.ache(n) για E).[e]).forEach(t => { if ( ((0, f.OG)( `Προσπάθεια ορισμού στόχευσης για targetId: ${e} κλειδί: ${t} τιμή: ${n[e][t]}` ), (0, f.O8)(n[e][t]) || (0, f.cy)(n[e][t])) ) { έστω i = {}, r = /pt[0-9]/; t.search(r) { nd(t, { qh: () => u, zt: () => g }); var i = n(1069), r = n(3272), o = n(2938), s = n(5139), a = n(6811), d = n(2604), c = n(5569), l = n(3441); const u = { syncEnabled: !0, filterSettings: { image: { bidders: ‘*’, filter: ‘include’ } }, syncsPerBidder: 5, syncDelay: 3e3, auctionDelay: 500 }; r.$W.setDefaults({ userSync: (0, i.Go)(u) }); const f = (0, o.CK)(‘usersync’); const g = (συνάρτηση(e) {έστω t = {}, n = {εικόνα: []iframe: [] }, o = new Set(), s = {}, u = { image: !0, iframe: !1 }, f = e.config; συνάρτηση g() {if (f.syncEnabled && e.browserSupportsCookies) { try { !(function() {if (!u.iframe) return; p(n.iframe, e => { ας [t, r] = e; (0, i.OG)(`Κλήση συγχρονισμού χρήστη iframe για τον πλειοδότη: ${t}`), (0, i.SG)(r), (συνάρτηση(e, t) { e.image = e.image.filter(e => e[0] !== t); })(n, t); }); })(), (function() { if (!u.image) return; p(n.image, e => { let [t, n] = e; (0, i.OG)( `Κλήση συγχρονισμού χρήστη εικονοστοιχείων εικόνας για προσφορά: ${t}` ), (0, iz$)(n); }); })(); } catch (e) { return (0, i.vV)(‘Σφάλμα ενεργοποίησης συγχρονισμών χρήστη’, e); } n = { εικόνα: []iframe: [] }; } } συνάρτηση p(e, t) { (0, i.k4)(e).forEach(t); } συνάρτηση h(e, t) { έστω n = f.filterSettings; if ( (συνάρτηση(e, t) { if (e.all && e[t]) return ( (0, i.JE)( `Εντοπίστηκε παρουσία των “filterSettings.all” και “filterSettings.${t}” στη διαμόρφωση userSync. Δεν μπορείτε να συνδυάσετε “όλα” με διαμορφώσεις “iframe/image”, είναι αμοιβαία αποκλειστικές.` ), !1 ); έστω ν = ε.όλα ; ε. όλα : ε[t]r = e.all ; ‘όλα’ : t; αν (!n) επιστρέψει !1; έστω o = n.filter, s = n.bidders; if (o && ‘include’ !== o && ‘exclude’ !== o) return ( (0, i.JE)( `UserSync “filterSettings.${r}.filter” η ρύθμιση ‘${o}’ δεν είναι έγκυρη επιλογή. χρησιμοποιήστε είτε ‘συμπερίληψη’ ή ‘εξαίρεση’.’), !1 ); if ( ‘*’ !== s && !( Array.isArray(s) && s.length > 0 && s.every(e => (0, i.O8)(e) && ‘*’ !== e) ) ) return ( (0, i.JE)( `Εντοπίστηκε μη έγκυρη ρύθμιση “sfile. είτε ‘*’ (για να εκπροσωπεί όλους τους πλειοδότες) είτε μια σειρά από πλειοδότες.’ ), !1 ); επιστροφή !0; })(n, e) ) { u[e] = !0; ας = n.όλα ; n.όλα : n[e]r = ‘*’ === i.bidders ? [t] : i. πλειοδότες; const o = { περιλαμβάνουν: (e, t) => !e.includes(t), exclude: (e, t) => e.includes(t) }; επιστροφή o[i.filter || ‘include’](r, t); } επιστροφή !u[e]; } return ( r.$W.getConfig(‘userSync’, e => {if (e.userSync) { έστω t = e.userSync.filterSettings; (0, i.Qd)(t) && (t.image || t.all || (e.userSync.filterSettings: “e.userSync.filterSettings: ‘=’ filterSettings. })).[d.Dk] === c.tW) { const n = e[d.bt]i = ε[d.iK]; if (!t.canBidderRegisterSync(n, i)) return { allow: !1, λόγος: Οι συγχρονισμοί `${n} δεν είναι ενεργοποιημένοι για ${i}` }; } }), (t.registerSync = (t, r, u) => o.has(r) ? (0, i.OG)( `ήδη ενεργοποιήθηκαν συγχρονισμοί για “${r}”, αγνοώντας την κλήση registerSync` ) : f.syncEnabled && (0, i.cy)(n[t]) ? r ? 0 !== f.syncsPerBidder && Number(s[r]) >= f.syncsPerBidder ? (0, i.JE)(`Υπέρβαση αριθμού συγχρονισμών χρήστη για “${r}””) : void ( e.isAllowed( a.Ml, (0, ls)(c.tW, r, { [d.bt]: t, [d.e3]: u }) ) && (n[t].Σπρώξτε([r, u]), (s = (function(e, t) { return e[t] ? (μι[t] += 1) : (π[t] = 1), e; })(s, r))) : (0, i.JE)(‘Απαιτείται πλειοδότης για την εγγραφή συγχρονισμού’) : (0, i.JE)(‘Τύπος συγχρονισμού χρήστη “${t}” δεν υποστηρίζεται’)), (t.bidderDone = o.add.bind(o)), (t.syncUsers = όρισμα >id&leng. !== επιχειρήματα[0]
? επιχειρήματα[0]
: 0; εάν (ε) επιστροφή setTimeout(g, Number(e)); σολ(); }), (t.triggerUserSyncs = () => { f.enableOverride && t.syncUsers(); }), (t.canBidderRegisterSync = (e, t) => !f.filterSettings || !h(e, t)), t ); })( Object.defineProperties( { config: r.$W.getConfig(‘userSync’), isAllowed: s.io, regRule: s.qB }, { browserSupportsCookies: { get: function() { return !(0, i.Vt)() && f.cook)}; }, 1069: (e, t, n) => { nd(t, { $D: () => U, $z: () => Ue, Bg: () => Ke, Bj: () => Qe, Bk: () => ge, Bq: () => αυτός, CA: () => K, D4: D: () => K, D4: D: () Ge, El: () => Ye, Et: () => ne, Ez: () => Y, Fq: () => We, GE: () => Se, Go: () => we, II: () => ye, Im: () => oe, JE: () => F, Lm: () => re, N9: () => Re, O: () => Ot: () => T, PB: () => Je, Q0: () => Ee, Qd: () => δηλ., SB: () => $e, SG: () => ue, SH: () => De, Tz: () => fe, U6: () => ke, Up: () => Pe, U: V =) () Te, YE: () => P, ZA: () => be, ZK: () => Ze, _s: () => ae, al: () => Ie, bD: () => He, bL: () => k, bz: () => Ne, c$: () => Fe, cD: () => w:>cf: => J, fH: () => G, fp: () => Z, gM: () => Ce, h0: () => L, hj: () => pe, hw: () => Q, iC: () => qe, k4: () => Ae, kK: () => _, l4: () () => S, mM: () => C, mb: () => q, nT: () => Xe, ro: () => le, s0: () => R, t1: () => ve, vE: () => Be, vV: () => H, wD: () => _e, xQ: () =: () z: () () => ce, D: var i = n(3272), r = n(5751), o = n(8969), s = n(5555), a = n(7873), d = ‘Συμβολοσειρά’, c = ‘Συνάρτηση’, l = ‘Αριθμός’, u = ‘Αντικείμενο’, f = ‘Boolean’, g = Αντικείμενο. έστω p, h, m = Boolean(window.console), b = Boolean(m && window.console.log), y = Boolean(m && window.console.info), v = Boolean(m && window.console.warn), E = Boolean(m && window.console.error); const A = (0, am)(); συνάρτηση w(e) { p = e; } συνάρτηση I() { null != p && p(…ορίσματα); } const T = (function() {έστω e; return () => ( (!h || !e || Date.now() – e > 20) && (C.resetWinDimensions(), (e = Date.now())), h ); })(); const C = { checkCookieSupport: Se, createTrackPixelIframeHtml: function(e) { έστω t = !(arguments.length > 1 && void 0 !== ορίσματα[1]) || επιχειρήματα[1]n = arguments.length > 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: ”; εάν (! e) επιστρέψει”; t &&(e = encodeURI(e)); n &&(n = `sandbox=”${n}”`); επιστροφή “; }, getWindowSelf: N, getWindowTop: q, canAccessWindowTop: V, getWindowLocation: W, insertUserSyncIframe: ue, insertElement: ae, isFn: Z, triggerPixel: ce, logError: H, logWarn: par. Me, formatQS : function (e) { return Object . κλειδιά ( ε ) . χάρτης (t => Πίνακας. isArray (e)[t]) ? μι[t].map(e => `${t}[]=${e}`).join(‘&’) : `${t}=${e[t]}` ) .join(‘&’); }, deepEqual: He, resetWinDimensions: function() { const e = V() ? C.getWindowTop() : C.getWindowSelf(); h = { οθόνη: { πλάτος: ε.οθόνη e.outerWidth, outerHeight: e.outerHeight, visualViewport: { height: e.visualViewport?.height, πλάτος: e.visualViewport?.width }, document: {documentElement: {clientWidth: e.document?.documentElement?.clientWidth,clientWidth,clientElement? e.document?.documentElement?.scrollTop, scrollLeft: e.document?.documentElement?.scrollLeft }, body: { scrollTop: document.body?.scrollTop, scrollLeft: document.body?.scrollLeft, clientWidth: document.body?.clientWidth;document. } }; var B, O = ((B = 0), function() { return ++B; }); συνάρτηση R() { return ( O() + Math.random() .toString(16) .substr(2) ); } συνάρτηση S(e) { return e ? ( e ^ ((παράθυρο && window.crypto && window.crypto.getRandomValues ? crypto.getRandomValues(new Uint8Array(1))[0] % 16 : 16 * Math.random()) >> (e / 4)) ).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, S); } συνάρτηση k(e) { έστω t = ”; για (var n σε e) e.hasOwnProperty(n) && (t += n + ‘=’ + encodeURIcomponent(e[n]) + ‘&’); επιστροφή (t = t.replace(/&$/, ”)), t; } συνάρτηση U(e) { return e && Object.getOwnPropertyNames(e).length > 0 ? Object.keys(e) .map(t => `${t}=${encodeURIcomponent(e[t])}`) .join(‘&’) : ”; } συνάρτηση D(e) { return ‘string’ == typeof e ? e .split(/s*,s*/) .map(e => e.match(/^(d+)x(d+)$/i)) .filter(e => e) .map(e => { let [t, n, i] = e; απόδοση [parseInt(n, 10), parseInt(i, 10)]; }) : Array.isArray(e) ? x(e) ? [e]
: e.filter(x) : []; } συνάρτηση _(e) { return D(e).map($); } συνάρτηση $(e) { return e[0] + ‘x’ + e[1]; } συνάρτηση j(e) { return { w: e[0]η: ε[1] }; } συνάρτηση x(e) { return height(e) && 2 === e.length && !isNaN(e[0]) && !isNaN(π[1]) } συνάρτηση q() { return window.top; } συνάρτηση N() { return window.self; } συνάρτηση W() { return window.location; } συνάρτηση P() { return document; } συνάρτηση V() { try { if (C.getWindowTop().location.href) return !0; } catch (e) { return !1; } } συνάρτηση M() { J() && b && console.log.apply(κονσόλα, z(ορίσματα, ‘ΜΗΝΥΜΑ:’)); } συνάρτηση G() { J() && y && console.info.apply(console, z(arguments, ‘INFO:’)); } συνάρτηση F() { J() && v && console.warn.apply(κονσόλα, z(ορίσματα, ‘ΠΡΟΕΙΔΟΠΟΙΗΣΗ:’)), I(o.qY.AUCTION_DEBUG, { type: ‘WARNING’, ορίσματα }); } συνάρτηση H() { J() && E && console.error.apply(console, z(arguments, ‘ERROR:’)), I(o.qY.AUCTION_DEBUG, { type: ‘ERROR’, ορίσματα }); } συνάρτηση L(e) { συνάρτηση t(t) { return function() { for ( var n = arguments.length, i = new Array(n), r = 0; r {const e = { border: ‘0px’, hspace: ‘0’, vspace: ‘0’, marginWidth: ‘0’, marginHeight: ‘0’, scrolling: ‘no’, frameBorder: ‘0’, allowtransparency: ‘true’ }; return function (true&.ng) {letre&ng, όρισμα (t, th, ). 0 !== ορίσματα[2]
? επιχειρήματα[2]
: {}; const r = t.createElement(‘iframe’); επιστροφή ( Object.assign(r, Object.assign({}, e, n)), Object.assign(r.style, i), r ); }; })(); συνάρτηση K() { return Q( έγγραφο, { id: R(), πλάτος: 0, ύψος: 0, src: ‘about:blank’ }, { display: ‘none’, ύψος: ‘0px’, πλάτος: ‘0px’, περίγραμμα: ‘0px’ } ); } συνάρτηση Y(e) { return Me(W().search)[e] || ”; } συνάρτηση X(e, t) { return g.call(e) === ‘[object ‘ + t + ‘]’; } συνάρτηση Z(e) { return X(e, c); } συνάρτηση ee(e) { return X(e, d); } const te = Array.isArray.bind(Array); συνάρτηση ne(e) { return X(e, l); } συνάρτηση ie(e) { return X(e, u); } συνάρτηση re(e) { return X(e, f); } συνάρτηση oe(e) { return ( !e || (te(e) || ee(e) ? !(e.length > 0) : Object.keys(e).length {const r = function() { e.removeEventListener(‘load’, r), e.removeEventListener(‘error’, r), null != n && window.clearTimeout(n), i(); }; e.addEventListener(‘load’, rnuevent’), error. != t && (n = window.setTimeout(r, t)); } συνάρτηση ce(e, t, n) { const i = new Image(); t && C.isFn(t) && de(i, n).then(t), (i.src = e); } συνάρτηση le(e) { if (!e) return; const t = K(); var n; C.insertElement(t, έγγραφο, ‘σώμα’), (n = t.contentWindow.document).open(), n.write(e), n.close(); } συνάρτηση ue(e, t, n) { let i = C.createTrackPixelIframeHtml( e, !1, ‘allow-scripts allow-same-origin’ ), r = document.createElement(‘div’); r.innerHTML = i; έστω o = r.firstChild; t && C.isFn(t) && de(o, n).then(t), C.insertElement(o, document, ‘html’, !0); } συνάρτηση fe(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: encodeURI; εάν (!e) επιστρέψει ”; ας n = ‘
‘; επιστροφή (n += ‘
‘), n; } συνάρτηση ge(e) { return Array.from(e.matchAll(/$({[^}]+})/g)) .map(e => e[1]) .reduce( (e, t) => e.replace(‘$’ + encodeURIcomponent(t), ‘$’ + t), encodeURI(e) ); } συνάρτηση pe(e, t, n) { return n.indexOf(e) === t; } συνάρτηση he(e, t) { return e.concat(t); } function me(e, t) { if (e) return t .flatMap(e => e.bids) .find(t => [‘bidId’, ‘adId’, ‘bid_id’].some(n => t[n] === ε)); } συνάρτηση be() { return (arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: A.adUnits ) .map(e => e.bids.map(e => e.bidders).reduce(he, [])) .reduce(αυτός, []) .filter(e => void 0 !== e) .filter(pe); } συνάρτηση ye() { if ( window.googletag && Z(window.googletag.pubads) && Z(window.googletag.pubads().getSlots) ) return !0; } συνάρτηση ve() { if (window.apntag && Z(window.apntag.getTag)) return !0; } const Ee = (e, t) => t.cpm – e.cpm; συνάρτηση Ae(e) { έστω t = e.length; for (; t > 0; ) {έστω n = Math.floor(Math.random() * t); t–; ας i = ε[t]; (μι[t] = ε[n]), (π[n] = i); } επιστροφή e; } συνάρτηση we(e) { return (0, rQ)(e) || {}; } συνάρτηση Ie() { try { return C.getWindowSelf() !== C.getWindowTop(); } catch (e) { return !0; } } function Te() { return /^((?!chrome|android|crios|fxios).)*safari/i.test( navigator.userAgent ); } συνάρτηση Ce(e, t) { if (e) return Object.entries(t).reduce((e, t) => {let [n, i] = t; return e.replace( new RegExp(‘\$\{‘ + n + ‘\}’, ‘g’), i || ” ); }, e); } συνάρτηση Be() { return new Date().getTime(); } συνάρτηση Oe() { return ( (window.performance && window.performance.now && window.performance.now()) || 0 ); } function Re() { return !1 !== i.$W.getConfig(‘deviceAccess’); } συνάρτηση Se() { if (window.navigator.cookieEnabled || document.cookie.length) return !0; } συνάρτηση ke(e, t) { if (t e[t]) .reduce((t, n) => Object.assign(t, { [n]: ε[n] }), {}); } συνάρτηση _e(e) { const t = [‘banner’, ‘native’, ‘video’]n = [‘instream’, ‘outstream’, ‘adpod’]; επιστροφή ( !!Object.keys(e).every(e => t.includes(e)) && (!e.video || !e.video.context || n.includes(e.video.context)) ); } συνάρτηση $e(e, t, n) { return e .filter(e => e.code === t) .flatMap(e => e.bids) .filter(e => e.bidder === n) .map(e => e.params || {}); } συνάρτηση je() { return ( ‘1’ === navigator.doNotTrack || ‘1’ === window.doNotTrack || ‘1’ === navigator.msDoNotTrack || ‘ναι’ === navigator.doNotTrack ); } const xe = (e, t) => e.getAdUnitPath() === t || e.getSlotElementId() === t; συνάρτηση qe(e) { return t => xe(e, t); } συνάρτηση Ne(e, t) {const n = Object.keys(e.mediaTypes || {banner: ‘banner’ }).join( ‘, ‘ ); return `n Το ${e.code} είναι μια ενότητα διαφημίσεων ${n}n που περιέχει πλειοδότες που δεν υποστηρίζουν ${n}: ${t}.n Αυτός ο πλειοδότης δεν θα λάβει ζήτηση.n `; } const We = Number.isInteger.bind(Number); συνάρτηση Pe(e, t) { return ‘object’ != typeof e ? {} : t.reduce((n, i, r) => { if (‘function’ == typeof i) return n; έστω o = i, s = i.match(/^(.+?)sass(.+?)$/i); s && ((i = s[1]), (ο = s[2])); ας α = ε[i]; επιστροφή ( ‘συνάρτηση’ == τύπος t[r + 1] && (a = t[r + 1](a, n)), void 0 !== a && (n[o] = a), n ); }, {}); } συνάρτηση Ve(e, t) { return te(e) && (!t || e.length === t) && e.every(e => We(e)); } συνάρτηση Me(e) { return e ? e .replace(/^?/, ”) .split(‘&’) .reduce((e, t) => { ας [n, i] = t.split(‘=’); επιστροφή ( /[]$/.test(n) ? ((n = n.replace(‘[]’, ”)), (π[n] = ε[n] || []), ε[n].push(i)) : (π[n] = i || ”), ε ); }, {}) : {}; } συνάρτηση Ge(e, t) { let n = document.createElement(‘a’); t && ‘noDecodeWholeURL’ στο t && t.noDecodeWholeURL ? (n.href = e) : (n.href = decodeURIcomponent(e)); ας = t && ‘decodeSearchAsString’ στο t && t.decodeSearchAsString; return { href: n.href, πρωτόκολλο: (n.protocol || ”).replace(/:$/, ”), όνομα κεντρικού υπολογιστή: n.hostname, port: +n.port, pathname: n.pathname.replace(/^(?!/)/, ‘/’), αναζήτηση: i ? n.search : C.parseQS(n.search || ”), hash: (n.hash || ”).replace(/^#/, ”), host: n.host || window.location.host }; } συνάρτηση Fe(e) { return ( (e.πρωτόκολλο || ‘http’) + ‘://’ + (e.host || e.hostname + (e.port ? `:${e.port}` : ”)) + (e.pathname || ”) + (e.search ? `?${C.formatQS(e.sh) +earch |` || `#${e.hash}` : ”) ); } συνάρτηση He(e, t) { let { checkTypes: n = !1 } = arguments.length > 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: {}; αν (e === t) επιστρέψει !0; if ( ‘αντικείμενο’ != τύπος e || null === e || ‘αντικείμενο’ != τύπος t || null === t ) return !1; const i = Array.isArray(e), r = Array.isArray(t); if (i && r) { if (e.length !== t.length) return !1; για (έστω i = 0; i < e.μήκος; i++) εάν (!He(e[i]t[i]{ checkTypes: n })) return !1; επιστροφή !0; } if (i || r) return !1; αν (n && e.constructor !== t.constructor) επιστρέψει !1; const o = Object.keys(e), s = Object.keys(t); αν (o.length !== s.length) επιστρέψει !1; for (const i of o) { if (!Object.prototype.hasOwnProperty.call(t, i)) return !1; αν (! Αυτός (π[i]t[i]{ checkTypes: n })) return !1; } επιστροφή !0; } συνάρτηση Le(e) { for ( έστω t = 0; t < (ορίσματα.μήκος <= 1 ? 0 : ορίσματα.μήκος – 1); t++ ) { const n = t + 1 < 1 || ορίσματα.μήκος <= t + 1 ? void 0 : ορίσματα[t + 1]; ie(n) && ze(e, n); } επιστροφή e; } συνάρτηση ze(e, t) { if (!ie(e) || !ie(t)) return; const n = Object.keys(t); for (έστω i = 0; i { e[r].some(e => He(e, t)) || μι[r].push(t); }) : (π[r] = […o]) : (π[r] = o); } } συνάρτηση Je(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: 0, n = συνάρτηση(e, t) { if (Z(Math.imul)) return Math.imul(e, t); var n = (4194303 & e) * (t |= 0); επιστροφή ( 4290772992 & e && (n += ((4290772992 & e) * t) | 0), 0 | n ); }, i = 3735928559 ^ t, r = 1103547991 ^ t; for (έστω t, o = 0; o >> 16), 2246822507) ^ n(r ^ (r >>> 13), 3266489909)), (r = n(r ^ (r >>> 16), 2246822507) ^ n(i>1 ^ 3266489909)), (4294967296 * (2097151 & r) + (i >>> 0)).toString() ); } συνάρτηση Qe(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: function(e) { return e; }; const n = new Map(), i = function() { const i = t.apply(this, επιχειρήματα); επιστροφή ( n.has(i) || n.set(i, e.apply(this, ορίσματα)), n.get(i) ); }; επιστροφή (i.clear = n.clear.bind(n)), i; } συνάρτηση Ke(e, t) { Object.entries(t).forEach(t => {let [n, i] = t; επιστροφή e.setAttribute(n, i); }); } συνάρτηση Ye(e, t) { έστω n = arguments.length > 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: e => e, i = 0, r = e.length && e.length – 1; const o = n(t); for (; r – i > 1; ) { const t = i + Math.round((r – i) / 2); o > n(π[t]) ? (i = t) : (r = t); } για (; e.length > i && o > n(π[i]) ) i++; επιστροφή i; } const Xe = (function() { let e; return function() { if (void 0 !== e) return e; try { void 0 === window.CompressionStream ? (e = !1) : (νέο παράθυρο.CompressionStream(‘gzip’), (e = !0)); {} 😉 = ! })(); async function Ze(e) { ‘string’ != typeof e && (e = JSON.stringify(e)); const t = new TextEncoder().encode(e), n = new Blob([t]) .stream() .pipeThrough(new window.CompressionStream(‘gzip’)), i = await new Response(n).blob(), r = await i.arrayBuffer(); επιστροφή νέου Uint8Array(r); } }, 2621: (e, t, n) => { function i(e) { return ( !e?.gdprApplies || !0 === e?.vendorData?.purpose?.consens?.[1]
) } nd(t, { C: () => i }); }, 6894: (e, t, n) => {nd(t, { Ak: () => m, BO: () => g, K7: () => p }); var i = n(3272); const r = ‘performanceMetrics’, o = window.performance && window.performance.now ? () => window.performance.now() : () => Date.now(), s = new WeakMap(); συνάρτηση a() { έστω { τώρα: e = o, mkNode: t = l, mkTimer: n = c, mkRenamer: i = e => e, nodes: r = s } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; return function() { return (function o(s) { let a = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: e => ({ forEach(t) { t(e); } }); a = i(a); const d = ((c = ‘timestamps’), function(e) { return s.dfWalk({ visit(t, n) {const i = n[c]; εάν (i.hasOwnProperty(e)) επιστρέψει i[e]; } }); }); var c; συνάρτηση l(e, t) {const n = a(e); s.dfWalk({ follow: (e, t) => t.propagate && (!e || !e.stopPropagation), visit(e, i) { n.forEach(n => { null == e ? (i.metrics[n] = t) : (i.groups.hasOwnProperty(n) || (i.groups[n] = []), i.ομάδες[n].push(t)); }); } }); } συνάρτηση u(t) { return n(e, e => l(t, e)); } συνάρτηση f() { έστω e = {}; return ( s.dfWalk({ visit(t, n) { e = Object.assign( {}, !t || t.includeGroups ? n.groups : null, n.metrics, e ); } }), e ); } const g = {startTiming: u, μέτροΧρόνος: συνάρτηση(e, t) { return u(e).stopAfter(t)(); }, metreHookTime: function(e, t, n) { const i = u(e); return n( (συνάρτηση(e) {const t = i.stopBefore(e); return ( (t.bail = e.bail && i.stopBefore(e.bail)), (t.stopTiming = i), (t.untimed = e), t);})(t) ); }, σημείο ελέγχου: function(t) { s.timestamps[t] = e(); }, timeSince: function(t, n) { const i = d(t), r = null != i ? e() – i : null; return null != n && l(n, r), r; }, timeBetween: function(e, t, n) { const i = d(e), r = d(t), o = null != i && null != r ? r – i : null; return null != n && l(n, o), o; }, setMetric: l, getMetrics: f, fork: function() { let { propagate: e = !0, stopPropagation: n = !1, includeGroups: i = !1 } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; επιστροφή o(t([
[
s,
{
propagate: e,
stopPropagation: n,
includeGroups: i
}
]
]), α ); }, join: function(e) { let { propagate: t = !0, stopPropagation: n = !1, includeGroups: i = !1 } = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}; const o = r.get(e); null != o && o.addParent(s, { propagate: t, stopPropagation: n, includeGroups: i }); }, newMetrics: function() { return o(s.newSibling(), a); }, renameWith: function(e) { return o(s, e); }, toJSON: () => f() }; επιστροφή r.set(g, s), g; })(t([])); }; } συνάρτηση d(e, t, n) { return function() { t && t(); try { return e.apply(this, arguments); } τέλος { n && n(); } }; } συνάρτηση c(e, t) {const n = e(); έστω i = !1; συνάρτηση r() { i || (t(e() – n), (i = !0)); } return ( (r.stopBefore = e => d(e, r)), (r.stopAfter = e => d(e, null, r)), r ); } συνάρτηση l(e) { return { metrics: {}, timestamps: {}, groups: {}, addParent(t, n) { e.push([t, n]) }, newSibling: () => l(e.slice()), dfWalk() { let t, { visit: n, follow: i = () => !0, visited: r = new Set(), inEdge: o } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; if (!r.has(this)) { if ((r.add(this), (t = n(o, this)), null != t)) return t; για (Κωνστ [s, a] of e) if ( i(o, a) && ((t = s.dfWalk({ visit: n, follow: i, visited: r, inEdge: a })), null != t) ) return t; } } }; } const u = (() => {const e = συνάρτηση() {}, t = () => ({}), n = {γιαΚάθε: e }, i = () => null; (i.stopBefore = e => e), (i.stopAfter = e => e); const r = Object.defineSuff: addParent: e }, Object.fromEntries(
[‘metrics’, ‘timestamps’, ‘groups’].map(e => [e, { get: t }]) ) ); return a({ now: () => 0, mkNode: () => r, mkRenamer: () => () => n, mkTimer: () => i, κόμβοι: { get: e, set: e } })(); })(); έστω f = !0; συνάρτηση g(e) { return (f && e) || u; } i.$W.getConfig(r, e => { f = !!e[r]; }); const p = (() => {const e = a(); return function() { return f ? e() : u; }; })(); συνάρτηση h(e, t) { return function(n, i) { return function(r) { for ( var o = arguments.length, s = new Array(o > 1 ? o – 1 : 0), a = 1; a e.metrics); h(‘addBidResponse.’, (e, t) => t.metrics); }, 5555: (e, t, n) => { nd(t, { U9: () => s, cb: () => a, v6: () => d }); var i = n(43), r = n(7873); const o = (0, rm)().setTimeout ?? iw, s = (0, rm)().Υπόσχεση ?? ik; συνάρτηση a() { έστω e = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: 0; επιστροφή νέου s(t => { o(t, e); }); } συνάρτηση d() { έστω e, t, { sozFactory: n = e => new s(e) } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; συνάρτηση i(e) { return t => e(t); } return { υπόσχεση: n((n, i) => { (e = n), (t = i); }), επίλυση: i(e), απόρριψη: i(t) }; } }, 2713: (e, t, n) => { function i(e, t) { return e === t ? 0 : e 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: e => e; επιστροφή (t, n) => i(e(t), e(n)); } συνάρτηση o() { έστω e = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: i; επιστροφή (t, n) => -e(t, n) || 0; } συνάρτηση s() { for ( var e = arguments.length, t = νέος πίνακας(e), n = 0; n 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: i; επιστροφή (t, n) => (e(n, t) 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: i ) ); } nd(t, { Bp: () => a, Bq: () => f, NV: () => r, Vk: () => u }); const c = r(e => e.cpm), l = r(e => e.responseTimestamp), u = d(s(c, o(r(e => e.timeToRespond)))), f = d(s(c, o(l))); d(s(c, l)); }, 6853: (e, t, n) => {nd(t, {H: () => l }); var i = n(5555), r = n(1069); έστω o = null, s = 0, a = []; συνάρτηση d() { document.hidden ? (o = Date.now()) : ((s += Date.now() – (o ?? 0)), (o = null), a.forEach(e => { έστω { callback: t, startTime: n, setTimerId: i } = e; επιστροφή i(c(t, s – n) (a));} [])); } συνάρτηση c(e, t) { const n = s; έστω i = setTimeout(() => { s === n && null == o ? e() : null != o ? a.push({ callback: e, startTime: n, setTimerId(e) {i = e; }) : (i = c(e, s – n))); επιστροφή () => i; } συνάρτηση l() { έστω { startTime: e = r.vE, ttl: t = () => null, monotonic: n = !1, slack: o = 5e3 } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; const s = new Map(), a = []d = []l = n ; e => d.push(e) : e => d.splice( (0, r.El)(d, e, e => e.expiry), 0, e ); ας u, f; συνάρτηση g() { if ((f && clearTimeout(f), d.length > 0)) {const e = (0, r.vE)(); (u = Math.max(e, d[0].expiry + o)), (f = c(() => {const e = (0, r.vE)(); έστω t = 0; for (const n of d) {if (n.expiry > e) break; a.forEach(e => {try { e(n.item); } catch (e) { (0, r.s.),(de) V) t++; d.splice(0, t), (f = null), g(}, u – e)); } else f = null; } συνάρτηση p(n) { const r = {}, s = h; ας α? συνθ [d, c] = Object.entries({ start: e, delta: t }).map(e => {έστω t,
[d, c] = e; συνάρτηση return() {const e = (t = {}); i.U9.resolve(c(n)).then(n => { e === t && ((r[d] = n), s === h && null != r.start && null != r.delta && ((a = r.start + r.delta), l(p), (null == f || u > a + o) && g())); }); }; }), p = { item: n, refresh: c, get expiry() { return a; } }; επιστροφή d(), c(), p; } έστω h = {}; επιστροφή {
[Symbol.iterator]: () => s.keys(), add(e) { !s.has(e) && s.set(e, p(e)); }, clear() { (d.length = 0), g(), s.clear(), (h = {}); }, toArray: () => Array.from(s.keys()), refresh() { (d.length = 0), g(); for (const e of s.values()) e.refresh(); }, onExpiry: e => ( a.push(e), () => {const t = a.indexOf(e); t >= 0 && a.splice(t, 1); } ) }; } document.addEventListener(‘visibilitychange’, d); }, 3895: (e, t, n) => { nd(t, { H6: () => a, V0: () => c, Zy: () => d, aP: () => l, vk: () => u }); var i = n(1069), r = n(3272), o = n(9214), s = n(6881); const a = ‘εκτός ροής’, d = νέος χάρτης([
[
‘mimes’,
e =>
Array.isArray(e) &&
e.length > 0 &&
e.every(e => ‘string’ == typeof e)
],
[‘minduration’, i.Fq],
[‘maxduration’, i.Fq],
[‘startdelay’, i.Fq],
[‘maxseq’, i.Fq],
[‘poddur’, i.Fq],
[‘protocols’, i.Uu],
[‘w’, i.Fq],
[‘h’, i.Fq],
[‘podid’, i.O8],
[‘podseq’, i.Fq],
[‘rqddurs’, i.Uu],
[‘placement’, i.Fq],
[‘plcmt’, i.Fq],
[‘linearity’, i.Fq],
[‘skip’, e => [1, 0].περιλαμβάνει(ε)],
[‘skipmin’, i.Fq],
[‘skipafter’, i.Fq],
[‘sequence’, i.Fq],
[‘slotinpod’, i.Fq],
[‘mincpmpersec’, i.Et],
[‘battr’, i.Uu],
[‘maxextended’, i.Fq],
[‘minbitrate’, i.Fq],
[‘maxbitrate’, i.Fq],
[‘boxingallowed’, i.Fq],
[‘playbackmethod’, i.Uu],
[‘playbackend’, i.Fq],
[‘delivery’, i.Uu],
[‘pos’, i.Fq],
[‘api’, i.Uu],
[‘companiontype’, i.Uu],
[‘poddedupe’, i.Uu]
]); συνάρτηση c(e) { const t = e?.mediaTypes?.video; null != t && null == t.plcmt && (t.context === a || [2, 3, 4].περιλαμβάνει(τ.τοποθέτηση) ? (t.plcmt = 4) : t.context !== a &&
[2, 6].περιλαμβάνει(t.μέθοδος αναπαραγωγής) && (t.plcmt = 2)); } συνάρτηση l(e, t) { const n = e?.mediaTypes?.video; (0, i.Qd)(n) ? null != n && Object.entries(n).forEach(r => {let [o, s] = r; αν (!δ.έχει(ο)) επιστρέψει? d.get(o)(s) || (‘συνάρτηση’ == τύπος t ? t(o, s, e) : (διαγραφή n[o](0, i.JE)( `Invalid prop in adUnit “${e.code}”: Μη έγκυρη τιμή για την ιδιότητα mediaTypes.video.${o} ORTB. Η ιδιότητα έχει καταργηθεί.` ))); }) : (0, i.JE)( ‘validateOrtbVideoFields: το videoParams πρέπει να είναι αντικείμενο.’ ); } συνάρτηση u(e) { let { index: t = snindex } = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}; const n = t.getMediaTypes(e)?.video, i = n && n?.context, r = n && n?.useCacheKey, o = t.getAdUnit(e); επιστροφή f(e, o, n, i, r); } const f = (0, o.A_)( ‘συγχρονισμός’, συνάρτηση(e, t, n, o, s) {if (n && (s || o !== a)) {const { url: t, useLocal: n } = r.$W.getConfig(‘cache’) || {}; return Xml|st ||v ! tlpbjs.setConfig({ cache: { useLocal: true }});n ‘), !1 } return ( !(o == a && !s) || !!(e.renderer || (t && t.renderer) || n.renderer) } ); } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[769]{ 8944: (t, e, n) => {nd(e, { M: () => i }); var c = n(1069); συνάρτηση i() {const t = (0, c.Ot)(); δοκιμάστε { const e = t.innerHeight || t.document.documentElement.clientΎψος || t.document.body.clientΎψος || 0; επιστροφή { πλάτος: t.innerWidth || t.document.documentElement.clientWidth || t.document.body.clientWidth || 0, ύψος: e }; } catch (t) { return {}; } } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[139]{ 43: (t, e, n) => { nd(e, { k: () => c, w: () => r }); const s = 0, l = 1; τάξη γ { #t; #μι; constructor(t) { if (‘function’ != typeof t) hedh νέο Σφάλμα(‘resolver not a function’); const e = []n = []; αφήνω [c, r] = [s, l].map( t => function(l) {if (t === s && ‘function’ == typeof l?.then) l.then(c, r); else if (!e.length) for (e.push(t, l); n.length; ) n.shift()(); }); δοκιμάστε { t(c, r); } catch (t) { r(t); } (this.#t = e), (this.#e = n); } then(t, e) { const n = this.#t; return new this.constructor((l, c) => {const r = () => {έστω r = n[1],
[h, i] = n[0] === s ? [t, l] : [e, c]; if (‘function’ == typeof h) { try { r = h(r); } catch (t) { return void c(t); } i = l; } i(r); }; n.μήκος ; r() : this.#e.push(r); }); } catch(t) { return this.then(null, t); } τελικά(t) { έστω e; επιστροφή this.then( n => ((e = n), t()), n => ((e = this.constructor.reject(n)), t()) ).then(() => e); } static #n(t, e, n) { έστω s = t.length; συνάρτηση l() { e.apply(αυτό, ορίσματα), –s this.resolve(t).then( t => l(!0, t, e), t => l(!1, t, e) ) ); } static race(t) { return new this((e, n) => { this.#n(t, (t, s) => (t ? e(s) : n(s))); }); } static all(t) { return new this((e, n) => {έστω s = []; this.#n( t, (t, e, l) => (t ? (s[l] = e) : n(e)), () => e(s) ); }); } static allSettled(t) { return new this(e => { let n = []; this.#n( t, (t, e, s) => (n[s] = t ? { status: ‘fulfilled’, value: e } : { status: ‘rejected’, λόγος: e }), () => e(n) ); }); } static solve(t) { return new this(e => e(t)); } static reject(t) { return new this((e, n) => n(t)); } } συνάρτηση r(t) { έστω e = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: 0; εάν (e > 0) επιστρέψει setTimeout(t, e); t(); } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[85]{ 4595: (e, t, n) => {nd(t, { G: () => s }); const s = ‘(()=>{“χρήση αυστηρή”;window.render=function({ad:e,adUrl:t,width:n,height:i,instl:d},{mkFrame:r},s){if(!e&&!t)through{reason:”noAd”,message markup:”Mis URL”};{if(null==i){const e=s.document?.body;[e,e?.parentElement].filter((e=>null!=e?.style)).forEach((e=>e.style.height=”100%”))}const h=s.document,o={width:n??”100%”,height:i??”100%”};if(t&&!e?o.src=t:o.srcdoc=e,h.body.appendChild(r(h,o)),d&&s.frameElement){const e=s.frameElement.style;e.width=n?`${n}px`:”100vw”,e.height=i?`${i}px`:”100vh”}}}})();’; } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[109]{ 965: (t, e, n) => { nd(e, { c5: () => o }); var a = n(5555); const l = 0, c = 1, r = 2; συνάρτηση o(t) { έστω { apiName: e, apiVersion: n, apiArgs: o = [‘command’, ‘callback’, ‘parameter’, ‘version’]callbackArgs: s = [‘returnValue’, ‘success’]mode: i = l } = t, u = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: παράθυρο; const f = {}, d = `${e}Κλήση`, p = `${e}Επιστροφή`; συνάρτηση b(t) {const e = ‘string’ == τύπος t.data && t.data.includes(p) ? JSON.parse(t.data) : t.data; αν (ε;.[p]?.callId) { const t = e[p]; f.hasOwnProperty(t.callId) && στ[t.callId](…s.map(e => t[e])); } } καταστ [k, m] = (function() { έστω t, n = u, a = !1; for (; null != n; ) { try { if (‘function’ == typeof n[e]) { (t = n), (a = !0); διακοπή; } } catch (t) {} try { if (n.frames[`${e}Locator`]) { t = n; διακοπή; } } catch (t) {} if (n === u.top) break; n = n.γονέας; } επιστροφή [t, a]; })(); αν (!k) επιστρέψει? συνάρτηση g(t) { return ( (t = Object.assign({ version: n }, t)), o.map(e => [e, t[e]]) ); } συνάρτηση h(t, e, n, a) { const l = ‘function’ == typeof t; return function(r, o) { if ((a && a(), i !== c)) { (null == o || o ? e : n)(l ? void 0 : r); } l && t.apply(this, επιχειρήματα); }; } ας v; επιστροφή ( m ? (v = συνάρτηση() { έστω t = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; return new a.U9((n, a) => { const o = k[e]( …g({ …t, επανάκληση: t.callback || i === r ? h(t.callback, n, a) : void 0 }).map(t => { let [e, n] = t; επιστροφή n; }) ); (i === c || (null == t.ανάκληση && i === l)) && n(o); }); }) : (u.addEventListener(‘message’, b, !1), (v = function(t) { έστω e = arguments.length > 1 && void 0 !== ορίσματα[1] && ορίσματα[1]; επιστροφή νέου a.U9((n, a) => {const l = Math.random().toString(), r = {
[d]: { …Object.fromEntries( g(t).filter(t => { let [e] = t; επιστροφή ‘callback’ !== e; }) ), callId: l } }; (φά[l] = h( t?.callback, n, a, (e || null == t?.callback) && (() => { διαγραφή f[l]; }) )), k.postMessage(r, ‘*’), i === c && n(); }); })), Object.assign(v, { isDirect: m, close() { !m && u.removeEventListener(‘message’, b); } }) ); } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[10]{ 3806: (t, n, e) => { ed(n, { yq: () => c }); var o = e(6894), a = e(1069), s = e(7873), i = e(5555), r = e(2604); συνάρτηση c() { έστω t, n, e, { namespace: c, displayName: l, consentDataHandler: u, parseConsentData: m, getNullConsent: d, cmpHandlers: f, DEFAULT_CMP: g = ‘iab’, DEFAULT_CONSENT_th_TIMEOUT: void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; συνάρτηση C(t) { return `consentManagement.${c} ${t}`; } συνάρτηση D(t, n) { return t( Object.assign({ [`${c}Consent`]: u.getConsentData() }, n) ); } συνάρτηση h() { return n().then(t => { let { error: n } = t; return { error: n, consentData: u.getConsentData() }; }); } συνάρτηση T() { null == t && ((t = (function(t, n) {const e = new WeakSet(); return (0, o.Ak)(t, function(t, o) { return n() .then(n => {έστω { consentData: s, error: i } = n; !)&i | (e.add(i), (0, a.JE)(i.message, …(i.args || []))), t.call(this, o); }) .catch(n => { (0, a.vV)( `${n?.message} Ακύρωση δημοπρασίας σύμφωνα με τη διαμόρφωση consentManagement.`, …(n?.args || []) ), t.stopTiming(), ‘function’ == τύπος o.bidsBackHandler ? o.bidsBackHandler() : (0, a.vV)(‘Σφάλμα κατά την εκτέλεση του bidsBackHandler’); }); }); })(c, () => n())), (0, sm)().requestBids.before(t, 50), r.U3.before(D), (0, a.fH)( `${l} consentManagement module has been activated…` )); } return function(o) { if (((o = o?.[c]), !ο || ‘αντικείμενο’ != τύπος ο)) επιστροφή (0, a.JE)( C(‘δεν έχει οριστεί η διαμόρφωση, έξοδος από τη λειτουργική μονάδα διαχείρισης συναίνεσης’) ), null != t && ((0, sm)() .requestBids.getHooks({ hook: t }) .remove(), r.U3.getHooks:)),(}). {} ); έστω b, k; (0, a.O8)(o.cmpApi) ? (b = o.cmpApi) : ((b = g), (0, a.fH)( C( η ρύθμιση παραμέτρων δεν καθόρισε cmp. Χρήση προεπιλεγμένης ρύθμισης συστήματος (${g}).` ) )), (0, a.Et)(o.timeout) ? (k = o.timeout) : ((k = p), (0, a.fH)( C( Η ρύθμιση παραμέτρων δεν καθόρισε το χρονικό όριο λήξης. Χρήση προεπιλεγμένης ρύθμισης συστήματος (${p}).` ) )); const H = (0, a.Et)(o.actionTimeout) ? o.actionTimeout : null; έστω w; ‘στατικός’ === β ? (0, a.Qd)(o.consentData) ? ((e = o.consentData), (k = null), (w = () => νέο i.U9(t => t(u.setConsentData(m(e)))))) : (0, a.vV)( C( “config with cmpApi: “static” δεν καθόρισε τα δεδομένα συναίνεσης. Δεν θα υπάρχουν διαθέσιμες συναινέσεις:).”) f.hasOwnProperty(b) ; (w = στ[b]) : (u.setConsentData(null), (0, a.JE)( Το `${l} πλαίσιο CMP (${b}) δεν είναι υποστηριζόμενο πλαίσιο. Ακύρωση λειτουργικής μονάδας διαχείρισης συναίνεσης και συνέχιση της δημοπρασίας.` ), (w = () => i.U9.resolve())); const y = () => (function(t) { let n, {όνομα: e, consentDataHandler: o, setupCmp: a, cmpTimeout: s, actionTimeout: i, getNullConsent: r } = t; return ( o.enable(), new Promise(=t, c) => {let=1; && clearTimeout(n), (n = null != a ? setTimeout(() => {const n = o.getConsentData() ?? (u ? l : r()), a = ‘timeout σε αναμονή για ‘ + (u ? ‘ενέργεια χρήστη στο CMP’ : ‘CMP για φόρτωση’); o.set(n:Dataent) Σφάλμα(`${e} ${a}`) }, a) : null } a(function(t) { (l = t), u || ((u = !0), null != i && m(i)); }). .finally(() => {n && clearTimeout(n); }) .catch(t => {through (o.setConsentData(null), t); }) })({ name: l, consentDataHandler: u, setupCmp: w, cmpTimeout: k, actionNimeoutC: H; return ( (n = (() => { έστω t; return function() { return ( null == t && (t = y().catch(n => {through ((t = null), n); })), t ); }; })()), T(), { cmpHandler: b, cmpTimeout: k, actionTimeout: H, load: H requestBidsHook: t } ); }; } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[618]{ 981: (e, t, i) => { id(t, { m: () => h }); var r = i(9466), d = i(1e3), n = i(433), a = i(1069), s = i(5825), b = i(1445), o = i(3272), p = i(3172); var c = i(3323); var l = i(7873); var f = i(1371); var u = i(3005); const v = {
[d.S3]: { extPrebid: { fn: function(e, t) { (0, pJ)( e, ‘ext.prebid’, (0, a.D9)( {auctiontimestamp: t.auctionStart, targeting: { includewinners: !0, includebidderkeys: !1 } }, e.ext?). o.$W.getConfig(‘debug’) && (e.ext.prebid.debug = !0); } }, extPrebidChannel: { fn: function(e) { (0, pJ)( e, ‘ext.prebid.channel’, Object.assign( { name: ‘pbjs’, version: (0, lm)().version }, e.ext?.prebid?.channel ) ); } }, extPrebidAliases: { fn: function(e, t, i) { έστω { am: r = b.Ay } = arguments.length > 3 && void 0 !== ορίσματα[3]
? επιχειρήματα[3]
: {}; εάν (r.aliasRegistry[t.bidderCode]) { const i = r.bidderRegistry[t.bidderCode]; if (!i || !i.getSpec().skipPbsAliasing) { (0, pJ)( e, `ext.prebid.aliases.${t.bidderCode}`, r.aliasRegistry[t.bidderCode]
) const d = o.$W.getConfig(`gvlMapping.${t.bidderCode}`) || i?.getSpec?.().gvlid; d && (0, pJ)( e, `ext.prebid.aliasgvlids.${t.bidderCode}`, d ); } } } } },
[d.Tb]: { params: { fn: cW }, adUnitCode: { fn: function(e, t) {const i = t.adUnitCode; i && (0, pJ)(e, ‘ext.prebid.adunitcode’, i); } } },
[d.WR]: { mediaType: { fn: έτσι, προτεραιότητα: 99 }, videoCache: { fn: function(e, t) {if (e.mediaType === f.G_) { έστω { cacheId: i, url: r } = (0, nA)(t, ‘ext.prebid.cache.vast’) ||Xml’) ||Xml’) ||Xml’ {}; if (!i || !r) {const {hb_uuid: e, hb_cache_host: d, hb_cache_path: a } = (0, nA)(t, ‘ext.prebid.targeting’) || {}; e && d && a && ((i = e), (r = `https://${d}${a}?uuid=${e}`)); } i && r && Object.assign(e, { videoCacheKey: i, vastUrl: r }); } }, προτεραιότητα: -10 }, bidderCode: { fn(e, t, i) { (e.bidderCode = i.seatbid.seat), (e.adapterCode = (0, nA)(t, ‘ext.prebid.meta.adaptercode’) || i.bidRequest | e.bidRequest? } }, pbsBidId: { fn(e, t) {const i = (0, nA)(t, ‘ext.prebid.bidid’); (0, a.O8)(i) && (e.pbsBidId = i); } }, adserverTargeting: { fn(e, t) {const i = (0, nA)(t, ‘ext.prebid.targeting’); (0, a.Qd)(i) && (e.adserverTargeting = i); } }, extPrebidMeta: { fn(e, t) { e.meta = (0, a.D9)( {}, (0, nA)(t, ‘ext.prebid.meta’), e.meta ); } }, pbsWinTrackers: { fn: function(e, t) { (e.eventtrackers = e.eventtrackers || []),
[
[t.burl, u.OA],
[t?.ext?.prebid?.events?.win, u.RO]
].filter(t => { let [i, r] = t; return ( i && null == e.eventtrackers.find(e => { let { method: t, event: d, url: n } = e; return d === r && t === u.Ni && n === i; }) ); }) .forEach(t => { let [i, r] = t; e.eventtrackers.push({ μέθοδος: u.Ni, συμβάν: r, url: i }); }); } } },
[d.Cf]: { serverSideStats: { fn(e, t, i) { Object.entries({ errors: ‘serverErrors’, answertimemillis: ‘serverResponseTimeMs’ }).forEach(e => { let [r, d] = e; const a = (0, nA)( t, `ext.${r}.${i.bidderRequest.bidderCode}` ); ένα && ((i.bidderRequest[d] = a), i.bidRequests.forEach(e => (π[d] = α))); }); } } } }; var g = i(9766); const h = (0, a.Bj)(() => (0, rU)((0, gT)(), v, (0, d.yB)(d.e4))); }, 5825: (e, t, i) => { id(t, { o: () => a, s: () => n }); var r = i(1371), d = i(5561); const n = { [r.D4]: ‘πανό’, [r.s6]: ‘ιθαγενής’, [r.G_]: ‘video’ }; συνάρτηση a(e, t, i) { έστω a = i.mediaType; α || ((a = dXhasOwnProperty(t.mtype) ? dX[t.mtype]
: t.ext?.prebid?.type), n.hasOwnProperty(a) || (a = r.D4)), (e.mediaType = a); } }, 3323: (e, t, i) => { id(t, { W: () => d }); var r = i(3172); συνάρτηση d(e, t) { έστω i = t.params; i && (0, rJ)(e, `ext.prebid.bidder.${t.bidder}`, i); } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[498]{ 9766: (e, t, r) => {rd(t, { T: () => f, A: () => m }); const n = new WeakMap(); var i = r(1069), s = r(1371); var o = r(3895); var a = r(5561); var d = r(1e3), p = r(3858); const c = {
[d.S3]: { fpd: { priority: 99, fn(e, t) { (0, i.D9)(e, t.ortb2); } }, onlyOneClient: { priority: -99, fn: (0, p.i8)(‘ORTB request’) }, props: { fn(e, t) { Object.assign(e, { id: e.id || (0, i.lk)(), test: e.test || 0 }); const r = parseInt(t.timeout, 10); isNaN(r) || (e.tmax = r); } } },
[d.Tb]: { fpd: { priority: 99, fn(e, t) { (0, i.D9)(e, t.ortb2Imp); } }, id: { fn(e, t) { e.id = t.bidId; } }, banner: { fn: function(e, t, r) { if (r.mediaType && r.mediaType !== s.D4) return; const n = t?.mediaTypes?.banner; if (n) { const r = { topframe: !0 === (0, i.al)() ? 0 : 1 }; n.sizes && null == t.ortb2Imp?.banner?.format && (r.format = (0, iy$)(n.sizes).map(i.cf)), n.hasOwnProperty(‘pos’) && (r.pos = n.pos), (e.banner = (0, iy$), i. } } }, pbadslot: { fn(e) {const t = e.ext?.data?.pbadslot; (t && ‘string’ == τύπος t) || διαγραφή e.ext?.data?.pbadslot; } }, ασφαλής: { fn(e, t) { e.secure = e.secure ?? 1; } } },
[d.WR]: { mediaType: { priority: 99, fn: aK }, banner: { fn: (function() { let { createPixel: e = e => (0, i.Tz)(decodeURIcomponent(e), i.Bk) } = arguments.length > 0 && void 0 !== όρισμα[0]
? επιχειρήματα[0]
: {}; return function(t, r) { t.mediaType === s.D4 && (r.adm && r.nurl ? (t.ad = e(r.nurl) + r.adm) : r.adm ? (t.ad = r.adm) : r.nurl && (t.adUrl = r.nurl)); }; })() }, props: { fn(e, t, r) { Object.entries({ requestId: r.bidRequest?.bidId, seatBidId: t.id, cpm: t.price, νόμισμα: r.ortbResponse.cur || r.currency, πλάτος: t.iohratw, ύψος: t.iohratw dealId: t.dealid, creative_id: t.crid, creativeId: t.crid, burl: t.burl, ttl: t.exp || netRevenue: r.netRevenue }) .filter(e => { let. [t, r] = e; επιστροφή κενό 0 !== r; }) .forEach(t => { let [r, n] = t; επιστροφή (π[r] = n); }), ε.μετα || (e.meta = {}), t.domain && (e.meta.advertiserDomains = t.adomain), t.ext?.dsa && (e.meta.dsa = t.ext.dsa), t.cat && ((e.meta.primaryCatId = t.cat[0]), (e.meta.secondaryCatIds = t.cat.slice(1))), t.attr && (e.meta.attr = t.attr), t.ext?.eventtrackers && (e.eventtrackers = (e.eventtrackers ?? []).concat( t.ext.eventtrackers )); } } } }; (ντο[d.Tb].native = { fn: function(e, t, r) { if (r.mediaType && r.mediaType !== s.s6) return; έστω n = t.nativeOrtbRequest; n && ((n = Object.assign({}, r.nativeRequest, n)), n.assets?.length ? (e.native = (0, i.D9)( {}, { request: JSON.stringify(n), ver: n.ver }, e.native )) : (0, i.native asset istype.JE)( Το εγγενές αίτημα παραβλέφθηκε.’, t )); } }), (γ[d.WR].native = { fn: συνάρτηση(e, t) {if (e.mediaType === s.s6) {έστω r; if ( ((r = ‘string’ == typeof t.adm ? JSON.parse(t.adm) : t.adm), !(0, i.Qd)(r) || !Array.isArray(r.assets)) ) ρίξει νέο Σφάλμα( ‘Η εγγενής απάντηση ORTB δεν περιείχε στοιχεία’ ); e.native = { ortb: r }; } }), (γ[d.Tb].video = { fn: function(e, t, r) { if (r.mediaType && r.mediaType !== s.G_) return; const n = t?.mediaTypes?.video; if (!(0, i.Im)(n)) {const t = Object.fromEntries( Object.entries(n).filter(e => {let [t] = e; επιστροφή o.Zy.has(t); }) ); if (n.playerSize) {const e = (0, iy$)(n.playerSize).map(i.cf); e.length > 1 && (0, i.JE)( ‘το αίτημα βίντεο προσδιορίζει περισσότερους από έναν παίκτη Μέγεθος, όλα εκτός από το πρώτο θα αγνοηθούν’ ), Object.assign(t, e[0]) } e.video = (0, i.D9)(t, e.video); } }), (γ[d.WR].video = { fn: function(e, t, r) { e.mediaType === s.G_ && (r?.imp?.video?.w && r?.imp?.video?.h && ([e.playerWidth, e.playerHeight] = [
r.imp.video.w,
r.imp.video.h
]), t.adm && (e.vastXml = t.adm), t.nurl && (e.vastUrl = t.nurl)); } }); var u = r(9466); συνάρτηση m() { έστω { περιβάλλον: e = {}, επεξεργαστές: t = f, παρακάμπτει: r = {}, imp: s, request: o, bidResponse: a, απάντηση: p } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; const c = new WeakMap(); συνάρτηση u(e, i, s, o) { έστω a; return function() { return ( null == a && (a = (function() { let a = s.bind( this, (function(e) { let t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}; if (!n.has(e)) {const t = Object.entries(e); t.sort((e, t) => (e = e[1].προτεραιότητα || 0) === (t = t[1].προτεραιότητα || 0) ? 0 : e > t ? -1 : 1 ), n.set( e, t.map(e => {let [t, r] = e; απόδοση [t, r.fn]; }) ); } const r = n .get(e) .filter(e => {let [r] = e; επιστροφή !t.hasOwnProperty(r) || t[r]; }) .map(function(e) { let [r, n] = e; επιστροφή t.hasOwnProperty(r) ? t[r].bind(this, n) : n; }); return function() {const e = Array.from(arguments); r.forEach(t => { t.apply(this, e); }); }; })(t()[e] || {}, r[e] || {}) ); return ( i && (a = i.bind(this, a)), function() { try { return a.apply(this, ορίσματα); } catch (e) { o.call(this, e, …ορίσματα); } } ); })()), a.apply(this, επιχειρήματα) ); }; } const m = u( d.Tb, s, function(e, t, r) {const n = {}; return e(n, t, r), n; }, function(e, t, r) { (0, i.vV)( ‘Σφάλμα κατά τη μετατροπή του bidRequest σε ORTB imp; το αίτημα παραβλέφθηκε.’, { error: r,}); l = u( d.S3, o, συνάρτηση(e, t, r, n) {const i = { imp: t }; return e(i, r, n), i; }, function(e, t, r, n) {through ((0, i.vV)(‘Σφάλμα κατά τη μετατροπή σε αίτημα ORTB’, { error: e, imps: t, }); ), b = u( d.WR, a, function(e, t, r) {const n = {}; return e(n, t, r), n; }, function(e, t, r) { (0, i.vV)( ‘Σφάλμα κατά τη μετατροπή του ORTB seatbid.bid σε bidResponse; bid error:,, bid παραβλέφθηκε:,}, {context:,, bid e:.’ y = u( d.Cf, p, function(e, t, r, n) {const i = {προσφορές: t }; return e(i, r, n), i; }, function(e, t, r, n) { throw ((0, i.vV)( ‘Σφάλμα κατά τη μετατροπή από την απάντηση ORTB’, { error: e, tdReadspon: e, tdResort } ), e); return { toORTB(t) { let { bidderRequest: r, bidRequests: n, context: s = {} } = t; n = n || r.προσφορές? const o = { req: Object.assign({ bidRequests: n }, e, s), imp: {} }; o.req.impContext = o.imp; const a = n .map(t => { const n = Object.assign( {bidderRequest: r, reqContext: o.req }, e, s ), a = m(t, n); if (null != a) {if (a.hasOwnProperty(‘id’)) return ({:},bis. (o.imp[a.id] = n), a ); (0, i.vV)( ‘Το μετατρεπόμενο ORTB imp δεν προσδιορίζει αναγνωριστικό, αγνοώντας το αίτημα προσφοράς’, t, a ); } }) .filter(Boolean), d = l(a, r, o.req); επιστροφή (o.req.bidderRequest = r), null != d && c.set(d, o), d; }, fromORTB(e) { let { request: t, answer: r } = e; const n = c.get(t); if (null == n) throw new Error( ‘ortbRequest που μεταβιβάστηκε στο `fromORTB` πρέπει να είναι το ίδιο αντικείμενο που επιστρέφεται από το `toORTB`’ ); συνάρτηση s(e) { έστω r = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}; return Object.assign(e, { ortbRequest: t }, r); } const o = Object.fromEntries( (t.imp || []).map(e => [e.id, e]) ), a = (r.seatbid || []) .flatMap(e => (e.bid || []).map(t => { if ( o.hasOwnProperty(t.impid) && n.imp.hasOwnProperty(t.impid) ) return b( t, s(n.imp[t.impid]{ imp: o[t.impid]seatbid: e, ortbΑπόκριση: r }) ); (0, i.vV)( ‘ORTB απάντηση seatbid[].προσφορά[]Το .impid δεν ταιριάζει με κανένα imp στο αίτημα. αγνόηση προσφοράς’, t ); }) ) .filter(Boolean); επιστροφή y(a, r, s(n.req)); } }; } const f = (0, i.Bj)(() => (0, uU)(c, (0, d.yB)(d.qN))); }, 9466: (e, t, r) => {rd(t, { U: () => i }); var n = r(1e3); συνάρτηση i() { for ( var e = arguments.length, t = new Array(e), r = 0; r 1 ? i(…t) : t[0]; επιστροφή Object.fromEntries( n.zt.map(e => [e, Object.assign({}, s[e]ο[e])]) ); } }, 5561: (e, t, r) => { rd(t, { K: () => s, X: () => i }); var n = r(1371); const i = {1: n.D4, 2: n.G_, 4: n.s6 }; συνάρτηση s(e, t, r) { if (e.mediaType) return; const n = r.mediaType; if (!n && !i.hasOwnProperty(t.mtype)) ρίξει νέο Σφάλμα(‘Δεν είναι δυνατός ο προσδιορισμός του τύπου media για απάντηση’); e.mediaType = n || εγώ[t.mtype]; } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[225]{ 6743: (n, t, l) => { ld(t, { x4: () => i }); var e = l(7873), r = l(2713); συνάρτηση u(n, t, l) { έστω r = !(arguments.length > 3 && void 0 !== ορίσματα[3]) || επιχειρήματα[3]; αν (t === l) επιστρέψει n; έστω u = n; try { u = (0, em)().convertCurrency(n, t, l); } πιάσε (n) { if (!r) ρίχνω n; } επιστροφή u; } συνάρτηση i() { έστω n = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: n => [n.cpm, n.currency]t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: (function() { έστω n = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: null, t = !( arguments.length > 1 && void 0 !== ορίσματα[1]
) || επιχειρήματα[1]l = arguments.length > 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: u; return function(e, r) { return null == n && (n = r), l(e, r, n, t); }; })(); επιστροφή (0, r.NV)(l => t.apply(null, n(l))); } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[764]{ 2339: (o, n, t) => { function e(o, n) { return function() {const t = document.domain.split(‘.’), e = `_gd${Date.now()}_${n}`; for (έστω n, i, s = 0; s e }); } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[81]{ 6117: (e, t, n) => {var r = n(7873), s = n(1069), a = n(3172), o = n(3272), c = n(6916), i = n(1e3), p = n(687), d = n(1069), d = n(6) ; έστω u, g, f = {}; const C = 2, m = { iab: function(e) { return new Promise((t, n) => {const r = (0, d.c5)({ apiName: ‘__tcfapi’, apiVersion: C, apiArgs: [‘command’, ‘version’, ‘callback’, ‘parameter’]
}); r || n(new Error(‘TCF2 CMP δεν βρέθηκε.’)), r.isDirect ? (0, s.fH)( ‘Το ανιχνευμένο CMP API είναι άμεσα προσβάσιμο, καλείται τώρα…’ ) : (0, s.fH)( ‘Το ανιχνευμένο CMP βρίσκεται εκτός του τρέχοντος iframe όπου βρίσκεται το Prebid.js, το καλεί τώρα…’ ), r({ εντολή: ‘addEventListener’, επανάκληση: {s.’ (f. μια απάντηση από το CMP’, r), a) ) { try { e(b(r) } catch (e) {} if ( !1 === r.gdprΕφαρμόζεται || ‘tcloaded’ === r.eventStatus || ‘useactioncomplete’ === r.eventStatus ) try (C.bentSet). { n(e } } else n( Σφάλμα ( ‘CMP δεν μπορεί να καταχωρήσει τη λειτουργία επιστροφής κλήσης. Ελέγξτε τη ρύθμιση CMP.’ ) ); }); } }; συνάρτηση b(e) { if ( (συνάρτηση() {const t = e && ‘boolean’ == typeof e.gdprΕφαρμόζεται ? e.gdprΕφαρμόζεται : u, n = e && e.tcString; return !( ‘boolean’ == typeof t && (!0 !== t && (!0 !== t ||n) (!0 !== t ||n); })() ) throw Object.assign( new Error( ‘CMP επέστρεψε απροσδόκητη τιμή κατά τη διαδικασία αναζήτησης.’ ), { args: [e] } ); επιστροφή D(e); } συνάρτηση D(e) { const t = { consentString: e ? e.tcString : void 0, vendorData: e || void 0, gdprApplies: e && ‘boolean’ == typeof e.gdprΕφαρμόζεται ? e.gdprΕφαρμόζεται : u }; επιστροφή ( e && e.addtlConsent && (0, s.O8)(e.addtlConsent) && (t.addtlConsent = e.addtlConsent), (t.apiVersion = C), t ); } const v = (0, l.yq)({ namespace: ‘gdpr’, displayName: ‘TCF’, consentDataHandler: c.mW, cmpHandlers: m, parseConsentData: b, getNullConsent: () => D(null) }); o.$W.getConfig(‘consentManagement’, e => (function(e) { return ( (e = e && (e.gdpr || e.usp || e.gpp ? e.gdpr : e)), null != e?.consentData?.getTCData && (e.Data = e.Data) !0 === e?.defaultGdprScope), (g = !!e?.dsaPlatform), (f = v({ gdpr: e })), f.loadConsentData?.()?.catch?.(() => null) })(e.consentManagement) ), {n. const t = c.mW.getConsentData(); return ( t && (‘boolean’ == typeof t.gdprΕφαρμόζεται && (0, aJ)(e, ‘regs.ext.gdpr’, t.gdprΕφαρμόζεται ? 1 : 0), (0, aJ)(e, ‘sent’,t. aJ)(e, ‘regs.ext.dsa.dsarequired’, 3), e }) }), (0, i.pS)({ type: i.S3, name: ‘gdprAddtlConsent’, fn: function(e, t) {const n = t.gdprConsent &&.dnt’ ); (0, aJ)( e, ‘user.ext.ConsentedProvidersSettings.consented_providers’, n } }), (0, rE)(‘consentManagementTcf’); } }, e => { eO(0, [802, 109, 10, 769, 139, 85]() => { return (t = 6117), e((es = t)); var t; }); eO(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[662]{ 6056: (n, t, e) => { var o = e(7873), a = e(1069), s = e(3172), i = e(3272), c = e(1445), r = e(6916), u = e(6894), l = e(9214), f = 7 (9214), f = 5. const d = ‘iab’; έστω p, m, P = d, v = 50, S = !1; const b = { iab: function(n) { έστω { onSuccess: t, oneError: e } = n; έστω o = (function() {const n = {}; return { consentDataCallback: (o, a) => { a && o.uspString && (n.usPrivacy = o.uspString), n.usPrivacy? }; })(); const s = (0, g.c5)({ apiName: ‘__uspapi’, apiVersion: 1, apiArgs: [‘command’, ‘version’, ‘callback’]
}); εάν (!s) επιστρέψει e(‘USP CMP δεν βρέθηκε.’); s.isDirect ; (0, a.fH)( ‘Το ανιχνευμένο USP CMP είναι άμεσα προσβάσιμο, καλεί τώρα…’ ) : (0, a.fH)( ‘Το ανιχνευμένο USP CMP βρίσκεται εκτός του τρέχοντος iframe όπου βρίσκεται το Prebid.js, καλεί τώρα…’ ); s({ εντολή: ‘getUSPData’, επιστροφή κλήσης: o.consentDataCallback }), s({ εντολή: ‘registerDeletion’, επιστροφή κλήσης: (n, t) => (null == t || t) && c.Ay.callDataDeletionRequest(n) }).catch(n => {vo) `registerDeletion`:’, n }); }, static: function(n) { έστω { onSuccess: t, oneError: e } = n; h(p, { onSuccess: t, onError: e }); } }; συνάρτηση D(n) { έστω t = null, e = !1; συνάρτηση o(o, a) { if ( (null != t && clearTimeout(t), (e = !0), r.t6.setConsentData(o), null != n) ) { for ( var s = arguments.length, i = νέος Πίνακας > 2 ? s – 2 : 0), c ;+ i 2[c – 2] = επιχειρήματα[c]; n(a, …i); } } εάν (!b[P]) return void o( null, `Το πλαίσιο USP (${P}) δεν είναι υποστηριζόμενο πλαίσιο. Ακύρωση της ενότητας consentManagement και συνέχιση της δημοπρασίας.`); const a = { onSuccess: o, oneError: function(n) { for ( var t = arguments.length, e = new Array(t > 1 ? t – 1 : 0), a = 1; a 1 ? s – 1 : 0), c ;+ ;[c – 1] = επιχειρήματα[c]; (0, a.JE)(o, …i); } n.call(e, t); }); }); συνάρτηση h(n, t) { έστω { onSuccess: e, oneError: o } = t; !n || !n.usΑπόρρητο ; o( ‘Το USPAPI επέστρεψε μη αναμενόμενη τιμή κατά τη διαδικασία αναζήτησης.’, n ) : (!(function(n) {n && n.usPrivacy && (m = n.usPrivacy); })(n), e(m)); } συνάρτηση U() { έστω n = arguments.length > 0 && void 0 !== ορίσματα[0] && ορίσματα[0]; S || ((0, a.fH)( ‘USPAPI consentManagement module has been activated’ + (n ? ” : ` χρησιμοποιώντας προεπιλεγμένες τιμές (api: ‘${P}’, timeout: ${v}ms)`) ), (S = !0), r.t6.enable()), D(); } i.$W.getConfig(‘consentManagement’, n => (function(n) { ((n = n && n.usp) && ‘object’ == typeof n) || (0, a.JE)( ‘consentManagement.usp config δεν έχει οριστεί, με χρήση προεπιλογών’ ,A.n a &mp (P = n.cmpApi) : ((P = d), (0, a.fH)( “consentManagement.usp config δεν καθόρισε cmpApi. Χρήση προεπιλεγμένης ρύθμισης συστήματος (${d}).` )), n && (0, a.Et)(n.timeout) (v = :0)(v) (v = n.)(v. Το ‘consentManagement.usp config δεν καθόρισε timeout με χρήση της προεπιλεγμένης ρύθμισης του συστήματος (50).’ ) ‘static’ === P && ((0, a.Qd)(n.consentData) && (0, a.Qd)(n.consentData.getUSpata) usPrivacy: n.consentData.getUSPData.uspString }), (v = 0)) : (0, a.vV)( “consentManagement config with cmpApi: “static” δεν καθόρισε consentData. Δεν θα είναι διαθέσιμες συναινέσεις στους προσαρμογείς.” )), U(M) l.Yn)(‘requestBids’).before(y, 50), fwbefore(function(n, t) { return n( t.then(n => {const t = r.t6.getConsentData(); return t && (0, sJ)(n, ‘regs.ext.us_nprivacy’ ;}), (0), t); oE)(‘consentManagementUsp’); } }, n => { nO(0, [109, 802, 769, 139, 85]() => { return (t = 6056), n((ns = t)); var t; }); Όχι(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[931]{ 2843: (e, t, o) => {var n = o(7873), r = o(1069), a = o(8044), c = o(7934), i = o(9214), s = o(2938), d = o(5569), l = o(6916); const p = ‘criteo’, g = (0, s.vM)({ moduleType: d.fW, moduleName: p }), u = ‘cto_bidid’, m = ‘cto_bundle’, b = ‘html5’, I = ‘cookie’, y = new Date(0).toString(), f = new Date(0).toString.(), f = new Date. 33696e6).toString(); συνάρτηση S(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1] && ορίσματα[1]; const o = (0, r.Dl)(e, { noDecodeWholeURL: !0 }); επιστροφή t ? `${o.hostname}` : `${o.protocol}://${o.hostname}${o.port ? ‘:’ + o.port : ”}/`; } συνάρτηση h(e, t) { return e?.storage?.type === b ? g.getDataFromLocalStorage(t) : e?.storage?.type === I ? g.getCookie(t) : g.getCookie(t) || g.getDataFromLocalStorage(t); } συνάρτηση C(e, t, o, n) { t && o && (e?.storage?.type === b ? g.setDataInLocalStorage(t, o) : (e?.storage?.type === I || g.setDataInLocalStorage(t, o), v(t, o, f,)n); } συνάρτηση v(e, t, o, n, r) {const a = n.split(‘.’); for (έστω n = 0; n {const n = JSON.parse(t); if ( (n.pixels && n.pixels.forEach(t => (function(e, t, o) { o.writeBundleInStorage && o.bundlePropertyName && o.storageKeyName ? (0, a.RD)( o.pixelUrl, {επιτυχία: n)&{cons. r[o.bundlePropertyName] && C( e, o.storageKeyName, r[o.bundlePropertyName]t ); } }, σφάλμα: e => { (0, r.vV)( ‘criteoIdSystem: δεν είναι δυνατός ο συγχρονισμός του αναγνωριστικού χρήστη’, e ); } }, void 0, { μέθοδος: ‘GET’, withCredentials: !0 } ) : (0, rz$)(o.pixelUrl); })(e, d, t) ), n.acwsUrl) ) { (‘string’ == typeof n.acwsUrl ? [n.acwsUrl]
: n.acwsUrl .forEach(e => (0, rz$)(e)); } else n.bundle && C(e, m, n.bundle, d); if (n.bidId) { C(e, u, n.bidId, d); const t = { criteoId: n.bidId }; o(t); } else v((c = u), ”, y, d, !0), g.removeDataFromLocalStorage(c), o(); var c; }, σφάλμα: e => { (0, r.vV)(‘criteoIdSystem: δεν είναι δυνατός ο συγχρονισμός του αναγνωριστικού χρήστη’, e), o(); } }; (0, a.RD)(f, h, void 0, { μέθοδος: ‘GET’, contentType: ‘application/json’, withCredentials: !0 }); } const D = {όνομα: p, gvlid: 91, αποκωδικοποίηση: e => e, getId(e) { έστω t = (function(e) { return { bundle: h(e, m), dnaBundle: h(e, ‘cto_dna_bundle’), bidId: h(e, u)}); επιστροφή { id: t.bidId ? { criteoId: t.bidId } : void 0, callback: o => U(e, t, o) }; }, eids: { criteoId: { source: ‘criteo.com’, tipe: 1 } } }; (0, i.bz)(‘userId’, D), (0, nE)(‘criteoIdSystem’); } }, e => { eO(0, [802, 769, 139, 85]() => { return (t = 2843), e((es = t)); var t; }); eO(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[328]{ 1134: (e, t, n) => {nd(t, { Gk: () => M }); var r = n(7873), s = n(9759), i = n(1069), d = n(8969), o = n(1445), a = n(3272), c = n(7377), u = n(5023); const p = { appnexuspsp: { προσαρμογέας: ‘prebidServer’, ενεργοποιημένος: !0, τελικό σημείο: { p1Consent: ‘https://ib.adnxs.com/openrtb2/prebid’, noP1Consent: ‘https://ib.adnxs-simple.com/openrtbons’Endent2},cyn. ‘https://prebid.adnxs.com/pbs/v1/cookie_sync’, noP1Consent: ‘https://prebid.adnxs-simple.com/pbs/v1/cookie_sync’ }, maxTimeout: 1e3 }, ρουβίκωνας: {προσαρμογέας: “prebid. ‘https://prebid-server.rubiconproject.com/openrtb2/auction’, noP1Consent: ‘https://prebid-server.rubiconproject.com/openrtb2/auction’ }, syncEndpoint: { p1Consent: ‘https://prebid-server.rubicoonssy.rubicoonssy. ‘https://prebid-server.rubiconproject.com/cookie_sync’ }, maxTimeout: 500 }, openwrap: { adapter: ‘prebidServer’, ενεργοποιημένο: !0, τελικό σημείο: { p1Consent: ‘https://ow.pubmatic.com/openrtb2,p1Consent? ‘https://ow.pubmatic.com/openrtb2/auction?source=pbjs’ }, maxTimeout: 500 } }; var l = n(8044), b = n(9214), f = n(2621), g = n(9766), m = n(3172), h = n(3597), C = n(981), y = n(3323), B = n(5821), (3) q = 5 n(3441), E = n(5569), x = n(5139), O = n(6811), S = n(6743), Ι = n(2713), j = n(433); συνάρτηση T(e) { έστω { global: t, bidder: n } = e; return Object.fromEntries( Object.entries(n).map(e => {let [n, r] = e; απόδοση [n, A(r, (0, i.D9)({}, t, r))]; }) ); } συνάρτηση A(e, t) { return Object.fromEntries( Object.entries(e).map(e => {let [n, r] = e; const s = t[n]; επιστροφή (Πίνακας. isArray (r)?! (0, i. bD) (r, s) & & Array. είναι Πίνακας (s) & & (r = s): null!= r & & ‘αντικείμενο’ == τύπος r && (r = A (r, s));
[n, r]
) }) ); } συνάρτηση P(e, t) { έστω { global: n, bidder: r } = e; const s = (συνάρτηση(e) { έστω { eids: t, συγκρούσεις: n = new Set() } = e; const r = []s = []i = {}; επιστροφή ( t.forEach(e => { (!1 === e.bidders ? r : s).push(e); }), s.forEach(e => { let { eid: t, bidders: s } = e; n.has(t.source) ? s.forEach(e => { (i[e] = θ[e] || []).push(t); }) : r.push({ eid: t, bidders: s }); }), { global: r.map(e => { let { eid: t } = e; return t; }), άδειες: r .filter(e => { let { bidders: t } = e; return !1 !== t; }) .map(e => { let { eid: t, bidders: n source, bidders: n ;source: t} =. }), πλειοδότης: i } ); })( (συνάρτηση(ε) { έστω { global: t, bidder: n } = e; const r = []s = {}, d = new Set(); συνάρτηση o(e) { έστω t = r.find(t => (0, i.bD)(t.eid, e)); επιστροφή ( null == t && ((t = { eid: e, bidders: new Set() }), r.push(t)), null == s[e.source]
? (μικρό[e.source] = t.eid) : t.eid === e && d.add(e.πηγή), t ); } return ( R.Vx.forEach(e => { ((0, jA)(t, e) || []).forEach(e => { o(e).bidders = !1; }); }), Object.entries(n).forEach(e => {let [t, n] = e; R.Vx.forEach(e => { ((0, jA)(n, e) || []).forEach(e => {const n = o(e); !1 !== n.bidders && n.bidders.add(t); }); }); }), { eids: r.map(e => { let { eid: t, bidders: n } = e; return { eid: t, bidders: n && Array.from(n) }; }), διενέξεις: d } ); })({ global: n, πλειοδότης: r }) ); συνάρτηση d(e) { διαγραφή e?.user?.eids, διαγραφή e?.user?.ext?.eids; } return ( (n = (0, i.Go)(n)), (r = (0, i.Go)(r)), d(n), Object.values(r).forEach(d), s.global.length && (0, mJ)(n, ‘user.ext.eids’, s.global), t?.s.engperth (e.bidders = e.bidders.filter(e => t.includes(e))) ), s.permissions.length && (0, mJ)(n, ‘ext.prebid.data.eidpermissions’, s.permissions), Object.entries(s.bidder).forEach(e => {let [t, n] = e; n.μήκος && (0, mJ)(r[t]’user.ext.eids’, n); }), { global: n, bidder: r } ); } συνάρτηση w(e, t) { return null == e || 0 === Object.keys(e.bidder || {}).length ? e : ((e = P(e, t)), { …e, πλειοδότης: T(e) }); } var D = n(1371); const U = νέο σύνολο([
‘bidderCode’,
‘bidderRequestId’,
‘uniquePbsTid’,
‘bids’,
‘timeout’
]), $ = (() => {const e = (0, I.Bp)( (0, S.x4)(e => [e.bidfloor, e.bidfloorcur]) ); return function(t) {έστω n; for (const r του t) { if (null == r?.bidfloorcur || null == r?.bidfloor) return null; n = null == n ? r : e(n, r); } return n; }; })(), J = (0, gA)({ επεξεργαστές: Cm, context: { netRevenue: !0 }, imp(e, t, n) { Object.assign(n, t.pbsData); const r = e(t, n); if ( ((t.bids || []).forEach(e => { e.ortb2Imp && Object.keys(e.ortb2Imp).length > 0 && (0, mJ)(r, `ext.prebid.imp.${e.bidder}`, e.ortb2Imp); }), Object.values(Bs).some(e =>[e])) ) επιστροφή (r.secure = t.ortb2Imp?.secure ?? 1), r; }, request(e, t, n, r) { if (t.length) { έστω { s2sBidRequest: s } = r; const i = e(t, n, r); επιστροφή ( ( (i.tmax = Math.floor( s.s2sConfig.timeout ?? Math.min( 0.75 * s.requestBidsTimeout, s.s2sConfig.maxTimeout ?? M.maxTimeout ) )), (i.ext.tmaxmax = i.dst.
[i.app, i.dooh, i.site].forEach(e => { e && !e.publisher?.id && (0, mJ)(e, ‘publisher.id’, s.s2sConfig.accountId); }), r.transmitTids || (0, mJ)(i, ‘ext.prebid.createtids’, !1), i ); } (0, i.vV)( ‘Αίτημα για Prebid Server απορρίφθηκε λόγω μη έγκυρων τύπων μέσων στο adUnit.’ ); }, bidResponse(e, t, n) { έστω r = n.actualBidRequests.get(n.seatbid.seat); null == r && (r = n.actualBidRequests.get(null)), r && Object.assign(n, {bidRequest: r, bidderRequest: n.actualBidderRequests.find( e => e.bidderCode === r.bidder ) }); const s = e(t, n); επιστροφή ( (s.requestBidder = r?.bidder), s.native?.ortb && (s.adm = s.native.ortb), (s.requestTimestamp = n.requestTimestamp), { bid: Object.assign( (0, hO)(d.XQ.GOOD, { src: d.R.dIdSd: d.R. r.bid_Id : null, TransactionId: n.adUnit.transactionId, adUnitId: n.adUnit.adUnitId, auctionId: n.bidderRequest.auctionId }), s, { deferRendering: !!n.adUnit.deferBilling, .}, deferBilling,!! adUnit: n.adUnit.code } ); }, αντικαθιστά: {
[v.Tb]: { id(e, t, n, r) { t.id = r.impId; }, params(e, t, n, r) { const s = r.s2sBidRequest.s2sConfig.adapterOptions; για (const e of r.actualBidRequests.values()) (0, yW)(t, e, r, r), s && s[e.bidder] && Object.assign( t.ext.prebid.bidder[e.bidder]s[e.bidder]
) }, bidfloor(e, t, n, r) {const s = $( (συνάρτηση*() {for (const t of r.actualBidRequests.values()) {const n = {}; e(n, t, r), απόδοση n; } })() ); null != s && Object.assign(t, s); }, extBidfloor(e, t, n, r) { function s(e, t) { null != t && ((0, mJ)(e, ‘ext.bidfloor’, t.bidfloor), (0, mJ)(e, ‘ext.bidfloorcur’, t.bidfloorcur)); } const d = Array.from(r.actualBidRequests.values()).map(n => {const s = (0, i.Go)(t); return e(s, n, r), s; } ); Object.values(D.GE).forEach(e => { s(t[e]$(d.map(t => t[e]?.ext))); }), (τ[D.D4]?.μορφή || []).forEach((e, t) => { s(e, $(d.map(e => e[D.D4].σχήμα και διάταξις βιβλίου[t]?.ext))); }); } },
[v.S3]: { fpd(e, t, n, r) { r.transmitTids && (0, mJ)(t, ‘source.tid’, n.auctionId), (0, i.D9)(t, r.s2sBidRequest.ortb2Fragments?.global), r.s2sBidRequest.s2sBidRequest.s2sBidRequest. r.s2sBidRequest.s2sConfig.extPrebid && (0, mJ)( t, ‘ext.prebid’, (0, i.D9)( t.ext?.prebid || {}, r.s2sBidRequest.s2sConfig.extPrebid ) ), r.getRedactor); const s = Object.entries( r.s2sBidRequest.ortb2Fragments?.bidder || {} ) .filter(e => { let [t] = e; const n = r.s2sBidRequest.s2sConfig.bidders; επιστροφή ( r.s2sBidRequest.s2sConfig.allowUnknownBidderCodes || (n && n.includes(t)) ); }) .map(e => { let [t, n] = e; επιστροφή { πλειοδότες: [t]config: { ortb2: r.getRedactor(t).ortb2(n) } }; }); s.length && (0, mJ)(t, ‘ext.prebid.bidderconfig’, s); }, extPrebidAliases(e, t, n, r) { r.actualBidderRequests.forEach(n => e(t, n, r)); }, sourceExtSchain(e, t, n, r) { έστω s = t?.ext?.prebid?.schains || []; const i = new Set(s.flatMap(e => e.bidders)); (s = Object.values( s .concat( r.actualBidderRequests .filter(e => !i.has(e.bidderCode)) .map(e => ({ bidders: [e.bidderCode]σχάιν: ε;.προσφορές;.[0]. e.hasOwnProperty(s) ||[s] = { bidders: new Set(), schain: r }), n.forEach(t => e[s].bidders.add(t)), e ); }, {}) ).map(e => { let { bidders: t, schain: n } = e; return { bidders: Array.from(t), schain: n }; })), s.length && (0, mJ)(t, ‘ext.prebid.schains’, s); } },
[v.Cf]: { serverSideStats(e, t, n, r) { r.actualBidderRequests.forEach(s => e(t, n, { …r, bidderRequest: s, bidRequests: s.bids }) ); }, paapiConfigs(e, t, n, r) { const s = Object.values(r.impContext).flatMap(e => (e.paapiConfigs || []).map(t => {const n = e.actualBidderRequests.find( e => e.bidderCode === t.bidder ), r = e.actualBidRequests.get(t.bidder); return {adUnitCode: e.adUnit.code, ortb2: n?.bortImp,2,ortb2: n?.bortImp,2,ortb2: n?. bidder: t.bidder, config: t.config }) ); s.length > 0 && (t.paapi = s); } } } }); var k = n(6894); const _ = a.$W.getConfig, V = d.RW.SRC; έστω N, W = 0; const M = { bidders: Object.freeze([]), syncTimeout: 1e3, maxBids: 1, προσαρμογέας: ‘prebidServer’, allowUnknownBidderCodes: !1, adapterOptions: {}, syncUrlModifier: {}, ortbNative: { eventtrackers: [{ event: 1, methods: [1, 2] }]}, maxTimeout: 1500 }; συνάρτηση G(e) { if (!e) return; e = Array.isArray(e) ? Και : [e]; const t = new Set(); return e.filter(e => { var n; if ( ((n = e),
[‘endpoint’, ‘syncEndpoint’].forEach(e => {if ((0, i.O8)(n[e])) { έστω t = n[e]; n[e] = { p1Consent: t, noP1Consent: t }; } !(0, i.Qd)(n[e]) || (ν[e].p1Συναίνεση && n[e].noP1Consent) ||
[‘p1Consent’, ‘noP1Consent’].forEach(t => { n[e][t] || (0, i.JE)( `s2sConfig.${e}.${t} δεν έχει καθοριστεί. Το αίτημα PBS θα παραλειφθεί σε ορισμένα σενάρια P1.` ); }); }), (function(e) {if (e.defaultVendor) {έστω t = e.defaultVendor, n = Object.keys(e); εάν (!p[t]) return ( (0, i.vV)( ‘Εσφαλμένη ή μη διαθέσιμη προεπιλεγμένη επιλογή προμηθευτή διακομιστή prebid: ‘ + t ), !1 ); Κλειδιά αντικειμένου (σελ[t]).forEach(r => { (M[r] !== ε[r] && n.περιλαμβάνει(r)) || (μι[r] = σελ[t][r]) }); } else null == e.adapter && (e.adapter = ‘prebidServer’); επιστροφή !0; })(e) && (function(e) { for (const t of [‘accountId’, ‘endpoint’]) αν (null == e[t]) return ( (0, i.vV)( t + ‘ missing in server to server config’ ), !1 ); επιστροφή !0; })(e) && e.enabled) ) return ( Array.isArray(e.bidders) && (e.bidders = e.bidders.filter( e => !t.has(e) && (t.add(e), !0) )), !0 ); (0, i.JE)(‘prebidServer: s2s config is disabled’, e); }); } συνάρτηση F(e, t, n, r, s) { if (N.length === W) return; W++; έστω d = {}; const o = _(‘userSync.filterSettings’); if (o) { const { all: e, iframe: t, εικόνα: n } = o, r = t || e, s = n || μι; r && (d = Object.assign({ iframe: r }, d)), s && (d = Object.assign({ image: s }, d)); } const a = { uuid: (0, i.lk)(), bidders: e, account: s.accountId, filterSettings: d }; έστω c = s.userSyncLimit; (0, i.Et)(c) && c > 0 && (a.limit = c), t && ((a.gdpr = t.gdprΕφαρμόζεται ? 1 : 0), !1 !== t.gdprΕφαρμόζεται && (a.gdpr_consent = t.consentString (a.n), &n), &n ((a.gpp_sid = r.applicableSections.join()), (a.gpp = r.gppString)), ‘boolean’ == τύπος s.coopSync && (a.coopSync = s.coopSync); const u = JSON.stringify(a); (0, l.RD)( H(s.syncEndpoint, t), e => { try { L((e = JSON.parse(e)).bidder_status, s); } catch (e) { (0, i.vV)(e); }, u, { contentType: ‘text/plain’, withCredentials: !0}); } συνάρτηση L(e, t) { if (0 === e.length) return; const n = e.shift(); n.no_cookie ; (function(e, t, n, r, s) { s.syncUrlModifier && ‘function’ == typeof s.syncUrlModifier[n] && (t = s.syncUrlΤροποποιητής[n](e, t, n)); !(συνάρτηση(e, t, n, r, s) { t ? ‘εικόνα’ === e || ‘ανακατεύθυνση’ === e ? ((0, i.OG)( `Κατάκληση συγχρονισμού χρήστη εικονοστοιχείου εικόνας για τον πλειοδότη: “${n}”` ), (0, iz$)(t, r, s)’ (G, r, s))’ := ‘i. `Κλήση συγχρονισμού χρήστη iframe για προσφορά: “${n}”` ), (0, i.SG)(t, r, s)) : ((0, i.vV)( `Τύπος συγχρονισμού χρήστη “${e}” δεν υποστηρίζεται για προσφορά: “${n}”` ), r()) : ((0, i.v. ${t}`), r()) (e, t, n, r, s.syncTimeout); })( n.usersync.type, n.usersync.url, n.bidder, L.bind(null, e, t), t ) : L(e, t); } συνάρτηση H(e, t) { const n = (0, fC)(t), r = n ? e.p1Consent : e.noP1Consent; return ( r || (0, i.JE)(‘Λείπει το αντίστοιχο URL συναίνεσης όταν gdpr=’ + n), r ); } συνάρτηση Y(e) { έστω t, n, r; επιστροφή ( Array.isArray(e) && e.length > 0 && ((t = e[0].gdprConsent), (n = e[0].uspConsent), (r = e[0].gppConsent)), { gdprConsent: t, uspConsent: n, gppConsent: r } ); } a.$W.setDefaults({ s2sConfig: M }), _(‘s2sConfig’, e => {έστω { s2sConfig: t } = e; var n; (n = G((n = t))).length && (N = n); }); const z = (0, b.A_)( ‘async’, function(e, t, n, r) { έστω { onResponse: s, onError: c, onBid: p, onFledge: l } = r, { gdprConsent: b } = Y(t); const f = (0, i.Go_uniets)(g) =g. e.bids.map(e => e.bidder).filter(i.hj)) .reduce(i.Bq, []) .filter(i.hj), m = e.metrics.measureTime(‘buildRequests’, () => (function(e, t, n, r) { const s = (0, i.vE)(), d = new Set(), c = []u = (0, o.K5)(e.s2sConfig), p = (() => {const e = (0, R.$p)(u), t = {}; επιστροφή n => null == n ? e : (t.hasOwnProperty(n) || (t[n] = (0, R.$p)((0, qs)(E.tW, n))), t[n]) })(); (n = n.map(e => p().bidRequest(e))).forEach(e => {const r = νέος χάρτης(); (n.bids = e.bids.map(e => p(e.bidder).bidRequest(e))), e.bids.forEach(n => {null !(0) !(d.pe) &n. Ο προσαρμογέας διακομιστή δεν υποστηρίζει (ακόμη) τύπους μέσων προσφοράς για την ίδια διαμόρφωση μεγεθών adUnit: ${e.code}, r.set(n.bidder, (0, i.D4) (t.co, o) ; (; d.has); ) o++, (s = `${e.code}-${o}`), c.push({ …e, adUnitCode: e.code, pbsData: { impId: s, actualBidRequests: r, adUnit: e }); const l = { …Object.fromEntries( Object.entries(t[0].filter(e => {let [t] = e; επιστροφή !U.has(t); }) ), paapi: { enabled: t.some(e => e.paapi?.enabled) } }; επιστροφή J.toORTB({ bidderRequest: l, bidRequests: c, context: { νόμισμα: a.$W.getConfig(‘currency.adServerCurrency’) || ‘USD’, ttl: e.s2sConfig.defaultTtl || 60, requestTimestamp: ortb2Fragments: w(e.ortb2Fragments, r) }, requestedBidders: r, actualBidderRequests: t, nativeRequest: e.s2sConfig.ortbNative, getRedactor: p, transmitTids: (0, x.io)(O.VJ, u) }); })(e, t, f, g) ), h = { endpointUrl: H(e.s2sConfig.endpoint, b), requestJson: m && JSON.stringify(m), customHeaders: e?.s2sConfig?.customHeaders ?? {} }; if ( (u.Ic(d.qY.BEFORE_PBS_HTTP, h), (0, i.fH)(‘BidRequest: ‘ + h), m && h.requestJson && h.endpointUrl) ) { const t = e.metrics.startTiming(‘net’); n( h.endpointUrl, { success: function(n) { let r; t(); try { r = JSON.parse(n); const { bids: t, paapi: s } = e.metrics.measureTime( ‘interpretResponse’, () => (function(e, t) { return J.from:(e, t) { return J.from; })(r, m) ) ; s(!1, g)) : s(!0, g, r }, error: function() {t(), c.apply(this, ορίσματα } }, h.requestJson, {contentType: ‘text/plain’, withCredentials: !0, browsingTopics: (0,Dio); o.K5)(e.s2sConfig)), customHeaders: h.customHeaders } ); } else (0, i.vV)(‘Δεν υποβλήθηκε αίτημα PBS. Ελέγξτε τα τελικά σημεία.’); }, ‘processPBSRequest’ ); συνάρτηση K(e, t) { return e?.extPrebid?.returnallbidstatus ? t?.ext?.seatnonbid : void 0; } συνάρτηση Q(e) { return e?.ext?.prebid?.analytics?.tags; } o.Ay.registerBidAdapter( new (function() {const e = new sA(‘prebidServer’); return ( (e.callBids = συνάρτηση(e, t, n, r, s) {const p = (e.metrics = (0, k.BO)(t?.[0]?.metrics) .newMetrics() .renameWith(t => [
`adapter.s2s.${t}`,
`adapters.s2s.${e.s2sConfig.defaultVendor}.${t}`
])); (r = p.startTiming(‘total’).stopBefore(r)), t.forEach(e => (0, k.BO)(e.metrics).join(p, { continuePropagation: !1 }) ); έστω { gdprConsent: l, uspConsent: b, gppConsent: f } = Y(t); if (Array.isArray(N)) {if ( e.s2sConfig && e.s2sConfig.syncEndpoint && H(e.s2sConfig.syncEndpoint, l) ) { const t = (e.s2sConfig.extPrebid && e.s2sCondfig.alisre)bid? {}; F( e.s2sConfig.bidders .map(e => o.Ay.aliasRegistry[e] || t[e] || e) .filter((e, t, n) => n.indexOf(e) === t), l, b, f, e.s2sConfig ); } z(e, t, s, { onResponse: function(n, s, i) { n && t.forEach(e => u.Ic(d.qY.BIDDER_DONE, e)); const { seatNonBidData: c, atagData: g } = (function( e, t ),Data:N {atatid:N επιστροφή K(e, t) };[0].auctionId, requestedBidders: s, απάντηση: i, adapterMetrics: p }), c || ζ) ) { const e = { seatnonbid: c, atag: g, auctionId: t[0].auctionId, requestedBidders: s, απάντηση: i, adapterMetrics: p }; u.Ic(d.qY.PBS_ANALYTICS, e); } r(!1), (συνάρτηση(e, t, n, r) { e.forEach(e => {έστω s = o.Ay.getBidAdapter(e); s && s.registerSyncs && a.$W.runWithBidder( e, s.registerSyncs,bind(s []t, n, r) ); }); })(s, l, b, f); }, onError(n, s) { const { p1Consent: o = ”, noP1Consent: a = ” } = e?.s2sConfig?.endpoint || {}; o === α ? (0, i.vV)( `Αποτυχία κλήσης διακομιστή Prebid: ‘${n}’. Τελικό σημείο: “${o}”}`, s ) : (0, i.vV)( `Αποτυχία κλήσης διακομιστή προεπιλογής: ‘${n}’. Τελικά σημεία: p1Consent “${o}”, noP1Consent “${Es(e)”}` u.Ic(d.qY.BIDDER_ERROR, { error: s, bidderRequest: e }) ), r(s.timedOut); }, onBid: function(t) { έστω { adUnit: r, bid: s } = t; const o = (s.metrics = e.metrics.fork().renameWith()); o.checkpoint(‘addBidResponse’), (null != s.requestId && null != s.requestBidder) || e.s2sConfig.allowUnknownBidderCodes ; o.measureTime(‘addBidResponse.validate’, () => (0, c.fn)(r, s) ) ? n(r, s) : n.reject(r, s, d.Tf.INVALID) : ((0, i.JE)( `Ο προσαρμογέας PBS έλαβε προσφορά από άγνωστο πλειοδότη (${s.bidder}), αλλά το ‘s2sConfig.allowUnknownBidderCodes’ δεν έχει οριστεί. Παράβλεψη προσφοράς,(rn,sject.`). d.Tf.BIDDER_DISALLOWED)); }, onFledge: e => { a.$W.runWithBidder(e.bidder, () => { (0, c.JN)( { auctionId: t[0].auctionId, …e }, { config: e.config } ); }); } }); } }), Object.assign(this, { callBids: e.callBids, setBidderCode: e.setBidderCode, type: V }) ); })(), ‘prebidServer’ ), (0, rE)(‘prebidServerBidAdapter’); } }, e => { eO(0, [802, 618, 498, 225, 769, 139, 85]() => { return (t = 1134), e((es = t)); var t; }); eO(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[41]{ 2115: (d, e, n) => {var t = n(7873), s = n(9214), i = n(1069); const o = {όνομα: ‘pubProvidedId’, gvlid: n(6916).B1, decode(d) {const e = d ? { pubProvidedId: d } : void 0; return ( (0, i.fH)( ‘PubProvidedId: Αποκωδικοποιημένη τιμή ‘ + JSON.stringify(e) ), e ); }, getId(d) { const e = (d && d.params) || {}; έστω n = []; επιστροφή ( (0, i.cy)(e.eids) && (n = n.concat(e.eids)), ‘function’ == typeof e.eidsFunction && (n = n.concat(e.eidsFunction())), { id: n } ); } }; (0, s.bz)(‘userId’, o), (0, tE)(‘pubProvidedIdSystem’); } }, d => { dO(0, [802, 769, 139, 85]() => { return (e = 2115), d((ds = e)); var e; }); κάνω(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[496]{ 5862: (e, o, t) => {var n = t(7873), r = t(1069), d = t(9214), i = t(2938), a = t(6916), u = t(5569), c = t(2339); const s = (0, i.vM)({ moduleType: u.fW, moduleName: ‘sharedId’ }), l = ‘cookie’, m = ‘html5’, p = ‘_pubcid_optout’, f = ‘PublisherCommonId’; συνάρτηση g(e, o) { if (o === l) return s.getCookie(e); if (o === m && s.hasLocalStorage()) { const o = s.getDataFromLocalStorage(`${e}_exp`); εάν (!o) επιστρέψει s.getDataFromLocalStorage(e); if (new Date(o).getTime() – Date.now() > 0) return s.getDataFromLocalStorage(e); } } συνάρτηση b(e, o) { return function(t, n) { o ? v(o, e, () => { t(n() || e); })() : t(e); }; } συνάρτηση v(e) { let o = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: ”, t = arguments.length > 2 ? επιχειρήματα[2] : κενό 0; αν (!ε) επιστρέψει? const n = (0, r.Dl)(e); n.search.id = encodeURIcomponent(‘pubcid:’ + o); const d = (0, rc$)(n); return function() { (0, rz$)(d, t); }; } συνάρτηση h() { return !!( (s.cookiesAreEnabled() && g(p, l)) || (s.hasLocalStorage() && g(p, m)) ); } const I = { name: ‘sharedId’, aliasName: ‘pubCommonId’, gvlid: a.B1, decode(e, o) { if (h()) return void (0, r.fH)(‘PubCommonId decode: Has opted-out’); (0, r.fH)(‘ Αποκωδικοποιημένη τιμή PubCommonId ‘ + e); επιστροφή { pubcid: e }; }, getId: function() { let e = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}, o = arguments.length > 1 ? επιχειρήματα[1] : void 0, t = arguments.length > 2 ? επιχειρήματα[2] : κενό 0; if (h()) επιστρέψει void (0, r.fH)(‘PubCommonId: Has opt-out’); if (o?.coppa) επιστρέψει void (0, r.fH)( ‘PubCommonId: Τα αναγνωριστικά δεν παρέχονται για αιτήματα coppa, έξοδος από το PubCommonId’ ); const { params: {create: n = !0, pixelUrl: d } = {} } = e; έστω i = t; if (!i) { try { ‘object’ == type of window[f] && (i = παράθυρο[f].getId()); } πιάνω (ε) {} i || (i = n && (0, r.N9)(); (0, r.lk)() : void 0); } return { id: i, callback: b(i, d) }; }, extendId: function() { let e = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}, o = arguments.length > 1 ? επιχειρήματα[1] : void 0, t = arguments.length > 2 ? επιχειρήματα[2] : κενό 0; if (h()) return ( (0, r.fH)(‘PubCommonId: Has opted-out’), { id: void 0 } ); if (o?.coppa) επιστρέψει void (0, r.fH)( ‘PubCommonId: Τα αναγνωριστικά δεν παρέχονται για αιτήματα coppa, έξοδος από το PubCommonId’ ); const { params: { extension: n = !1, pixelUrl: d } = {} } = e; if (n) { if (d) { return { callback: v(d, t) }; } return { id: t }; } }, domainOverride: (0, cw)(s, ‘sharedId’), eids: { pubcid(e, o) {const t = { source: ‘pubcid.org’, uids: e.map(e => ({ id: e, atype: 1 })) }; επιστροφή ( null != o?.params?.inserter && (t.inserter = o.params.inserter), t ); } }; (0, d.bz)(‘userId’, I), (0, nE)(‘sharedIdSystem’); } }, e => { eO(0, [764, 802, 769, 139, 85]() => { return (o = 5862), e((es = o)); var o; }); eO(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).Σπρώξτε([
[469]{ 4836: (e, t, n) => {var r = n(7873), o = n(3272), s = n(5023), i = n(1445), a = n(8969), c = n(9214), u = n(1069); const l = new Map(); συνάρτηση d(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: l; const n = {}; συνάρτηση r(e) {const t = JSON.stringify([
e.source?.toLowerCase(),
…Object.keys(e)
.filter(e => ![‘uids’, ‘source’].περιλαμβάνει(e)) .sort() .map(t => e[t]) ]); n.hasOwnProperty(t) ; n[t].uids.push(…e.uids) : (n[t] = e); } return ( Object.entries(e).forEach(e => {let [n, o] = και; o = Array.isArray(o) ? o: [o]; const s = t.get(n); επιτρέψτε μου? if (‘pubProvidedId’ === n) i = (0, u.Go)(o); αλλιώς εάν (‘συνάρτηση’ == τύπος s) δοκιμάστε { (i = s(o)), Array.isArray(i) || (i = [i]), i.forEach( e => (e.uids = e.uids.filter(e => { let { id: t } = e; return (0, u.O8)(t); })) ), (i = i.filter(e => { let { uids: t } = e; return t?.length > 0;}); } catch (e) { (0, u.vV)(`Δεν ήταν δυνατή η δημιουργία EID για το “${n}”`, e); } else i = o.map(e => (συνάρτηση(e, t, n) { if (n && e) {έστω t = {}; t.source = (0, u.fp)(n.getSource) ? n.getSource(e) : n.source; const r = (0, u.fp)(n?u.fp); ((0, u.O8)(r)) {const o = {id: r, atype: n.atype } if ((0, u.fp)(n.getUidExt)) {const t = n.getUidExt(e) if ((t.); [o]), n.inserter || (0, u.fp)(n.getInserter)) ) { const r = (0, u.fp)(n.getInserter) ? n.getInserter(e) : n.inserter; null != r && (t.inserter = r); } if (n.matcher || (0, u.fp)(n.getMatcher)) {const r = (0, u.fp)(n.getMatcher) ? n.getMatcher(e) : n.matcher; null != r && (t.matcher = r); } if ( (null != n.mm && (t.mm = n.mm), (0, u.fp)(n.getEidExt)) ) {const r = n.getEidExt(e); r && (t.ext = r); } επιστροφή t; } } return null; })(e, 0, s) ); Array.isArray(i) && i.filter(e => null != e).forEach(r); }), Object.values(n) ); } συνάρτηση f(e) { const t = νέος χάρτης(), n = {}; επιστροφή ( Object.entries(e).forEach(e => {let [r, o] = e; const s = o(); αν (s) { n[r] = s.idObj[r]; έστω e = s.submodule.eids;.[r]; ‘function’ == typeof e && ((i = e), (e = function() { for ( var e = arguments.length, t = new Array(e), n = 0; n {έστω e; return () => (null == e && (e = (0, p.K7)()), e); })(); συνάρτηση F(e) { return V() .fork() .renameWith(t => [`userId.mod.${t}`, `userId.mods.${e}.${t}`]) } συνάρτηση W(e, t) { t = t || e.storageMgr; const n = ‘function’ == τύπος e.submodule.domainOverride ? e.submodule.domainOverride() : null, r = e.config.storage.name; return function(e, o, s) { t.setCookie(r + (e || ”), o, s, ‘Lax’, n); }; } συνάρτηση G(e, t) {const n = e.config.storage; δοκιμάστε { const r = new Date( Date.now() + 864e5 * n.expires .toUTCString(), o = (0, u.Qd)(t) ? JSON.stringify(t) : t; e.enabledStorageTypes.forEach(t => { διακόπτης (t) { case $: !(function(e, t, n) {const r = e.config.storage, o = W(e); o(null, t, n), o(‘_cst’, me(), n), ‘number’ == σε typeof r,e_const. Date().toUTCString(), n); me()), o.setDataInLocalStorage( r.name, encodeURIcomponent(t) ), ‘number’ == typeof r.refreshInSeconds && o.setDataInLocalStorage( `${r.name}_last`, new Date().toUTCString() }); } catch (e) { (0, u.vV)(e); } } συνάρτηση R(e) { ve(e), e.enabledStorageTypes.forEach(t => { switch (t) { case $: !(function(e) { const t = W(e, U), n = new Date(Date.now() – 864e5).toUTCString();
[”, ‘_last’, ‘_cst’].forEach(e => { try { t(e, ”, n); } catch (e) { (0, u.vV)(e); } }); })(μι); διακοπή; περίπτωση ι: !(συνάρτηση(ε) {
[”, ‘_last’, ‘_exp’, ‘_cst’].forEach(t => { try { U.removeDataFromLocalStorage( e.config.storage.name + t ); } catch (e) { (0, u.vV)(e); } }); })(μι); } }); } συνάρτηση B(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: κενό 0; const n = e.config.storage, r = t ? `${n.name}_${t}` : n.name; ας o? δοκιμάστε { e.enabledStorageTypes.find(t => { switch (t) { case $: o = (function(e, t) { return e.storageMgr.getCookie(t); })(e, r); break; case j: o = (function(e, t) {const n = e.storageMgr, r = e.storageMgr, r = n.getDataFromLocalStorage(`${r.name}_exp` return ” === o n.getDataFromLocalStorage(t) : o && new Date(o).getTime() – Date.now() > 0 ? r } return !!o; }), ‘string’ == typeof o && ‘{‘ === o.trim().charAt(0) && (o = JSON.parse(o)); } catch (e) { (0, u.vV)(e); } επιστροφή o; } συνάρτηση Q(e, t, n) { t = V() .fork() .startTiming(‘userId.callbacks.total’) .stopBefore(t); const r = (0, u.U6)(() => {clearTimeout(x), t();}, e.length); e.forEach(function(e) {const t = F(e.submodule.name) .startTiming(‘callback’) .stopBefore(r); δοκιμάστε { e.callback(function(r) { r ? (e.config.storage && G(e, r), (e.idObmodule) (e.idObmode), (e.idObmode) = e.de. n.refresh(), he(n)) : (0, u.fH)( `${k}: ${e.submodule.name} – το αναγνωριστικό αίτησης απάντησε με μια κενή τιμή` ), t(}, B.bind(null, e) } catch (n) { (0, u.vV) (`Submodule.“); } e.callback = void 0 }); } συνάρτηση K(e) { return Object.fromEntries( Object.entries(e) .map(e => {let [t, n] = e; απόδοση [t, n()?.idObj?.[t]]; }) .filter(e => { let [t, n] = e; επιστροφή null != n; }) ); } συνάρτηση Y(e, t, n) { const r = {}; return ( e.forEach(e => {const o = n(e), s = (function(e) {if (e.primaryIds) return e.primaryIds; const t = Object.keys(e.eids ?? {}); if (t.length > 1) ρίχνει νέο Σφάλμα( το `ID submodule δεν μπορεί να παρέχει πολλαπλάσια IDname`, αλλά το “ID submodule δεν παρέχει πολλαπλάσια αναγνωριστικά, τα ${e. επιστροφή t;)(o).[t] = r[t] ?? []), i = J[t]?.indexOf(o.name) ?? (s.includes(t) ? 0 : -1), a = n.findIndex(e => { let [t] = e; επιστροφή t {let [t, n] = e; απόδοση [
t,
n.map(e => {
let [t, n] = e; επιστροφή n; }) ]; }) ) ); } συνάρτηση z() { const e = { υπομονάδες: []καθολική: {}, προσφορά: {}, συνδυασμένη: {}, refresh() { let t = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: []; const n = new Set(t.map(e => e.submodule)); (e.submodules = e.submodules .filter(e => !n.has(e.submodule)) .concat(t)), (function() {const t = Y( e.submodules, e => Object.keys(e.idObj ?? {}), e =du> e.ubmodule ; o(e, t, n) { return function() { for (const { επιτρέπονται: r, bidders: o, module: s } of n) { if ( !T.isAllowed( S.yl, (0, Ds)(w.fW, s?.config?.name, { init: !1 }) ) ?context.[e]; if (null != i) { if (r) return s; if (t) {const t = e => e .map(e => e.module.submodule.name) .join(‘, ‘); return ( (0, u.JE)( `userID modules ${t( n )} παρέχουν το ίδιο αναγνωριστικό (‘${e}’); Το ${ s.submodule.name } είναι η προτιμώμενη πηγή, αλλά έχει ρυθμιστεί μόνο για ορισμένους πλειοδότες, σε αντίθεση με το ${t( n.filter(e => null == e.bid}” ID.` ), null ); } if (null == o) return null; } } return null; }; } Object.entries(t).forEach(e => { let [t, s] = e, i = !0; const a = new Set(); (s = s.map(e => { έστω t = null; επιστροφή ( Array.isArray(e.config.bidders) && e.config.bidders.length > 0 ? ((t = e.config.bidders), t.forEach(e => a.add(e))) : (i = !1, i)); (ν[t] = o( t, !0, s.map(e => { let { bidders: t, module: n } = e; return { allow: null == t, bidders: t, module: n }; }) )), a.forEach(e => { (r[e] = r[e] ?? {}), (r[e][t] = o( t, !1, s.map(t => { let { bidders: n, module: r } = t; return { allow: n?.περιλαμβάνει(e), bidders: n, module: r }; }) )); }); }); const s = Object.values(r) .concat([n]) .reduce((e, t) => Object.assign(e, t), {}); Object.assign(e, { global: n, bidder: r, συνδυασμένο: s }); })(); } }; επιστροφή ε? } συνάρτηση X(e) { έστω { adUnits: t, ortb2Fragments: n } = e; if ( ((n = n ?? { global: {}, bidder: {} }), (function(e) { const { global: t, bidder: n } = e, { global: r, bidder: o } = C, s = f(r); s.length > 0 && (0, mJ)( t, ‘us.’s. (t.χρήστης?.ext?.eids ?? [].concat(s) ), Object.entries(o).forEach(e => {let [t, r] = e; const o = f(r); o.length > 0 && (0, mJ)( n, `${t}.user.ext.eids`, (n[t]?.χρήστης?.ext?.eids ?? []).concat(o) ); }); })(n),
[t].some(e => !Array.isArray(e) || !e.length)) ) επιστροφή; const r = K(C.global), o = n.global.user?.ext?.eids || []; t.forEach(e => { e.bids && (0, u.cy)(e.bids) && e.bids.forEach(e => {const t = Object.assign({}, r, K(C.bidder[e.bidder] ?? {})), s = o.concat(n.πλειοδότης;.[e.bidder]?.χρήστης?.ext?.eids || []) Object.keys(t).length > 0 && (e.userId = t), s.length > 0 && (e.userIdAsEids = s); }); }); } const Z = {}; ας εε? συνάρτηση te() { έστω e = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: ie() || []; const t = _ && e.find(e => e.source === _); αν (t && ‘string’ == τύπος t?.uids?.[0]?.id) { const e = t.uids[0].id.replace(/[W_]/g, ”); εάν (e.length >= 32 && e.length 2 && void 0 !== ορίσματα[2]
? επιχειρήματα[2]
: {}; h.U9.race([r().catch(() => null), n(L)]).then(() => { X(t), V().join((0, p.BO)(t.metrics), { propagate: !1, includeGroups: !0 }), e.call(this, t); }); }), re = (0, p.Ak)(‘userId’, function(e, t) { X(t), e.call(this, t); }); συνάρτηση oe() { return !!O.gH.getHooks({ hook: ne }).length; } συνάρτηση se() { return K(C.combined); } συνάρτηση ie() { return f(C.combined); } συνάρτηση ae(e) { return ie().filter(t => t.source === e)[0]; } συνάρτηση ce(e, t, n) { return de().then() => { έστω r = {}; if ((0, u.fp)(n)) { (0, u.fH)( `${k} – Λήψη κρυπτογραφημένου σήματος από προσαρμοσμένη συνάρτηση : ${n.name} & πηγή : ${e} `); const r = n);[e] = t ? ue(t) : null; } else { const n = ae(e); (0, u.fH)( `${k} – Λήψη κρυπτογραφημένου σήματος για eids :${JSON.stringify(n )}` ), (0, u.Im)(n) || (ρ[n.source] = !0 === t ? ue(n) : n.uids[0].ταυτότητα); } return ( (0, u.fH)(`${k} – Ανάκτηση κρυπτογραφημένων eid: ${r[e]}`), r[e]
) }); } συνάρτηση ue(e) { έστω t = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: 1, n = ”; αν (1 === t) n = ‘αντικείμενο’ == τύπος e ? window.btoa(JSON.stringify(e)) : window.btoa(e); επιστροφή `${t}||${n}`; } συνάρτηση le() { if (!(0, u.II)()) return; window.googletag.secureSignalProviders = window.googletag.secureSignalProviders || []; const e = o.$W.getConfig(‘userSync.encryptedSignalSources’); αν (ε) { const t = e.registerDelay || 0; setTimeout(() => { e.sources && e.sources.forEach(e => { let { source: t, encrypt: n, customFunc: r } = e; t.forEach(e => { window.googletag.secureSignalProviders.push({ id: e, collectorFunction: (r,});} =>> }, t); } else (0, u.JE)( `${k} – ESP : encryptedSignalSources config δεν ορίζεται στο userSync Object` ); } συνάρτηση de(e) { return ee(e).then() => se(), e => e === Z ? Promise.resolve().then(ge) : ((0, u.vV)(‘Σφάλμα αρχικοποίησης userId’, e), h.U9.reject(e)) ); } συνάρτηση fe() { let { submoduleNames: e } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}, t = arguments.length > 1 ? επιχειρήματα[1] : κενό 0; return de({ refresh: !0, submoduleNames: e }).then( e => (t && (0, u.fp)(t) && t(), e) ); } συνάρτηση ge() { return de(); } συνάρτηση me() { let e = Number(I.SL.hash); const t = []; για (; e > 0; ) t.push(String.fromCharCode(255 & e)), (e >>>= 8); επιστροφή btoa(t.join()); } συνάρτηση be(e, t) { const n = I.SL.getConsentData(); if (e.config.storage) { έστω r, o = B(e), s = !1; if (‘number’ == typeof e.config.storage.refreshInSeconds) { const t = νέα Ημερομηνία(B(e, ‘τελευταία’)); s = t && Date.now() – t.getTime() > 1e3 * e.config.storage.refreshInSeconds; } if ( !o || s || t || (function(e) {const t = B(e, ‘cst’); return !t || t !== me(); })(e) ) {const t = Object.assign( {enabledStorageTypes: e.enabledStorageTypes );}, e.enabledStorageTypes );}, r = e.submodule.getId(t, n, o); } else ‘function’ == τύπος e.submodule.extendId && (r = e.submodule.extendId(e.config, n, o)); (0, u.Qd)(r) && (r.id && (G(e, r.id), (o = r.id)), ‘function’ == τύπος r.callback && (e.callback = r.callback)), o && (e.idObj = e.submodule.decode(o, e.config)); } else if (e.config.value) e.idObj = e.config.value; else {const t = e.submodule.getId(e.config, n); (0, u.Qd)(t) && (‘function’ == typeof t.callback && (e.callback = t.callback), t.id && (e.idObj = e.submodule.decode(t.id, e.config))); } } συνάρτηση he(e) { const t = f(e.combined); if (t.length && _) { const e = te(t); e && ((0, u.II)() ? window.googletag.pubads().setPublisherProvidedId(e) : ((window.googletag = window.googletag || {}), (window.googletag.cmd = window.googletag.cmd || []), window.googletag.cmd.push(function() { window.googletag.pubads().setPublisherProvidedId(e); }))); } } συνάρτηση pe(e, t) { έστω n = arguments.length > 2 && void 0 !== ορίσματα[2] && ορίσματα[2]; return V() .fork() .measureTime(‘userId.init.modules’, function() {if (!t.length) return []; if ( (t.forEach(e => ve(e)), !(t = t.filter( e => (!e.config.storage || !!e.enabledStorageTypes.length) && T.isAllowed(S.yl, (0, Ds)(w.fW, e.config.name)) ($k)))). δεν έχει διαμορφωθεί μονάδα ID»), []; const r = t.reduce( (e, t) => F(t.submodule.name).measureTime(‘init’, () => { try { be(t, n), e.push(t); } catch (e) { (0, u.vV)( `Σφάλμα στο userID module ‘${t.submodule’), e’};, return.
[]
) επιστροφή e.refresh(r), he(e), r; }); } συνάρτηση ye(e) { return e?.storage?.type?.trim().split(/s*&s*/) || []; } συνάρτηση Ie(e) { συνάρτηση t(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t – 1 : 0), r = 1; r { if (!e?.name) return t(‘πρέπει να καθορίσετε “όνομα”‘, e); if (e.storage) {if (!e.storage.name || !e.storage.type) return t( ‘πρέπει να καθορίσετε “storage.name” και “storage.type”‘, e ); if ( !e)(e)(e)(επίστροφη)(nevection) we.has(e));
[‘expires’, ‘refreshInSeconds’].forEach(n => { έστω r = e.αποθήκευση[n]; null != r && ‘number’ != typeof r && ((r = Number(r)), isNaN(r) ? (t( `storage.${n} πρέπει να είναι αριθμός και θα αγνοηθεί`, e ), διαγραφή e.storage[n]) : (ε.αποθ[n] = r)); }); } επιστροφή !0; }) : (null != e && t(‘πρέπει να είναι πίνακας’, e), []) } const we = νέο σύνολο([j, $]) συνάρτηση ve(e) { if (e.enabledStorageTypes) επιστρέφει; const t = ye(e.config); e.enabledStorageTypes = t.filter(t => { διακόπτης (t) { case j: return (function(e) { return !( !e.storageMgr.localStorageIsEnabled() || (U.getDataFromLocalStorage(A) && ((0, u.fH discountable}tor) ), 1)) (ε) $: return (function(e) { return !( !e.storageMgr.cookiesAreEnabled() || } συνάρτηση Se(e) { l.clear(), Object.entries( Y( e, e => Object.keys(e.eids || {}), e => e ) ).forEach(e => {let [t, n] = e; επιστροφή l.set(t, n[0].eids[t]) }); } συνάρτηση De() { Se(q); const e = Ie(M); αν (!e.length) επιστρέψει? const t = q.filter(e => !(H || []).find(t => t.name === e.name)); H.splice(0, H.length), t .map(t => {const n = (e || []).find( e => e.name && (e.name.toLowerCase() === t.name.toLowerCase() || (t.aliasName && e.name.toLowerCase() === t.aliasName.toLowerCase())) ); επιστροφή ( n && t.name !== n.name && (n.name = t.name), n ? { submodule: t, config: n, callback: void 0, idObj: void 0, storageMgr: (0, g.vM)({ moduleType: w.fW, moduleName: null});}. }) .filter(e => null !== e) .forEach(e => H.push(e)), H.length && (oe() || (O.gH.getHooks({ hook: re }).remove(), O.gH.before(ne, 100), i.Ay.deefortionCall bQafter(e => e(te()))), (0, u.fH)( `${k} – userync config ενημερώθηκε για ${H.length} υποενότητες: `, H.map(e => e.submodule.name) )); } συνάρτηση Ee(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t – 1 : 0), r = 1; r {if (‘function’ == typeof e.submodule.onDataDeletionRequest) δοκιμάστε { e.submodule.onDataDeletionRequest( e.config, …); (0, u.vV)( `Σφάλμα κλήσης onDataDeletionRequest for ID submodule ${e.submodule.name}`, t } R(e }), e.apply(this, n); } συνάρτηση Oe(e) { return function() { return Promise.resolve(e.apply(this, ορίσματα)); }; } συνάρτηση ke(e) { let { mkDelay: t = h.cb } = arguments.length > 1 && void 0 !== ορίσματα[1]
? επιχειρήματα[1]
: {}; (_ = κενό 0), (H = []), (Μ = []), (C = z()), (ee = (function() { let { mkDelay: e = h.cb } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; const t = (0, h.v6)(), n = (0, h.v6)(); έστω r, o, i = !1; συνάρτηση l(e) { return ( (o = V().fork()), null != r && r.reject(Z), (r = (0, h.v6)()), h.U9.race([e, r.promise]).finally( o.startTiming(‘userId.total’) ) ); } έστω d = C, f = H; συνάρτηση g(e) { return function() { if (d === C && f === H) return e(…ορίσματα); }; } συνάρτηση m() { return I.SL.promise.finally( o.startTiming(‘userId.init.consent’) ); } έστω b = l( h.U9.all([c.Gc, t.promise]) .then(m) .then( g(() => { pe(d, f); }) ) .then(() => n.promise.finally( o.startTiming(‘userId.callbacks.pending’) ) .then( g(() => {const emo(e =0.fil. u.fp)(e.callback) ); return function() { let { refresh: r = !1, submoduleNames: o = null, ready: c = !1 } = arguments.length > 0 && void 0 !== ορίσματα[0]
? επιχειρήματα[0]
: {}; return ( c && !i && ((i = !0), t.resolve(), L > 0 ? n.resolve() : s.on(a.qY.AUCTION_END, συνάρτηση t() { s.AU(a.qY.AUCTION_END, t), e(N).then(n.resolve); (b) &ca); => null) .then(m) .then( g(() => {const e = pe( d, f.filter( e => null == o || o.includes(e.submodule.name) ), !0 ).filter(e => null != e.callback); if (newlengt =,Q)) }) ) )), β ); }; })({ mkDelay: t })), null != P && P(), (q = []), (P = e.getConfig(‘userSync’, e => {const t = e.userSync; t && ((_ = t.ppid), t.userIds && ((M = t.userIds), (N = (0, u.Et)(t.syncDelay) ? t.syncqhDelay), (L.sy. u.Et)(t.auctionDelay) ? t.auctionDelay : E.qh.auctionDelay), De(), (συνάρτηση(e, t) {if (e) {const n = {}, r = new Map(t.map(e => e.aliasName ? [e.aliasName, e.name] : []
) ); Object.keys(e).forEach(t => {const o = (0, u.cy)(e[t]) ? […e[t]].reverse() : []; n[t] = o.map(e => (r.has(e) ? r.get(e) : e)); }), (J = n); } else J = {}; C.refresh(), Βλέπε(t); })( t.idPriority, q), yes({ έτοιμο: !0 }))); })), ((0, rm)().getUserIds = se), ((0, rm)().getUserIdsAsEids = π.χ.), ((0, rm)().getEncryptedIdsForSource = Oe(ce)), ((0, rm)().registerSignalSources = lerm), ())(0,) ((0, rm)().getUserIdAsync = Oe(ge)), ((0, rm)().getUserIdAsAidBySource = ae), oe() || O.gH.before(re, 100); } ke(o.$W), (0, c.xG)( ‘userId’, function(e) { (e.findRootDomain = yS), (q || []).find(t => t.name === e.name) || (q.push(e), I.o2.register(w.fW, e.name, e.gvlid), De(), ee({ refresh: !0, submoduleNames: [e.name] })); }, { postInstallAllowed: !0 } ), (0, rE)(‘userId’); } }, e => { eO(0, [802, 769, 139, 85]() => { return (t = 4836), e((es = t)); var t; }); eO(); } ]); })(), tlpbjs.processQueue(); tlpbjs.config = {}; tlpbjs.config.domain = window.location.hostname.replace(‘www.’, ”); if (λογαριασμός) { tlpbjs.config.account = λογαριασμός; } else { tlpbjs.config.account = ‘tl’; } tlpbjs.config.debug = window.location.search.indexOf(‘tlpbjs=debug’) > -1; tlpbjs.defineSlot = window.googletag.defineSlot; tlpbjs.nativeRender = function(state) { var winners = tlpbjs.getHighestCpmBids([state.divId]) if (tlpbjs.config.debug) console.log(‘tlpbjs: winners: ‘ + winners.length); for (var i = 0; i {if (a.mediaTypes && a.mediaTypes.banner && a.mediaTypes.banner.sizes) { delete a.mediaTypes;};}); window.pbjs = window.pbjs || window.tlpbjs; }); tlpbjs.renderTlDynamicAd = function(state) { tlpbjs.que.push(function() {if (!tlpbjs.adUnits.find(e => e.code === state.divId)) { var new_unit = [
{
code: state.divId,
mediaTypes: {
banner: {
sizes: [[1, 1]]} }, ortb2Imp: { ext: { prebid: { storedrequest: { id: state.storedImp }, …(window.location.search.indexOf(‘tl=test’) > -1 && { storedauctionresponse: { id: ‘test-placement300x250’),} }} [
{
bidder: ‘teal-s2s’
}
]
} ]; tlpbjs.addAdUnits(new_unit); } var other_eids; if (window.owpbjs && window.owpbjs.getUserIdsAsEids) { other_eids = window.owpbjs.getUserIdsAsEids(); } else if (window.ihowpbjs && window.ihowpbjs.getUserIdsAsEids) { other_eids = window.ihowpbjs.getUserIdsAsEids(); } else if (window.pbjs && window.pbjs.getUserIdsAsEids) { other_eids = window.pbjs.getUserIdsAsEids(); } if (other_eids && other_eids.filter) { other_eids = other_eids.filter( e => ![‘criteo.com’, tlpbjs.config.domain, ‘pubcid.org’].περιλαμβάνει(π[‘source’]
) ); tlpbjs.mergeConfig({ ortb2: { χρήστης: { ext: { eids: other_eids } } } }); } tlpbjs.tlRequestBids(state); }); }; tlpbjs.initGam = συνάρτηση(κατάσταση) { window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { if (state.gamSlotId) {state.gamSlot = window.googletag .pubads() .getSlots() .find(element => element.getSlotElementId() === state.divId); if (!state.gamSlote &state) Array.isArray(state.size)) {if (!state.size.includes(1)) {state.size = [state.size, [1, 1]]; } } else {state.size = [[1, 1]]; } state.gamSlot = tlpbjs .defineSlot(state.gamSlotId, state.size, state.divId) .addService(googletag.pubads()); } else { var sizes = state.gamSlot.getSizes(); αν (!sizes.find(e => e[‘width’] == 1)) { var sizeArray = [[1, 1]]; sizes.forEach(e => sizeArray.push([e[‘width’]ε[‘height’]])); state.gamSlot.defineSizeMapping( googletag .sizeMapping() .addSize([0, 0]sizeArray) .build() ); } } } }); }; } συνάρτηση triggerTealReplace(λογαριασμός) { window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { if (window.location.search.indexOf(‘tl=disable’) > -1) return; var identifier = ‘recovered-ad-slot-‘; var gptDefineSlot = window.googletag.defineSlot; var adCounter = 0;plt (! !window.tlpbjs.config. div.parentNode.children && div.parentNode.children.forEach ) { div.parentNode.children.forEach(e => {if (e.id.startsWith(identifier)) {blakeParent = false; } } var slot = gptUnitsPass; [0, 0]divId); runAuctionForSlot(divId, slot.getSizes()); υποδοχή επιστροφής? } συνάρτηση runAuctionForSlot(divId, μεγέθη, isRefresh) { //έλεγχος μεγεθών – μην αποδίδεται εάν πλάτος ή ύψος {if (Array.isArray(e) && e[0] > maxSize[0]) { maxSize[0] = ε[0]; } else if (e.width > maxSize[0]) { maxSize[0] = ε.πλάτος; } if (Array.isArray(e) && e[1] > maxSize[1]) { maxSize[1] = ε[1]; } else if (e.height > maxSize[1]) { maxSize[1] = ε.ύψος; } }); } if (maxSize[0] <= 2 || μέγιστο μέγεθος[1] { if (e.id.startsWith(identifier)) { whiteParent = false; } ); } if (emptyParent || isRefresh) { slot.innerHTML = ”; if (!isRefresh) slot.id = αναγνωριστικό + adCounter++; if (!tooSmall) { var urlParams = new URLSearchParams(window.location.search); var state = { divId: slot.id, div: slot, …(urlParams.get(‘tlgamslot’) && { gamSlotId: urlParams.get(‘tlgamslot’) }), μέγεθος: maxSize }; εάν (μέγιστο μέγεθος[0] >= 728) state.storedImp = ‘recovered728x90’; αλλιώς εάν (maxSize[0] = 250) state.storedImp = ‘recovered300x250’; αλλιώς εάν (maxSize[0] >= 320) state.storedImp = ‘recovered320x100’; if (state.storedImp) { if (state.gamSlotId) { if (isRefresh) state.gamSlot = window.googletag .pubads() .getSlots() .find( element => element.getSlotElementId() === state.divId ); else window.tlpbjs.initGam(state); } window.tlpbjs.renderTlDynamicAd(state); ObserverSlotInView(state); //έναρξη χρονοδιακόπτη ανανέωσης } } } } συνάρτηση ObserverSlotInView(state) { var Observer = new IntersectionObserver( function(entries) {entries.forEach(entry => { if (entry.isIntersecting) {observer.unobserve(state.div); // Stop in viewT =time observing runAuctionForSlot(state.divId, state.size, true), 30000 ); // Ενεργοποίηση όταν τουλάχιστον το 10% της υποδοχής είναι σε προβολή παρατηρητής.observe(state.div); } window.googletag.defineSlot = defineSlotOverride; window.googletag .pubads() .getSlots() .forEach(e => { runAuctionForSlot(e.getSlotElementId(), e.getSizes()); }); }); }
Μετάβαση στο Περιεχόμενο
ΕΛ ΠΑΣΟ, Τέξας (KVIA) – 3 Αυγούστου 2019, είναι η ημέρα που ο Πάτρικ Κρούσιους σκότωσε 23 άτομα και τραυμάτισε άλλους 22. Είναι επίσης η μέρα που η Jazmine Ulloa, ιθαγενής του Ελ Πάσο, μια τότε πολιτική ρεπόρτερ της Boston Globe, επέστρεψε στο σπίτι για αυτό που αποκαλεί, «μία από τις πιο δύσκολες εργασίες που χρειάστηκε να καλύψω ποτέ».
«Πήγα στο γυμνάσιο τρία λεπτά από εκεί, στο Burgess High School, πέρασα πολύ χρόνο με τους φίλους μου κάνοντας παρέα σε αυτό το Walmart», είπε ο Ulloa. «Εκεί ακριβώς άρχισα να σκέφτομαι ότι πρέπει να επιστρέψω και να πω μια μεγαλύτερη, ευρύτερη ιστορία για το Ελ Πάσο».
Το αποτέλεσμα είναι το βιβλίο της, Ελ Πάσο: Πέντε οικογένειες και εκατό χρόνια αίματος, μετανάστευσης, φυλής και μνήμης.
«Ήθελα πραγματικά να δείξω αυτό το μέρος που ονομάζεται το νέο νησί Έλις στα νοτιοδυτικά ως μια κρίσιμη πύλη προς τις Ηνωμένες Πολιτείες», είπε ο Ulloa. «Η ιστορία της πόλης είναι το κλειδί για να κατανοήσουμε όχι μόνο πού βρισκόμαστε στις μάχες μετανάστευσης του έθνους, αλλά και πώς διαμορφώνουν την ταυτότητα των Λατίνων και την ίδια την αμερικανική ταυτότητα».
Είπε ότι οι δεσμοί αίματος των οικογενειών στην περιοχή συνδέονται με το θέμα των συνόρων.
“Το βιβλίο είναι για το σχηματισμό και τη μετατόπιση των συνόρων, πώς υπάρχει πολύ αίμα για τη δημιουργία αυτών των συνόρων”, είπε ο Ulloa. “Πρόκειται επίσης για ένα διαφορετικό είδος αίματος, αίμα που δένει ανθρώπους, αίμα που δένει τους ανθρώπους σε χρόνο και απόσταση. Έχει να κάνει με την οικογένεια και να δείξει πόσο όμορφη μπορεί να είναι αυτή η ανταλλαγή ιδεών και πολιτισμού και η δύναμη των οικογενειών μας ήταν πολύ, πολύ σημαντική για μένα.”
Ο Ulloa ανέφερε τη «γραφή για δύο ακροατήρια», ένα τοπικό κοινό και ένα εθνικό κοινό.
“Πολλές φορές, αυτό το εθνικό κοινό έρχεται στα σύνορα, έρχεται στο Ελ Πάσο με αυτή την αντίληψη του φακού εθνικής ασφάλειας ή ως βία που συμβαίνει στα σύνορα. Όχι τόσο το ακμάζον μείγμα ανθρώπων που συνθέτουν αυτόν τον πλούσιο, πλούσιο πολιτισμό», είπε ο Ulloa.
Σύμφωνα με αυτήν, στο επίκεντρο ήταν επίσης το να φέρουμε μια νέα προοπτική των συνόρων και των μεταναστών.
«Γίνεται πολύς λόγος για την εισβολή μεταναστών ή την απεικόνιση των μεταναστών ως εγκληματιών, ξένων ή εισβολέων», είπε ο Ulloa. «Ήθελα να δείξω πόσο σημασία έχει αυτή η ιστορία γιατί εδώ στο Ελ Πάσο μπορείτε να δείτε ότι δεν υπάρχει εισβολή στις Ηνωμένες Πολιτείες γιατί το Ελ Πάσο βρίσκεται σε γη που κάποτε ήταν Μεξικάνικο, Ισπανικό, Ιθαγενές και όλοι αυτοί οι πολιτισμοί έχουν επηρεάσει όχι μόνο τον τόπο από τον οποίο καταγόμαστε, αλλά την ίδια την αμερικανική ταυτότητα ή ολόκληρη τη Νοτιοδυτική».
Ένα από τα καλύτερα μέρη της συγγραφικής διαδικασίας, όπως λέει, ήταν να ανακαλύψει νέα πράγματα για την πόλη στην οποία μεγάλωσε.
“Η πλούσια κινεζική ιστορία μετανάστευσης που έρχεται μέσα από την πόλη, δεν ήξερα ότι υπήρχαν διανοούμενοι, ακτιβιστές και αντάρτες που σχεδίαζαν επανάσταση. Ήξερα λίγο για αυτήν την ιστορία, αλλά όχι τόσο πολύ για το τι κρυβόταν πίσω από αυτήν, αυτές οι επικίνδυνες ιδέες ισότητας και εργατικών δικαιωμάτων και συνδικαλιστικών δικαιωμάτων.” είπε η Ulloa.
Ευχαρίστησε επίσης τις οικογένειες που ήταν πρόθυμες να συμμετάσχουν.
«Είμαι πραγματικά ευγνώμων στις οικογένειες που ήταν πρόθυμες να μοιραστούν τις ιστορίες τους και να περάσουν τόσο χρόνο μαζί μου καθισμένοι στο τραπέζι της κουζίνας, πηγαίνοντας με στα μέρη όπου μεγάλωσαν», είπε η Ulloa. “Περπάτησα με έναν από τους αδερφούς HolguÃn σε όλο το Ciudad Juarez καθώς μου έδειχνε πού είχε μεγαλώσει. Ήταν απλώς μια πολύ όμορφη εμπειρία.”
Το βιβλίο του Ulloa κυκλοφόρησε στις 3 Μαρτίου 2026, από τους εκδότες του Dutton και Penguin Random House. Μπορείτε να το αγοράσετε εδώ.

Ελληνικό Carpio
ΓΙΝΕ ΜΕΡΟΣ ΤΗΣ ΣΥΝΟΜΙΛΗΣ
Το KVIA ABC 7 δεσμεύεται να παρέχει ένα φόρουμ για πολιτικές και εποικοδομητικές συνομιλίες.
Παρακαλώ κρατήστε τα σχόλιά σας με σεβασμό και συνάφεια. Μπορείτε να διαβάσετε τις Οδηγίες κοινότητας κάνοντας κλικ εδώ
Αν θέλετε να μοιραστείτε μια ιδέα ιστορίας, υποβάλετέ την εδώ.


