1const adsConfig = { 2 siteName: SITE_NAME, 3 cxenseSiteId: CXENSE_SITE_ID, 4 cmpDomainId: CMP_DOMAIN_ID, 5 6 sitePage: CXENSE_SITE_PAGE, //Cxense 7 pageCategory: CXENSE_PAGE_CATEGORY, //Cxense 8 9 gamConfig: { 10 slotPrefix: GAM_SLOT_PREFIX, 11 targeting: GAM_TARGETING, 12 }, 13 14 prebidConfig: { 15 hbDataURL: HB_DATA_URL, 16 prebidTimeout: 2000, 17 gapbjsSetConfig: [ 18 { bidders: ['projectagora'], config: { schain: { validation: "strict", config: { ver: "1.0", complete: 1, nodes: [{ asi: "projectagora.com", sid: AGORA_SID, hp: 1 }] } } } }, 19 { bidders: [], config: { paapi: { enabled: true, bidders: ['rtbhouse'], defaultForSlots: 1, gpt: { autoconfig: true } } } }, 20 { bidders: [], config: { enableTIDs: true, useBidCache: true, minBidCacheTTL: 60, eventHistoryTTL: 60 } }, 21 { bidders: [], config: { priceGranularity: {"buckets" : [{ "precision": 2, "max" : 13.5, "increment" : 0.01 }] } } }, 22 { bidders: [], config: { consentManagement: { gdpr: { cmpApi: 'iab', defaultGdprScope: true, timeout: 5000, }, usp: { cmpApi: "iab", } } } }, 23 { 24 bidders: [], config: { 25 userSync: { 26 userIds: [ 27 { name: 'sharedId', storage: { name: '_sharedID', type: 'cookie', expires: 90 } }, 28 { name: 'teadsId', params: { pubId: 29059, } }, 29 { name: "criteo" }, 30 ], 31 auctionDelay: 50, 32 filterSettings: { 33 iframe: { bidders: '*', filter: 'include' }, 34 image: { bidders: '*', filter: 'include' } 35 }, 36 } 37 } 38 }, 39 40 { bidders: [], config: { currency: { adServerCurrency: "EUR", granularityMultiplier: 1, defaultRates: { "USD": { "EUR": 0.87 } } }, } }, 41 { bidders: [], config: { criteo: { fastBidVersion: 'latest', } } }, 42 ], 43 44 gapbjsBidderSettings: [ 45 { bidders: ['criteo', 'teads', 'appnexus', 'projectagora', 'equativ', 'amx'], config: { storageAllowed: true, } }, 46 { bidders: ['appnexus', 'rubicon', 'pubmatic', 'amx'], config: { bidCpmAdjustment: (bidCpm) => bidCpm * .9 } }, 47 { bidders: ['projectagora'], config: { bidCpmAdjustment: (bidCpm) => bidCpm * 0.75 } }, 48 ], 49 50 gapbjsAdunitMod: (adunits) =>
50 adunits.forEach(adunit => adunit.ortb2Imp = { ext: { gpid: adunit.code, data: { pbadslot: adunit.code } } }), 51 }, 52 53 debugLogger: new URLSearchParams(location.search).get('AdsDebug') === 'true', 54} 55 56 57function getCXSegements() { 58 window.cX = window.cX || {}; 59 cX.callQueue = cX.callQueue || []; 60 cX.callQueue.push(['setSiteId', adsConfig.cxenseSiteId]); 61 cX.callQueue.push(['setCustomParameters', { "category": adsConfig.pageCategory }]) 62 63 cX.callQueue.push(['sync', 'ddp']); 64 cX.callQueue.push(['sync', 'adform']); 65 cX.callQueue.push(['sync', 'smart']); 66 67 cX.callQueue.push(['getUserSegmentIds', { 68 persistedQueryId: "c16c6848f3c96a765ca4118721400c749565ca30", callback: function (segments) { 69 if (typeof window.localStorage === 'object' && typeof window.localStorage.getItem === 'function') { 70 localStorage.setItem("CxSegments", segments.join(",")); 71 } 72 } 73 }]); 74 cX.callQueue.push(['sendPageViewEvent']); 75 76 window.getUserSegmentIdsLocal = () => { 77 var segments = []; 78 if (typeof window.localStorage === 'object' && typeof window.localStorage.getItem === 'function' && localStorage.getItem("CxSegments") !== null && localStorage.getItem("CxSegments").length > 0) { 79 segments = localStorage.getItem("CxSegments").split(','); 80 } 81 return segments; 82 } 83 84 return getUserSegmentIdsLocal(); 85} 86 87 88async function getConsentData() { 89 return new Promise((resolve) => { 90 91 let settled = false; 92 let observer = null; 93 let listenerAdded = false; 94 95 const onTCData = (tcData, success) => { 96 if (settled) return; 97 if (!success || !tcData) return; 98 const status = tcData.eventStatus; 99 if (status === 'useractioncomplete' || status === 'tcloaded') 100 resolveOnce(tcData); 101 }; 102 103 const cleanup = () => { 104 if (observer) { 105 try { observer.disconnect(); } catch (_) { } 106 observer = null; 107 } 108 if (listenerAdded) { 109 try { window.__tcfapi('removeEventListener', 2, () => { }, onTCData); } catch (_) { } 110 listenerAdded = false; 111 } 112 }; 113 114 const resolveOnce = (value) => { 115 if (settled) return; 116 settled = true; 117 cleanup(); 118 resolve(value); 119 }; 120 121 const attach = () => { 122 if (settled || typeof window.__tcfapi !== 'function') return; 123 try { 124 window.__tcfapi('getTCData', 2, onTCData); 125 126 if (!settled) { 127 window.__tcfapi('addEventListener', 2, onTCData); 128 listenerAdded = true; 129 } 130 } catch (e) { 131 utils.debugLogger("warn", ('checkCMP attach failed' + e)); 132 } 133 }; 134 135 if (typeof window.__tcfapi === 'function') { 136 attach(); 137 } else { 138 observer = new MutationObserver(() => { 139 if (typeof window.__tcfapi === 'function') { 140 observer.disconnect(); 141 attach(); 142 } 143 }); 144 observer.observe(document.documentElement, { childList: true, subtree: true }); 145 } 146 }); 147} 148 149const oy = () => { 150 return new Promise((res, rej) => { 151 window.googletag = window.googletag || {}; 152 window.googletag.cmd = window.googletag.cmd || []; 153 window.ybConfiguration = window.ybConfiguration || {}; 154 window.ybConfiguration = Object.assign({}, window.ybConfiguration, { integrationMethod: 'open_tag' }); 155 (function (y, i, e, L, D) { 156 y.Yieldbird = y.Yieldbird || {}; 157 y.Yieldbird.cmd = y.Yieldbird.cmd || []; 158 i.cmd.push(function () { i.pubads().disableInitialLoad(); }); 159 L = e.createElement('script'); 160 L.onload = () => { res(true); }; 161 L.onerror = () => { rej(false); }; 162 L.async = true; 163 L.src = '//cdn.qwtag.com/4588bb1c-fd29-4a36-8b67-20fc2a088db5/qw.js'; 164 D = e.getElementsByTagName('script')[0]; 165 (D.parentNode || e.head).insertBefore(L, D); 166 })(window, window.googletag, document); 167 }); 168} 169 170const AdsLoader=(a=>{const b=h(),c=f(),d=g();let e=null;function f(){const i={},j={},k=new Map();function l(B){const C=b['checkEntryForConsent'](B);if(!C){b['debugLogger']('warn','Warning:\x20User\x20hasn\x27t\x20consented\x20to\x20'+B['name']+'\x20'),Object['entries'](i)['forEach'](([D,E])=>{if(E['requires']&&Array['isArray'](E['requires'])&&E['requires']['includes'](B['name'])){if(!E['ignoreDependencyLackOfConsent'])j[D]=![];x(D,![]);}}
170),j[B['name']]=![],x(B['name'],![]);return;}if(b['isFunction'](B['run'])){const D=o(B);n(B['run'],D)['then'](E=>{j[B['name']]=E,x(B['name'],E);})['catch'](E=>{console['error']('[AdsLoader]\x20Error:\x20calling\x20'+B['name']+'\x20script',E),x(B['name'],undefined);});return;}if(b['isURL'](B['externalScriptUrl'])){z(B)['then'](()=>{j[B['name']]=!![],x(B['name'],!![]);})['catch'](E=>{console['error']('[AdsLoader]\x20Error:\x20loading\x20'+B['name']+'\x20script',E),x(B['name'],undefined);});return;}if(b['isURL'](B['externalFeed'])){A(B)['then'](E=>{if(!E['ok'])console['error']('[AdsLoader]\x20Error:\x20'+url+'\x20feed\x20load\x20failed',e);else return E['json']();})['then'](E=>{j[B['name']]=E,x(B['name'],E);})['catch'](E=>{console['error']('[AdsLoader]\x20Error:\x20loading\x20'+B['name']+'\x20feed',E),x(B['name'],undefined);});return;}x(B['name'],undefined);}function m(B){const C=y(B['requires']);if(C['length']===0x0){l(B);return;}let D=new Set(C);const E=()=>{D['size']===0x0&&l(B);};C['forEach'](F=>{w(F,()=>{D['delete'](F),E();});}),E();}function n(B,C={}){try{const D=B(C);return D instanceof Promise?D:Promise['resolve'](D);}catch(E){return Promise['reject'](E);}}function o(B){const C={},D=y(B['requires']);return D['forEach'](E=>{E==='consent'?C[E]=e:C[E]=j[E];}),C;}function p(B){const C=y(B['requires']);if(C['length']===0x0)return!![];return C['every'](D=>v(D)==='done');}function q(B){let C=![];return(!B||!B['name'])&&(console['error']('[AdsLoader]\x20Error:\x20entry\x20must\x20have\x20a\x20name'),C=!![]),B['externalScriptUrl']&&!b['isURL'](B['externalScriptUrl'])&&(console['error']('[AdsLoader]\x20Error:\x20entry\x20must\x20have\x20a\x20valid\x20externalScriptUrl'),C=!![]),B['externalFeed']&&!b['isURL'](B['externalFeed'])&&(console['error']('[AdsLoader]\x20Error:\x20entry\x20must\x20have\x20a\x20valid\x20feed\x20URL'),C=!![]),B['run']&&!b['isFunction'](B['run'])&&(console['error']('[AdsLoader]\x20Error:\x20entry\x20must\x20have\x20a\x20valid\x20run\x20function'),C=!![]),B['run']&&B['externalScriptUrl']&&(console['error']('[AdsLoader]\x20Error:\x20entry\x20must\x20have\x20a\x20valid\x20run\x20function\x20or\x20externalScriptUrl,\x20not\x20both'),C=!![]),B['run']&&!b['isFunction'](B['run'])&&(console['error']('[AdsLoader]\x20Error:\x20entry\x20must\x20have\x20a\x20valid\x20run\x20function'),C=!![]),B['externalScriptUrl']&&!b['isURL'](B['externalScriptUrl'])&&(console['error']('[AdsLoader]\x20Error:\x20entry\x20must\x20have\x20a\x20valid\x20externalScriptUrl'),C=!![]),C;}function r(B){const C=q(B);if(C)return;const D=k['get'](B['name']);if(!D||(D['status']==='done'||k['get'](B['name'])['listeners']['size']===0x0))u(B['name']);i[B['name']]=B,p(B)?l(B):m(B);}function s(B){return!k['has'](B)&&k['set'](B,{'status':'pending','listeners':new Set()}),k['get'](B);}function t(B){return k['get'](B);}function u(B){k['set'](B,{'status':'pending','listeners':new Set()});}function v(B){return k['get'](B)?.['status']||'pending';}function w(B,C){const D=s(B);if(D['status']==='done'){C(D['payload']);return;}D['listeners']['add'](C);}function x(B,C){const D=t(B);D['status']='done',D['payload']=C;B==='consent'&&(e=C||null);const E=Array['from'](D['listeners']);D['listeners']['clear'](),E['forEach'](F=>{try{F(C);}catch(G){}});}function y(B){if(!B)return[];if(Array['isArray'](B))return B['map'](C=>typeof C==='string'?C:C&&C['name']?C['name']:undefined)['filter'](Boolean);if(typeof B==='string')return[B];if(B&&B['name'])return[B['name']];return[];}function z(B){const C=B['externalScriptUrl'],D=B['attr'];return new Promise((E,F)=>{try{const G=document['createElement']('script');G['src']=C,G['async']=!![];if(B['attr'])Object['keys'](D)['forEach'](H=>G['setAttribute'](H,D[H]));G['onload']=()=>E(!![]),G['onerror']=()=>F(console['error']('[AdsLoader]\x20Error:\x20'+C+'\x20script\x20load\x20failed')),document['head']['appendChild'](G);}catch(H){F(console['error']('[AdsLoader]\x20Error:\x20'+C+'\x20script\x20load\x20failed',H));}});}function A(B){const C=B['externalFeed'];return fetch(C);}return r;}function g(){const i=r()['toLowerCase']();c({'name':'AdsHBData','externalFeed':a['prebidConfig']['hbDataURL']});function j(){c({'name':'domLoaded','run':b['domReady']}),c({'name':'initAdserver','run':l(),'requires':['gpt','consent','AdsHBData','oy']}),c({'name':'AdsStartAuction','run':k,'requires':['prebidLibrary','consent','AdsHBData','domLoaded'],'consent':[['consents',[0x1,0x2,0x3,0x4,0x7,0x9,0xa],'']]}),c({'name':'displayAds','run':m,'requires':['consent','initAdserver','cxSegments','AdsStartAuction'],'ignoreDependencyLackOfConsent':!![]});}function k(s){if(!s['AdsHBData'])return console['error']('[AdsLoader]\x20Error:\x20No\x20HB\x20Data,\x20can\x27t\x20start\x20auction!');window['gapbjs']=window['gapbjs']||{},gapbjs['que']=gapbjs['que']||[];const t=a['prebidConfig']['prebidTimeout'],u=q(s['AdsHBData'][i]);a['prebidConfig']['gapbjsSetConfig']['forEach'](v=>{o(v);}),p(a['prebidConfig']['gapbjsBidderSettings']);if(a['prebidConfig']['gapbjsAdunitMod']&&b['isFunction'](a['prebidConfig']['gapbjsAdunitMod']))
170a['prebidConfig']['gapbjsAdunitMod'](u);return gapbjs['adUnits']=[],gapbjs['addAdUnits'](u),new Promise((v,w)=>{gapbjs['requestBids']({'bidsBackHandler':v,'timeout':t});});}function l(){let s=![];window['googletag']=window['googletag']||{},window['googletag']['cmd']=window['googletag']['cmd']||[];function t(){const pt=gapbjs['getAdserverTargeting'](),pk=new Set();Object['values'](pt)['forEach'](a=>{Object['keys'](a)['forEach'](b=>pk['add'](b));});const as=googletag['pubads']()['getSlots']();as['forEach'](a=>{const b=a['getTargetingKeys']()['reduce']((c,d)=>{return c[d]=a['getTargeting'](d),c;},{});pk['forEach'](c=>delete b[c]),a['setConfig']({'targeting':b});});}function u(){const w=[{'consent':[['consents',[0x1,0x3,0x4],0x2f3],['legitimateInterests',[0x2,0x7,0x9,0xa],0x2f3]]},{'consent':[['consents',[0x1,0x3,0x4,0x2,0x7,0x9,0xa],0x2f3]]}];return w['some'](b['checkEntryForConsent']);}function v(w){Object['entries'](w)['forEach'](([x,y])=>{const z=b['getDiv'](y['divId']);if(!z){b['debugLogger']('warn','Warning:\x20Can\x27t\x20find\x20gam\x20slot\x20div\x20'+y['divId']);return;}googletag['defineSlot'](adsConfig['gamConfig']['slotPrefix']+x,y['adserverSizes'],y['divId'])['addService'](googletag['pubads']()),googletag['display'](y['divId']);});}return function(w){if(s||!n())return;const x=!u();googletag['cmd']['push'](function(){t(),googletag['pubads']()['disableInitialLoad'](),v(w['AdsHBData'][i]),googletag['pubads']()['enableSingleRequest'](),googletag['pubads']()['collapseEmptyDivs'](),googletag['pubads']()['setCentering'](!![]),googletag['enableServices'](),googletag['cmd']['push'](function(){googletag['pubads']()['setPrivacySettings']({'nonPersonalizedAds':x});});}),s=!![];};}function m(s){if(!n())return;t(s),googletag['cmd']['push'](function(){gapbjs['que']['push'](function(){googletag['pubads']()['refresh']();});});function t(u){googletag['cmd']['push'](()=>{gapbjs['que']['push'](function(){googletag['setConfig']({'targeting':{...adsConfig['gamConfig']['targeting']}});if(u['cxSegments'])googletag['setConfig']({'targeting':{'CxSegments':u['cxSegments']}});gapbjs['setTargetingForGPTAsync']();});});}}function n(){const s=[{'consent':[['consents',[0x1],0x2f3],['legitimateInterests',[0x2,0x7,0x9,0xa]]]},{'consent':[['consents',[0x1,0x2,0x7,0x9,0xa],0x2f3]]}];return s['some'](b['checkEntryForConsent']);}function o(s){if(s['bidders']&&Array['isArray'](s['bidders'])&&s['bidders']['length']>0x0)window['gapbjs']['setBidderConfig']({'bidders':s['bidders'],'config':s['config']});else window['gapbjs']['setConfig'](s['config']);}function p(s){const t=s['reduce']((u,{bidders:v,config:w})=>{for(const x of v){u[x]={...u[x]||{},...w};}return u;},{});window['gapbjs']['bidderSettings']=t;}function q(s){const t=[];Object['entries'](s)['forEach'](([v,w])=>{if(w['Prebid']['toLowerCase']()!=='y')return;if(!b['getDiv'](w['divId']))return;const x=u(w['adserverSizes']),y={'code':w['divId'],'mediaTypes':{'banner':{'sizes':x}},'bids':w['bidders']};t['push'](y);});function u(v){if(!v||!Array['isArray'](v))return[];return v['filter'](w=>Array['isArray'](w));}return t;}function r(){if(window['innerWidth']>=0x0&&window['innerWidth']<=0x2ff)return'mobile';else{if(window['innerWidth']>=0x300&&window['innerWidth']<=0x3dd)return'tablet';else return'desktop';}}return{'initAds':j};}function h(){function i(o){return typeof o==='function';}function j(o){if(!o||typeof o!=='string')return![];try{return new URL(o),!![];}catch(p){return![];}}function k(o){if(!o['consent']||!Array['isArray'](o['consent'])||o['consent']['length']===0x0)return!![];if(!e)return![];try{const p=Array['isArray'](o['consent'][0x0])?o['consent']:[o['consent']];return p['every'](q=>{const [r,s,t]=q;if(!Array['isArray'](s)||s['length']===0x0)return!![];const u=s['every'](v=>{return e['purpose']&&e['purpose'][r]&&e['purpose'][r][v]===!![];});if(!u)return![];if(t)return e['vendor']&&e['vendor'][r]&&e['vendor'][r][t]===!![];return!![];});}catch(q){return console['error']('[AdsLoader]\x20Error:\x20checking\x20consent:',q),![];}}async function l(){if(document['readyState']!=='loading')return!![];return new Promise(o=>{document['addEventListener']('DOMContentLoaded',()=>o(!![]),{'once':!![]});});}function m(o,p){a['debugLogger']&&console[o]('[AdsLoader]\x20'+p);}function n(o){return document['getElementById'](o);}return{'isFunction':i,'isURL':j,'checkEntryForConsent':k,'domReady':l,'debugLogger':m,'getDiv':n}
170;}return this['callQueue']={'add':c,'startads':d['initAds']},d['initAds'](),this;})(adsConfig); 171 172AdsLoader.callQueue.add({ name: "cmp", externalScriptUrl: "https://cookie-cdn.cookiepro.com/scripttemplates/otSDKStub.js", attr: { "data-domain-script": adsConfig.cmpDomainId } }); 173AdsLoader.callQueue.add({ name: "optanonWrapper", run: () => { window.OptanonWrapper = () => { } }, requires: ["cmp"] }); 174AdsLoader.callQueue.add({ name: "consent", run: getConsentData, requires: ["cmp"] }); 175AdsLoader.callQueue.add({ name: "gpt", externalScriptUrl: "https://securepubads.g.doubleclick.net/tag/js/gpt.js" }); 176AdsLoader.callQueue.add({ name: "cxenseScript", externalScriptUrl: "https://cdn.cxense.com/cx.js", requires: ["consent"], consent: [['consents', [1, 2, 3, 4, 7, 9, 10], 412],] }); 177AdsLoader.callQueue.add({ name: "cxSegments", run: getCXSegements, consent: "", requires: ["consent", "cxenseScript"], }); 178AdsLoader.callQueue.add({ name: "prebidLibrary", externalScriptUrl: PREBID_JS_URL }); 179//AdsLoader.callQueue.add({ name: "sati", externalScriptUrl: "https://code3.adtlgc.com/js/sati_init.js" }); 180AdsLoader.callQueue.add({ name: "oy", run: oy, requires: ["gpt"] });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.