PageSourceSearch

https://www.blic.si/assets/tcf.js?v=2026092514

js blic.si collected 2026-09-25 12:32:15 UTC 7,953 bytes, 159 lines download raw bytes

1let blicTcData = false;
2let blicIABVendorList = false;
3let blicNonIABVendorList = false;
4
5const callback = (tcData, success) => {
6    if(success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')) {
7        blicTcData = tcData;
8        console.log('TCF STATUS', tcData.eventStatus);
9        //console.log(tcData);
10        
11        //console.log('CONSENTS 1: ', tcData.purpose.consents[1], tcData.purpose.consents[1] === !1 && tcData.purpose.legitimateInterests[1] === !1);
12
13        __tcfapi('getVendorList', 2, (gvl, success1) => {
14            if(success1) {
15                blicIABVendorList = gvl;
16                enableScriptTagsIAB();
17           /*     console.log(gvl.vendors[755]);
18                console.log(tcData);
19                //let check = gvl.vendors[755].purposes.concat(gvl.vendors[755].flexiblePurposes, gvl.vendors[755].legIntPurposes);
20                let check = gvl.vendors[755].purposes.concat(gvl.vendors[755].legIntPurposes);
21                console.log('check::: ', check);
22                let valid = true;
23                for(let i = 0; i < check.length; i++) {
24                    if( (tcData.purpose.consents[check[i]] === undefined || tcData.purpose.consents[check[i]] === false) && (tcData.purpose.legitimateInterests[check[i]] === undefined || tcData.purpose.legitimateInterests[check[i]] === false) ) {
25                        valid = false;
26                    }
27                    console.log('CHECK PURPOSE ', check[i], valid, 'CONSENTS and LEGINT: ', tcData.purpose.consents[check[i]], tcData.purpose.legitimateInterests[check[i]])
28                }
29                if(tcData.vendor.consents[755]  === !1 && tcData.vendor.legitimateInterests[755]  === !1) {
30                    valid = false;
31                }
32
33                if(valid) {
34                    console.log('vendor 755 - Google Advertising - accepted');
35                } else {
36                    console.log('vendor 755 - Google Advertising - not accepted');
37                }
38            */
39                /*let p1 = tcData.purpose.consents[1] === !0 || tcData.purpose.legitimateInterests[1] === !0,
40                    p2 = tcData.purpose.consents[2] === !0 || tcData.purpose.legitimateInterests[2] === !0,
41                    p3 = tcData.purpose.consents[3] === !0 || tcData.purpose.legitimateInterests[3] === !0,
42                    p4 = tcData.purpose.consents[4] === !0 || tcData.purpose.legitimateInterests[4] === !0,
43                    p7 = tcData.purpose.consents[7] === !0 || tcData.purpose.legitimateInterests[7] === !0,
44                    p9 = tcData.purpose.consents[9] === !0 || tcData.purpose.legitimateInterests[9] === !0,
45                    p10 = tcData.purpose.consents[10] === !0 || tcData.purpose.legitimateInterests[10] === !0,
46                    v755 = tcData.vendor.consents[755] || tcData.vendor.legitimateInterests[755];
47                if(p1 && p2 && p3 && p4 && p7 && p9 && p10 && v755) {
48                    console.log('vendor 755 - Google Advertising - accepted');
49                } else {
50                    console.log('vendor 755 - Google Advertising - not accepted');
51                }*/
52            }
53        }, 'LATEST');
54
55        __tcfapi('getNonIABVendorConsents', 2, (gvl, success2) => {
56            if(success2) {
57                blicNonIABVendorList = gvl;
58                enableScriptTagsNonIAB();
59            }
60        });
61
62       
63    } else {
64      // do something else
65    }
66}
67
68const intervalId = setInterval(() => {
69    if (typeof __tcfapi === 'function') {
70        __tcfapi('addEventListener', 2, callback);
71        clearInterval(intervalId);
72    }
73}, 300);
74
75
76function enableScriptTagsIAB() {
77    //SIA Setupad: 1241
78    //Google Advertising Products: 755
79    let e = document.querySelectorAll('script[type="blic/javascript"]:not([data-processed])');
80    for (var t of e) {
81        if(t.dataset.vendor && testVendorIAB(t.dataset.vendor)) {
82            let s = document.createElement('script');
83            s.type = 'text/javascript';
84            try {
85                //s.setHTML(t.innerHTML);
86                s.textContent = t.innerHTML;
87            } catch (e) {
88                s.innerHTML = t.innerHTML;
89            }
90            for (var n of t.attributes) n.name !== 'type' && s.setAttribute(n.name, n.value);
91            t.parentNode.insertBefore(s, t), t.setAttribute("data-processed", !0);
92        }
93    }
94}
95
96function enableScriptTagsNonIAB() {
97    //Google Analytics: 1
98    let e = document.querySelectorAll('script[type="blic/javascript"]:not([data-processed])');
99    for (var t of e) {
100        if(t.dataset.vendornoniab && testVendorNonIAB(t.dataset.vendornoniab)) {
101            let s = document.createElement('script');
102            s.type = 'text/javascript';
103            try {
104                //console.log('try', s, t)
105                s.textContent = t.innerHTML;
106            } catch (e) {
107                s.innerHTML = t.innerHTML;
108                //console.log('catch', e, s, t)
109            }
110            for (var n of t.attributes) n.name !== 'type' && s.setAttribute(n.name, n.value);
111            t.parentNode.insertBefore(s, t), t.setAttribute("data-processed", !0);
112        }
113    }
114
115}
116
117function testVendorIAB(id) {
118    let check = blicIABVendorList.vendors[id].purposes.concat(blicIABVendorList.vendors[id].legIntPurposes).concat(blicIABVendorList.vendors[id].flexiblePurposes);
119    //console.log('id::checkAll::purposes::legInt::flexPur', id, check, blicIABVendorList.vendors[id].purposes, blicIABVendorList.vendors[id].legIntPurposes, blicIABVendorList.vendors[id].flexiblePurposes);
120    let valid = true;
121    for(let i = 0; i < check.length; i++) {
122        if( (blicTcData.purpose.consents[check[i]] === undefined || blicTcData.purpose.consents[check[i]] === false) ) {
123            valid = false;
124            //console.log('CHECK PURPOSE ', check[i], false, 'CONSENTS and LEGINT: ', blicTcData.purpose.consents[check[i]], blicTcData.purpose.legitimateInterests[check[i]]);
125        } else {
126            //console.log('CHECK PURPOSE ', check[i], true, 'CONSENTS and LEGINT: ', blicTcData.purpose.consents[check[i]], blicTcData.purpose.legitimateInterests[check[i]]);
127        }
128    }
129    if(blicTcData.vendor.consents[id] === !1) {
130        valid = false;
131    }
132    return valid;
133}
134
135function testVendorNonIAB(id) {
136    let valid_vendor = false;
137    let valid_purposes = false;
138    if(blicNonIABVendorList && blicNonIABVendorList.nonIabVendorConsents !== undefined && blicNonIABVendorList.nonIabVendorConsents !== null && blicNonIABVendorList.nonIabVendorConsents[id] !== null) {
139        valid_vendor = true;
140    }
141    if(id == 1 &&
142        blicTcData.purpose.consents[1] !== undefined && blicTcData.purpose.consents[1] &&
143        blicTcData.purpose.consents[8] !== undefined && blicTcData.purpose.consents[8] &&
144        blicTcData.purpose.consents[10] !== undefined && blicTcData.purpose.consents[10]) {
145        valid_purposes = true;
146    }
147    if(id == 2 &&
148        blicTcData.purpose.consents[1] !== undefined && blicTcData.purpose.consents[1] &&
149        blicTcData.purpose.consents[2] !== undefined && blicTcData.purpose.consents[2] &&
150        blicTcData.purpose.consents[3] !== undefined && blicTcData.purpose.consents[3] &&
151        blicTcData.purpose.consents[4] !== undefined && blicTcData.purpose.consents[4] &&
152        blicTcData.purpose.consents[7] !== undefined && blicTcData.purpose.consents[7] &&
153        blicTcData.purpose.consents[9] !== undefined && blicTcData.purpose.consents[9] &&
154        blicTcData.purpose.consents[10] !== undefined && blicTcData.purpose.consents[10]) {
155        valid_purposes = true;
156    }
157    //console.log('nonIabVendor (id, valid vendor, valid purposes)', id, valid_vendor, valid_purposes);
158    return (valid_vendor && valid_purposes);
159}

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.