PageSourceSearch

https://www.u-bordeaux-montaigne.fr/plugins/tarteaucitron/resources/js/tarteaucitron.services.js

js u-bordeaux-montaigne.fr collected 2026-09-24 08:48:20 UTC 225,205 bytes, 6,133 lines download raw bytes

1/*global tarteaucitron, ga, Shareaholic, stLight, clicky, top, google, Typekit, FB, ferankReady, IN, stButtons, twttr, PCWidget*/
2/*jslint regexp: true, nomen: true*/
3
4// generic iframe
5tarteaucitron.services.iframe = {
6    "key": "iframe",
7    "type": "other",
8    "name": "Web content",
9    "uri": "",
10    "needConsent": true,
11    "cookies": [],
12    "js": function () {
13        "use strict";
14        tarteaucitron.fallback(['tac_iframe'], function (x) {
15            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x,"title")) : '',
16                width = tarteaucitron.getElemAttr(x,"width"),
17                height = tarteaucitron.getElemAttr(x,"height"),
18                allowfullscreen = tarteaucitron.getElemAttr(x,"allowfullscreen"),
19                scrolling = (tarteaucitron.getElemAttr(x,"scrolling")),
20                url = tarteaucitron.getElemAttr(x,"url");
21
22            if(!scrolling){
23                scrolling = 'no';
24            }
25
26            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="'+scrolling+'" allowtransparency' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
27        });
28    },
29    "fallback": function () {
30        "use strict";
31        var id = 'iframe';
32        tarteaucitron.fallback(['tac_iframe'], function (elem) {
33            elem.style.width = tarteaucitron.getElemAttr(elem,'width') + 'px';
34            elem.style.height = tarteaucitron.getElemAttr(elem,'height') + 'px';
35            return tarteaucitron.engage(id);
36        });
37    }
38};
39
40// actistat
41tarteaucitron.services.actistat = {
42    "key": "actistat",
43    "type": "analytic",
44    "name": "ActiSTAT",
45    "uri": "https://actigraph.com/actistat",
46    "needConsent": true,
47    "cookies": [],
48    "js": function () {
49        "use strict";
50
51        if (tarteaucitron.user.actistatId === undefined) {
52            return;
53        }
54
55        tarteaucitron.addScript('https://actistat.fr/umami.js', '', '', '', 'data-website-id', tarteaucitron.user.actistatId);
56    }
57};
58
59// outbrainamplify
60tarteaucitron.services.outbrainamplify = {
61    "key": "outbrainamplify",
62    "type": "ads",
63    "name": "Outbrain Amplify",
64    "uri": "https://www.outbrain.com/privacy/",
65    "needConsent": true,
66    "cookies": [],
67    "js": function () {
68        "use strict";
69
70        if (tarteaucitron.user.outbrainamplifyId === undefined) {
71            return;
72        }
73
74        var OB_ADV_ID = tarteaucitron.user.outbrainamplifyId;
75        if (window.obApi) {
76            var toArray = function(object) {
77                return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];
78            };
79            window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));
80            return;
81        }
82        var api = window.obApi = function() {
83            api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);
84        };
85        api.version = '1.1';
86        api.loaded = true;
87        api.marketerId = OB_ADV_ID;
88        api.queue = [];
89
90        tarteaucitron.addScript('https://amplify.outbrain.com/cp/obtp.js', '', function () {
91            obApi('track', 'PAGE_VIEW');
92        });
93    }
94};
95
96// playplay
97tarteaucitron.services.playplay = {
98    "key": "playplay",
99    "type": "video",
100    "name": "PlayPlay",
101    "uri": "https://playplay.com/fr/confidentialite",
102    "needConsent": true,
103    "cookies": [],
104    "js": function () {
105        "use strict";
106
107        tarteaucitron.fallback(['tac_playplay'], function (x) {
108            var id = tarteaucitron.getElemAttr(x, "data-id"),
109                width = tarteaucitron.getElemAttr(x, "width"),
110                height = tarteaucitron.getElemAttr(x, "height");
111
112            var playURL = "https://playplay.com/app/embed-video/" + id;
113
114            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"" + playURL + "\" style=\"border:0;\" allowfullscreen=\"\"></iframe>";
115        });
116    },
117    "fallback": function () {
118        "use strict";
119        var id = 'playplay';
120        tarteaucitron.fallback(['tac_playplay'], function (elem) {
121            return tarteaucitron.engage(id);
122        });
123    }
124};
125
126// adobeworkspace
127tarteaucitron.services.adobeworkspace = {
vendor: 14,359 bytes, lines 128-549
128    "key": "adobeworkspace",
129    "type": "analytic",
130    "name": "Adobe - Analysis Workspace",
131    "uri": "https://www.adobe.com/privacy/policy.html",
132    "needConsent": true,
133    "cookies": ['s_ecid', 's_cc', 's_sq', 's_vi', 's_fid'],
134    "js": function () {
135        "use strict";
136
137        if (tarteaucitron.user.adobeworkspaceId1 === undefined || tarteaucitron.user.adobeworkspaceId2 === undefined || tarteaucitron.user.adobeworkspaceId3 === undefined) {
138            return;
139        }
140
141        tarteaucitron.addScript('https://assets.adobedtm.com/'+tarteaucitron.user.adobeworkspaceId1+'/'+tarteaucitron.user.adobeworkspaceId2+'/launch-'+tarteaucitron.user.adobeworkspaceId3+'.min.js');
142    }
143};
144
145// zohopagesense
146tarteaucitron.services.zohopagesense = {
147    "key": "zohopagesense",
148    "type": "analytic",
149    "name": "Zoho PageSense",
150    "uri": "https://www.zoho.com/pagesense/cookie-policy.html",
151    "needConsent": true,
152    "cookies": ["zab_g_", "zabUserID", "zabVisitID", "zabSplit", "zabBucket", "zabHMBucket", "zpsfa_", "zfa", "zsr", "zabme", "zsd", "ps_payloadSeqId", "zabPZBucket", "zPersonalization", "zia_", "zpc", "zps_permission_status", "zps-tgr-dts", "zpspolls_", "zpsPollsBucket", "zpspb", "zpsPopupBucket", "zpssr", "zab_g_", "zab_", "zPersonalization"],
153    "js": function () {
154        "use strict";
155
156        if (tarteaucitron.user.zohoPageSenseProjectId === undefined || tarteaucitron.user.zohoPageSenseScriptHash === undefined) {
157            return;
158        }
159        tarteaucitron.addScript('https://cdn-eu.pagesense.io/js/' + tarteaucitron.user.zohoPageSenseProjectId + '/' + tarteaucitron.user.zohoPageSenseScriptHash + '.js');
160    }
161};
162
163// leadinfo
164tarteaucitron.services.leadinfo = {
165    "key": "leadinfo",
166    "type": "analytic",
167    "name": "Leadinfo",
168    "uri": "https://www.leadinfo.com/en/privacy/",
169    "needConsent": true,
170    "cookies": ['_li_id', '_li_ses'],
171    "js": function () {
172        "use strict";
173
174        if (tarteaucitron.user.leadinfoId === undefined) {
175            return;
176        }
177
178        window.GlobalLeadinfoNamespace = window.GlobalLeadinfoNamespace || [];
179        window.GlobalLeadinfoNamespace.push("leadinfo");
180        window["leadinfo"] = function() {
181            (window["leadinfo"].q = window["leadinfo"].q || []).push(arguments)
182        };
183        window["leadinfo"].t = window["leadinfo"].t || tarteaucitron.user.leadinfoId;
184        window["leadinfo"].q = window["leadinfo"].q || [];
185
186        tarteaucitron.addScript('https://cdn.leadinfo.net/ping.js');
187    }
188};
189
190// force24
191tarteaucitron.services.force24 = {
192    "key": "force24",
193    "type": "analytic",
194    "name": "Force24",
195    "uri": "https://support.force24.co.uk/support/solutions/articles/79000128057-cookie-policies",
196    "needConsent": true,
197    "cookies": ['F24_autoID', 'F24_personID'],
198    "js": function () {
199        "use strict";
200
201        if (tarteaucitron.user.force24trackingId === undefined || tarteaucitron.user.force24clientId === undefined) {
202            return;
203        }
204
205        window.Force24Object = "f24", window["f24"] = window["f24"] || function() {
206            window["f24"].q = window["f24"].q || [],
207                window["f24"].q.push(arguments)
208        }, window["f24"].l = 1 * new Date;
209
210        tarteaucitron.addScript('https://static.websites.data-crypt.com/scripts/activity/v3/inject-v3.min.js');
211
212        f24('config', 'set_tracking_id', tarteaucitron.user.force24trackingId);
213        f24('config', 'set_client_id', tarteaucitron.user.force24clientId);
214    }
215};
216
217// tiktokvideo
218tarteaucitron.services.tiktokvideo = {
219    "key": "tiktokvideo",
220    "type": "video",
221    "name": "Tiktok Video",
222    "uri": "https://www.tiktok.com/legal/page/eea/privacy-policy/en",
223    "needConsent": true,
224    "cookies": [],
225    "js": function () {
226        "use strict";
227
228        tarteaucitron.addScript('https://www.tiktok.com/embed.js');
229    },
230    "fallback": function () {
231        "use strict";
232        var id = 'tiktokvideo';
233        tarteaucitron.fallback(['tiktok-embed'], function (elem) {
234            return tarteaucitron.engage(id);
235        });
236    }
237};
238
239// shinystat
240tarteaucitron.services.shinystat = {
241    "key": "shinystat",
242    "type": "analytic",
243    "name": "Shinystat",
244    "uri": "https://www.shinystat.com/en/opt-out.html",
245    "needConsent": true,
246    "cookies": [],
247    "js": function () {
248        "use strict";
249
250        if (tarteaucitron.user.shinystatUser === undefined) {
251            return;
252        }
253
254        tarteaucitron.addScript('https://codice.shinystat.com/cgi-bin/getcod.cgi?USER=' + tarteaucitron.user.shinystatUser);
255    }
256};
257
258// activecampaignvgo
259tarteaucitron.services.activecampaignvgo = {
260    "key": "activecampaignvgo",
261    "type": "other",
262    "name": "Active Campaign",
263    "uri": "https://www.activecampaign.com/legal/privacy-policy/",
264    "needConsent": true,
265    "cookies": [],
266    "js": function () {
267        "use strict";
268
269        if (tarteaucitron.user.activecampaignAccount === undefined) {
270            return;
271        }
272
273        window.visitorGlobalObjectAlias="vgo";
274        window[window.visitorGlobalObjectAlias]=window[window.visitorGlobalObjectAlias]||function(){(window[window.visitorGlobalObjectAlias].q=window[window.visitorGlobalObjectAlias].q||[]).push(arguments)};
275        window[window.visitorGlobalObjectAlias].l=(new Date).getTime();
276
277        tarteaucitron.addScript('https://diffuser-cdn.app-us1.com/diffuser/diffuser.js', '', function () {
278           vgo('setAccount', tarteaucitron.user.activecampaignAccount);
279           vgo('setTrackByDefault', true);
280           vgo('process');
281        });
282    }
283};
284
285// sendinblue
286tarteaucitron.services.sendinblue = {
287    "key": "sendinblue",
288    "type": "other",
289    "name": "sendinblue",
290    "uri": "https://fr.sendinblue.com/legal/cookies/",
291    "needConsent": true,
292    "cookies": [],
293    "js": function () {
294        "use strict";
295
296        if (tarteaucitron.user.sendinblueKey === undefined) {
297            return;
298        }
299
300        window.sib = {equeue: [], client_key: tarteaucitron.user.sendinblueKey};
301        window.sendinblue = {};
302        for (var j = ['track', 'identify', 'trackLink', 'page'], i = 0; i < j.length; i++) {
303            (function(k) {
304                window.sendinblue[k] = function() {
305                    var arg = Array.prototype.slice.call(arguments);
306                    (window.sib[k] || function() {
307                            var t = {};
308                            t[k] = arg;
309                            window.sib.equeue.push(t);
310                    })(arg[0], arg[1], arg[2], arg[3]);
311                };
312            })(j[i]);
313         }
314
315        tarteaucitron.addScript('https://sibautomation.com/sa.js?key=' + window.sib.client_key, 'sendinblue-js', function () {
316            window.sendinblue.page();
317        });
318    }
319};
320
321// collectchat
322tarteaucitron.services.collectchat = {
323    "key": "collectchat",
324    "type": "other",
325    "name": "Collect Chat",
326    "uri": "https://collect.chat/privacy/",
327    "needConsent": true,
328    "cookies": [],
329    "js": function () {
330        "use strict";
331
332        if (tarteaucitron.user.collectchatId === undefined) {
333            return;
334        }
335
336        window.CollectId = tarteaucitron.user.collectchatId;
337
338        tarteaucitron.addScript('https://collectcdn.com/launcher.js');
339    }
340};
341
342// eulerian
343tarteaucitron.services.eulerian = {
344    "key": "eulerian",
345    "type": "analytic",
346    "name": "Eulerian",
347    "uri": "https://www.eulerian.com/rgpd",
348    "needConsent": true,
349    "cookies": [],
350    "js": function () {
351        "use strict";
352
353        if (tarteaucitron.user.eulerianHost === undefined) {
354            return;
355        }
356
357        (function(e,a){var i=e.length,y=5381,k='script',s=window,v=document,o=v.createElement(k);for(;i;){i-=1;y=(y*33)^e.charCodeAt(i)}y='_EA_'+(y>>>=0);(function(e,a,s,y){s[a]=s[a]||function(){(s[y]=s[y]||[]).push(arguments);s[y].eah=e;};}(e,a,s,y));i=new Date/1E7|0;o.ea=y;y=i%26;o.async=1;o.src='//'+e+'/'+String.fromCharCode(97+y,122-y,65+y)+(i%1E3)+'.js?2';s=v.getElementsByTagName(k)[0];s.parentNode.insertBefore(o,s);})
358        (tarteaucitron.user.eulerianHost,'EA_push');
359        EA_push();
360    }
361};
362
363// posthog
364tarteaucitron.services.posthog = {
365    "key": "posthog",
366    "type": "other",
367    "name": "Posthog",
368    "uri": "https://posthog.com/privacy",
369    "needConsent": true,
370    "cookies": [],
371    "js": function () {
372        "use strict";
373
374        if (tarteaucitron.user.posthogApiKey === undefined || tarteaucitron.user.posthogHost === undefined) {
375            return;
376        }
377
378        !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
379
380         posthog.init(tarteaucitron.user.posthogApiKey, {api_host: tarteaucitron.user.posthogHost});
381
382    }
383};
384
385// googlesignin
386tarteaucitron.services.googlesignin = {
387    "key": "googlesignin",
388    "type": "other",
389    "name": "Google Signin",
390    "uri": "https://policies.google.com/technologies/cookies#types-of-cookies",
391    "needConsent": true,
392    "cookies": [],
393    "js": function () {
394        "use strict";
395
396        tarteaucitron.addScript('https://accounts.google.com/gsi/client');
397    }
398};
399
400// calendly
401tarteaucitron.services.calendly = {
402    "key": "calendly",
403    "type": "other",
404    "name": "Calendly",
405    "uri": "https://calendly.com/privacy",
406    "needConsent": true,
407    "cookies": [],
408    "js": function () {
409        "use strict";
410
411        tarteaucitron.addScript('https://assets.calendly.com/assets/external/widget.js');
412    }
413};
414
415// tolkai
416tarteaucitron.services.tolkai = {
417    "key": "tolkai",
418    "type": "other",
419    "name": "tolk.ai",
420    "uri": "https://www.tolk.ai/",
421    "needConsent": true,
422    "cookies": [],
423    "js": function () {
424        "use strict";
425
426        if (tarteaucitron.user.tolkaiBot === undefined) {
427            return;
428        }
429
430        window.tcfbot = tarteaucitron.user.tolkaiBot;
431        window.TcfWbchtParams = { behaviour: 'default' };
432        window.display = 'iframe';
433        tarteaucitron.addScript('https://script.tolk.ai/iframe-latest.js');
434    }
435};
436
437// kwanko
438tarteaucitron.services.kwanko = {
439    "key": "kwanko",
440    "type": "ads",
441    "name": "Kwanko",
442    "uri": "https://www.kwanko.com/fr/rgpd/politique-gestion-donnees/",
443    "needConsent": true,
444    "cookies": [],
445    "js": function () {
446        "use strict";
447        tarteaucitron.fallback(['tac_kwanko'], function (x) {
448            var mclic = x.getAttribute("data-mclic");
449
450            return '<img src="https://action.metaffiliation.com/trk.php?mclic=' + mclic + '" width="1" height="1" border="0" />';
451        });
452    },
453    "fallback": function () {
454        "use strict";
455        var id = 'kwanko';
456        tarteaucitron.fallback(['tac_kwanko'], function (elem) {
457            return tarteaucitron.engage(id);
458        });
459    }
460};
461
462// leadforensics
463tarteaucitron.services.leadforensics = {
464    "key": "leadforensics",
465    "type": "ads",
466    "name": "Lead Forensics",
467    "uri": "https://www.leadforensics.com/cookie-policy/",
468    "needConsent": true,
469    "cookies": ['ifuuid'],
470    "js": function () {
471        "use strict";
472        if (tarteaucitron.user.leadforensicsId === undefined) {
473            return;
474        }
475
476        tarteaucitron.addScript('https://secure.team8save.com/js/sc/'+ tarteaucitron.user.leadforensicsId +'.js');
477    }
478};
479
480// ubib
481tarteaucitron.services.ubib = {
482    "key": "ubib",
483    "type": "support",
484    "name": "Ubib Chatbot",
485    "uri": "https://ubib.libanswers.com/",
486    "needConsent": true,
487    "cookies": [],
488    "js": function () {
489        "use strict";
490
491        if (tarteaucitron.user.ubibId === undefined || tarteaucitron.user.ubibHash === undefined) {
492            return;
493        }
494
495        tarteaucitron.addScript('https://' + tarteaucitron.user.ubibId + '.libanswers.com/load_chat.php?hash=' + tarteaucitron.user.ubibHash);
496    }
497};
498
499// wysistathightrack
500tarteaucitron.services.wysistathightrack = {
501    "key": "wysistathightrack",
502    "type": "analytic",
503    "name": "Wysistat (privacy by design)",
504    "uri": "https://www.wysistat.net/webanalytics/exemption-cnil/",
505    "needConsent": false,
506    "cookies": ['wysistat'],
507    "js": function () {
508        "use strict";
509
510        if (tarteaucitron.user.wysistatNom === undefined) {
511            return;
512        }
513
514        window._wsq = window._wsq || [];
515        window._wsq.push(['_setNom', tarteaucitron.user.wysistatNom]);
516        window._wsq.push(['_wysistat']);
517
518        tarteaucitron.addScript('https://www.wysistat.com/ws.jsa');
519    }
520};
521
522// robofabrica
523tarteaucitron.services.robofabrica = {
524    "key": "robofabrica",
525    "type": "support",
526    "name": "Robo Fabrica Chatbot",
527    "uri": "https://robofabrica.tech/charte-vie-privee/",
528    "needConsent": true,
529    "cookies": [],
530    "js": function () {
531        "use strict";
532
533        if (tarteaucitron.user.robofabricaUuid === undefined) {
534            return;
535        }
536
537        tarteaucitron.addScript('https://app.robofabrica.tech/widget/script', 'inceptive-cw-script', function() {
538
539            document.getElementById('inceptive-cw-script').setAttribute('unique-url', tarteaucitron.user.robofabricaUuid);
540            document.getElementById('inceptive-cw-script').setAttribute('label', 'start');
541            document.getElementById('inceptive-cw-script').setAttribute('launch-btn-id', 'inceptive-cw-launch');
542            document.getElementById('inceptive-cw-script').setAttribute('chat-server-url', 'https://app.robofabrica.tech:443');
543
544        });
545    }
546};
547
548// trustpilot
549tarteaucitron.services.trustpilot = {
550    "key": "trustpilot",
551    "type": "other",
552    "name": "Trustpilot",
553    "uri": "https://fr.legal.trustpilot.com/for-reviewers/end-user-privacy-terms",
554    "needConsent": true,
555    "cookies": [],
556    "js": function () {
557        "use strict";
558        tarteaucitron.fallback(['trustpilot-widget'], '');
559        tarteaucitron.addScript('https://widget.trustpilot.com/bootstrap/v5/tp.widget.sync.bootstrap.min.js');
560    },
561    "fallback": function () {
562        "use strict";
563        var id = 'trustpilot';
564        tarteaucitron.fallback(['trustpilot-widget'], function (elem) {
565            elem.style.width = elem.getAttribute('data-style-width');
566            elem.style.height = elem.getAttribute('data-style-height');
567            return tarteaucitron.engage(id);
568        });
569    }
570};
571
572// snapchat
573tarteaucitron.services.snapchat = {
574    "key": "snapchat",
575    "type": "analytic",
576    "name": "Snapchat",
577    "uri": "https://snap.com/fr-FR/privacy/privacy-policy",
578    "needConsent": true,
579    "cookies": [],
580    "js": function () {
581        "use strict";
582
583        if (tarteaucitron.user.snapchatId === undefined || tarteaucitron.user.snapchatEmail === undefined) {
584            return;
585        }
586
587    var a = window.snaptr = function() {
588        a.handleRequest ? a.handleRequest.apply(a, arguments) : a.queue.push(arguments)
589    };
590    a.queue = [];
591        window.snaptr('init', tarteaucitron.user.snapchatId, {
592        'user_email': tarteaucitron.user.snapchatEmail
593        });
594        window.snaptr('track', 'PAGE_VIEW');
595
596        tarteaucitron.addScript('https://sc-static.net/scevent.min.js');
597        
598    if (typeof tarteaucitron.user.snapchatMore === 'function') {
599            tarteaucitron.user.snapchatMore();
600        }
601    }
602};
603
604// antvoice
605tarteaucitron.services.antvoice = {
606    "key": "antvoice",
607    "type": "ads",
608    "name": "antvoice",
609    "uri": "https://www.antvoice.com/fr/privacy-policy/",
610    "needConsent": true,
611    "cookies": ['antvoice'],
612    "js": function () {
613        "use strict";
614
615        if (tarteaucitron.user.antvoiceId === undefined) {
616            return;
617        }
618
619        window.avDataLayer = window.avDataLayer || [];
620        window.avtag = window.avtag || function(_cmd,_p) {
621            window.avDataLayer.push({cmd:_cmd,p:_p});
622        }
623        window.avtag('setConsent', {consent:true});
624        window.avtag('init', {id: tarteaucitron.user.antvoiceId});
625
626        tarteaucitron.addScript('https://static.avads.net/avtag.min.js');
627    }
628};
629
630// plausible
631tarteaucitron.services.plausible = {
632    "key": "plausible",
633    "type": "analytic",
634    "name": "Plausible",
635    "uri": "https://plausible.io/privacy",
636    "needConsent": false,
637    "cookies": [],
638    "js": function () {
639        "use strict";
640
641        if (tarteaucitron.user.plausibleDomain === undefined) {
642            return;
643        }
644
645        tarteaucitron.addScript('https://plausible.io/js/script.js', '', '', '', 'data-domain', tarteaucitron.user.plausibleDomain);
646    }
647};
648
649// videas
650tarteaucitron.services.videas = {
651    "key": "videas",
652    "type": "video",
653    "name": "Videas",
654    "uri": "https://videas.fr/fr/legal",
655    "needConsent": true,
656    "cookies": [],
657    "js": function () {
658        "use strict";
659        tarteaucitron.fallback(['tac_videas'], function (x) {
660            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Videas iframe'),
661                width = x.getAttribute("width"),
662                height = x.getAttribute("height"),
663                id = x.getAttribute("data-id"),
664                allowfullscreen = x.getAttribute("allowfullscreen");
665
666            return '<iframe title="' + frame_title + '" src="https://app.videas.fr/embed/' + id + '/" width="' + width + '" height="' + height + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
667        });
668    },
669    "fallback": function () {
670        "use strict";
671        var id = 'videas';
672        tarteaucitron.fallback(['tac_videas'], function (elem) {
673            elem.style.width = elem.getAttribute('width') + 'px';
674            elem.style.height = elem.getAttribute('height') + 'px';
675            return tarteaucitron.engage(id);
676        });
677    }
678};
679
680// myfeelback
681tarteaucitron.services.myfeelback = {
vendor: 14,209 bytes, lines 682-1073
682    "key": "myfeelback",
683    "type": "api",
684    "name": "MyFeelBack (Skeepers)",
685    "uri": "https://help.myfeelback.com/fr/quels-sont-les-cookies-d%C3%A9pos%C3%A9s-par-un-dispositif-de-collecte-myfeelback",
686    "needConsent": true,
687    "cookies": [],
688    "js": function () {
689        "use strict";
690        if (tarteaucitron.user.myfeelbackId === undefined) {
691            return;
692        }
693
694        window._Mfb_useCookie = true;
695        window._Mfb_ud = {
696            var1: undefined,
697            var2: undefined,
698            varN: undefined,
699            _context: {
700                lang: undefined,
701                privacyMode: false,
702                _page: {
703                    url: location.pathname,
704                    storageDuration: 30
705                }
706            }
707        };
708        tarteaucitron.addScript('https://actorssl-5637.kxcdn.com/actor/'+tarteaucitron.user.myfeelbackId+'/action', 'MFBActor');
709    }
710};
711
712// arcio
713tarteaucitron.services.arcio = {
714    "key": "arcio",
715    "type": "api",
716    "name": "Arc.io",
717    "uri": "https://arc.io/about",
718    "needConsent": true,
719    "cookies": [],
720    "js": function () {
721        "use strict";
722        if (tarteaucitron.user.arcId === undefined) {
723            return;
724        }
725
726        tarteaucitron.addScript('https://arc.io/widget.min.js#'+tarteaucitron.user.arcId);
727    }
728};
729
730// doubleclick
731tarteaucitron.services.doubleclick = {
732    "key": "doubleclick",
733    "type": "ads",
734    "name": "DoubleClick",
735    "uri": "https://support.google.com/admanager/answer/2839090",
736    "needConsent": true,
737    "cookies": [],
738    "js": function () {
739        "use strict";
740        tarteaucitron.fallback(['doubleclick_container'], function (x) {
741            var id1 = tarteaucitron.getElemAttr(x, "data-id1"),
742                id2 = tarteaucitron.getElemAttr(x, "data-id2"),
743                type = tarteaucitron.getElemAttr(x, "data-type"),
744                cat = tarteaucitron.getElemAttr(x, "data-cat"),
745                item = tarteaucitron.getElemAttr(x, "data-item"),
746                quantity = tarteaucitron.getElemAttr(x, "data-quantity"),
747                price = tarteaucitron.getElemAttr(x, "data-price"),
748                postage = tarteaucitron.getElemAttr(x, "data-postage"),
749                seller = tarteaucitron.getElemAttr(x, "data-seller"),
750                gdpr = tarteaucitron.getElemAttr(x, "data-gdpr"),
751                gdpr_consent = tarteaucitron.getElemAttr(x, "data-gdpr-consent"),
752                ord = tarteaucitron.getElemAttr(x, "data-ord"),
753                num = tarteaucitron.getElemAttr(x, "data-num");
754
755            return '<iframe src="https://'+id1+'.fls.doubleclick.net/activityi;src='+id2+';type='+type+';cat='+cat+';item='+item+';quantity='+quantity+';price='+price+';postage='+postage+';seller='+seller+';gdpr='+gdpr+';gdpr_consent='+gdpr_consent+';num='+num+';ord='+ord+'?" width="1" height="1" frameborder="0" style="display:none"></iframe>';
756        });
757    }
758};
759
760// userpilot
761tarteaucitron.services.userpilot = {
762    "key": "userpilot",
763    "type": "analytic",
764    "name": "UserPilot",
765    "uri": "https://userpilot.com/privacy-policy",
766    "needConsent": true,
767    "cookies": [],
768    "js": function () {
769        "use strict";
770        if (tarteaucitron.user.userpilotToken === undefined) {
771            return;
772        }
773
774        window.userpilotSettings = {token: tarteaucitron.user.userpilotToken};
775        tarteaucitron.addScript('https://js.userpilot.io/sdk/latest.js');
776    }
777};
778
779tarteaucitron.services.piwikpro = {
780    "key": "piwikpro",
781    "type": "analytic",
782    "name": "Piwik Pro",
783    "uri": "https://piwik.pro/privacy-policy/",
784    "needConsent": true,
785    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
786    "js": function () {
787        "use strict";
788        if (tarteaucitron.user.piwikProId === undefined) {
789            return;
790        }
791
792        window['dataLayer'] = window['dataLayer'] || [], window['dataLayer'].push({
793            start: (new Date).getTime(),
794            event: "stg.start"
795        });
796
797        function stgCreateCookie(a, b, c) {
798           var d = "";
799           if (c) {
800              var e = new Date;
801              e.setTime(e.getTime() + 24 * c * 60 * 60 * 1e3), d = "; expires=" + e.toUTCString()
802           }
803           document.cookie = a + "=" + b + d + "; path=/"
804        }
805
806        var isStgDebug = (window.location.href.match("stg_debug") || document.cookie.match("stg_debug")) && !window.location.href.match("stg_disable_debug");
807        stgCreateCookie("stg_debug", isStgDebug ? 1 : "", isStgDebug ? 14 : -1);
808        var qP = [];
809
810        var qPString = qP.length > 0 ? ("?" + qP.join("&")) : "";
811        tarteaucitron.addScript('https://carsatse.containers.piwik.pro/'+tarteaucitron.user.piwikProId+'.js'+qPString);
812
813        ! function(a, n, i) {
814           a[n] = a[n] || {};
815           for (var c = 0; c < i.length; c++) ! function(i) {
816              a[n][i] = a[n][i] || {}, a[n][i].api = a[n][i].api || function() {
817                 var a = [].slice.call(arguments, 0);
818                 "string" == typeof a[0] && window['dataLayer'].push({
819                    event: n + "." + i + ":" + a[0],
820                    parameters: [].slice.call(arguments, 1)
821                 })
822              }
823           }(i[c])
824        }(window, "ppms", ["tm", "cm"]);
825    }
826};
827
828// pinterestpixel
829tarteaucitron.services.pinterestpixel = {
830    "key": "pinterestpixel",
831    "type": "ads",
832    "name": "Pinterest Pixel",
833    "uri": "https://help.pinterest.com/fr/business/article/track-conversions-with-pinterest-tag",
834    "needConsent": true,
835    "cookies": ['_pinterest_sess', '_pinterest_ct', '_pinterest_ct_mw', '_pinterest_ct_rt', '_epik', '_derived_epik', '_pin_unauth', '_pinterest_ct_ua'],
836    "js": function () {
837        "use strict";
838
839        if (tarteaucitron.user.pinterestpixelId === undefined) {
840            return;
841        }
842
843        if (!window.pintrk) {
844            window.pintrk = function () {
845                window.pintrk.queue.push(Array.prototype.slice.call(arguments));
846            };
847
848            var n = window.pintrk;
849            n.queue = [];
850            n.version = "3.0";
851
852            tarteaucitron.addScript('https://s.pinimg.com/ct/core.js', '', function () {
853                window.pintrk('load', tarteaucitron.user.pinterestpixelId);
854                window.pintrk('page');
855            });
856        }
857    }
858};
859
860// elfsight
861tarteaucitron.services.elfsight = {
862    "key": "elfsight",
863    "type": "support",
864    "name": "Elfsight",
865    "uri": "https://elfsight.com/privacy-policy/",
866    "needConsent": true,
867    "cookies": ['__cfduid', '_p_hfp_client_id', 'session_id'],
868    "js": function () {
869        "use strict";
870
871        tarteaucitron.addScript('https://apps.elfsight.com/p/platform.js');
872    }
873};
874
875// plezi
876tarteaucitron.services.plezi = {
877    "key": "plezi",
878    "type": "analytic",
879    "name": "Plezi",
880    "uri": "https://www.plezi.co/fr/mentions-legales/",
881    "needConsent": true,
882    "cookies": [],
883    "js": function () {
884        "use strict";
885
886        if (tarteaucitron.user.pleziTenant === undefined || tarteaucitron.user.pleziTw === undefined) {
887            return;
888        }
889
890        tarteaucitron.addScript('https://app.plezi.co/scripts/ossleads_analytics.js?tenant=' + tarteaucitron.user.pleziTenant + '&tw=' + tarteaucitron.user.pleziTw);
891    }
892};
893
894
895// smartsupp
896tarteaucitron.services.smartsupp = {
897    "key": "smartsupp",
898    "type": "support",
899    "name": "Smartsupp",
900    "uri": "https://www.smartsupp.com/help/privacy/",
901    "needConsent": true,
902    "cookies": ['ssupp.vid', 'ssupp.visits', 'AWSALB', 'AWSALBCORS'],
903    "js": function () {
904        "use strict";
905
906        if (tarteaucitron.user.smartsuppKey === undefined) {
907            return;
908        }
909
910        window._smartsupp = window._smartsupp || {};
911        window._smartsupp.key = tarteaucitron.user.smartsuppKey;
912        window.smartsupp = function () {
913            window.smartsupp._.push(arguments)
914        };
915        window.smartsupp._ = [];
916
917        tarteaucitron.addScript('https://www.smartsuppchat.com/loader.js');
918    }
919};
920
921
922
923// sharpspring
924tarteaucitron.services.sharpspring = {
925    "key": "sharpspring",
926    "type": "analytic",
927    "name": "SharpSpring",
928    "uri": "https://sharpspring.com/legal/sharpspring-cookie-policy/",
929    "needConsent": true,
930    "cookies": ['koitk', '__ss', '__ss_tk', '__ss_referrer'],
931    "js": function () {
932        "use strict";
933
934        if (tarteaucitron.user.ssId === undefined || tarteaucitron.user.ssAccount === undefined) {
935            return;
936        }
937
938        window._ss = window._ss || [];
939        window._ss.push(['_setDomain', 'https://' + tarteaucitron.user.ssId + '.marketingautomation.services/net']);
940        window._ss.push(['_setAccount', tarteaucitron.user.ssAccount]);
941        window._ss.push(['_trackPageView']);
942
943        window._pa = window._pa || {};
944
945        tarteaucitron.addScript('https://' + tarteaucitron.user.ssId + '.marketingautomation.services/client/ss.js');
946    }
947};
948
949// pardot
950tarteaucitron.services.pardot = {
951    "key": "pardot",
952    "type": "analytic",
953    "name": "Pardot",
954    "uri": "https://www.salesforce.com/company/privacy/full_privacy/",
955    "needConsent": true,
956    "cookies": ['visitor_id'],
957    "js": function () {
958        "use strict";
959        if (tarteaucitron.user.piAId === undefined || tarteaucitron.user.piCId === undefined) {
960            return;
961        }
962
963        window.piAId = tarteaucitron.user.piAId;
964        window.piCId = tarteaucitron.user.piCId;
965        window.piHostname = 'pi.pardot.com';
966
967        tarteaucitron.addScript('https://pi.pardot.com/pd.js');
968    }
969};
970
971// Open Web Analytics
972tarteaucitron.services.openwebanalytics = {
973    "key": "openwebanalytics",
974    "type": "analytic",
975    "name": "Open Web Analytics",
976    "uri": "",
977    "needConsent": true,
978    "cookies": [],
979    "js": function () {
980        "use strict";
981
982        if (tarteaucitron.user.openwebanalyticsId === undefined || tarteaucitron.user.openwebanalyticsHost === undefined) {
983            return;
984        }
985
986        window.owa_baseUrl = tarteaucitron.user.openwebanalyticsHost;
987        window.owa_cmds = window.owa_cmds || [];
988        window.owa_cmds.push(['setSiteId', tarteaucitron.user.openwebanalyticsId]);
989        window.owa_cmds.push(['trackPageView']);
990        window.owa_cmds.push(['trackClicks']);
991
992        tarteaucitron.addScript(window.owa_baseUrl + 'modules/base/js/owa.tracker-combined-min.js');
993    }
994};
995
996// xandr universal pixel
997// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/universal-pixel-overview.html
998tarteaucitron.services.xandr = {
999    "key": "xandr",
1000    "type": "ads",
1001    "name": "Xandr (Universal)",
1002    "uri": "https://www.xandr.com/privacy/cookie-policy/",
1003    "needConsent": true,
1004    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
1005    "js": function () {
1006        "use strict";
1007        if (tarteaucitron.user.xandrId === undefined) {
1008            return;
1009        }
1010
1011        if (!window.pixie) {
1012            var n = window.pixie = function (e, i, a) {
1013                n.actionQueue.push({
1014                    action: e,
1015                    actionValue: i,
1016                    params: a
1017                })
1018            };
1019            n.actionQueue = [];
1020        }
1021
1022        tarteaucitron.addScript('https://acdn.adnxs.com/dmp/up/pixie.js', '', function () {
1023            window.pixie('init', tarteaucitron.user.xandrId);
1024            window.pixie('event', 'PageView');
1025        });
1026    }
1027};
1028
1029// xandr segment
1030// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/segment-pixels-advanced.html
1031tarteaucitron.services.xandrsegment = {
1032    "key": "xandrsegment",
1033    "type": "ads",
1034    "name": "Xandr (Segment)",
1035    "uri": "https://www.xandr.com/privacy/cookie-policy/",
1036    "needConsent": true,
1037    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
1038    "js": function () {
1039        "use strict";
1040        var uniqIds = [],
1041            i,
1042            uri;
1043
1044        tarteaucitron.fallback(['xandrsegment-canvas'], function (x) {
1045            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1046            uniqIds.push(uniqId);
1047            return '<div id="' + uniqId + '" xandrsegmentAdd="' + x.getAttribute('xandrsegmentAdd') + '" xandrsegmentAddCode="' + x.getAttribute('xandrsegmentAddCode') + '" xandrsegmentRemove="' + x.getAttribute('xandrsegmentRemove') + '" xandrsegmentRemoveCode="' + x.getAttribute('xandrsegmentRemoveCode') + '" xandrsegmentMember="' + x.getAttribute('xandrsegmentMember') + '" xandrsegmentRedir="' + x.getAttribute('xandrsegmentRedir') + '" xandrsegmentValue="' + x.getAttribute('xandrsegmentValue') + '" xandrsegmentOther="' + x.getAttribute('xandrsegmentOther') + '"></div>';
1048        });
1049
1050        for (i = 0; i < uniqIds.length; i += 1) {
1051            uri = '//ib.adnxs.com/seg?t=2&';
1052            uri += 'add=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAdd') + '&';
1053            uri += 'add_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAddCode') + '&';
1054            uri += 'remove=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemove') + '&';
1055            uri += 'remove_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemoveCode') + '&';
1056            uri += 'member=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentMember') + '&';
1057            uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRedir') + '&';
1058            uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentValue') + '&';
1059            uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentOther');
1060
1061            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
1062        }
1063    },
1064    "fallback": function () {
1065        "use strict";
1066        var id = 'xandrsegment';
1067        tarteaucitron.fallback(['xandrsegment-canvas'], tarteaucitron.engage(id));
1068    }
1069};
1070
1071// xandr conversion
1072// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/working-with-conversion-pixels.html
1073tarteaucitron.services.xandrconversion = {
1074    "key": "xandrconversion",
1075    "type": "ads",
1076    "name": "Xandr (Conversion)",
1077    "uri": "https://www.xandr.com/privacy/cookie-policy/",
1078    "needConsent": true,
1079    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
1080    "js": function () {
1081        "use strict";
1082        var uniqIds = [],
1083            i,
1084            uri;
1085
1086        tarteaucitron.fallback(['xandrconversion-canvas'], function (x) {
1087            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1088            uniqIds.push(uniqId);
1089            return '<div id="' + uniqId + '" xandrconversionId="' + x.getAttribute('xandrconversionId') + '" xandrconversionSeg="' + x.getAttribute('xandrconversionSeg') + '" xandrconversionOrderId="' + x.getAttribute('xandrconversionOrderId') + '" xandrconversionValue="' + x.getAttribute('xandrconversionValue') + '" xandrconversionRedir="' + x.getAttribute('xandrconversionRedir') + '" xandrconversionOther="' + x.getAttribute('xandrconversionOther') + '"></div>';
1090        });
1091
1092        for (i = 0; i < uniqIds.length; i += 1) {
1093            uri = '//ib.adnxs.com/px?t=2&';
1094            uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionId') + '&';
1095            uri += 'seg=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionSeg') + '&';
1096            uri += 'order_id=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionOrderId') + '&';
1097            uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionValue') + '&';
1098            uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionRedir') + '&';
1099            uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionOther');
1100
1101            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
1102        }
1103    },
1104    "fallback": function () {
1105        "use strict";
1106        var id = 'xandrconversion';
1107        tarteaucitron.fallback(['xandrconversion-canvas'], tarteaucitron.engage(id));
1108    }
1109};
1110
1111// helloasso
1112tarteaucitron.services.helloasso = {
1113    "key": "helloasso",
1114    "type": "api",
1115    "name": "HelloAsso",
1116    "uri": "https://www.helloasso.com/confidentialite",
1117    "needConsent": true,
1118    "cookies": [],
1119    "js": function () {
1120        "use strict";
1121        tarteaucitron.fallback(['tac_helloasso'], function (x) {
1122            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'HelloAsso iframe'),
1123                width = x.getAttribute("width"),
1124                height = x.getAttribute("height"),
1125                url = x.getAttribute("data-url"),
1126                allowfullscreen = x.getAttribute("allowfullscreen");
1127
1128            return '<iframe title="' + frame_title + '" id="haWidget" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1129        });
1130    },
1131    "fallback": function () {
1132        "use strict";
1133        var id = 'helloasso';
1134        tarteaucitron.fallback(['tac_helloasso'], function (elem) {
1135            elem.style.width = elem.getAttribute('width') + 'px';
1136            elem.style.height = elem.getAttribute('height') + 'px';
1137            return tarteaucitron.engage(id);
1138        });
1139    }
1140};
1141
1142// podcloud
1143tarteaucitron.services.podcloud = {
1144    "key": "podcloud",
1145    "type": "video",
1146    "name": "podCloud",
1147    "uri": "https://podcloud.fr/privacy",
1148    "needConsent": true,
1149    "cookies": [],
1150    "js": function () {
1151        "use strict";
1152        tarteaucitron.fallback(['tac_podcloud'], function (x) {
1153            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'podCloud iframe'),
1154                width = x.getAttribute("width"),
1155                height = x.getAttribute("height"),
1156                url = x.getAttribute("data-url"),
1157                allowfullscreen = x.getAttribute("allowfullscreen");
1158
1159            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1160        });
1161    },
1162    "fallback": function () {
1163        "use strict";
1164        var id = 'podcloud';
1165        tarteaucitron.fallback(['tac_podcloud'], function (elem) {
1166            elem.style.width = elem.getAttribute('width') + 'px';
1167            elem.style.height = elem.getAttribute('height') + 'px';
1168            return tarteaucitron.engage(id);
1169        });
1170    }
1171};
1172
1173// facebookpost
1174tarteaucitron.services.facebookpost = {
vendor: 8,205 bytes, lines 1175-1376
1175    "key": "facebookpost",
1176    "type": "social",
1177    "name": "Facebook (post)",
1178    "uri": "https://www.facebook.com/policy.php",
1179    "needConsent": true,
1180    "cookies": [],
1181    "js": function () {
1182        "use strict";
1183        tarteaucitron.fallback(['tac_facebookpost'], function (x) {
1184            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Facebook iframe'),
1185                width = x.getAttribute("width"),
1186                height = x.getAttribute("height"),
1187                url = x.getAttribute("data-url"),
1188                appId = x.getAttribute("data-appid"),
1189                allowfullscreen = x.getAttribute("allowfullscreen"),
1190                showText = x.getAttribute("data-show-text");
1191
1192            return '<iframe title="' + frame_title + '" src="https://www.facebook.com/plugins/post.php?href=' + encodeURIComponent(url) + '&amp;width=' + width + '&amp;show_text=false&amp;appId=' + appId + '&amp;show_text=' + showText + '&amp;height=' + height + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1193        });
1194    },
1195    "fallback": function () {
1196        "use strict";
1197        var id = 'facebookpost';
1198        tarteaucitron.fallback(['tac_facebookpost'], function (elem) {
1199            elem.style.width = elem.getAttribute('width') + 'px';
1200            elem.style.height = elem.getAttribute('height') + 'px';
1201            return tarteaucitron.engage(id);
1202        });
1203    }
1204};
1205
1206// amplitude
1207tarteaucitron.services.amplitude = {
1208    "key": "amplitude",
1209    "type": "analytic",
1210    "name": "Amplitude",
1211    "uri": "https://amplitude.com/privacy",
1212    "needConsent": true,
1213    "cookies": [],
1214    "js": function () {
1215        "use strict";
1216        if (tarteaucitron.user.amplitude === undefined) {
1217            return;
1218        }
1219        tarteaucitron.addScript('https://cdn.amplitude.com/libs/amplitude-5.8.0-min.gz.js', '', function () {
1220
1221            window.amplitude = {
1222                _q: [],
1223                _iq: {}
1224            };
1225            function s(e, t) { e.prototype[t] = function () { this._q.push([t].concat(Array.prototype.slice.call(arguments, 0))); return this } }
1226            var o = function () { this._q = []; return this };
1227            var a = ["add", "append", "clearAll", "prepend", "set", "setOnce", "unset"];
1228            for (var u = 0; u < a.length; u++) { s(o, a[u]) }
1229            amplitude.Identify = o;
1230            var c = function () { this._q = []; return this };
1231            var l = ["setProductId", "setQuantity", "setPrice", "setRevenueType", "setEventProperties"];
1232            for (var p = 0; p < l.length; p++) { s(c, l[p]) }
1233            amplitude.Revenue = c;
1234            var d = ["init", "logEvent", "logRevenue", "setUserId", "setUserProperties", "setOptOut", "setVersionName", "setDomain", "setDeviceId", "enableTracking", "setGlobalUserProperties", "identify", "clearUserProperties", "setGroup", "logRevenueV2", "regenerateDeviceId", "groupIdentify", "onInit", "logEventWithTimestamp", "logEventWithGroups", "setSessionId", "resetSessionId"];
1235            function v(e) { function t(t) { e[t] = function () { e._q.push([t].concat(Array.prototype.slice.call(arguments, 0))) } } for (var n = 0; n < d.length; n++) { t(d[n]) } }
1236            v(amplitude);
1237            amplitude.getInstance = function (e) { e = (!e || e.length === 0 ? "$default_instance" : e).toLowerCase(); if (!amplitude._iq.hasOwnProperty(e)) { amplitude._iq[e] = { _q: [] }; v(amplitude._iq[e]) } return amplitude._iq[e] };
1238
1239            amplitude.getInstance().init(tarteaucitron.user.amplitude);
1240        });
1241    }
1242};
1243
1244// abtasty
1245tarteaucitron.services.abtasty = {
1246    "key": "abtasty",
1247    "type": "api",
1248    "name": "ABTasty",
1249    "uri": "https://www.abtasty.com/terms-of-use/",
1250    "needConsent": true,
1251    "cookies": ['ABTasty', 'ABTastySession'],
1252    "js": function () {
1253        "use strict";
1254        if (tarteaucitron.user.abtastyID === undefined) {
1255            return;
1256        }
1257        tarteaucitron.addScript('//try.abtasty.com/' + tarteaucitron.user.abtastyID + '.js');
1258    }
1259};
1260
1261
1262// yandex metrica
1263tarteaucitron.services.metrica = {
1264    "key": "metrica",
1265    "type": "analytic",
1266    "name": "Yandex Metrica",
1267    "uri": "https://yandex.com/legal/confidential/",
1268    "needConsent": true,
1269    "cookies": ['_ym_metrika_enabled', '_ym_isad', '_ym_uid', '_ym_d', 'yabs-sid', '_ym_debug', '_ym_mp2_substs', '_ym_hostIndex', '_ym_mp2_track', 'yandexuid', 'usst'],
1270    "js": function () {
1271        "use strict";
1272        if (tarteaucitron.user.yandexmetrica === undefined) {
1273            return;
1274        }
1275        tarteaucitron.addScript('https://mc.yandex.ru/metrika/tag.js', '', function () {
1276
1277            (function (m, e, t, r, i, k, a) {
1278                m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
1279                m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
1280            })
1281                (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
1282
1283            ym(tarteaucitron.user.yandexmetrica, "init", {
1284                clickmap: true,
1285                trackLinks: true,
1286                accurateTrackBounce: true,
1287                webvisor: true,
1288                ecommerce: "dataLayer"
1289            });
1290        });
1291    }
1292};
1293
1294// addthis
1295tarteaucitron.services.addthis = {
1296    "key": "addthis",
1297    "type": "social",
1298    "name": "AddThis",
1299    "uri": "https://www.addthis.com/privacy/privacy-policy#publisher-visitors",
1300    "needConsent": true,
1301    "cookies": ['__atuvc', '__atuvs'],
1302    "js": function () {
1303        "use strict";
1304        if (tarteaucitron.user.addthisPubId === undefined) {
1305            return;
1306        }
1307        if (tarteaucitron.isAjax === true) {
1308            window.addthis = null;
1309            window._adr = null;
1310            window._atc = null;
1311            window._atd = null;
1312            window._ate = null;
1313            window._atr = null;
1314            window._atw = null;
1315        }
1316        tarteaucitron.fallback(['addthis_inline_share_toolbox'], '');
1317        tarteaucitron.addScript('//s7.addthis.com/js/300/addthis_widget.js#pubid=' + tarteaucitron.user.addthisPubId);
1318    },
1319    "fallback": function () {
1320        "use strict";
1321        var id = 'addthis';
1322        tarteaucitron.fallback(['addthis_inline_share_toolbox'], tarteaucitron.engage(id));
1323    }
1324};
1325
1326// addtoanyfeed
1327tarteaucitron.services.addtoanyfeed = {
1328    "key": "addtoanyfeed",
1329    "type": "social",
1330    "name": "AddToAny (feed)",
1331    "uri": "https://www.addtoany.com/privacy",
1332    "needConsent": true,
1333    "cookies": [],
1334    "js": function () {
1335        "use strict";
1336        if (tarteaucitron.user.addtoanyfeedUri === undefined) {
1337            return;
1338        }
1339        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
1340        window.a2a_config = window.a2a_config || {};
1341        window.a2a_config.linkurl = tarteaucitron.user.addtoanyfeedUri;
1342        tarteaucitron.addScript('//static.addtoany.com/menu/feed.js');
1343    },
1344    "fallback": function () {
1345        "use strict";
1346        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
1347    }
1348};
1349
1350// addtoanyshare
1351tarteaucitron.services.addtoanyshare = {
1352    "key": "addtoanyshare",
1353    "type": "social",
1354    "name": "AddToAny (share)",
1355    "uri": "https://www.addtoany.com/privacy",
1356    "needConsent": true,
1357    "cookies": [],
1358    "js": function () {
1359        "use strict";
1360        tarteaucitron.fallback(['tac_addtoanyshare'], function (elem) {
1361            elem.remove();
1362        }, true);
1363        tarteaucitron.addScript('//static.addtoany.com/menu/page.js');
1364    },
1365    "fallback": function () {
1366        "use strict";
1367        var id = 'addtoanyshare';
1368        tarteaucitron.fallback(['tac_addtoanyshare'], tarteaucitron.engage(id));
1369    }
1370};
1371
1372// aduptech ads
1373tarteaucitron.services.aduptech_ads = {
1374    "key": "aduptech_ads",
1375    "type": "ads",
1376    "name": "Ad Up Technology (ads)",
1377    "uri": "https://www.adup-tech.com/datenschutz",
1378    "needConsent": true,
1379    "cookies": [],
1380    "js": function () {
1381        "use strict";
1382
1383        var IDENTIFIER = "aduptech_ads",
1384            API_URL = "https://s.d.adup-tech.com/jsapi";
1385
1386        var elements = document.getElementsByClassName(IDENTIFIER);
1387        if (!elements || elements.length === 0) {
1388            return;
1389        }
1390
1391        tarteaucitron.fallback([IDENTIFIER], "");
1392
1393        tarteaucitron.addScript(API_URL, "", function () {
1394            for (var i = 0; i < elements.length; i++) {
1395                var element = elements[i];
1396
1397                if (!element.getAttribute("id")) {
1398                    element.setAttribute("id", IDENTIFIER + Math.random().toString(36).substr(2, 9));
1399                }
1400
1401                window.uAd.embed(element.getAttribute("id"), {
1402                    placementKey: element.getAttribute("placementKey"),
1403                    responsive: Boolean(element.getAttribute("responsive")),
1404                    lazy: Boolean(element.getAttribute("lazy")),
1405                    adtest: Boolean(element.getAttribute("test")),
1406                    query: element.getAttribute("query") || "",
1407                    minCpc: element.getAttribute("minCpc") || "",
1408                    pageUrl: element.getAttribute("pageUrl") || "",
1409                    skip: element.getAttribute("skip") || ""
1410                });
1411            }
1412        });
1413
1414    },
1415    "fallback": function () {
1416        "use strict";
1417        tarteaucitron.fallback(["aduptech_ads"], tarteaucitron.engage("aduptech_ads"));
1418    }
1419};
1420
1421// aduptech conversion
1422tarteaucitron.services.aduptech_conversion = {
1423    "key": "aduptech_conversion",
1424    "type": "ads",
1425    "name": "Ad Up Technology (conversion)",
1426    "uri": "https://www.adup-tech.com/datenschutz",
1427    "needConsent": true,
1428    "cookies": [],
1429    "js": function () {
1430        "use strict";
1431
1432        var IDENTIFIER = "aduptech_conversion",
1433            CONVERSION_PIXEL_BASE_URL = "https://d.adup-tech.com/campaign/conversion";
1434
1435        var elements = document.getElementsByClassName(IDENTIFIER);
1436        if (!elements || elements.length === 0) {
1437            return;
1438        }
1439
1440        tarteaucitron.fallback([IDENTIFIER], "");
1441
1442        for (var i = 0; i < elements.length; i++) {
1443            var element = elements[i];
1444
1445            if (!element.getAttribute("advertiserId") || !element.getAttribute("conversionCode")) {
1446                continue;
1447            }
1448
1449            var url = CONVERSION_PIXEL_BASE_URL +
1450                "/" + encodeURIComponent(element.getAttribute("advertiserId")) +
1451                "?t=" + encodeURIComponent(element.getAttribute("conversionCode"));
1452
1453            if (element.getAttribute("price")) {
1454                url += "&price=" + encodeURIComponent(element.getAttribute("price"));
1455            }
1456
1457            if (element.getAttribute("quantity")) {
1458                url += "&quantity=" + encodeURIComponent(element.getAttribute("quantity"));
1459            }
1460
1461            if (element.getAttribute("total")) {
1462                url += "&total=" + encodeURIComponent(element.getAttribute("total"));
1463            }
1464
1465            if (element.getAttribute("orderId")) {
1466                url += "&order_id=" + encodeURIComponent(element.getAttribute("orderId"));
1467            }
1468
1469            if (element.getAttribute("itemNumber")) {
1470                url += "&item_number=" + encodeURIComponent(element.getAttribute("itemNumber"));
1471            }
1472
1473            if (element.getAttribute("description")) {
1474                url += "&description=" + encodeURIComponent(element.getAttribute("description"));
1475            }
1476
1477            (new Image()).src = url;
1478        }
1479    }
1480};
1481
1482// aduptech retargeting
1483tarteaucitron.services.aduptech_retargeting = {
1484    "key": "aduptech_retargeting",
1485    "type": "ads",
1486    "name": "Ad Up Technology (retargeting)",
1487    "uri": "https://www.adup-tech.com/datenschutz",
1488    "needConsent": true,
1489    "cookies": [],
1490    "js": function () {
1491        "use strict";
1492
1493        var IDENTIFIER = "aduptech_retargeting",
1494            API_URL = "https://s.d.adup-tech.com/services/retargeting.js";
1495
1496        var elements = document.getElementsByClassName(IDENTIFIER);
1497        if (!elements || elements.length === 0) {
1498            return;
1499        }
1500
1501        tarteaucitron.fallback([IDENTIFIER], "");
1502
1503        window.AdUpRetargeting = function (api) {
1504            for (var i = 0; i < elements.length; i++) {
1505                var element = elements[i];
1506
1507                api.init();
1508
1509                api.setAccount(element.getAttribute("account"));
1510
1511                if (element.getAttribute("email")) {
1512                    api.setEmail(element.getAttribute("email"));
1513                } else if (element.getAttribute("hashedEmail")) {
1514                    api.setHashedEmail(element.getAttribute("hashedEmail"));
1515                }
1516
1517                if (element.getAttribute("product")) {
1518                    try {
1519                        api.setProduct(JSON.parse(element.getAttribute("product")));
1520                    } catch (e) {
1521                        api.setProduct(element.getAttribute("product"));
1522                    }
1523                }
1524
1525                if (element.getAttribute("transaction")) {
1526                    try {
1527                        api.setTransaction(JSON.parse(element.getAttribute("transaction")));
1528                    } catch (e) {
1529                        api.setTransaction(element.getAttribute("transaction"));
1530                    }
1531                }
1532
1533                if (element.getAttribute("demarkUser")) {
1534                    api.setDemarkUser();
1535                } else if (element.getAttribute("demarkProducts")) {
1536                    api.setDemarkProducts();
1537                }
1538
1539                if (element.getAttribute("conversionCode")) {
1540                    api.setConversionCode(element.getAttribute("conversionCode"));
1541                }
1542
1543                if (element.getAttribute("device")) {
1544                    var setter = "set" + element.getAttribute("device").charAt(0).toUpperCase() + element.getAttribute("device").slice(1);
1545                    if (typeof api[setter] === 'function') {
1546                        api[setter]();
1547                    }
1548                }
1549
1550                if (element.getAttribute("track")) {
1551                    var tracker = "track" + element.getAttribute("track").charAt(0).toUpperCase() + element.getAttribute("track").slice(1);
1552                    if (typeof api[tracker] === "function") {
1553                        api[tracker]();
1554                    } else {
1555                        api.trackHomepage();
1556                    }
1557                }
1558            };
1559        };
1560
1561        tarteaucitron.addScript(API_URL);
1562    }
1563};
1564
1565// alexa
1566tarteaucitron.services.alexa = {
1567    "key": "alexa",
1568    "type": "analytic",
1569    "name": "Alexa",
1570    "uri": "https://www.alexa.com/help/privacy",
1571    "needConsent": true,
1572    "cookies": ['__asc', '__auc'],
1573    "js": function () {
1574        "use strict";
1575        if (tarteaucitron.user.alexaAccountID === undefined) {
1576            return;
1577        }
1578        window._atrk_opts = {
1579            atrk_acct: tarteaucitron.user.alexaAccountID,
1580            domain: window.location.hostname.match(/[^\.]*\.[^.]*$/)[0],
1581            dynamic: true
1582        };
1583        tarteaucitron.addScript('https://d31qbv1cthcecs.cloudfront.net/atrk.js');
1584    }
1585};
1586
1587// amazon
1588tarteaucitron.services.amazon = {
1589    "key": "amazon",
1590    "type": "ads",
1591    "name": "Amazon",
1592    "uri": "https://www.amazon.com/gp/help/customer/display.html/ref=help_search_1-1?ie=UTF8&nodeId=201909010&qid=1544617177&sr=1-1",
1593    "needConsent": true,
1594    "cookies": [],
1595    "js": function () {
1596        "use strict";
1597        tarteaucitron.fallback(['amazon_product'], function (x) {
1598            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Amazon iframe'),
1599                amazonId = x.getAttribute("amazonid"),
1600                productId = x.getAttribute("productid"),
1601                url = '//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=' + tarteaucitron.getLanguage().toUpperCase() + '&source=ss&ref=ss_til&ad_type=product_link&tracking_id=' + amazonId + '&marketplace=amazon&region=' + tarteaucitron.getLanguage().toUpperCase() + '&placement=' + productId + '&asins=' + productId + '&show_border=true&link_opens_in_new_window=true',
1602                iframe = '<iframe title="' + frame_title + '" style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" src="' + url + '"></iframe>';
1603
1604            return iframe;
1605        });
1606    },
1607    "fallback": function () {
1608        "use strict";
1609        var id = 'amazon';
1610        tarteaucitron.fallback(['amazon_product'], tarteaucitron.engage(id));
1611    }
1612};
1613
1614// calameo
1615tarteaucitron.services.calameo = {
1616    "key": "calameo",
1617    "type": "video",
1618    "name": "Calameo",
1619    "uri": "https://fr.calameo.com/privacy",
1620    "needConsent": true,
1621    "cookies": [],
1622    "js": function () {
1623        "use strict";
1624        tarteaucitron.fallback(['calameo-canvas'], function (x) {
1625            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Calameo iframe'),
1626                id = x.getAttribute("data-id"),
1627                width = x.getAttribute("width"),
1628                height = x.getAttribute("height"),
1629                url = '//v.calameo.com/?bkcode=' + id,
1630                allowfullscreen = x.getAttribute("allowfullscreen");
1631
1632            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1633        });
1634    },
1635    "fallback": function () {
1636        "use strict";
1637        var id = 'calameo';
1638        tarteaucitron.fallback(['calameo-canvas'], function (elem) {
1639            elem.style.width = elem.getAttribute('width') + 'px';
1640            elem.style.height = elem.getAttribute('height') + 'px';
1641            return tarteaucitron.engage(id);
1642        });
1643    }
1644};
1645
1646// clicky
1647tarteaucitron.services.clicky = {
vendor: 4,283 bytes, lines 1648-1777
1648    "key": "clicky",
1649    "type": "analytic",
1650    "name": "Clicky",
1651    "uri": "https://clicky.com/terms",
1652    "needConsent": true,
1653    "cookies": ['_jsuid', '_eventqueue', '_referrer_og', '_utm_og', '_first_pageview', 'clicky_olark', 'no_trackyy_' + tarteaucitron.user.clickyId, 'unpoco_' + tarteaucitron.user.clickyId, 'heatmaps_g2g_' + tarteaucitron.user.clickyId],
1654    "js": function () {
1655        "use strict";
1656        if (tarteaucitron.user.clickyId === undefined) {
1657            return;
1658        }
1659        tarteaucitron.addScript('//static.getclicky.com/js', '', function () {
1660            if (typeof clicky.init === 'function') {
1661                clicky.init(tarteaucitron.user.clickyId);
1662            }
1663            if (typeof tarteaucitron.user.clickyMore === 'function') {
1664                tarteaucitron.user.clickyMore();
1665            }
1666        });
1667    }
1668};
1669
1670// clicmanager
1671tarteaucitron.services.clicmanager = {
1672    "key": "clicmanager",
1673    "type": "ads",
1674    "name": "Clicmanager",
1675    "uri": "http://www.clicmanager.fr/infos_legales.php",
1676    "needConsent": true,
1677    "cookies": [],
1678    "js": function () {
1679        "use strict";
1680        var uniqIds = [],
1681            i,
1682            uri;
1683
1684        tarteaucitron.fallback(['clicmanager-canvas'], function (x) {
1685            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1686            uniqIds.push(uniqId);
1687            return '<div id="' + uniqId + '" c="' + x.getAttribute('c') + '" s="' + x.getAttribute('s') + '" t="' + x.getAttribute('t') + '"></div>';
1688        });
1689
1690        for (i = 0; i < uniqIds.length; i += 1) {
1691            uri = '//ads.clicmanager.fr/exe.php?';
1692            uri += 'c=' + document.getElementById(uniqIds[i]).getAttribute('c') + '&';
1693            uri += 's=' + document.getElementById(uniqIds[i]).getAttribute('s') + '&';
1694            uri += 't=' + document.getElementById(uniqIds[i]).getAttribute('t');
1695
1696            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
1697        }
1698    },
1699    "fallback": function () {
1700        "use strict";
1701        var id = 'clicmanager';
1702        tarteaucitron.fallback(['clicmanager-canvas'], tarteaucitron.engage(id));
1703    }
1704};
1705
1706// compteur
1707tarteaucitron.services.compteur = {
1708    "key": "compteur",
1709    "type": "analytic",
1710    "name": "Compteur.fr",
1711    "uri": "https://www.compteur.fr/help_privacy_policy.htm",
1712    "needConsent": true,
1713    "cookies": [],
1714    "js": function () {
1715        "use strict";
1716        if (tarteaucitron.user.compteurID === undefined) {
1717            return;
1718        }
1719        tarteaucitron.addScript('https://server2.compteur.fr/log7.js', '', function () { wtslog7(tarteaucitron.user.compteurID, 1); });
1720    }
1721};
1722
1723// contentsquare
1724tarteaucitron.services.contentsquare = {
1725    "key": "contentsquare",
1726    "type": "api",
1727    "name": "ContentSquare",
1728    "uri": "https://docs.contentsquare.com/uxa-en/#collected-data",
1729    "needConsent": true,
1730    "cookies": ['_cs_id', '_cs_s', '_cs_vars', '_cs_ex', '_cs_c', '_cs_optout'],
1731    "js": function () {
1732        "use strict";
1733        if (tarteaucitron.user.contentsquareID === undefined) {
1734            return;
1735        }
1736        tarteaucitron.addScript('//t.contentsquare.net/uxa/' + tarteaucitron.user.contentsquareID + '.js');
1737    }
1738};
1739
1740// crazyegg
1741tarteaucitron.services.crazyegg = {
1742    "key": "crazyegg",
1743    "type": "analytic",
1744    "name": "Crazy Egg",
1745    "uri": "https://www.crazyegg.com/privacy",
1746    "needConsent": true,
1747    "cookies": [],
1748    "js": function () {
1749        "use strict";
1750
1751        if (tarteaucitron.user.crazyeggId === undefined) {
1752            return;
1753        }
1754
1755        tarteaucitron.addScript('//script.crazyegg.com/pages/scripts/' + tarteaucitron.user.crazyeggId.substr(0, 4) + '/' + tarteaucitron.user.crazyeggId.substr(4, 4) + '.js');
1756    }
1757};
1758
1759// clarity
1760tarteaucitron.services.clarity = {
1761    "key": "clarity",
1762    "type": "analytic",
1763    "name": "Clarity",
1764    "uri": "https://clarity.microsoft.com/",
1765    "needConsent": true,
1766    "cookies": [],
1767    "js": function () {
1768        "use strict";
1769
1770        window["clarity"] = window["clarity"] || function () { (window["clarity"].q = window["clarity"].q || []).push(arguments) };
1771
1772        tarteaucitron.addScript('https://www.clarity.ms/tag/' + tarteaucitron.user.clarity);
1773    }
1774};
1775
1776// criteo
1777tarteaucitron.services.criteo = {
1778    "key": "criteo",
1779    "type": "ads",
1780    "name": "Criteo",
1781    "uri": "http://www.criteo.com/privacy/",
1782    "needConsent": true,
1783    "cookies": [],
1784    "js": function () {
1785        "use strict";
1786        document.MAX_ct0 = '';
1787        var uniqIds = [],
1788            i,
1789            uri;
1790
1791        tarteaucitron.fallback(['criteo-canvas'], function (x) {
1792            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1793            uniqIds.push(uniqId);
1794            return '<div id="' + uniqId + '" zoneid="' + x.getAttribute('zoneid') + '"></div>';
1795        });
1796
1797        for (i = 0; i < uniqIds.length; i += 1) {
1798            uri = '//cas.criteo.com/delivery/ajs.php?';
1799            uri += 'zoneid=' + document.getElementById(uniqIds[i]).getAttribute('zoneid');
1800            uri += '&nodis=1&cb=' + Math.floor(Math.random() * 99999999999);
1801            uri += '&loc=' + encodeURI(window.location);
1802            uri += (document.MAX_used !== ',') ? '&exclude=' + document.MAX_used : '';
1803            uri += (document.charset !== undefined ? '&charset=' + document.charset : '');
1804            uri += (document.characterSet !== undefined ? '&charset=' + document.characterSet : '');
1805            uri += (document.referrer !== undefined) ? '&referer=' + encodeURI(document.referrer) : '';
1806            uri += (document.context !== undefined) ? '&context=' + encodeURI(document.context) : '';
1807            uri += ((document.MAX_ct0 !== undefined) && (document.MAX_ct0.substring(0, 4) === 'http')) ? '&ct0=' + encodeURI(document.MAX_ct0) : '';
1808            uri += (document.mmm_fo !== undefined) ? '&mmm_fo=1' : '';
1809
1810            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
1811        }
1812    },
1813    "fallback": function () {
1814        "use strict";
1815        var id = 'criteo';
1816        tarteaucitron.fallback(['criteo-canvas'], tarteaucitron.engage(id));
1817    }
1818};
1819
1820// criteo onetag
1821tarteaucitron.services.criteoonetag = {
1822    "key": "criteoonetag",
1823    "type": "ads",
1824    "name": "Criteo OneTag",
1825    "uri": "https://www.criteo.com/privacy/",
1826    "needConsent": true,
1827    "cookies": ['uid', 'tk', 'uid3pd'],
1828    "js": function() {
1829        "use strict";
1830        if (tarteaucitron.user.criteoonetagAccount === undefined) return;
1831
1832        window.criteo_q = window.criteo_q || []; 
1833        window.criteo_q.push({
1834            event: "setAccount",
1835            account: tarteaucitron.user.criteoonetagAccount
1836        })
1837
1838        tarteaucitron.addScript('//static.criteo.net/js/ld/ld.js', '', function() {
1839            if (typeof tarteaucitron.user.criteoonetagMore === 'function') {
1840                tarteaucitron.user.criteoonetagMore();
1841            }
1842        });
1843    }
1844};
1845
1846// artetv
1847tarteaucitron.services.artetv = {
1848    "key": "artetv",
1849    "type": "video",
1850    "name": "Arte.tv",
1851    "uri": "https://www.arte.tv/sites/fr/corporate/donnees-personnelles/",
1852    "needConsent": true,
1853    "cookies": [],
1854    "js": function () {
1855        "use strict";
1856        tarteaucitron.fallback(['artetv_player'], function (x) {
1857            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Arte.tv iframe'),
1858                video_json = x.getAttribute("json"),
1859                video_width = x.getAttribute("width"),
1860                video_height = x.getAttribute("height"),
1861                video_frame,
1862                video_allowfullscreen = x.getAttribute("allowfullscreen");
1863
1864            if (video_json === undefined) {
1865                return "";
1866            }
1867
1868            video_frame = '<iframe title="' + frame_title + '" style="transition-duration: 0; transition-property: no; margin: 0 auto; position: relative; display: block; background-color: #000000;" src="https://www.arte.tv/player/v5/index.php?json_url=' + video_json + '" width="' + video_width + '" height="' + video_height + '" scrolling="no" ' + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1869            return video_frame;
1870        });
1871    },
1872    "fallback": function () {
1873        "use strict";
1874        var id = 'artetv';
1875        tarteaucitron.fallback(['artetv_player'], function (elem) {
1876            elem.style.width = elem.getAttribute('width') + 'px';
1877            elem.style.height = elem.getAttribute('height') + 'px';
1878            return tarteaucitron.engage(id);
1879        });
1880    }
1881};
1882
1883// dailymotion
1884tarteaucitron.services.dailymotion = {
1885    "key": "dailymotion",
1886    "type": "video",
1887    "name": "Dailymotion",
1888    "uri": "https://www.dailymotion.com/legal/privacy",
1889    "needConsent": true,
1890    "cookies": ['ts', 'dmvk', 'hist', 'v1st', 's_vi'],
1891    "js": function () {
1892        "use strict";
1893        tarteaucitron.fallback(['dailymotion_player'], function (x) {
1894            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Dailymotion iframe'),
1895                video_id = tarteaucitron.getElemAttr(x, "videoID"),
1896                video_width = tarteaucitron.getElemAttr(x, "width"),
1897                frame_width = 'width=',
1898                video_height = tarteaucitron.getElemAttr(x, "height"),
1899                frame_height = 'height=',
1900                video_frame,
1901                embed_type = tarteaucitron.getElemAttr(x, "embedType"),
1902                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
1903                showinfo = tarteaucitron.getElemAttr(x, "showinfo"),
1904                autoplay = tarteaucitron.getElemAttr(x, "autoplay"),
1905                api = tarteaucitron.getElemAttr(x, "api"),
1906                params = 'info=' + showinfo + '&autoPlay=' + autoplay + '&api=' + api;
1907
1908            if (video_id === undefined) {
1909                return "";
1910            }
1911            if (video_width !== undefined) {
1912                frame_width += '"' + video_width + '" ';
1913            } else {
1914                frame_width += '"" ';
1915            }
1916            if (video_height !== undefined) {
1917                frame_height += '"' + video_height + '" ';
1918            } else {
1919                frame_height += '"" ';
1920            }
1921            if (embed_type === undefined || !['video', 'playlist'].includes(embed_type)) {
1922                embed_type = "video";
1923            }
1924            video_frame = '<iframe title="' + frame_title + '" src="//www.dailymotion.com/embed/' + embed_type + '/' + video_id + '?' + params + '" ' + frame_width + frame_height + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1925            return video_frame;
1926        });
1927    },
1928    "fallback": function () {
1929        "use strict";
1930        var id = 'dailymotion';
1931        tarteaucitron.fallback(['dailymotion_player'], function (elem) {
1932            elem.style.width = elem.getAttribute('width') + 'px';
1933            elem.style.height = elem.getAttribute('height') + 'px';
1934            return tarteaucitron.engage(id);
1935        });
1936    }
1937};
1938
1939// dating affiliation
1940tarteaucitron.services.datingaffiliation = {
1941    "key": "datingaffiliation",
1942    "type": "ads",
1943    "name": "Dating Affiliation",
1944    "uri": "http://www.dating-affiliation.com/conditions-generales.php",
1945    "needConsent": true,
1946    "cookies": [],
1947    "js": function () {
1948        "use strict";
1949        tarteaucitron.fallback(['datingaffiliation-canvas'], function (x) {
1950            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Dating Affiliation iframe'),
1951                comfrom = x.getAttribute("data-comfrom"),
1952                r = x.getAttribute("data-r"),
1953                p = x.getAttribute("data-p"),
1954                cf0 = x.getAttribute("data-cf0"),
1955                langue = x.getAttribute("data-langue"),
1956                forward_affiliate = x.getAttribute("data-forwardAffiliate"),
1957                cf2 = x.getAttribute("data-cf2"),
1958                cfsa2 = x.getAttribute("data-cfsa2"),
1959                width = x.getAttribute("width"),
1960                height = x.getAttribute("height"),
1961                url = 'http://www.tools-affil2.com/rotaban/ban.php?' + comfrom;
1962
1963            return '<iframe title="' + frame_title + '" src="' + url + '&r=' + r + '&p=' + p + '&cf0=' + cf0 + '&langue=' + langue + '&forward_affiliate=' + forward_affiliate + '&cf2=' + cf2 + '&cfsa2=' + cfsa2 + '" width="' + width + '" height="' + height + '" marginheight="0" marginwidth="0" scrolling="no"></iframe>';
1964        });
1965    },
1966    "fallback": function () {
1967        "use strict";
1968        var id = 'datingaffiliation';
1969        tarteaucitron.fallback(['datingaffiliation-canvas'], function (elem) {
1970            elem.style.width = elem.getAttribute('width') + 'px';
1971            elem.style.height = elem.getAttribute('height') + 'px';
1972            return tarteaucitron.engage(id);
1973        });
1974    }
1975};
1976
1977// dating affiliation popup
1978tarteaucitron.services.datingaffiliationpopup = {
1979    "key": "datingaffiliationpopup",
1980    "type": "ads",
1981    "name": "Dating Affiliation (Pop Up)",
1982    "uri": "http://www.dating-affiliation.com/conditions-generales.php",
1983    "needConsent": true,
1984    "cookies": ['__utma', '__utmb', '__utmc', '__utmt_Tools', '__utmv', '__utmz', '_ga', '_gat', '_gat_UA-65072040-17', '__da-pu-xflirt-ID-pc-o169'],
1985    "js": function () {
1986        "use strict";
1987        var uniqIds = [],
1988            i,
1989            uri;
1990
1991        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], function (x) {
1992            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1993            uniqIds.push(uniqId);
1994            return '<div id="' + uniqId + '" uri="' + x.getAttribute('uri') + '" comfrom="' + x.getAttribute('comfrom') + '" promo="' + x.getAttribute('promo') + '" productid="' + x.getAttribute('productid') + '" submitconfig="' + x.getAttribute('submitconfig') + '" ur="' + x.getAttribute('ur') + '" brand="' + x.getAttribute('brand') + '" lang="' + x.getAttribute('lang') + '" cf0="' + x.getAttribute('cf0') + '" cf2="' + x.getAttribute('cf2') + '" subid1="' + x.getAttribute('subid1') + '" cfsa2="' + x.getAttribute('cfsa2') + '" subid2="' + x.getAttribute('subid2') + '" nicheid="' + x.getAttribute('nicheid') + '" degreid="' + x.getAttribute('degreid') + '" bt="' + x.getAttribute('bt') + '" vis="' + x.getAttribute('vis') + '" hid="' + x.getAttribute('hid') + '" snd="' + x.getAttribute('snd') + '" aabd="' + x.getAttribute('aabd') + '" aabs="' + x.getAttribute('aabs') + '"></div>';
1995        });
1996
1997        for (i = 0; i < uniqIds.length; i += 1) {
1998            uri = 'http://www.promotools.biz/da/popunder/script.php?';
1999            uri += 'comfrom=' + document.getElementById(uniqIds[i]).getAttribute('comfrom') + '&';
2000            uri += 'promo=' + document.getElementById(uniqIds[i]).getAttribute('promo') + '&';
2001            uri += 'product_id=' + document.getElementById(uniqIds[i]).getAttribute('productid') + '&';
2002            uri += 'submitconfig=' + document.getElementById(uniqIds[i]).getAttribute('submitconfig') + '&';
2003            uri += 'ur=' + document.getElementById(uniqIds[i]).getAttribute('ur') + '&';
2004            uri += 'brand=' + document.getElementById(uniqIds[i]).getAttribute('brand') + '&';
2005            uri += 'lang=' + document.getElementById(uniqIds[i]).getAttribute('lang') + '&';
2006            uri += 'cf0=' + document.getElementById(uniqIds[i]).getAttribute('cf0') + '&';
2007            uri += 'cf2=' + document.getElementById(uniqIds[i]).getAttribute('cf2') + '&';
2008            uri += 'subid1=' + document.getElementById(uniqIds[i]).getAttribute('subid1') + '&';
2009            uri += 'cfsa2=' + document.getElementById(uniqIds[i]).getAttribute('cfsa2') + '&';
2010            uri += 'subid2=' + document.getElementById(uniqIds[i]).getAttribute('subid2') + '&';
2011            uri += 'nicheId=' + document.getElementById(uniqIds[i]).getAttribute('nicheid') + '&';
2012            uri += 'degreId=' + document.getElementById(uniqIds[i]).getAttribute('degreid') + '&';
2013            uri += 'bt=' + document.getElementById(uniqIds[i]).getAttribute('bt') + '&';
2014            uri += 'vis=' + document.getElementById(uniqIds[i]).getAttribute('vis') + '&';
2015            uri += 'hid=' + document.getElementById(uniqIds[i]).getAttribute('hid') + '&';
2016            uri += 'snd=' + document.getElementById(uniqIds[i]).getAttribute('snd') + '&';
2017            uri += 'aabd=' + document.getElementById(uniqIds[i]).getAttribute('aabd') + '&';
2018            uri += 'aabs=' + document.getElementById(uniqIds[i]).getAttribute('aabs');
2019
2020            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2021        }
2022    },
2023    "fallback": function () {
2024        "use strict";
2025        var id = 'datingaffiliationpopup';
2026        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], tarteaucitron.engage(id));
2027    }
2028};
2029
2030// deezer
2031tarteaucitron.services.deezer = {
2032    "key": "deezer",
2033    "type": "video",
2034    "name": "Deezer",
2035    "uri": "https://www.deezer.com/legal/personal-datas",
2036    "needConsent": true,
2037    "cookies": [],
2038    "js": function () {
2039        "use strict";
2040        tarteaucitron.fallback(['deezer_player'], function (x) {
2041            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Deezer iframe'),
2042                deezer_id = x.getAttribute("deezerID"),
2043                deezer_width = x.getAttribute("width"),
2044                frame_width = 'width=',
2045                deezer_height = x.getAttribute("height"),
2046                frame_height = 'height=',
2047                deezer_frame,
2048                embed_theme = x.getAttribute("theme"),
2049                embed_type = x.getAttribute("embedType"),
2050                radius = x.getAttribute("radius"),
2051                tracklist = x.getAttribute("tracklist"),
2052                allowfullscreen = x.getAttribute("allowfullscreen"),
2053                params;
2054
2055            if (deezer_id === undefined) {
2056                return "";
2057            }
2058            if (deezer_width !== undefined) {
2059                frame_width += '"' + deezer_width + '" ';
2060            } else {
2061                frame_width += '"" ';
2062            }
2063            if (deezer_height !== undefined) {
2064                frame_height += '"' + deezer_height + '" ';
2065            } else {
2066                frame_height += '"" ';
2067            }
2068            if (embed_theme === undefined || !['auto', 'light', 'dark'].includes(embed_theme)) {
2069                embed_theme = "auto";
2070            }
2071            if (embed_type === undefined || !['album', 'track', 'playlist'].includes(embed_type)) {
2072                embed_type = "album";
2073            }
2074            if (radius === undefined || !['true', 'false'].includes(radius)) {
2075                radius = "true";
2076            }
2077            if (tracklist === undefined || !['true', 'false'].includes(tracklist)) {
2078                tracklist = "true";
2079            }
2080            params = 'tracklist=' + tracklist + '&radius=' + radiu
vendor: 26,778 bytes, lines 2080-2852
2080s;
2081            deezer_frame = '<iframe title="' + frame_title + '" src="//widget.deezer.com/widget/' + embed_theme + '/' + embed_type + '/' + deezer_id + '?' + params + '" ' + frame_width + frame_height + ' ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
2082            return deezer_frame;
2083        });
2084    },
2085    "fallback": function () {
2086        "use strict";
2087        var id = 'deezer';
2088        tarteaucitron.fallback(['deezer_player'], function (elem) {
2089            elem.style.width = elem.getAttribute('width') + 'px';
2090            elem.style.height = elem.getAttribute('height') + 'px';
2091            return tarteaucitron.engage(id);
2092        });
2093    }
2094};
2095
2096// leadforensicsold
2097tarteaucitron.services.leadforensicsold = {
2098    "key": "leadforensicsold",
2099    "type": "analytic",
2100    "name": "LeadForensics",
2101    "uri": "https://www.leadforensics.com/privacy-policy/",
2102    "needConsent": true,
2103    "cookies": ['trackalyzer'],
2104    "js": function () {
2105        "use strict";
2106        if (tarteaucitron.user.leadforensicsSf14gv === undefined ||
2107            tarteaucitron.user.leadforensicsIidentifier === undefined) {
2108            return;
2109        }
2110
2111        window.sf14gv = tarteaucitron.user.leadforensicsSf14gv;
2112
2113        (function () {
2114            var sf14g = document.createElement('script'); sf14g.async = true;
2115            sf14g.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 't.sf14g.com/sf14g.js';
2116            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sf14g, s);
2117        })();
2118
2119        tarteaucitron.addScript('//secure.leadforensics.com/js/' + tarteaucitron.user.leadforensicsIidentifier + '.js');
2120    }
2121};
2122
2123// disqus
2124tarteaucitron.services.disqus = {
2125    "key": "disqus",
2126    "type": "comment",
2127    "name": "Disqus",
2128    "uri": "https://help.disqus.com/customer/portal/articles/466259-privacy-policy",
2129    "needConsent": true,
2130    "cookies": [],
2131    "js": function () {
2132        "use strict";
2133        if (tarteaucitron.user.disqusShortname === undefined) {
2134            return;
2135        }
2136        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/embed.js');
2137        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/count.js');
2138    },
2139    "fallback": function () {
2140        "use strict";
2141        var id = 'disqus';
2142
2143        if (document.getElementById('disqus_thread')) {
2144            document.getElementById('disqus_thread').innerHTML = tarteaucitron.engage(id);
2145        }
2146    }
2147};
2148
2149// ekomi
2150tarteaucitron.services.ekomi = {
2151    "key": "ekomi",
2152    "type": "social",
2153    "name": "eKomi",
2154    "uri": "http://www.ekomi-us.com/us/privacy/",
2155    "needConsent": true,
2156    "cookies": [],
2157    "js": function () {
2158        "use strict";
2159        if (tarteaucitron.user.ekomiCertId === undefined) {
2160            return;
2161        }
2162        window.eKomiIntegrationConfig = [
2163            { certId: tarteaucitron.user.ekomiCertId }
2164        ];
2165        tarteaucitron.addScript('//connect.ekomi.de/integration_1410173009/' + tarteaucitron.user.ekomiCertId + '.js');
2166    }
2167};
2168
2169// etracker
2170tarteaucitron.services.etracker = {
2171    "key": "etracker",
2172    "type": "analytic",
2173    "name": "eTracker",
2174    "uri": "https://www.etracker.com/en/data-protection.html",
2175    "needConsent": true,
2176    "cookies": [],
2177    "js": function () {
2178        "use strict";
2179        if (tarteaucitron.user.etracker === undefined) {
2180            return;
2181        }
2182
2183        tarteaucitron.addScript('//static.etracker.com/code/e.js', '_etLoader', function () { }, true, "data-secure-code", tarteaucitron.user.etracker);
2184    }
2185};
2186
2187// facebook
2188tarteaucitron.services.facebook = {
2189    "key": "facebook",
2190    "type": "social",
2191    "name": "Facebook",
2192    "uri": "https://www.facebook.com/policy.php",
2193    "needConsent": true,
2194    "cookies": ['xs', 'sb', 'fr', 'datr', 'dpr', 'c_user'],
2195    "js": function () {
2196        "use strict";
2197        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], '');
2198        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
2199        if (tarteaucitron.isAjax === true) {
2200            if (typeof FB !== "undefined") {
2201                FB.XFBML.parse();
2202            }
2203        }
2204    },
2205    "fallback": function () {
2206        "use strict";
2207        var id = 'facebook';
2208        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], tarteaucitron.engage(id));
2209    }
2210};
2211
2212// facebooklikebox
2213tarteaucitron.services.facebooklikebox = {
2214    "key": "facebooklikebox",
2215    "type": "social",
2216    "name": "Facebook (like box)",
2217    "uri": "https://www.facebook.com/policy.php",
2218    "needConsent": true,
2219    "cookies": [],
2220    "js": function () {
2221        "use strict";
2222        tarteaucitron.fallback(['fb-like-box', 'fb-page'], '');
2223        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.3', 'facebook-jssdk');
2224        if (tarteaucitron.isAjax === true) {
2225            if (typeof FB !== "undefined") {
2226                FB.XFBML.parse();
2227            }
2228        }
2229    },
2230    "fallback": function () {
2231        "use strict";
2232        var id = 'facebooklikebox';
2233        tarteaucitron.fallback(['fb-like-box', 'fb-page'], tarteaucitron.engage(id));
2234    }
2235};
2236
2237// facebookcomment
2238tarteaucitron.services.facebookcomment = {
2239    "key": "facebookcomment",
2240    "type": "comment",
2241    "name": "Facebook (commentaire)",
2242    "uri": "https://www.facebook.com/policy.php",
2243    "needConsent": true,
2244    "cookies": [],
2245    "js": function () {
2246        "use strict";
2247        tarteaucitron.fallback(['fb-comments'], '');
2248        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
2249        if (tarteaucitron.isAjax === true) {
2250            if (typeof FB !== "undefined") {
2251                FB.XFBML.parse();
2252            }
2253        }
2254    },
2255    "fallback": function () {
2256        "use strict";
2257        var id = 'facebookcomment';
2258        tarteaucitron.fallback(['fb-comments'], tarteaucitron.engage(id));
2259    }
2260};
2261
2262// ferank
2263tarteaucitron.services.ferank = {
2264    "key": "ferank",
2265    "type": "analytic",
2266    "name": "FERank",
2267    "uri": "https://www.ferank.fr/respect-vie-privee/#mesureaudience",
2268    "needConsent": false,
2269    "cookies": [],
2270    "js": function () {
2271        "use strict";
2272        tarteaucitron.addScript('//static.ferank.fr/pixel.js', '', function () {
2273            if (typeof tarteaucitron.user.ferankMore === 'function') {
2274                tarteaucitron.user.ferankMore();
2275            }
2276        });
2277    }
2278};
2279
2280// pingdom
2281tarteaucitron.services.pingdom = {
2282    "key": "pingdom",
2283    "type": "api",
2284    "name": "Pingdom",
2285    "uri": "https://www.solarwinds.com/general-data-protection-regulation-cloud",
2286    "needConsent": true,
2287    "cookies": [],
2288    "js": function () {
2289        "use strict";
2290
2291        if (tarteaucitron.user.pingdomId === undefined) {
2292            return;
2293        }
2294
2295        window._prum = [['id', tarteaucitron.user.pingdomId], ['mark', 'firstbyte', (new Date()).getTime()]];
2296
2297        tarteaucitron.addScript('https://rum-static.pingdom.net/prum.min.js');
2298    }
2299};
2300
2301
2302// simpleanalytics
2303tarteaucitron.services.simpleanalytics = {
2304    "key": "simpleanalytics",
2305    "type": "analytic",
2306    "name": "Simple Analytics",
2307    "uri": "https://docs.simpleanalytics.com/what-we-collect",
2308    "needConsent": false,
2309    "cookies": [],
2310    "js": function () {
2311        "use strict";
2312        tarteaucitron.addScript('https://scripts.simpleanalyticscdn.com/latest.js');
2313    }
2314};
2315
2316// stonly
2317tarteaucitron.services.stonly = {
2318    "key": "stonly",
2319    "type": "api",
2320    "name": "Stonly (privacy by design)",
2321    "uri": "https://trust.stonly.com/",
2322    "needConsent": false,
2323    "cookies": [],
2324    "js": function () {
2325        "use strict";
2326        if (tarteaucitron.user.stonlyId === undefined) {
2327            return;
2328        }
2329
2330        window.STONLY_WID = tarteaucitron.user.stonlyId;
2331        window.StonlyWidget || ((window.w = window.StonlyWidget = function () {
2332            window.w._api ? window.w._api.apply(window.w, arguments) : window.w.queue.push(arguments)
2333        }).queue = []);
2334
2335        tarteaucitron.addScript('https://stonly.com/js/widget/v2/stonly-widget.js?v=' + Date.now());
2336    }
2337};
2338
2339// stripe
2340/*tarteaucitron.services.stripe = {
2341    "key": "stripe",
2342    "type": "api",
2343    "name": "Stripe",
2344    "uri": "https://stripe.com/cookies-policy/legal",
2345    "needConsent": true,
2346    "cookies": [],
2347    "js": function () {
2348        "use strict";
2349        tarteaucitron.addScript('https://js.stripe.com/v3/');
2350    }
2351};*/
2352
2353// ferank pub
2354tarteaucitron.services.ferankpub = {
2355    "key": "ferankpub",
2356    "type": "ads",
2357    "name": "FERank (pub)",
2358    "uri": "https://www.ferank.fr/respect-vie-privee/#regiepublicitaire",
2359    "needConsent": false,
2360    "cookies": [],
2361    "js": function () {
2362        "use strict";
2363        tarteaucitron.addScript('//static.ferank.fr/publicite.async.js');
2364        if (tarteaucitron.isAjax === true) {
2365            if (typeof ferankReady === 'function') {
2366                ferankReady();
2367            }
2368        }
2369    },
2370    "fallback": function () {
2371        "use strict";
2372        var id = 'ferankpub';
2373        tarteaucitron.fallback(['ferank-publicite'], tarteaucitron.engage(id));
2374    }
2375};
2376
2377// get+
2378tarteaucitron.services.getplus = {
2379    "key": "getplus",
2380    "type": "analytic",
2381    "name": "Get+",
2382    "uri": "http://www.getplus.fr/Conditions-generales-de-vente_a226.html",
2383    "needConsent": true,
2384    "cookies": ['_first_pageview', '_jsuid', 'no_trackyy_' + tarteaucitron.user.getplusId, '_eventqueue'],
2385    "js": function () {
2386        "use strict";
2387        if (tarteaucitron.user.getplusId === undefined) {
2388            return;
2389        }
2390
2391        window.webleads_site_ids = window.webleads_site_ids || [];
2392        window.webleads_site_ids.push(tarteaucitron.user.getplusId);
2393        tarteaucitron.addScript('//stats.webleads-tracker.com/js');
2394    }
2395};
2396
2397// google+
2398tarteaucitron.services.gplus = {
2399    "key": "gplus",
2400    "type": "social",
2401    "name": "Google+",
2402    "uri": "https://policies.google.com/privacy",
2403    "needConsent": true,
2404    "cookies": [],
2405    "js": function () {
2406        "use strict";
2407        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
2408    },
2409    "fallback": function () {
2410        "use strict";
2411        var id = 'gplus';
2412        tarteaucitron.fallback(['g-plus', 'g-plusone'], tarteaucitron.engage(id));
2413    }
2414};
2415
2416// google+ badge
2417tarteaucitron.services.gplusbadge = {
2418    "key": "gplusbadge",
2419    "type": "social",
2420    "name": "Google+ (badge)",
2421    "uri": "https://policies.google.com/privacy",
2422    "needConsent": true,
2423    "cookies": [],
2424    "js": function () {
2425        "use strict";
2426        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
2427    },
2428    "fallback": function () {
2429        "use strict";
2430        var id = 'gplusbadge';
2431        tarteaucitron.fallback(['g-page', 'g-person'], tarteaucitron.engage(id));
2432    }
2433};
2434
2435// google adsense
2436tarteaucitron.services.adsense = {
2437    "key": "adsense",
2438    "type": "ads",
2439    "name": "Google Adsense",
2440    "uri": "https://adssettings.google.com/",
2441    "needConsent": true,
2442    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
2443    "cookies": ['__gads'],
2444    "js": function () {
2445        "use strict";
2446        tarteaucitron.fallback(['adsbygoogle'], '');
2447        tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
2448    },
2449    "fallback": function () {
2450        "use strict";
2451        var id = 'adsense';
2452        tarteaucitron.fallback(['adsbygoogle'], tarteaucitron.engage(id));
2453    }
2454};
2455
2456
2457// google adsense automatic
2458tarteaucitron.services.adsenseauto = {
2459    "key": "adsenseauto",
2460    "type": "ads",
2461    "name": "Google Adsense Automatic",
2462    "uri": "https://adssettings.google.com/",
2463    "needConsent": true,
2464    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
2465    "cookies": ['__gads'],
2466    "js": function () {
2467        "use strict";
2468
2469        if (tarteaucitron.user.adsensecapub === undefined) {
2470            return;
2471        }
2472        tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=' + tarteaucitron.user.adsensecapub, '', '', '', 'crossorigin', 'anonymous');
2473    }
2474};
2475
2476// Google Adsense Search
2477tarteaucitron.services.adsensesearch = {
2478    "key": "adsensesearch",
2479    "type": "ads",
2480    "name": "Google Adsense Search",
2481    "uri": "https://adssettings.google.com/",
2482    "needConsent": true,
2483    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
2484    "cookies": ['__gads'],
2485    "js": function () {
2486        "use strict";
2487        tarteaucitron.addScript('https://www.google.com/adsense/search/ads.js');
2488    },
2489    "fallback": function () {
2490        "use strict";
2491        var id = 'adsensesearch';
2492        tarteaucitron.fallback(['afscontainer1'], tarteaucitron.engage(id));
2493    }
2494};
2495
2496// google partners badge
2497tarteaucitron.services.googlepartners = {
2498    "key": "googlepartners",
2499    "type": "ads",
2500    "name": "Google Partners Badge",
2501    "uri": "https://adssettings.google.com/",
2502    "needConsent": true,
2503    "cookies": [],
2504    "js": function () {
2505        "use strict";
2506        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
2507    },
2508    "fallback": function () {
2509        "use strict";
2510        var id = 'googlepartners';
2511        tarteaucitron.fallback(['g-partnersbadge'], tarteaucitron.engage(id));
2512    }
2513};
2514
2515// google adsense search (form)
2516tarteaucitron.services.adsensesearchform = {
2517    "key": "adsensesearchform",
2518    "type": "ads",
2519    "name": "Google Adsense Search (form)",
2520    "uri": "https://adssettings.google.com/",
2521    "needConsent": true,
2522    "cookies": [],
2523    "js": function () {
2524        "use strict";
2525        tarteaucitron.addScript('//www.google.com/coop/cse/brand?form=cse-search-box&lang=' + tarteaucitron.getLanguage());
2526    }
2527};
2528
2529// google adsense search (result)
2530tarteaucitron.services.adsensesearchresult = {
2531    "key": "adsensesearchresult",
2532    "type": "ads",
2533    "name": "Google Adsense Search (result)",
2534    "uri": "https://adssettings.google.com/",
2535    "needConsent": true,
2536    "cookies": [],
2537    "js": function () {
2538        "use strict";
2539        if (tarteaucitron.user.adsensesearchresultCx === undefined) {
2540            return;
2541        }
2542        tarteaucitron.addScript('//www.google.com/cse/cse.js?cx=' + tarteaucitron.user.adsensesearchresultCx);
2543    },
2544    "fallback": function () {
2545        "use strict";
2546        var id = 'adsensesearchresult';
2547
2548        if (document.getElementById('gcse_searchresults')) {
2549            document.getElementById('gcse_searchresults').innerHTML = tarteaucitron.engage(id);
2550        }
2551    }
2552};
2553
2554// googleadwordsconversion
2555tarteaucitron.services.googleadwordsconversion = {
2556    "key": "googleadwordsconversion",
2557    "type": "ads",
2558    "name": "Google Adwords (conversion)",
2559    "uri": "https://www.google.com/settings/ads",
2560    "needConsent": true,
2561    "cookies": [],
2562    "js": function () {
2563        "use strict";
2564        if (tarteaucitron.user.adwordsconversionId === undefined) {
2565            return;
2566        }
2567
2568        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
2569            window.google_trackConversion({
2570                google_conversion_id: tarteaucitron.user.adwordsconversionId,
2571                google_conversion_label: tarteaucitron.user.adwordsconversionLabel,
2572                google_conversion_language: tarteaucitron.user.adwordsconversionLanguage,
2573                google_conversion_format: tarteaucitron.user.adwordsconversionFormat,
2574                google_conversion_color: tarteaucitron.user.adwordsconversionColor,
2575                google_conversion_value: tarteaucitron.user.adwordsconversionValue,
2576                google_conversion_currency: tarteaucitron.user.adwordsconversionCurrency,
2577                google_custom_params: {
2578                    parameter1: tarteaucitron.user.adwordsconversionCustom1,
2579                    parameter2: tarteaucitron.user.adwordsconversionCustom2
2580                }
2581            });
2582        });
2583    }
2584};
2585
2586// googleadwordsremarketing
2587tarteaucitron.services.googleadwordsremarketing = {
2588    "key": "googleadwordsremarketing",
2589    "type": "ads",
2590    "name": "Google Adwords (remarketing)",
2591    "uri": "https://www.google.com/settings/ads",
2592    "needConsent": true,
2593    "cookies": [],
2594    "js": function () {
2595        "use strict";
2596        if (tarteaucitron.user.adwordsremarketingId === undefined) {
2597            return;
2598        }
2599
2600        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
2601            window.google_trackConversion({
2602                google_conversion_id: tarteaucitron.user.adwordsremarketingId,
2603                google_remarketing_only: true
2604            });
2605        });
2606    }
2607};
2608
2609// google analytics (old)
2610tarteaucitron.services.gajs = {
2611    "key": "gajs",
2612    "type": "analytic",
2613    "name": "Google Analytics (ga.js)",
2614    "uri": "https://policies.google.com/privacy",
2615    "needConsent": true,
2616    "cookies": (function () {
2617        var googleIdentifier = tarteaucitron.user.gajsUa,
2618            tagUaCookie = '_gat_gtag_' + googleIdentifier,
2619            tagGCookie = '_ga_' + googleIdentifier;
2620
2621        tagUaCookie = tagUaCookie.replace(/-/g, '_');
2622        tagGCookie = tagGCookie.replace(/G-/g, '');
2623
2624        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
2625    })(),
2626    "js": function () {
2627        "use strict";
2628        window._gaq = window._gaq || [];
2629        window._gaq.push(['_setAccount', tarteaucitron.user.gajsUa]);
2630        if (timeExpire !== undefined) {
2631            _gaq.push(['_setVisitorCookieTimeout', timeExpire]);
2632        }
2633
2634        if (tarteaucitron.user.gajsAnonymizeIp) {
2635            window._gaq.push(['_gat._anonymizeIp']);
2636        }
2637
2638        if (tarteaucitron.user.gajsPageView) {
2639            window._gaq.push(['_trackPageview, ' + tarteaucitron.user.gajsPageView]);
2640        } else {
2641            window._gaq.push(['_trackPageview']);
2642        }
2643
2644        tarteaucitron.addScript('//www.google-analytics.com/ga.js', '', function () {
2645            if (typeof tarteaucitron.user.gajsMore === 'function') {
2646                tarteaucitron.user.gajsMore();
2647            }
2648        });
2649    }
2650};
2651
2652// google analytics
2653tarteaucitron.services.analytics = {
2654    "key": "analytics",
2655    "type": "analytic",
2656    "name": "Google Analytics (universal)",
2657    "uri": "https://policies.google.com/privacy",
2658    "needConsent": true,
2659    "cookies": (function () {
2660        var googleIdentifier = tarteaucitron.user.analyticsUa,
2661            tagUaCookie = '_gat_gtag_' + googleIdentifier,
2662            tagGCookie = '_ga_' + googleIdentifier;
2663
2664        tagUaCookie = tagUaCookie.replace(/-/g, '_');
2665        tagGCookie = tagGCookie.replace(/G-/g, '');
2666
2667        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
2668    })(),
2669    "js": function () {
2670        "use strict";
2671        window.GoogleAnalyticsObject = 'ga';
2672        window.ga = window.ga || function () {
2673            window.ga.q = window.ga.q || [];
2674            window.ga.q.push(arguments);
2675        };
2676        window.ga.l = new Date();
2677        tarteaucitron.addScript('https://www.google-analytics.com/analytics.js', '', function () {
2678            var uaCreate = { 'cookieExpires': (timeExpire !== undefined) ? timeExpire : 34128000 };
2679            tarteaucitron.extend(uaCreate, tarteaucitron.user.analyticsUaCreate || {});
2680            ga('create', tarteaucitron.user.analyticsUa, uaCreate);
2681
2682            if (tarteaucitron.user.analyticsAnonymizeIp) {
2683                ga('set', 'anonymizeIp', true);
2684            }
2685
2686            if (typeof tarteaucitron.user.analyticsPrepare === 'function') {
2687                tarteaucitron.user.analyticsPrepare();
2688            }
2689
2690            if (tarteaucitron.user.analyticsPageView) {
2691                ga('send', 'pageview', tarteaucitron.user.analyticsPageView);
2692            } else {
2693                ga('send', 'pageview');
2694            }
2695
2696            if (typeof tarteaucitron.user.analyticsMore === 'function') {
2697                tarteaucitron.user.analyticsMore();
2698            }
2699        });
2700    }
2701};
2702
2703// google ads
2704tarteaucitron.services.googleads = {
2705    "key": "googleads",
2706    "type": "ads",
2707    "name": "Google Ads",
2708    "uri": "https://policies.google.com/privacy",
2709    "needConsent": true,
2710    "cookies": (function () {
2711        var googleIdentifier = tarteaucitron.user.googleadsId,
2712            tagUaCookie = '_gat_gtag_' + googleIdentifier,
2713            tagGCookie = '_ga_' + googleIdentifier;
2714
2715        tagUaCookie = tagUaCookie.replace(/-/g, '_');
2716        tagGCookie = tagGCookie.replace(/G-/g, '');
2717
2718        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
2719    })(),
2720    "js": function () {
2721        "use strict";
2722        window.dataLayer = window.dataLayer || [];
2723        tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + tarteaucitron.user.googleadsId, '', function () {
2724            window.gtag = function gtag() { dataLayer.push(arguments); }
2725            gtag('js', new Date());
2726            var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
2727
2728            gtag('config', tarteaucitron.user.googleadsId, additional_config_info);
2729
2730            if (typeof tarteaucitron.user.googleadsMore === 'function') {
2731                tarteaucitron.user.googleadsMore();
2732            }
2733        });
2734    }
2735};
2736
2737// google analytics
2738tarteaucitron.services.gtag = {
2739    "key": "gtag",
2740    "type": "analytic",
2741    "name": "Google Analytics (GA4)",
2742    "uri": "https://policies.google.com/privacy",
2743    "needConsent": true,
2744    "cookies": (function () {
2745        var googleIdentifier = tarteaucitron.user.gtagUa,
2746            tagUaCookie = '_gat_gtag_' + googleIdentifier,
2747            tagGCookie = '_ga_' + googleIdentifier;
2748
2749        tagUaCookie = tagUaCookie.replace(/-/g, '_');
2750        tagGCookie = tagGCookie.replace(/G-/g, '');
2751
2752        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
2753    })(),
2754    "js": function () {
2755        "use strict";
2756        window.dataLayer = window.dataLayer || [];
2757        tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + tarteaucitron.user.gtagUa, '', function () {
2758            window.gtag = function gtag() { dataLayer.push(arguments); }
2759            gtag('js', new Date());
2760            var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
2761
2762            if (tarteaucitron.user.gtagCrossdomain) {
2763                /**
2764                 * https://support.google.com/analytics/answer/7476333?hl=en
2765                 * https://developers.google.com/analytics/devguides/collection/gtagjs/cross-domain
2766                 */
2767                gtag('config', tarteaucitron.user.gtagUa, additional_config_info, { linker: { domains: tarteaucitron.user.gtagCrossdomain, } });
2768            } else {
2769                gtag('config', tarteaucitron.user.gtagUa, additional_config_info);
2770            }
2771
2772            if (typeof tarteaucitron.user.gtagMore === 'function') {
2773                tarteaucitron.user.gtagMore();
2774            }
2775        });
2776    }
2777};
2778
2779tarteaucitron.services.firebase = {
2780    "key": "firebase",
2781    "type": "analytic",
2782    "name": "Firebase",
2783    "uri": "https://firebase.google.com/support/privacy",
2784    "needConsent": true,
2785    "cookies": (function () {
2786        var googleIdentifier = tarteaucitron.user.firebaseMeasurementId,
2787            tagGCookie = '_ga_' + googleIdentifier;
2788
2789        tagGCookie = tagGCookie.replace(/G-/g, '');
2790
2791        return ['_ga', tagGCookie];
2792    })(),
2793    "js": function () {
2794        "use strict";
2795
2796        if (tarteaucitron.user.firebaseApiKey === undefined) {
2797            return;
2798        }
2799
2800        tarteaucitron.addScript('https://www.gstatic.com/firebasejs/8.6.2/firebase-app.js', '', function () {
2801            tarteaucitron.addScript('https://www.gstatic.com/firebasejs/8.6.2/firebase-analytics.js', '', function () {
2802
2803                var firebaseConfig = {
2804                    apiKey: tarteaucitron.user.firebaseApiKey,
2805                    authDomain: tarteaucitron.user.firebaseAuthDomain,
2806                    databaseURL: tarteaucitron.user.firebaseDatabaseUrl,
2807                    projectId: tarteaucitron.user.firebaseProjectId,
2808                    storageBucket: tarteaucitron.user.firebaseStorageBucket,
2809                    appId: tarteaucitron.user.firebaseAppId,
2810                    measurementId: tarteaucitron.user.firebaseMeasurementId,
2811                };
2812                firebase.initializeApp(firebaseConfig);
2813                firebase.analytics();
2814            });
2815        });
2816    }
2817};
2818
2819// genially
2820tarteaucitron.services.genially = {
2821    "key": "genially",
2822    "type": "api",
2823    "name": "genially",
2824    "uri": "https://www.genial.ly/cookies",
2825    "needConsent": true,
2826    "cookies": ['_gat', '_ga', '_gid'],
2827    "js": function () {
2828        "use strict";
2829
2830        tarteaucitron.fallback(['tac_genially'], function (x) {
2831            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'genially iframe'),
2832                width = x.getAttribute("width"),
2833                height = x.getAttribute("height"),
2834                geniallyid = x.getAttribute("geniallyid"),
2835                allowfullscreen = x.getAttribute("allowfullscreen");
2836
2837            return '<div style="position: relative; padding-bottom: 109.00%; padding-top: 0; height: 0;"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" title="' + frame_title + '" src="https://view.genial.ly/' + geniallyid + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe></div>';
2838        });
2839    },
2840    "fallback": function () {
2841        "use strict";
2842        var id = 'genially';
2843        tarteaucitron.fallback(['tac_genially'], function (elem) {
2844            elem.style.width = elem.getAttribute('width') + 'px';
2845            elem.style.height = elem.getAttribute('height') + 'px';
2846            return tarteaucitron.engage(id);
2847        });
2848    }
2849};
2850
2851// google maps
2852tarteaucitron.services.googlemaps = {
2853    "key": "googlemaps",
2854    "type": "api",
2855    "name": "Google Maps",
2856    "uri": "https://policies.google.com/privacy",
2857    "needConsent": true,
2858    "cookies": [],
2859    "js": function () {
2860        "use strict";
2861        var mapOptions,
2862            map,
2863            uniqIds = [],
2864            i;
2865
2866        if (tarteaucitron.user.mapscallback === undefined) {
2867            tarteaucitron.user.mapscallback = 'tac_googlemaps_callback';
2868        }
2869
2870        // Add Google Maps libraries if any (https://developers.google.com/maps/documentation/javascript/libraries)
2871        var googleMapsLibraries = '';
2872        if (tarteaucitron.user.googlemapsLibraries) {
2873            googleMapsLibraries = '&libraries=' + tarteaucitron.user.googlemapsLibraries;
2874        }
2875
2876        tarteaucitron.addScript('//maps.googleapis.com/maps/api/js?v=3.exp&key=' + tarteaucitron.user.googlemapsKey + '&callback=' + tarteaucitron.user.mapscallback + googleMapsLibraries);
2877
2878        window.tac_googlemaps_callback = function () {
2879            tarteaucitron.fallback(['googlemaps-canvas'], function (x) {
2880                var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2881                uniqIds.push(uniqId);
2882                return '<div id="' + uniqId + '" zoom="' + x.getAttribute('zoom') + '" latitude="' + x.getAttribute('latitude') + '" longitude="' + x.getAttribute('longitude') + '" style="width:' + x.offsetWidth + 'px;height:' + x.offsetHeight + 'px"></div>';
2883            });
2884
2885            var i;
2886            for (i = 0; i < uniqIds.length; i += 1) {
2887                mapOptions = {
2888                    zoom: parseInt(document.getElementById(uniqIds[i]).getAttribute('zoom'), 10),
2889                    center: new google.maps.LatLng(parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10), parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10))
2890                };
2891                map = new google.maps.Map(document.getElementById(uniqIds[i]), mapOptions);
2892                new google.maps.Marker({ position: { lat: parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10), lng: parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10) }, map: map });
2893            }
2894        };
2895    },
2896    "fallback": function () {
2897        "use strict";
2898        var id = 'googlemaps';
2899        tarteaucitron.fallback(['googlemaps-canvas'], tarteaucitron.engage(id));
2900    }
2901};
2902
2903// googlemaps search
2904tarteaucitron.services.googlemapssearch = {
2905    "key": "googlemapssearch",
2906    "type": "api",
2907    "name": "Google Maps Search API",
2908    "uri": "https://policies.google.com/privacy",
2909    "needConsent": true,
2910    "cookies": ['nid'],
2911    "js": function () {
2912        "use strict";
2913        tarteaucitron.fallback(['googlemapssearch'], function (x) {
2914            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Google search iframe'),
2915                width = x.getAttribute("width"),
2916                height = x.getAttribute("height"),
2917                // url = x.getAttribute("data-url");
2918                query = escape(x.getAttribute("data-search")),
2919                key = x.getAttribute("data-api-key");
2920
2921            return '<iframe title="' + frame_title + '" width="' + width + '" height="' + height + '" style="border:0" src="https://www.google.com/maps/embed/v1/place?q=' + query + '&key=' + key + '" allowfullscreen></iframe> '
2922        });
2923    },
2924    "fallback": function () {
2925        "use strict";
2926        var id = 'googlemapssearch';
2927        tarteaucitron.fallback(['googlemapssearch'], function (elem) {
2928            elem.style.width = elem.getAttribute('width') + 'px';
2929            elem.style.height = elem.getAttribute('height') + 'px';
2930            return tarteaucitron.engage(id);
2931        });
2932    }
2933};
2934
2935// googlemaps embed iframe
2936tarteaucitron.services.googlemapsembed = {
2937    "key": "googlemapsembed",
2938    "type": "api",
2939    "name": "Google Maps Embed",
2940    "uri": "https://policies.google.com/privacy",
2941    "needConsent": true,
2942    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
2943    "js": function () {
2944        "use strict";
2945        tarteaucitron.fallback(['googlemapsembed'], function (x) {
2946            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Google maps iframe'),
2947                width = tarteaucitron.getElemWidth(x),
2948                height = tarteaucitron.getElemHeight(x),
2949                url = x.getAttribute("data-url");
2950
2951            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
2952        });
2953    },
2954    "fallback": function () {
2955        "use strict";
2956        var id = 'googlemapsembed';
2957        tarteaucitron.fallback(['googlemapsembed'], function (elem) {
2958            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
2959            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
2960            return tarteaucitron.engage(id);
2961        });
2962    }
2963};
2964
2965
2966// openstreetmap embed iframe
2967tarteaucitron.services.openstreetmap = {
2968    "key": "openstreetmap",
2969    "type": "api",
2970    "name": "Openstreetmap Embed",
2971    "uri": "https://wiki.osmfoundation.org/wiki/Privacy_Policy#Cookies",
2972    "needConsent": true,
2973    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
2974    "js": function () {
2975        "use strict";
2976        tarteaucitron.fallback(['openstreetmap'], function (x) {
2977            var width = tarteaucitron.getElemWidth(x),
2978                height = tarteaucitron.getElemHeight(x),
2979                url = x.getAttribute("data-url");
2980
2981            return '<iframe src="' + url + '" width="' + width + '" height="' + height + '" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" allowfullscreen></iframe>';
2982        });
2983    },
2984    "fallback": function () {
2985        "use strict";
2986        var id = 'openstreetmap';
2987        tarteaucitron.fallback(['openstreetmap'], function (elem) {
2988            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
2989            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
2990            return tarteaucitron.engage(id);
2991        });
2992    }
2993};
2994
2995// geoportail embed iframe
2996tarteaucitron.services.geoportail = {
2997    "key": "geoportail",
2998    "type": "api",
2999    "name": "Geoportail maps Embed",
3000    "uri": "https://www.ign.fr/institut/gestion-des-cookies",
3001    "needConsent": true,
3002    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
3003    "js": function () {
3004        "use strict";
3005        tarteaucitron.fallback(['geoportail'], function (x) {
3006            var width = tarteaucitron.getElemWidth(x),
3007                height = tarteaucitron.getElemHeight(x),
3008                url = x.getAttribute("data-url");
3009
3010            return '<iframe src="' + url + '" width="' + width + '" height="' + height + '" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" sandbox="allow-forms allow-scripts allow-same-origin" allowfullscreen></iframe>';
3011        });
3012    },
3013    "fallback": function () {
3014        "use strict";
3015        var id = 'geoportail';
3016        tarteaucitron.fallback(['geoportail'], function (elem) {
3017            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
3018            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
3019            return tarteaucitron.engage(id);
3020        });
3021    }
3022};
3023
3024
3025// google tag manager
3026tarteaucitron.services.googletagmanager = {
3027    "key": "googletagmanager",
3028    "type": "api",
3029    "name": "Google Tag Manager",
3030    "uri": "https://policies.google.com/privacy",
3031    "needConsent": true,
3032    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
3033    "js": function () {
3034        "use strict";
3035        if (tarteaucitron.user.googletagmanagerId === undefined) {
3036            return;
3037        }
3038        window.dataLayer = window.dataLayer || [];
3039        window.dataLayer.push({
3040            'gtm.start': new Date().getTime(),
3041            event: 'gtm.js'
3042        });
3043        tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + tarteaucitron.user.googletagmanagerId);
3044    }
3045};
3046
3047// google tag manager multiple
3048tarteaucitron.services.multiplegoogletagmanager = {
3049    "key": "multiplegoogletagmanager",
3050    "type": "api",
3051    "name": "Google Tag Manager",
3052    "uri": "https://policies.google.com/privacy",
3053    "needConsent": true,
3054    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
3055    "js": function () {
3056        "use strict";
3057        if (tarteaucitron.user.multiplegoogletagmanagerId === undefined) {
3058            return;
3059        }
3060        window.dataLayer = window.dataLayer || [];
3061        window.dataLayer.push({
3062            'gtm.start': new Date().getTime(),
3063            event: 'gtm.js'
3064        });
3065
3066        tarteaucitron.user.multiplegoogletagmanagerId.forEach(function (id) {
3067            tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + id);
3068        });
3069
3070    }
3071};
3072
3073// google webfonts
3074tarteaucitron.services.googlefonts = {
3075    "key": "googlefonts",
3076    "type": "api",
3077    "name": "Google Webfonts",
3078    "uri": "https://policies.google.com/privacy",
3079    "needConsent": true,
3080    "cookies": [],
3081    "js": function () {
3082        "use strict";
3083        if (tarteaucitron.user.googleFonts === undefined) {
3084            return;
3085        }
3086        tarteaucitron.addScript('//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js', '', function () {
3087
3088            if (tarteaucitron.user.googleFonts instanceof Array) {
3089                WebFont.load({
3090                    google: {
3091                        families: tarteaucitron.user.googleFonts
3092                    }
3093                });
3094            } else {
3095                WebFont.load({
3096                    google: {
3097                        families: [tarteaucitron.user.googleFonts]
3098                    }
3099                });
3100            }
3101        });
3102    }
3103};
3104
3105// hubspot
3106tarteaucitron.services.hubspot = {
3107    "key": "hubspot",
3108    "type": "analytic",
3109    "name": "Hubspot",
3110    "uri": "https://legal.hubspot.com/privacy-policy",
3111    "needConsent": true,
3112    "cookies": ['hubspotutk', 'fr', '__hstc', '__hssrc', '__hssc', '__cfduid'],
3113    "js": function () {
3114        "use strict";
3115        tarteaucitron.addScript('//js.hs-scripts.com/' + tarteaucitron.user.hubspotId + '.js', 'hs-script-loader');
3116    }
3117};
3118
3119// instagram
3120tarteaucitron.services.instagram = {
3121    "key": "instagram",
3122    "type": "social",
3123    "name": "Instagram",
3124    "uri": "https://www.instagram.com/legal/privacy/",
3125    "needConsent": true,
3126    "cookies": ['shbts', 'sessionid', 'csrftoken', 'rur', 'shbid', 'mid', 'ds_usr_id', 'ig_did', 'ig_cb', 'datr'],
3127    "js": function () {
3128        "use strict";
3129        tarteaucitron.fallback(['instagram_post'], function (x) {
3130            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Instagram iframe'),
3131                post_id = x.getAttribute('postId'),
3132                post_permalink = x.getAttribute('data-instgrm-permalink'),
3133                embed_width = x.getAttribute('width'),
3134                embed_height = x.getAttribute('height'),
3135                frame_width,
3136                frame_height,
3137                post_frame;
3138
3139            if (post_permalink != null) {
3140                tarteaucitron.addScript('//www.instagram.com/embed.js', 'instagram-embed');
3141
3142                return '';
3143            }
3144
3145            if (post_id === undefined) {
3146                return "";
3147            }
3148
3149            if (embed_width !== undefined) {
3150                frame_width = 'width="' + embed_width + '" ';
3151            } else {
3152                frame_width = '"" ';
3153            }
3154            if (embed_height !== undefined) {
3155                frame_height = 'height="' + embed_height + '" ';
3156            } else {
3157                frame_height = '"" ';
3158            }
3159
3160            post_frame = '<iframe title="' + frame_title + '" src="//www.instagram.com/' + post_id + '/embed" ' + frame_width + frame_height + '></iframe>';
3161
3162            return post_frame;
3163        });
3164    },
3165    "fallback": function () {
3166        "use strict";
3167        var id = 'instagram';
3168        tarteaucitron.fallback(['instagram_post'], function (elem) {
3169            elem.style.width = elem.getAttribute('width') + 'px';
3170            elem.style.height = elem.getAttribute('height') + 'px';
3171            return tarteaucitron.engage(id);
3172        });
3173    }
3174};
3175
3176// jsapi
3177tarteaucitron.services.jsapi = {
3178    "key": "jsapi",
3179    "type": "api",
3180    "name": "Google jsapi",
3181    "uri": "https://policies.google.com/privacy",
3182    "needConsent": true,
3183    "cookies": [],
3184    "js": function () {
3185        "use strict";
3186        tarteaucitron.addScript('//www.google.com/jsapi');
3187    }
3188};
3189
3190// twitterwidgetsapi
3191tarteaucitron.services.twitterwidgetsapi = {
3192    "key": "twitterwidgetsapi",
3193    "type": "api",
3194    "name": "Twitter Widgets API",
3195    "uri": "https://support.twitter.com/articles/20170514",
3196    "needConsent": true,
3197    "cookies": [],
3198    "js": function () {
3199        "use strict";
3200        tarteaucitron.fallback(['tacTwitterAPI'], '');
3201        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
3202    },
3203    "fallback": function () {
3204        "use strict";
3205        var id = 'twitterwidgetsapi';
3206        tarteaucitron.fallback(['tacTwitterAPI'], tarteaucitron.engage(id));
3207    }
3208};
3209
3210// recaptcha
3211tarteaucitron.services.recaptcha = {
vendor: 4,472 bytes, lines 3212-3355
3212    "key": "recaptcha",
3213    "type": "api",
3214    "name": "reCAPTCHA",
3215    "uri": "https://policies.google.com/privacy",
3216    "needConsent": true,
3217    "cookies": ['nid'],
3218    "js": function () {
3219        "use strict";
3220        window.tacRecaptchaOnLoad = tarteaucitron.user.recaptchaOnLoad || function () { };
3221        tarteaucitron.fallback(['g-recaptcha'], '');
3222
3223        if (tarteaucitron.user.recaptchaapi === undefined) {
3224            tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad');
3225        } else {
3226            tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad&render=' + tarteaucitron.user.recaptchaapi);
3227        }
3228
3229    },
3230    "fallback": function () {
3231        "use strict";
3232        var id = 'recaptcha';
3233        tarteaucitron.fallback(['g-recaptcha'], tarteaucitron.engage(id));
3234    }
3235};
3236
3237// linkedin
3238tarteaucitron.services.linkedin = {
3239    "key": "linkedin",
3240    "type": "social",
3241    "name": "Linkedin",
3242    "uri": "https://www.linkedin.com/legal/cookie_policy",
3243    "needConsent": true,
3244    "cookies": [],
3245    "js": function () {
3246        "use strict";
3247        tarteaucitron.fallback(['tacLinkedin'], '');
3248        tarteaucitron.addScript('//platform.linkedin.com/in.js');
3249        if (tarteaucitron.isAjax === true) {
3250            if (typeof IN !== "undefined") {
3251                IN.parse();
3252            }
3253        }
3254    },
3255    "fallback": function () {
3256        "use strict";
3257        var id = 'linkedin';
3258        tarteaucitron.fallback(['tacLinkedin'], tarteaucitron.engage(id));
3259    }
3260};
3261
3262// mautic
3263tarteaucitron.services.mautic = {
3264    "key": "mautic",
3265    "type": "analytic",
3266    "name": "Mautic",
3267    "uri": "https://www.mautic.org/privacy-policy/",
3268    "needConsent": true,
3269    "cookies": ['mtc_id', 'mtc_sid'],
3270    "js": function () {
3271        "use strict";
3272        if (tarteaucitron.user.mauticurl === undefined) {
3273            return;
3274        }
3275
3276        window.MauticTrackingObject = 'mt';
3277        window.mt = window.mt || function () {
3278            window.mt.q = window.mt.q || [];
3279            window.mt.q.push(arguments);
3280        };
3281
3282        tarteaucitron.addScript(tarteaucitron.user.mauticurl, '', function () {
3283            mt('send', 'pageview');
3284        });
3285    }
3286};
3287
3288// microsoftcampaignanalytics
3289tarteaucitron.services.microsoftcampaignanalytics = {
3290    "key": "microsoftcampaignanalytics",
3291    "type": "analytic",
3292    "name": "Microsoft Campaign Analytics",
3293    "uri": "https://privacy.microsoft.com/privacystatement/",
3294    "needConsent": true,
3295    "cookies": [],
3296    "js": function () {
3297        "use strict";
3298        if (tarteaucitron.user.microsoftcampaignanalyticsUUID === undefined) {
3299            return;
3300        }
3301
3302        tarteaucitron.addScript('//flex.atdmt.com/mstag/site/' + tarteaucitron.user.microsoftcampaignanalyticsUUID + '/mstag.js', 'mstag_tops', function () {
3303            window.mstag = { loadTag: function () { }, time: (new Date()).getTime() };
3304            window.mstag.loadTag("analytics", { dedup: "1", domainId: tarteaucitron.user.microsoftcampaignanalyticsdomainId, type: "1", actionid: tarteaucitron.user.microsoftcampaignanalyticsactionId });
3305        });
3306    }
3307};
3308
3309// onesignal
3310tarteaucitron.services.onesignal = {
3311    "key": "onesignal",
3312    "type": "api",
3313    "name": "OneSignal",
3314    "uri": "https://onesignal.com/privacy_policy",
3315    "needConsent": true,
3316    "cookies": [],
3317    "js": function () {
3318        "use strict";
3319        if (tarteaucitron.user.onesignalAppId === undefined) {
3320            return;
3321        }
3322        window.OneSignal = window.OneSignal || [];
3323
3324        window.OneSignal.push(function () {
3325            window.OneSignal.init({
3326                appId: tarteaucitron.user.onesignalAppId,
3327            });
3328        });
3329
3330        tarteaucitron.addScript('https://cdn.onesignal.com/sdks/OneSignalSDK.js');
3331    }
3332};
3333
3334// pinterest
3335tarteaucitron.services.pinterest = {
3336    "key": "pinterest",
3337    "type": "social",
3338    "name": "Pinterest",
3339    "uri": "https://about.pinterest.com/privacy-policy",
3340    "needConsent": true,
3341    "cookies": [],
3342    "js": function () {
3343        "use strict";
3344        tarteaucitron.fallback(['tacPinterest'], '');
3345        tarteaucitron.addScript('//assets.pinterest.com/js/pinit.js');
3346    },
3347    "fallback": function () {
3348        "use strict";
3349        var id = 'pinterest';
3350        tarteaucitron.fallback(['tacPinterest'], tarteaucitron.engage(id));
3351    }
3352};
3353
3354// prelinker
3355tarteaucitron.services.prelinker = {
3356    "key": "prelinker",
3357    "type": "ads",
3358    "name": "Prelinker",
3359    "uri": "http://www.prelinker.com/index/index/cgu/",
3360    "needConsent": true,
3361    "cookies": ['_sp_id.32f5', '_sp_ses.32f5'],
3362    "js": function () {
3363        "use strict";
3364        var uniqIds = [],
3365            i,
3366            uri;
3367
3368        tarteaucitron.fallback(['prelinker-canvas'], function (x) {
3369            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3370            uniqIds.push(uniqId);
3371            return '<div id="' + uniqId + '" siteId="' + x.getAttribute('siteId') + '" bannerId="' + x.getAttribute('bannerId') + '" defaultLanguage="' + x.getAttribute('defaultLanguage') + '" tracker="' + x.getAttribute('tracker') + '"></div>';
3372        });
3373
3374        for (i = 0; i < uniqIds.length; i += 1) {
3375            uri = 'http://promo.easy-dating.org/banner/index?';
3376            uri += 'site_id=' + document.getElementById(uniqIds[i]).getAttribute('siteId') + '&';
3377            uri += 'banner_id=' + document.getElementById(uniqIds[i]).getAttribute('bannerId') + '&';
3378            uri += 'default_language=' + document.getElementById(uniqIds[i]).getAttribute('defaultLanguage') + '&';
3379            uri += 'tr4ck=' + document.getElementById(uniqIds[i]).getAttribute('trackrt');
3380
3381            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
3382        }
3383    },
3384    "fallback": function () {
3385        "use strict";
3386        var id = 'prelinker';
3387        tarteaucitron.fallback(['prelinker-canvas'], tarteaucitron.engage(id));
3388    }
3389};
3390
3391// prezi
3392tarteaucitron.services.prezi = {
3393    "key": "prezi",
3394    "type": "video",
3395    "name": "Prezi",
3396    "uri": "https://prezi.com/privacy-policy/",
3397    "needConsent": true,
3398    "cookies": [],
3399    "js": function () {
3400        "use strict";
3401        tarteaucitron.fallback(['prezi-canvas'], function (x) {
3402            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Prezi iframe'),
3403                id = x.getAttribute("data-id"),
3404                width = x.getAttribute("width"),
3405                height = x.getAttribute("height"),
3406                url = 'https://prezi.com/embed/' + id + '/?bgcolor=ffffff&amp;lock_to_path=0&amp;autoplay=0&amp;autohide_ctrls=0';
3407
3408            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
3409        });
3410    },
3411    "fallback": function () {
3412        "use strict";
3413        var id = 'prezi';
3414        tarteaucitron.fallback(['prezi-canvas'], function (elem) {
3415            elem.style.width = elem.getAttribute('width') + 'px';
3416            elem.style.height = elem.getAttribute('height') + 'px';
3417            return tarteaucitron.engage(id);
3418        });
3419    }
3420};
3421
3422// pubdirecte
3423tarteaucitron.services.pubdirecte = {
3424    "key": "pubdirecte",
3425    "type": "ads",
3426    "name": "Pubdirecte",
3427    "uri": "http://pubdirecte.com/contact.php",
3428    "needConsent": true,
3429    "cookies": [],
3430    "js": function () {
3431        "use strict";
3432        var uniqIds = [],
3433            i,
3434            uri;
3435
3436        tarteaucitron.fallback(['pubdirecte-canvas'], function (x) {
3437            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3438            uniqIds.push(uniqId);
3439            return '<div id="' + uniqId + '" pid="' + x.getAttribute('pid') + '" ref="' + x.getAttribute('ref') + '"></div>';
3440        });
3441
3442        for (i = 0; i < uniqIds.length; i += 1) {
3443            uri = '//www.pubdirecte.com/script/banniere.php?';
3444            uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('pid') + '&';
3445            uri += 'ref=' + document.getElementById(uniqIds[i]).getAttribute('ref');
3446
3447            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
3448        }
3449    },
3450    "fallback": function () {
3451        "use strict";
3452        var id = 'pubdirecte';
3453        tarteaucitron.fallback(['pubdirecte-canvas'], tarteaucitron.engage(id));
3454    }
3455};
3456
3457// purechat
3458tarteaucitron.services.purechat = {
3459    "key": "purechat",
3460    "type": "support",
3461    "name": "PureChat",
3462    "uri": "https://www.purechat.com/privacy",
3463    "needConsent": true,
3464    "cookies": [],
3465    "js": function () {
3466        "use strict";
3467        if (tarteaucitron.user.purechatId === undefined) {
3468            return;
3469        }
3470
3471        tarteaucitron.addScript('//app.purechat.com/VisitorWidget/WidgetScript', '', function () {
3472            try {
3473                window.w = new PCWidget({ c: tarteaucitron.user.purechatId, f: true });
3474            } catch (e) { }
3475        });
3476    }
3477};
3478
3479// Intercom
3480tarteaucitron.services.intercomChat = {
3481    "key": "intercomChat",
3482    "type": "support",
3483    "name": "Intercom",
3484    "uri": "https://www.intercom.com/",
3485    "needConsent": true,
3486    "cookies": [
3487        "intercom-id-" + tarteaucitron.user.intercomKey,
3488        "intercom-session-" + tarteaucitron.user.intercomKey,
3489    ],
3490    "readmoreLink": "https://www.intercom.com/legal/privacy",
3491    "js": function () {
3492        window.intercomSettings = {
3493            app_id: tarteaucitron.user.intercomKey,
3494        };
3495
3496        var w = window;
3497        var ic = w.Intercom;
3498        if (typeof ic === "function") {
3499            ic("reattach_activator");
3500            ic("update", w.intercomSettings);
3501        } else {
3502            var i = function () {
3503                i.c(arguments);
3504            };
3505            i.q = [];
3506            i.c = function (args) {
3507                i.q.push(args);
3508            };
3509            w.Intercom = i;
3510            tarteaucitron.addScript(
3511                "https://widget.intercom.io/widget/" + tarteaucitron.user.intercomKey,
3512                "",
3513                function () {
3514                    // Execute callback if function `intercomChatEnable`
3515                    // is defined
3516                    if (typeof intercomChatEnable === 'function') {
3517                        intercomChatEnable()
3518                    }
3519                }
3520            );
3521        }
3522    },
3523    "fallback": function () {
3524        "use strict";
3525        var id = "intercomChat";
3526        tarteaucitron.fallback(
3527            ["intercom-chat"],
3528            function () {
3529                // Execute callback if function `intercomChatDisable`
3530                // is defined
3531                if (typeof intercomChatDisable === 'function') {
3532                    intercomChatDisable()
3533                }
3534                return tarteaucitron.engage(id)
3535            }
3536        );
3537    },
3538};
3539
3540// rumbletalk
3541tarteaucitron.services.rumbletalk = {
3542    "key": "rumbletalk",
3543    "type": "social",
3544    "name": "RumbleTalk",
3545    "needConsent": true,
3546    "cookies": ['AWSALB'],
3547    "js": function () {
3548        "use strict";
3549        if (tarteaucitron.user.rumbletalkid === undefined) {
3550            return;
3551        }
3552
3553        tarteaucitron.addScript('https://rumbletalk.com/client/?' + tarteaucitron.user.rumbletalkid);
3554
3555        tarteaucitron.fallback(['rumbletalk'], function (x) {
3556            var width = tarteaucitron.getElemWidth(x),
3557                height = tarteaucitron.getElemHeight(x),
3558                id = x.getAttribute("data-id");
3559
3560            return '<div style="height: ' + height + 'px; width: ' + width + 'px;"><div id="' + id + '"></div></div>';
3561        });
3562    },
3563    "fallback": function () {
3564        "use strict";
3565        var id = 'rumbletalk';
3566        tarteaucitron.fallback(['rumbletalk'], function (elem) {
3567            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
3568            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
3569
3570            return tarteaucitron.engage(id);
3571        });
3572    }
3573};
3574
3575// shareaholic
3576tarteaucitron.services.shareaholic = {
3577    "key": "shareaholic",
3578    "type": "social",
3579    "name": "Shareaholic",
3580    "uri": "https://shareaholic.com/privacy/choices",
3581    "needConsent": true,
3582    "cookies": ['__utma', '__utmb', '__utmc', '__utmz', '__utmt_Shareaholic%20Pageviews'],
3583    "js": function () {
3584        "use strict";
3585        if (tarteaucitron.user.shareaholicSiteId === undefined) {
3586            return;
3587        }
3588
3589        tarteaucitron.fallback(['shareaholic-canvas'], '');
3590        tarteaucitron.addScript('//dsms0mj1bbhn4.cloudfront.net/assets/pub/shareaholic.js', '', function () {
3591            try {
3592                Shareaholic.init(tarteaucitron.user.shareaholicSiteId);
3593            } catch (e) { }
3594        });
3595    },
3596    "fallback": function () {
3597        "use strict";
3598        var id = 'shareaholic';
3599        tarteaucitron.fallback(['shareaholic-canvas'], tarteaucitron.engage(id));
3600    }
3601};
3602
3603// shareasale
3604tarteaucitron.services.shareasale = {
3605    "key": "shareasale",
3606    "type": "ads",
3607    "name": "ShareASale",
3608    "uri": "https://www.shareasale.com/PrivacyPolicy.pdf",
3609    "needConsent": true,
3610    "cookies": [],
3611    "js": function () {
3612        "use strict";
3613        var uniqIds = [],
3614            i,
3615            uri;
3616
3617        tarteaucitron.fallback(['shareasale-canvas'], function (x) {
3618            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3619            uniqIds.push(uniqId);
3620            return '<div id="' + uniqId + '" amount="' + x.getAttribute('amount') + '" tracking="' + x.getAttribute('tracking') + '" transtype="' + x.getAttribute('transtype') + '" persale="' + x.getAttribute('persale') + '" perlead="' + x.getAttribute('perlead') + '" perhit="' + x.getAttribute('perhit') + '" merchantID="' + x.getAttribute('merchantID') + '"></div>';
3621        });
3622
3623        for (i = 0; i < uniqIds.length; i += 1) {
3624            uri = 'https://shareasale.com/sale.cfm?';
3625            uri += 'amount=' + document.getElementById(uniqIds[i]).getAttribute('amount') + '&';
3626            uri += 'tracking=' + document.getElementById(uniqIds[i]).getAttribute('tracking') + '&';
3627            uri += 'transtype=' + document.getElementById(uniqIds[i]).getAttribute('transtype') + '&';
3628            uri += 'persale=' + document.getElementById(uniqIds[i]).getAttribute('persale') + '&';
3629            uri += 'perlead=' + document.getElementById(uniqIds[i]).getAttribute('perlead') + '&';
3630            uri += 'perhit=' + document.getElementById(uniqIds[i]).getAttribute('perhit') + '&';
3631            uri += 'merchantID=' + document.getElementById(uniqIds[i]).getAttribute('merchantID');
3632
3633            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
3634        }
3635    },
3636    "fallback": function () {
3637        "use strict";
3638        var id = 'shareasale';
3639        tarteaucitron.fallback(['shareasale-canvas'], tarteaucitron.engage(id));
3640    }
3641};
3642
3643// sharethis
3644tarteaucitron.services.sharethis = {
3645    "key": "sharethis",
3646    "type": "social",
3647    "name": "ShareThis",
3648    "uri": "http://www.sharethis.com/legal/privacy/",
3649    "needConsent": true,
3650    "cookies": ['__unam'],
3651    "js": function () {
3652        "use strict";
3653        if (tarteaucitron.user.sharethisPublisher === undefined) {
3654            return;
3655        }
3656        var switchTo5x = true,
3657            uri = ('https:' === document.location.protocol ? 'https://ws' : 'http://w') + '.sharethis.com/button/buttons.js';
3658
3659        tarteaucitron.fallback(['tacSharethis'], '');
3660        tarteaucitron.addScript(uri, '', function () {
3661            stLight.options({ publisher: tarteaucitron.user.sharethisPublisher, doNotHash: false, doNotCopy: false, hashAddressBar: false });
3662        });
3663
3664        if (tarteaucitron.isAjax === true) {
3665            if (typeof stButtons !== "undefined") {
3666                stButtons.locateElements();
3667            }
3668        }
3669    },
3670    "fallback": function () {
3671        "use strict";
3672        var id = 'sharethis';
3673        tarteaucitron.fallback(['tacSharethis'], tarteaucitron.engage(id));
3674    }
3675};
3676
3677// slideshare
3678tarteaucitron.services.slideshare = {
3679    "key": "slideshare",
3680    "type": "video",
3681    "name": "SlideShare",
3682    "uri": "https://www.linkedin.com/legal/privacy-policy",
3683    "needConsent": true,
3684    "cookies": [],
3685    "js": function () {
3686        "use strict";
3687        tarteaucitron.fallback(['slideshare-canvas'], function (x) {
3688            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Slideshare iframe'),
3689                id = x.getAttribute("data-id"),
3690                width = x.getAttribute("width"),
3691                height = x.getAttribute("height"),
3692                url = '//www.slideshare.net/slideshow/embed_code/' + id;
3693
3694            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
3695        });
3696    },
3697    "fallback": function () {
3698        "use strict";
3699        var id = 'slideshare';
3700        tarteaucitron.fallback(['slideshare-canvas'], function (elem) {
3701            elem.style.width = elem.getAttribute('width') + 'px';
3702            elem.style.height = elem.getAttribute('height') + 'px';
3703            return tarteaucitron.engage(id);
3704        });
3705    }
3706};
3707
3708// soundcloud
3709tarteaucitron.services.soundcloud = {
3710    key: 'soundcloud',
3711    type: 'video',
3712    name: 'SoundCloud',
3713    needConsent: true,
3714    cookies: ['sc_anonymous_id', 'sclocale'],
3715    js: function () {
3716        "use strict";
3717        tarteaucitron.fallback(['soundcloud_player'], function (x) {
3718            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Soundcloud iframe'),
3719                player_height = x.getAttribute('data-height'),
3720                frame_height = 'height="' + player_height + '" ',
3721                playable_id = x.getAttribute('data-playable-id'),
3722                playable_type = x.getAttribute('data-playable-type'),
3723                playable_url = x.getAttribute('data-playable-url'),
3724                color = x.getAttribute('data-color'),
3725                autoplay = x.getAttribute('data-auto-play'),
3726                hideRelated = x.getAttribute('data-hide-related'),
3727                showComments = x.getAttribute('data-show-comments'),
3728                showUser = x.getAttribute('data-show-user'),
3729                showReposts = x.getAttribute('data-show-reposts'),
3730                showTeaser = x.getAttribute('data-show-teaser'),
3731                visual = x.getAttribute('data-visual'),
3732                artwork = x.getAttribute('data-artwork');
3733
3734            var allowAutoplay = autoplay === 'true' ? 'allow="autoplay"' : '';
3735
3736            if (playable_id === undefined && playable_url === undefined) {
3737                return "";
3738            }
3739
3740            // Allow to embed from API results (playable_type + playable_id)
3741            var qs = '?url=https%3A//api.soundcloud.com/' + playable_type + '/' + playable_id;
3742            // Or from raw URL from Soundcloud website
3743            if (playable_url && playable_url.length > 0) qs = '?url=' + escape(playable_url);
3744
3745            if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated;
3746            if (color && color.length > 0) qs += '&color=' + color.replace('#', '%23');
3747            if (autoplay && autoplay.length > 0) qs += '&auto_play=' + autoplay;
3748            if (showComments && showComments.length > 0) qs += '&show_comments=' + showComments;
3749            if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated;
3750            if (showUser && showUser.length > 0) qs += '&show_user=' + showUser;
3751            if (showReposts && showReposts.length > 0) qs += '&show_reposts=' + showReposts;
3752            if (showTeaser && showTeaser.length > 0) qs += '&show_teaser=' + showTeaser;
3753            if (visual && visual.length > 0) qs += '&visual=' + visual;
3754            if (artwork && artwork.length >
3754 0) qs += '&show_artwork=' + artwork;
3755
3756            return '<iframe title="' + frame_title + '" width="100%" ' + frame_height + ' scrolling="no" ' + allowAutoplay + ' src="https://w.soundcloud.com/player/' + qs + '"></iframe>';
3757        });
3758    },
3759    fallback: function () {
3760        "use strict";
3761        tarteaucitron.fallback(['soundcloud_player'], function (elem) {
3762            elem.style.height = elem.getAttribute('data-height') + 'px';
3763            return tarteaucitron.engage('soundcloud');
3764        });
3765    }
3766};
3767
3768// spotify
3769tarteaucitron.services.spotify = {
3770    "key": "spotify",
3771    "type": "video",
3772    "name": "Spotify",
3773    "uri": "https://www.spotify.com/us/legal/privacy-policy/",
3774    "needConsent": true,
3775    "cookies": ['sp_landing', '_ga', 'sp_ab', 'sp_landingref', 'sp_t', 'sp_usid', 'OptanonConsent', 'sp_m', 'spot'],
3776    "js": function () {
3777        "use strict";
3778        tarteaucitron.fallback(['spotify_player'], function (x) {
3779            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Spotify iframe'),
3780                spotify_id = x.getAttribute("spotifyID"),
3781                spotify_width = x.getAttribute("width"),
3782                frame_width = 'width=',
3783                spotify_height = x.getAttribute("height"),
3784                frame_height = 'height=',
3785                spotify_frame;
3786
3787            if (spotify_id === undefined) {
3788                return "";
3789            }
3790            if (spotify_width !== undefined) {
3791                frame_width += '"' + spotify_width + '" ';
3792            } else {
3793                frame_width += '"" ';
3794            }
3795            if (spotify_height !== undefined) {
3796                frame_height += '"' + spotify_height + '" ';
3797            } else {
3798                frame_height += '"" ';
3799            }
3800            spotify_frame = '<iframe title="' + frame_title + '" src="//open.spotify.com/embed/' + spotify_id + '" ' + frame_width + frame_height + ' allowfullscreen></iframe>';
3801            return spotify_frame;
3802        });
3803    },
3804    "fallback": function () {
3805        "use strict";
3806        var id = 'spotify';
3807        tarteaucitron.fallback(['spotify_player'], function (elem) {
3808            elem.style.width = elem.getAttribute('width') + 'px';
3809            elem.style.height = elem.getAttribute('height') + 'px';
3810            return tarteaucitron.engage(id);
3811        });
3812    }
3813};
3814
3815// statcounter
3816tarteaucitron.services.statcounter = {
3817    "key": "statcounter",
3818    "type": "analytic",
3819    "name": "StatCounter",
3820    "uri": "https://fr.statcounter.com/about/legal/#privacy",
3821    "needConsent": true,
3822    "cookies": ['sc_is_visitor_unique'],
3823    "js": function () {
3824        "use strict";
3825        var uniqIds = [],
3826            i,
3827            uri = '//statcounter.com/counter/counter.js';
3828
3829        tarteaucitron.fallback(['statcounter-canvas'], function (x) {
3830            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3831            uniqIds.push(uniqId);
3832            return '<div id="' + uniqId + '"></div>';
3833        });
3834
3835        for (i = 0; i < uniqIds.length; i += 1) {
3836            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
3837        }
3838    },
3839    "fallback": function () {
3840        "use strict";
3841        var id = 'statcounter';
3842        tarteaucitron.fallback(['statcounter-canvas'], tarteaucitron.engage(id));
3843    }
3844};
3845
3846// timelinejs
3847tarteaucitron.services.timelinejs = {
3848    "key": "timelinejs",
3849    "type": "api",
3850    "name": "Timeline JS",
3851    "uri": "http://timeline.knightlab.com/#help",
3852    "needConsent": true,
3853    "cookies": [],
3854    "js": function () {
3855        "use strict";
3856        tarteaucitron.fallback(['timelinejs-canvas'], function (x) {
3857            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Twitter iframe'),
3858                spreadsheet_id = x.getAttribute("spreadsheet_id"),
3859                width = x.getAttribute("width"),
3860                height = x.getAttribute("height"),
3861                lang = x.getAttribute("lang_2_letter"),
3862                font = x.getAttribute("font"),
3863                map = x.getAttribute("map"),
3864                start_at_end = x.getAttribute("start_at_end"),
3865                hash_bookmark = x.getAttribute("hash_bookmark"),
3866                start_at_slide = x.getAttribute("start_at_slide"),
3867                start_zoom = x.getAttribute("start_zoom"),
3868                url = '//cdn.knightlab.com/libs/timeline/latest/embed/index.html?source=' + spreadsheet_id + '&font=' + font + '&maptype=' + map + '&lang=' + lang + '&start_at_end=' + start_at_end + '&hash_bookmark=' + hash_bookmark + '&start_at_slide=' + start_at_slide + '&start_zoom_adjust=' + start_zoom + '&height=' + height;
3869
3870            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" allowtransparency allowfullscreen></iframe>';
3871        });
3872    },
3873    "fallback": function () {
3874        "use strict";
3875        var id = 'timelinejs';
3876        tarteaucitron.fallback(['timelinejs-canvas'], function (elem) {
3877            elem.style.width = elem.getAttribute('width') + 'px';
3878            elem.style.height = elem.getAttribute('height') + 'px';
3879            return tarteaucitron.engage(id);
3880        });
3881    }
3882};
3883
3884// tagcommander
3885tarteaucitron.services.tagcommander = {
3886    "key": "tagcommander",
3887    "type": "api",
3888    "name": "TagCommander",
3889    "uri": "https://www.commandersact.com/en/privacy/",
3890    "needConsent": true,
3891    "cookies": [],
3892    "js": function () {
3893        "use strict";
3894        if (tarteaucitron.user.tagcommanderid === undefined) {
3895            return;
3896        }
3897        tarteaucitron.addScript('https://cdn.tagcommander.com/' + tarteaucitron.user.tagcommanderid + '.js');
3898    }
3899};
3900
3901// typekit
3902tarteaucitron.services.typekit = {
3903    "key": "typekit",
3904    "type": "api",
3905    "name": "Typekit (adobe)",
3906    "uri": "https://www.adobe.com/privacy.html",
3907    "needConsent": true,
3908    "cookies": [],
3909    "js": function () {
3910        "use strict";
3911        if (tarteaucitron.user.typekitId === undefined) {
3912            return;
3913        }
3914        tarteaucitron.addScript('//use.typekit.net/' + tarteaucitron.user.typekitId + '.js', '', function () {
3915            try {
3916                Typekit.load();
3917            } catch (e) { }
3918        });
3919    }
3920};
3921
3922// twenga
3923tarteaucitron.services.twenga = {
3924    "key": "twenga",
3925    "type": "ads",
3926    "name": "Twenga",
3927    "uri": "http://www.twenga.com/privacy.php",
3928    "needConsent": true,
3929    "cookies": [],
3930    "js": function () {
3931        "use strict";
3932
3933        if (tarteaucitron.user.twengaId === undefined || tarteaucitron.user.twengaLocale === undefined) {
3934            return;
3935        }
3936
3937        tarteaucitron.addScript('//tracker.twenga.' + tarteaucitron.user.twengaLocale + '/st/tracker_' + tarteaucitron.user.twengaId + '.js');
3938    }
3939};
3940
3941// twitter
3942tarteaucitron.services.twitter = {
3943    "key": "twitter",
3944    "type": "social",
3945    "name": "Twitter",
3946    "uri": "https://support.twitter.com/articles/20170514",
3947    "needConsent": true,
3948    "cookies": [],
3949    "js": function () {
3950        "use strict";
3951        tarteaucitron.fallback(['tacTwitter'], '');
3952        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
3953    },
3954    "fallback": function () {
3955        "use strict";
3956        var id = 'twitter';
3957        tarteaucitron.fallback(['tacTwitter'], tarteaucitron.engage(id));
3958    }
3959};
3960
3961// twitter embed
3962tarteaucitron.services.twitterembed = {
3963    "key": "twitterembed",
3964    "type": "social",
3965    "name": "Twitter (cards)",
3966    "uri": "https://support.twitter.com/articles/20170514",
3967    "needConsent": true,
3968    "cookies": [],
3969    "js": function () {
3970        "use strict";
3971        var uniqIds = [],
3972            i,
3973            e,
3974            html;
3975
3976        tarteaucitron.fallback(['twitterembed-canvas'], function (x) {
3977            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3978            uniqIds.push(uniqId);
3979            html = '<div id="' + uniqId + '" ';
3980            html += 'tweetid="' + x.getAttribute('tweetid') + '" ';
3981            html += 'theme="' + x.getAttribute('theme') + '" ';
3982            html += 'cards="' + x.getAttribute('cards') + '" ';
3983            html += 'conversation="' + x.getAttribute('conversation') + '" ';
3984            html += 'data-width="' + x.getAttribute('data-width') + '" ';
3985            html += 'data-align="' + x.getAttribute('data-align') + '" ';
3986            html += '></div>';
3987            return html;
3988        });
3989
3990        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs', function () {
3991            var i;
3992            for (i = 0; i < uniqIds.length; i += 1) {
3993                e = document.getElementById(uniqIds[i]);
3994                twttr.widgets.createTweet(
3995                    e.getAttribute('tweetid'),
3996                    e,
3997                    {
3998                        theme: e.getAttribute('theme'),
3999                        cards: e.getAttribute('cards'),
4000                        conversation: e.getAttribute('conversation'),
4001                        lang: tarteaucitron.getLanguage(),
4002                        dnt: true,
4003                        width: e.getAttribute('data-width'),
4004                        align: e.getAttribute('data-align')
4005                    }
4006                );
4007            }
4008        });
4009    },
4010    "fallback": function () {
4011        "use strict";
4012        var id = 'twitterembed';
4013        tarteaucitron.fallback(['twitterembed-canvas'], function (elem) {
4014            elem.style.width = elem.getAttribute('data-width') + 'px';
4015            return tarteaucitron.engage(id);
4016        });
4017    }
4018};
4019
4020// twitter timeline
4021tarteaucitron.services.twittertimeline = {
4022    "key": "twittertimeline",
4023    "type": "social",
4024    "name": "Twitter (timelines)",
4025    "uri": "https://support.twitter.com/articles/20170514",
4026    "needConsent": true,
4027    "cookies": [],
4028    "js": function () {
4029        "use strict";
4030        tarteaucitron.fallback(['tacTwitterTimelines'], '');
4031        tarteaucitron.addScript('https://platform.twitter.com/widgets.js', 'twitter-wjs');
4032    },
4033    "fallback": function () {
4034        "use strict";
4035        var id = 'twittertimeline';
4036        tarteaucitron.fallback(['tacTwitterTimelines'], tarteaucitron.engage(id));
4037    }
4038};
4039
4040// twitter universal website tag
4041tarteaucitron.services.twitteruwt = {
4042    "key": "twitteruwt",
4043    "type": "analytic",
4044    "name": "Twitter Universal Website Tag",
4045    "uri": "https://business.twitter.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html",
4046    "needConsent": true,
4047    "cookies": [],
4048    "js": function () {
4049        "use strict";
4050
4051        window.twq = function () {
4052            window.twq.exe ? window.twq.exe.apply(window.twq, arguments) : window.twq.queue.push(arguments);
4053        }
4054        window.twq.version = '1.1';
4055        window.twq.queue = [];
4056
4057        tarteaucitron.addScript('https://static.ads-twitter.com/uwt.js', '', function () {
4058            window.twq('init', tarteaucitron.user.twitteruwtId);
4059            window.twq('track', 'PageView');
4060        });
4061    }
4062};
4063
4064// user voice
4065tarteaucitron.services.uservoice = {
4066    "key": "uservoice",
4067    "type": "support",
4068    "name": "UserVoice",
4069    "uri": "https://www.uservoice.com/privacy/",
4070    "needConsent": true,
4071    "cookies": [],
4072    "js": function () {
4073        "use strict";
4074        if (tarteaucitron.user.userVoiceApi === undefined) {
4075            return;
4076        }
4077        tarteaucitron.addScript('//widget.uservoice.com/' + tarteaucitron.user.userVoiceApi + '.js');
4078    }
4079};
4080
4081// vimeo
4082tarteaucitron.services.vimeo = {
4083    "key": "vimeo",
4084    "type": "video",
4085    "name": "Vimeo",
4086    "uri": "https://vimeo.com/privacy",
4087    "needConsent": true,
4088    "cookies": ['__utmt_player', '__utma', '__utmb', '__utmc', '__utmv', 'vuid', '__utmz', 'player'],
4089    "js": function () {
4090        "use strict";
4091        tarteaucitron.fallback(['vimeo_player'], function (x) {
4092            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Vimeo iframe'),
4093                video_width = tarteaucitron.getElemAttr(x, "width"),
4094                frame_width = 'width=',
4095                video_height = tarteaucitron.getElemAttr(x, "height"),
4096                frame_height = 'height=',
4097
4098                video_id = tarteaucitron.getElemAttr(x, "videoID"),
4099                video_hash = tarteaucitron.getElemAttr(x, "data-hash") || '',
4100                video_allowfullscreen = tarteaucitron.getElemAttr(x, "data-allowfullscreen"),
4101
4102                video_qs = "",
4103                attrs = ["title", "byline", "portrait", "loop", "autoplay", "autopause", "background", "color", "controls", "maxheight", "maxwidth", "muted", "playsinline", "speed", "transparent"],
4104                params = attrs.filter(function (a) {
4105                    return tarteaucitron.getElemAttr(x, a) !== null;
4106                }).map(function (a) {
4107                    return a + "=" + tarteaucitron.getElemAttr(x, a);
4108                }),
4109
4110                video_frame;
4111
4112            if (video_id === undefined) {
4113                return "";
4114            }
4115
4116            // query params
4117            if (video_hash.length > 0) {
4118                params.push("h=" + video_hash);
4119            }
4120            if (params.length > 0) {
4121                video_qs = "?" + params.join("&");
4122            }
4123
4124            // attributes
4125            if (video_width !== undefined) {
4126                frame_width += '"' + video_width + '" ';
4127            } else {
4128                frame_width += '"" ';
4129            }
4130            if (video_height !== undefined) {
4131                frame_height += '"' + video_height + '" ';
4132            } else {
4133                frame_height += '"" ';
4134            }
4135
4136            video_frame = '<iframe title="' + frame_title + '" src="//player.vimeo.com/video/' + video_id + video_qs + '" ' + frame_width + frame_height + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
4137
4138            return video_frame;
4139        });
4140    },
4141    "fallback": function () {
4142        "use strict";
4143        var id = 'vimeo';
4144        tarteaucitron.fallback(['vimeo_player'], function (elem) {
4145            elem.style.width = elem.getAttribute('width') + 'px';
4146            elem.style.height = elem.getAttribute('height') + 'px';
4147            return tarteaucitron.engage(id);
4148        });
4149    }
4150};
4151
4152// visualrevenue
4153tarteaucitron.services.visualrevenue = {
vendor: 10,468 bytes, lines 4154-4456
4154    "key": "visualrevenue",
4155    "type": "analytic",
4156    "name": "VisualRevenue",
4157    "uri": "http://www.outbrain.com/legal/privacy-713/",
4158    "needConsent": true,
4159    "cookies": ['__vrf', '__vrm', '__vrl', '__vry', '__vru', '__vrid', '__vrz'],
4160    "js": function () {
4161        "use strict";
4162        if (tarteaucitron.user.visualrevenueId === undefined) {
4163            return;
4164        }
4165        window._vrq = window._vrq || [];
4166        window._vrq.push(['id', tarteaucitron.user.visualrevenueId]);
4167        window._vrq.push(['automate', true]);
4168        window._vrq.push(['track', function () { }]);
4169        tarteaucitron.addScript('http://a.visualrevenue.com/vrs.js');
4170    }
4171};
4172
4173// verizon dot tag
4174tarteaucitron.services.verizondottag = {
4175    "key": "verizondottag",
4176    "type": "analytic",
4177    "name": "Verizon Dot Tag",
4178    "uri": "https://developer.verizonmedia.com/native/guide/audience-management/dottags/",
4179    "needConsent": true,
4180    "cookies": [],
4181    "js": function () {
4182        "use strict";
4183
4184        window.dotq = window.dotq || [];
4185        window.dotq.push({
4186            'projectId': tarteaucitron.user.verizondottagProjectId,
4187            'properties': { 'pixelId': tarteaucitron.user.verizondottagPixelId }
4188        });
4189
4190        tarteaucitron.addScript('https://s.yimg.com/wi/ytc.js', '', function () {
4191            //const items = window.dotq;
4192            window.dotq = [];
4193            window.dotq.push = function (item) {
4194                YAHOO.ywa.I13N.fireBeacon([item])
4195            };
4196            YAHOO.ywa.I13N.fireBeacon(items)
4197        });
4198    }
4199};
4200
4201// vshop
4202tarteaucitron.services.vshop = {
4203    "key": "vshop",
4204    "type": "ads",
4205    "name": "vShop",
4206    "uri": "http://vshop.fr/privacy-policy",
4207    "needConsent": true,
4208    "cookies": [],
4209    "js": function () {
4210        "use strict";
4211        tarteaucitron.fallback(['vcashW'], '');
4212        tarteaucitron.addScript('//vshop.fr/js/w.js');
4213    },
4214    "fallback": function () {
4215        "use strict";
4216        var id = 'vshop';
4217        tarteaucitron.fallback(['vcashW'], tarteaucitron.engage(id));
4218    }
4219};
4220
4221// wysistat
4222tarteaucitron.services.wysistat = {
4223    "key": "wysistat",
4224    "type": "analytic",
4225    "name": "Wysistat",
4226    "uri": "http://wysistat.net/contact/",
4227    "needConsent": true,
4228    "cookies": ['Wysistat'],
4229    "js": function () {
4230        "use strict";
4231        if (tarteaucitron.user.wysistat === undefined) {
4232            return;
4233        }
4234        tarteaucitron.addScript('//www.wysistat.com/statistique.js', '', function () {
4235            window.stat(tarteaucitron.user.wysistat.cli, tarteaucitron.user.wysistat.frm, tarteaucitron.user.wysistat.prm, tarteaucitron.user.wysistat.ce, tarteaucitron.user.wysistat.page, tarteaucitron.user.wysistat.roi, tarteaucitron.user.wysistat.prof, tarteaucitron.user.wysistat.cpt);
4236        });
4237    }
4238};
4239
4240// xiti
4241tarteaucitron.services.xiti = {
4242    "key": "xiti",
4243    "type": "analytic",
4244    "name": "Xiti",
4245    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
4246    "needConsent": true,
4247    "cookies": [],
4248    "js": function () {
4249        "use strict";
4250        if (tarteaucitron.user.xitiId === undefined) {
4251            return;
4252        }
4253        var Xt_param = 's=' + tarteaucitron.user.xitiId + '&p=',
4254            Xt_r,
4255            Xt_h,
4256            Xt_i,
4257            Xt_s,
4258            div = document.createElement('div');
4259        try {
4260            Xt_r = top.document.referrer;
4261        } catch (e) {
4262            Xt_r = document.referrer;
4263        }
4264        Xt_h = new Date();
4265        Xt_i = '<img style="display:none" border="0" alt="" ';
4266        Xt_i += 'src="http://logv3.xiti.com/hit.xiti?' + Xt_param;
4267        Xt_i += '&hl=' + Xt_h.getHours() + 'x' + Xt_h.getMinutes() + 'x' + Xt_h.getSeconds();
4268        if (parseFloat(navigator.appVersion) >= 4) {
4269            Xt_s = screen;
4270            Xt_i += '&r=' + Xt_s.width + 'x' + Xt_s.height + 'x' + Xt_s.pixelDepth + 'x' + Xt_s.colorDepth;
4271        }
4272
4273        div.innerHTML = Xt_i + '&ref=' + Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$') + '" title="Internet Audience">';
4274        document.getElementsByTagName('body')[0].appendChild(div.firstChild);
4275
4276        if (typeof tarteaucitron.user.xitiMore === 'function') {
4277            tarteaucitron.user.xitiMore();
4278        }
4279    }
4280};
4281
4282// AT Internet
4283tarteaucitron.services.atinternet = {
4284    "key": "atinternet",
4285    "type": "analytic",
4286    "name": "AT Internet (privacy by design)",
4287    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
4288    "needConsent": true,
4289    "safeanalytic": false,
4290    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'],
4291    "js": function () {
4292        "use strict";
4293        if (tarteaucitron.user.atLibUrl === undefined) {
4294            return;
4295        }
4296
4297        if (tarteaucitron.user.atinternetAlreadyLoaded !== undefined) {
4298            return;
4299        }
4300
4301        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
4302
4303            window.tag = new ATInternet.Tracker.Tag();
4304
4305            if (typeof window.tag.privacy !== 'undefined') {
4306                window.tag.privacy.setVisitorOptin();
4307            }
4308
4309            if (typeof tarteaucitron.user.atMore === 'function') {
4310                tarteaucitron.user.atMore();
4311            }
4312
4313            if (tarteaucitron.user.atinternetSendData !== false) {
4314                window.tag.page.send();
4315            }
4316        });
4317    },
4318    "fallback": function () {
4319        "use strict";
4320        if (tarteaucitron.user.atLibUrl === undefined) {
4321            return;
4322        }
4323
4324        if (tarteaucitron.user.atNoFallback === true) {
4325            return;
4326        }
4327
4328        tarteaucitron.user.atinternetAlreadyLoaded = true;
4329
4330        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
4331
4332            window.tag = new ATInternet.Tracker.Tag();
4333
4334            if (typeof window.tag.privacy !== 'undefined') {
4335
4336                var visitorMode = window.tag.privacy.getVisitorMode();
4337                if (visitorMode !== null && visitorMode.name !== undefined && visitorMode.name == "optout") {
4338                    window.tag.privacy.setVisitorOptout();
4339                } else {
4340                    window.tag.privacy.setVisitorMode('cnil', 'exempt');
4341                }
4342            }
4343
4344            if (typeof tarteaucitron.user.atMore === 'function') {
4345                tarteaucitron.user.atMore();
4346            }
4347
4348            if (tarteaucitron.user.atinternetSendData !== false) {
4349                window.tag.page.send();
4350            }
4351        });
4352    }
4353};
4354
4355// AT Internet
4356tarteaucitron.services.atinternethightrack = {
4357    "key": "atinternethightrack",
4358    "type": "analytic",
4359    "name": "AT Internet",
4360    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
4361    "needConsent": true,
4362    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'],
4363    "js": function () {
4364        "use strict";
4365        if (tarteaucitron.user.atLibUrl === undefined) {
4366            return;
4367        }
4368
4369        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
4370
4371            var tag = new ATInternet.Tracker.Tag();
4372
4373            if (typeof tarteaucitron.user.atMore === 'function') {
4374                tarteaucitron.user.atMore();
4375            }
4376        })
4377    }
4378};
4379
4380// youtube
4381tarteaucitron.services.youtube = {
4382    "key": "youtube",
4383    "type": "video",
4384    "name": "YouTube",
4385    "uri": "https://policies.google.com/privacy",
4386    "needConsent": true,
4387    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
4388    "js": function () {
4389        "use strict";
4390        tarteaucitron.fallback(['youtube_player'], function (x) {
4391            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Youtube iframe'),
4392                video_id = tarteaucitron.getElemAttr(x, "videoID"),
4393                srcdoc = tarteaucitron.getElemAttr(x, "srcdoc"),
4394                loading = tarteaucitron.getElemAttr(x, "loading"),
4395                video_width = tarteaucitron.getElemAttr(x, "width"),
4396                frame_width = 'width=',
4397                video_height = tarteaucitron.getElemAttr(x, "height"),
4398                frame_height = 'height=',
4399                video_frame,
4400                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
4401                start = tarteaucitron.getElemAttr(x, "start"),
4402                end = tarteaucitron.getElemAttr(x, "end"),
4403                attrs = ["theme", "rel", "controls", "showinfo", "autoplay", "mute", "start", "end", "loop", "enablejsapi"],
4404                params = attrs.filter(function (a) {
4405                    return tarteaucitron.getElemAttr(x, a) !== null;
4406                }).map(function (a) {
4407                    return a + "=" + tarteaucitron.getElemAttr(x, a);
4408               }).join("&");
4409
4410            if(tarteaucitron.getElemAttr(x, "loop") == 1) {
4411               params = params + "&playlist=" + video_id;
4412            }
4413
4414            if (video_id === undefined) {
4415                return "";
4416            }
4417            if (video_width !== undefined) {
4418                frame_width += '"' + video_width + '" ';
4419            } else {
4420                frame_width += '"" ';
4421            }
4422            if (video_height !== undefined) {
4423                frame_height += '"' + video_height + '" ';
4424            } else {
4425                frame_height += '"" ';
4426            }
4427
4428            if (srcdoc !== undefined && srcdoc !== null && srcdoc !== "") {
4429                srcdoc = 'srcdoc="' + srcdoc + '" ';
4430            } else {
4431                srcdoc = '';
4432            }
4433
4434            if (loading !== undefined && loading !== null && loading !== "") {
4435                loading = 'loading ';
4436            } else {
4437                loading = '';
4438            }
4439
4440            video_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/' + video_id + '?' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + ' ' + srcdoc + ' ' + loading + '></iframe>';
4441            return video_frame;
4442        });
4443    },
4444    "fallback": function () {
4445        "use strict";
4446        var id = 'youtube';
4447        tarteaucitron.fallback(['youtube_player'], function (elem) {
4448            elem.style.width = tarteaucitron.getElemAttr(elem,'width') + 'px';
4449            elem.style.height = tarteaucitron.getElemAttr(elem,'height') + 'px';
4450            return tarteaucitron.engage(id);
4451        });
4452    }
4453};
4454
4455// youtube playlist
4456tarteaucitron.services.youtubeplaylist = {
4457    "key": "youtubeplaylist",
4458    "type": "video",
4459    "name": "YouTube (playlist)",
4460    "uri": "https://policies.google.com/privacy",
4461    "needConsent": true,
4462    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
4463    "js": function () {
4464        "use strict";
4465        tarteaucitron.fallback(['youtube_playlist_player'], function (x) {
4466            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Youtube iframe'),
4467                playlist_id = tarteaucitron.getElemAttr(x, "playlistID"),
4468                video_width = tarteaucitron.getElemAttr(x, "width"),
4469                frame_width = 'width=',
4470                video_height = tarteaucitron.getElemAttr(x, "height"),
4471                frame_height = 'height=',
4472                video_frame,
4473                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
4474                params = 'theme=' + tarteaucitron.getElemAttr(x, "theme") + '&rel=' + tarteaucitron.getElemAttr(x, "rel") + '&controls=' + tarteaucitron.getElemAttr(x, "controls") + '&showinfo=' + tarteaucitron.getElemAttr(x, "showinfo") + '&autoplay=' + tarteaucitron.getElemAttr(x, "autoplay") + '&mute=' + tarteaucitron.getElemAttr(x, "mute");
4475
4476            if (playlist_id === undefined) {
4477                return "";
4478            }
4479            if (video_width !== undefined) {
4480                frame_width += '"' + video_width + '" ';
4481            } else {
4482                frame_width += '"" ';
4483            }
4484            if (video_height !== undefined) {
4485                frame_height += '"' + video_height + '" ';
4486            } else {
4487                frame_height += '"" ';
4488            }
4489            video_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/videoseries?list=' + playlist_id + '&' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
4490            return video_frame;
4491        });
4492    },
4493    "fallback": function () {
4494        "use strict";
4495        var id = 'youtubeplaylist';
4496        tarteaucitron.fallback(['youtube_playlist_player'], function (elem) {
4497            elem.style.width = tarteaucitron.getElemAttr(elem,'width') + 'px';
4498            elem.style.height = tarteaucitron.getElemAttr(elem,'height') + 'px';
4499            return tarteaucitron.engage(id);
4500        });
4501    }
4502};
4503
4504// zopim
4505tarteaucitron.services.zopim = {
4506    "key": "zopim",
4507    "type": "support",
4508    "name": "Zopim",
4509    "uri": "https://www.zopim.com/privacy",
4510    "needConsent": true,
4511    "cookies": ['__zlcid', '__zprivacy'],
4512    "js": function () {
4513        "use strict";
4514        if (tarteaucitron.user.zopimID === undefined) {
4515            return;
4516        }
4517        tarteaucitron.addScript('//v2.zopim.com/?' + tarteaucitron.user.zopimID);
4518    }
4519};
4520
4521// kameleoon
4522tarteaucitron.services.kameleoon = {
4523    "key": "kameleoon",
4524    "type": "analytic",
4525    "name": "Kameleoon",
4526    "uri": "https://www.kameleoon.com/fr/compliance/rgpd",
4527    "needConsent": true,
4528    "cookies": [],
4529    "js": function () {
4530        "use strict";
4531        if (tarteaucitron.user.kameleoon !== undefined) {
4532            tarteaucitron.addScript("https://" + tarteaucitron.user.kameleoon + ".kameleoon.eu/kameleoon.js");
4533        }
4534    }
4535};
4536
4537// linkedin insight
4538tarteaucitron.services.linkedininsighttag = {
4539    "key": "linkedininsighttag",
4540    "type": "ads",
4541    "name": "Linkedin Insight",
4542    "uri": "https://www.linkedin.com/legal/cookie_policy",
4543    "needConsent": true,
4544    "cookies": ['li_fat_id'],
4545    "js": function () {
4546        "use strict";
4547        if (tarteaucitron.user.linkedininsighttag !== undefined) {
4548            window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
4549            window._linkedin_data_partner_ids.push(tarteaucitron.user.linkedininsighttag);
4550        }
4551
4552        tarteaucitron.addScript('https://snap.licdn.com/li.lms-analytics/insight.min.js');
4553    }
4554};
4555
4556// xiti smartTag
4557tarteaucitron.services.xiti_smarttag = {
4558    "key": "xiti_smarttag",
4559    "type": "analytic",
4560    "name": "Xiti (SmartTag)",
4561    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
4562    "needConsent": true,
4563    "cookies": ["atidvisitor", "atreman", "atredir", "atsession", "attvtreman", "attvtsession"],
4564    "js": function () {
4565        "use strict";
4566        if (tarteaucitron.user.xiti_smarttagLocalPath !== undefined) {
4567            tarteaucitron.addScript(tarteaucitron.user.xiti_smarttagLocalPath, 'smarttag', null, null, "onload", "addTracker();");
4568        } else {
4569            var xitiSmarttagId = tarteaucitron.user.xiti_smarttagSiteId;
4570            if (xitiSmarttagId === undefined) {
4571                return;
4572            }
4573
4574            tarteaucitron.addScript('//tag.aticdn.net/' + xitiSmarttagId + '/smarttag.js', 'smarttag', null, null, "onload", "addTracker();");
4575        }
4576    }
4577};
4578
4579// facebook pixel
4580tarteaucitron.services.facebookpixel = {
4581    "key": "facebookpixel",
4582    "type": "ads",
4583    "name": "Facebook Pixel",
4584    "uri": "https://www.facebook.com/policy.php",
4585    "needConsent": true,
4586    "cookies": ['datr', 'fr', 'reg_ext_ref', 'reg_fb_gate', 'reg_fb_ref', 'sb', 'wd', 'x-src', '_fbp'],
4587    "js": function () {
4588        "use strict";
4589        var n;
4590        if (window.fbq) return;
4591        n = window.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) };
4592        if (!window._fbq) window._fbq = n;
4593        n.push = n;
4594        n.loaded = !0;
4595        n.version = '2.0';
4596        n.queue = [];
4597        tarteaucitron.addScript('https://connect.facebook.net/en_US/fbevents.js');
4598        fbq('init', tarteaucitron.user.facebookpixelId);
4599        fbq('track', 'PageView');
4600
4601        if (typeof tarteaucitron.user.facebookpixelMore === 'function') {
4602            tarteaucitron.user.facebookpixelMore();
4603        }
4604    }
4605};
4606
4607//Issuu
4608tarteaucitron.services.issuu = {
4609    "key": "issuu",
4610    "type": "other",
4611    "name": "Issuu",
4612    "uri": "https://issuu.com/legal/privacy",
4613    "needConsent": true,
4614    "cookies": ['__qca', 'iutk', 'mc'],
4615    "js": function () {
4616        "use strict";
4617        tarteaucitron.fallback(['issuu_player'], function (x) {
4618            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Issuu iframe'),
4619                issuu_id = x.getAttribute("issuuID"),
4620                issuu_width = x.getAttribute("width"),
4621                frame_width = 'width=',
4622                issuu_height = x.getAttribute("height"),
4623                frame_height = 'height=',
4624                issuu_frame,
4625                issuu_embed;
4626
4627            if (issuu_id === undefined) {
4628                return "";
4629            }
4630            if (issuu_width !== undefined) {
4631                frame_width += '"' + issuu_width + '" ';
4632            } else {
4633                frame_width += '"" ';
4634            }
4635            if (issuu_height !== undefined) {
4636                frame_height += '"' + issuu_height + '" ';
4637            } else {
4638                frame_height += '"" ';
4639            }
4640
4641
4642            if (issuu_id.match(/\d+\/\d+/)) { issuu_embed = '#' + issuu_id; } else if (issuu_id.match(/d=(.*)&u=(.*)/)) { issuu_embed = '?' + issuu_id; }
4643
4644
4645            issuu_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//e.issuu.com/embed.html' + issuu_embed + '"></iframe>';
4646
4647            return issuu_frame;
4648        });
4649    },
4650    "fallback": function () {
4651        "use strict";
4652        var id = 'issuu';
4653        tarteaucitron.fallback(['issuu_player'], function (elem) {
4654            elem.style.width = elem.getAttribute('width') + 'px';
4655            elem.style.height = elem.getAttribute('height') + 'px';
4656            return tarteaucitron.engage(id);
4657        });
4658    }
4659};
4660
4661// webmecanik
4662tarteaucitron.services.webmecanik = {
4663    "key": "webmecanik",
4664    "type": "analytic",
4665    "name": "Webmecanik",
4666    "uri": "https://webmecanik.com/tos",
4667    "needConsent": true,
4668    "cookies": ['mtc_id', 'mtc_sid'],
4669    "js": function () {
4670        "use strict";
4671        if (tarteaucitron.user.webmecanikurl === undefined) {
4672            return;
4673        }
4674
4675        window.MauticTrackingObject = 'mt';
4676        window.mt = window.mt || function () {
4677            window.mt.q = window.mt.q || [];
4678            window.mt.q.push(arguments);
4679        };
4680
4681        tarteaucitron.addScript(tarteaucitron.user.webmecanikurl, '', function () {
4682            mt('send', 'pageview');
4683        });
4684    }
4685};
4686
4687// google analytics multiple
4688tarteaucitron.services.multiplegtag = {
4689    "key": "multiplegtag",
4690    "type": "analytic",
4691    "name": "Google Analytics (gtag.js)",
4692    "uri": "https://support.google.com/analytics/answer/6004245",
4693    "needConsent": true,
4694    "cookies": (function () {
4695
4696        var cookies = ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '_gcl_au'];
4697
4698        if (tarteaucitron.user.multiplegtagUa !== undefined) {
4699            tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
4700                cookies.push('_gat_gtag_' + ua.replace(/-/g, '_'));
4701                cookies.push('_ga_' + ua.replace(/G-/g, ''));
4702            });
4703        }
4704
4705        return cookies;
4706    })(),
4707    "js": function () {
4708        "use strict";
4709        window.dataLayer = window.dataLayer || [];
4710
4711        if (tarteaucitron.user.multiplegtagUa !== undefined) {
vendor: 10,771 bytes, lines 4712-4995
4712            tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
4713                tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + ua, '', function () {
4714                    window.gtag = function gtag() { dataLayer.push(arguments); }
4715                    gtag('js', new Date());
4716                    var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
4717                    gtag('config', ua, additional_config_info);
4718                });
4719            });
4720        }
4721    }
4722};
4723
4724// Koban
4725tarteaucitron.services.koban = {
4726    "key": "koban",
4727    "type": "analytic",
4728    "name": "Koban",
4729    "uri": "https://koban.cloud/tos",
4730    "needConsent": true,
4731    "cookies": ['kbntrk'],
4732    "js": function () {
4733        "use strict";
4734        if (tarteaucitron.user.kobanurl === undefined) {
4735            return;
4736        }
4737        if (tarteaucitron.user.kobanapi === undefined) {
4738            return;
4739        }
4740        window.KobanObject = 'kb';
4741        window.kb = window.kb || function () {
4742            window.kb.q = window.kb.q || [];
4743            window.kb.q.push(arguments);
4744        };
4745        window.kb.l = new Date();
4746        kb('reg', tarteaucitron.user.kobanapi);
4747        tarteaucitron.addScript(tarteaucitron.user.kobanurl, '', function () {
4748        });
4749    }
4750};
4751
4752// DEPRECATED, USE MATOMO CLOUD
4753tarteaucitron.services.matomo = {
4754    "key": "matomo",
4755    "type": "analytic",
4756    "name": "Matomo (privacy by design)",
4757    "uri": "https://matomo.org/faq/general/faq_146/",
4758    "needConsent": false,
4759    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
4760    "js": function () {
4761        "use strict";
4762        if (tarteaucitron.user.matomoId === undefined) {
4763            return;
4764        }
4765
4766        window._paq = window._paq || [];
4767        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
4768        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
4769        window._paq.push(["setDoNotTrack", 1]);
4770        window._paq.push(["trackPageView"]);
4771        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
4772        window._paq.push(["enableLinkTracking"]);
4773
4774        if (typeof tarteaucitron.user.matomoMore === 'function') {
4775           tarteaucitron.user.matomoMore();
4776        }
4777
4778        window._paq.push([function () {
4779            var self = this;
4780            function getOriginalVisitorCookieTimeout() {
4781                var now = new Date(),
4782                    nowTs = Math.round(now.getTime() / 1000),
4783                    visitorInfo = self.getVisitorInfo();
4784                var createTs = parseInt(visitorInfo[2]);
4785                var cookieTimeout = 33696000; // 13 mois en secondes
4786                var originalTimeout = createTs + cookieTimeout - nowTs;
4787                return originalTimeout;
4788            }
4789            this.setVisitorCookieTimeout(getOriginalVisitorCookieTimeout());
4790        }]);
4791
4792        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
4793
4794        // waiting for piwik to be ready to check first party cookies
4795        var interval = setInterval(function () {
4796            if (typeof Piwik === 'undefined') return
4797
4798            clearInterval(interval)
4799
4800            // make piwik/matomo cookie accessible by getting tracker
4801            Piwik.getTracker();
4802
4803            // looping throught cookies
4804            var theCookies = document.cookie.split(';');
4805            for (var i = 1; i <= theCookies.length; i++) {
4806                var cookie = theCookies[i - 1].split('=');
4807                var cookieName = cookie[0].trim();
4808
4809                // if cookie starts like a piwik one, register it
4810                if (cookieName.indexOf('_pk_') === 0) {
4811                    tarteaucitron.services.matomo.cookies.push(cookieName);
4812                }
4813            }
4814        }, 100)
4815    }
4816};
4817
4818// DEPRECATED, USE MATOMO CLOUD
4819tarteaucitron.services.matomohightrack = {
4820    "key": "matomohightrack",
4821    "type": "analytic",
4822    "name": "Matomo",
4823    "uri": "https://matomo.org/faq/general/faq_146/",
4824    "needConsent": false,
4825    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
4826    "js": function () {
4827        "use strict";
4828        if (tarteaucitron.user.matomoId === undefined) {
4829            return;
4830        }
4831
4832        window._paq = window._paq || [];
4833        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
4834        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
4835        window._paq.push(["trackPageView"]);
4836        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
4837        window._paq.push(["enableLinkTracking"]);
4838        window._paq.push([function () {
4839            var self = this;
4840        }]);
4841
4842        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
4843
4844        // waiting for piwik to be ready to check first party cookies
4845        var interval = setInterval(function () {
4846            if (typeof Piwik === 'undefined') return
4847
4848            clearInterval(interval)
4849            Piwik.getTracker();
4850
4851            var theCookies = document.cookie.split(';');
4852            for (var i = 1; i <= theCookies.length; i++) {
4853                var cookie = theCookies[i - 1].split('=');
4854                var cookieName = cookie[0].trim();
4855
4856                if (cookieName.indexOf('_pk_') === 0) {
4857                    tarteaucitron.services.matomo.cookies.push(cookieName);
4858                }
4859            }
4860        }, 100)
4861    }
4862};
4863
4864// matomocloud
4865tarteaucitron.services.matomocloud = {
4866    "key": "matomocloud",
4867    "type": "analytic",
4868    "name": "Matomo Cloud (privacy by design)",
4869    "uri": "https://matomo.org/faq/general/faq_146/",
4870    "needConsent": true,
4871    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'mtm_consent', 'matomo_ignore', 'matomo_sessid'],
4872    "js": function () {
4873        "use strict";
4874        if (tarteaucitron.user.matomoId === undefined) {
4875            return;
4876        }
4877
4878        window._paq = window._paq || [];
4879        window._paq.push(["requireConsent"]);
4880        window._paq.push(["setConsentGiven"]);
4881        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
4882        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "matomo.php"]);
4883        window._paq.push(["trackPageView"]);
4884        window._paq.push(["enableLinkTracking"]);
4885
4886        if (tarteaucitron.user.matomoCustomJSPath === undefined || tarteaucitron.user.matomoCustomJSPath == '') {
4887            tarteaucitron.addScript('https://cdn.matomo.cloud/matomo.js', '', '', true, 'defer', true);
4888        } else {
4889            tarteaucitron.addScript(tarteaucitron.user.matomoCustomJSPath, '', '', true, 'defer', true);
4890        }
4891
4892        // waiting for Matomo to be ready to check first party cookies
4893        var interval = setInterval(function () {
4894            if (typeof Matomo === 'undefined') return
4895
4896            clearInterval(interval)
4897
4898            // make Matomo cookie accessible by getting tracker
4899            Matomo.getTracker();
4900
4901            // looping through cookies
4902            var theCookies = document.cookie.split(';');
4903            for (var i = 1; i <= theCookies.length; i++) {
4904                var cookie = theCookies[i - 1].split('=');
4905                var cookieName = cookie[0].trim();
4906
4907                // if cookie starts like a matomo one, register it
4908                if (cookieName.indexOf('_pk_') === 0) {
4909                    tarteaucitron.services.matomo.cookies.push(cookieName);
4910                }
4911            }
4912        }, 100);
4913    },
4914    "fallback": function () {
4915        "use strict";
4916        if (tarteaucitron.user.matomoId === undefined) {
4917            return;
4918        }
4919
4920        window._paq = window._paq || [];
4921        window._paq.push(["requireConsent"]);
4922        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
4923        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "matomo.php"]);
4924        window._paq.push(["trackPageView"]);
4925        window._paq.push(["enableLinkTracking"]);
4926
4927        if (tarteaucitron.user.matomoCustomJSPath === undefined || tarteaucitron.user.matomoCustomJSPath == '') {
4928            tarteaucitron.addScript('https://cdn.matomo.cloud/matomo.js', '', '', true, 'defer', true);
4929        } else {
4930            tarteaucitron.addScript(tarteaucitron.user.matomoCustomJSPath, '', '', true, 'defer', true);
4931        }
4932    }
4933};
4934
4935// matomotm
4936tarteaucitron.services.matomotm = {
4937    "key": "matomotm",
4938    "type": "api",
4939    "name": "Matomo Tag Manager",
4940    "uri": "https://matomo.org/privacy/",
4941    "needConsent": true,
4942    "cookies": [],
4943    "js": function () {
4944        "use strict";
4945        if (tarteaucitron.user.matomotmUrl === undefined) {
4946            return;
4947        }
4948
4949        var _mtm = window._mtm = window._mtm || [];
4950        _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
4951
4952        tarteaucitron.addScript(tarteaucitron.user.matomotmUrl);
4953    }
4954};
4955
4956
4957// Hotjar
4958/*
4959   1. Set the following variable before the initialization :
4960    tarteaucitron.user.hotjarId = YOUR_WEBSITE_ID;
4961   tarteaucitron.user.HotjarSv = XXXX; // Can be found in your website tracking code as "hjvs=XXXX"
4962    2. Push the service :
4963    (tarteaucitron.job = tarteaucitron.job || []).push('hotjar');
4964    3. HTML
4965   You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no.
4966 */
4967tarteaucitron.services.hotjar = {
4968    "key": "hotjar",
4969    "type": "analytic",
4970    "name": "Hotjar",
4971    "uri": "https://help.hotjar.com/hc/en-us/categories/115001323967-About-Hotjar",
4972    "needConsent": true,
4973    "cookies": ["hjClosedSurveyInvites", "_hjDonePolls", "_hjMinimizedPolls", "_hjDoneTestersWidgets", "_hjMinimizedTestersWidgets", "_hjDoneSurveys", "_hjIncludedInSample", "_hjShownFeedbackMessage", "_hjAbsoluteSessionInProgress", "_hjIncludeInPageviewSample", "_hjid"],
4974    "js": function () {
4975        "use strict";
4976        if (tarteaucitron.user.hotjarId === undefined || tarteaucitron.user.HotjarSv === undefined) {
4977            return;
4978        }
4979        window.hj = window.hj || function () {
4980            (window.hj.q = window.hj.q || []).push(arguments)
4981        };
4982        window._hjSettings = {
4983            hjid: tarteaucitron.user.hotjarId,
4984            hjsv: tarteaucitron.user.HotjarSv
4985        };
4986        var uri = 'https://static.hotjar.com/c/hotjar-';
4987        var extension = '.js?sv=';
4988        tarteaucitron.addScript(uri + window._hjSettings.hjid + extension + window._hjSettings.hjsv);
4989    }
4990};
4991
4992// bing ads universal event tracking
4993tarteaucitron.services.bingads = {
4994    'key': 'bingads',
4995    'type': 'ads',
4996    'name': 'Bing Ads Universal Event Tracking',
4997    'uri': 'https://advertise.bingads.microsoft.com/en-us/resources/policies/personalized-ads',
4998    'needConsent': true,
4999    'cookies': ['_uetmsclkid', '_uetvid', '_uetsid'],
5000    'js': function () {
5001        'use strict';
5002        //var u = tarteaucitron.user.bingadsTag || 'uetq';
5003        window.uetq = window.uetq || [];
5004
5005        tarteaucitron.addScript('https://bat.bing.com/bat.js', '', function () {
5006            var bingadsCreate = { ti: tarteaucitron.user.bingadsID };
5007
5008            if ('bingadsStoreCookies' in tarteaucitron.user) {
5009                bingadsCreate['storeConvTrackCookies'] = tarteaucitron.user.bingadsStoreCookies;
5010            }
5011
5012            bingadsCreate.q = window.uetq;
5013            window.uetq = new UET(bingadsCreate);
5014            window.uetq.push('pageLoad');
5015
5016            if (typeof tarteaucitron.user.bingadsMore === 'function') {
5017                tarteaucitron.user.bingadsMore();
5018            }
5019        });
5020    }
5021};
5022
5023//Matterport
5024tarteaucitron.services.matterport = {
5025    "key": "matterport",
5026    "type": "other",
5027    "name": "Matterport",
5028    "uri": "https://matterport.com/es/legal/privacy-policy/",
5029    "needConsent": true,
5030    "cookies": ['__cfduid', 'ajs_anonymous_id', 'ajs_group_id', 'ajs_user_id'],
5031    "js": function () {
5032        "use strict";
5033        tarteaucitron.fallback(['matterport'], function (x) {
5034            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Matterport iframe'),
5035                matterport_id = x.getAttribute("matterportID"),
5036                matterport_width = x.getAttribute("width"),
5037                frame_width = 'width=',
5038                matterport_height = x.getAttribute("height"),
5039                frame_height = 'height=',
5040                matterport_parameters = x.getAttribute("parameters"),
5041                matterport_allowfullscreen = x.getAttribute('allowfullscreen'),
5042                matterport_frame;
5043
5044            if (matterport_id === undefined) {
5045                return "";
5046            }
5047            if (matterport_width !== undefined) {
5048                frame_width += '"' + matterport_width + '" ';
5049            } else {
5050                frame_width += '"" ';
5051            }
5052            if (matterport_height !== undefined) {
5053                frame_height += '"' + matterport_height + '" ';
5054            } else {
5055                frame_height += '"" ';
5056            }
5057            if (matterport_parameters === undefined) {
5058                return "";
5059            }
5060
5061            matterport_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="https://my.matterport.com/show/?m=' + matterport_id + '&utm_source=hit-content' + matterport_parameters + '"' + (matterport_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
5062            return matterport_frame;
5063        });
5064    },
5065    "fallback": function () {
5066        "use strict";
5067        var id = 'matterport';
5068        tarteaucitron.fallback(['matterport'], function (elem) {
5069            elem.style.width = elem.getAttribute('width') + 'px';
5070            elem.style.height = elem.getAttribute('height') + 'px';
5071            return tarteaucitron.engage(id);
5072        });
5073    }
5074};
5075
5076// Adform
5077tarteaucitron.services.adform = {
5078    "key": "adform",
5079    "type": "ads",
5080    "name": "Adform",
5081    "uri": "https://site.adform.com/privacy-center/overview/",
5082    "needConsent": true,
5083    "cookies": [],
5084    "js": function () {
5085        "use strict";
5086
5087        if (tarteaucitron.user.adformpm === undefined || tarteaucitron.user.adformpagename === undefined) {
5088            return;
5089        }
5090
5091        window._adftrack = {
5092            pm: tarteaucitron.user.adformpm,
5093            divider: encodeURIComponent('|'),
5094            pagename: encodeURIComponent(tarteaucitron.user.adformpagename)
5095        };
5096
5097        tarteaucitron.addScript("https://track.adform.net/serving/scripts/trackpoint/async/");
5098    }
5099};
5100
5101// Active Campaign
5102tarteaucitron.services.activecampaign = {
5103    "key": "activecampaign",
5104    "type": "ads",
5105    "name": "Active Campaign",
5106    "uri": "https://www.activecampaign.com/privacy-policy/",
5107    "needConsent": true,
5108    "cookies": [],
5109    "js": function () {
5110        "use strict";
5111        if (tarteaucitron.user.actid === undefined) {
5112            return;
5113        }
5114
5115        window.trackcmp_email = '';
5116
5117        tarteaucitron.addScript('https://trackcmp.net/visit?actid=' + tarteaucitron.user.actid + '&e=' + encodeURIComponent(trackcmp_email) + '&r=' + encodeURIComponent(document.referrer) + '&u=' + encodeURIComponent(window.location.href));
5118    }
5119};
5120
5121// tawk.to
5122tarteaucitron.services.tawkto = {
5123    "key": "tawkto",
5124    "type": "support",
5125    "name": "Tawk.to chat",
5126    "uri": "https://www.tawk.to/data-protection/",
5127    "needConsent": true,
5128    "cookies": [],
5129    "js": function () {
5130        "use strict";
5131        if (tarteaucitron.user.tawktoId === undefined) {
5132            return;
5133        }
5134
5135        tarteaucitron.user.tawktoWidgetId = tarteaucitron.user.tawktoWidgetId || 'default';
5136
5137        window.Tawk_API = window.Tawk_API || {};
5138        window.Tawk_LoadStart = new Date();
5139
5140        tarteaucitron.addScript('https://embed.tawk.to/' + tarteaucitron.user.tawktoId + '/' + tarteaucitron.user.tawktoWidgetId);
5141    }
5142
5143};
5144
5145// getquanty
5146tarteaucitron.services.getquanty = {
5147    "key": "getquanty",
5148    "type": "analytic",
5149    "name": "GetQuanty",
5150    "uri": "https://www.getquanty.com/mentions-legales/",
5151    "needConsent": true,
5152    "cookies": ['_first_pageview', 'eqy_sessionid', 'eqy_siteid', 'cluid', 'eqy_company', 'cluid', 'gq_utm', '_jsuid'],
5153    "js": function () {
5154        "use strict";
5155        if (tarteaucitron.user.getguanty === undefined) {
5156            return;
5157        }
5158
5159        if (tarteaucitron.user.getquantyAlreadyLoaded !== undefined) {
5160            return;
5161        }
5162
5163        tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&consent=1');
5164    },
5165    "fallback": function () {
5166        "use strict";
5167        if (tarteaucitron.user.getguanty === undefined) {
5168            return;
5169        }
5170
5171        tarteaucitron.user.getquantyAlreadyLoaded = true;
5172
5173        tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&notrack=1');
5174    }
5175};
5176
5177// emolytics
5178tarteaucitron.services.emolytics = {
5179    "key": "emolytics",
5180    "type": "analytic",
5181    "name": "Emolytics",
5182    "uri": "https://www.emolytics.com/main/privacy-policy.php",
5183    "needConsent": true,
5184    "cookies": ['__hssc', '__hssrc', '__hstc', '_ga', '_gid', 'hubspotutk', 'lang', 'incap_ses_', 'nlbi_', 'visid_incap_'],
5185    "js": function () {
5186        "use strict";
5187        if (tarteaucitron.user.emolyticsID === undefined) {
5188            return;
5189        }
5190        var scriptEmolytics = document.createElement('script');
5191        scriptEmolytics.text = 'var getsmily_id="' + tarteaucitron.user.emolyticsID + '";';
5192        document.getElementsByTagName('body')[0].appendChild(scriptEmolytics);
5193        tarteaucitron.addScript('https://cdn.emolytics.com/script/emolytics-widget.js')
5194    }
5195};
5196
5197// youtubeapi
5198tarteaucitron.services.youtubeapi = {
5199    "key": "youtubeapi",
5200    "type": "video",
5201    "name": "Youtube (Js API)",
5202    "uri": "https://policies.google.com/privacy",
5203    "needConsent": true,
5204    "cookies": [],
5205    "js": function () {
5206        "use strict";
5207        tarteaucitron.addScript('https://www.youtube.com/player_api');
5208    }
5209};
5210
5211// Facil'ITI
5212tarteaucitron.services.faciliti = {
5213    "key": "faciliti",
5214    "type": "other",
5215    "name": "Facil'ITI",
5216    "uri": "https://ws.facil-iti.com/mentions-legales.html",
5217    "needConsent": true,
5218    "cookies": ['FACIL_ITI_LS'],
5219    "js": function () {
5220        "use strict";
5221        if (tarteaucitron.user.facilitiID === undefined) {
5222            return;
5223        }
5224
5225        (function (w, d, s, f) {
5226            w[f] = w[f] || { conf: function () { (w[f].data = w[f].data || []).push(arguments); } };
5227            var l = d.createElement(s), e = d.getElementsByTagName(s)[0];
5228            l.async = 1; l.src = 'https://ws.facil-iti.com/tag/faciliti-tag.min.js'; e.parentNode.insertBefore(l, e);
5229        }(window, document, 'script', 'FACIL_ITI'));
5230        FACIL_ITI.conf('userId', tarteaucitron.user.facilitiID);
5231    }
5232};
5233
5234// userlike
5235tarteaucitron.services.userlike = {
5236    "key": "userlike",
5237    "type": "support",
5238    "name": "Userlike",
5239    "uri": "https://www.userlike.com/en/terms#privacy-policy",
5240    "needConsent": true,
5241    "cookies": ['uslk_s', 'uslk_e'],
5242    "js": function () {
5243        "use strict";
5244        if (tarteaucitron.user.userlikeKey === undefined) {
5245            return;
5246        }
5247        tarteaucitron.addScript('//userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/' + tarteaucitron.user.userlikeKey);
5248    }
5249};
5250
5251// adobeanalytics
5252tarteaucitron.services.adobeanalytics = {
vendor: 4,699 bytes, lines 5253-5369
5253    "key": "adobeanalytics",
5254    "type": "analytic",
5255    "name": "Adobe Analytics",
5256    "uri": "https://www.adobe.com/privacy/policy.html",
5257    "needConsent": true,
5258    "cookies": ['s_ecid', 's_cc', 's_sq', 's_vi', 's_fid'],
5259    "js": function () {
5260        "use strict";
5261        if (tarteaucitron.user.adobeanalyticskey === undefined) {
5262            return;
5263        }
5264        tarteaucitron.addScript('//assets.adobedtm.com/launch-' + tarteaucitron.user.adobeanalyticskey + '.min.js');
5265    }
5266};
5267
5268// woopra customer journey analytics
5269tarteaucitron.services.woopra = {
5270    'key': 'woopra',
5271    'type': 'analytic',
5272    'name': 'Woopra Customer Journey Analytics',
5273    'uri': 'https://www.woopra.com/privacy',
5274    'needConsent': true,
5275    'cookies': ['wooTracker', 'intercom-session-erbfalba', 'intercom-id-erbfalba'],
5276    'js': function () {
5277        'use strict';
5278        //var w = tarteaucitron.user.woopraDomain;
5279        //window[w] = window[w] || [];
5280
5281        (function () {
5282            var t, i, e, n = window, o = document, a = arguments, s = "script", r = ["config", "track", "identify", "visit", "push", "call", "trackForm", "trackClick"], c = function () { var t, i = this; for (i._e = [], t = 0; r.length > t; t++)(function (t) { i[t] = function () { return i._e.push([t].concat(Array.prototype.slice.call(arguments, 0))), i } })(r[t]) }; for (n._w = n._w || {}, t = 0; a.length > t; t++)n._w[a[t]] = n[a[t]] = n[a[t]] || new c; i = o.createElement(s), i.async = 1, i.src = "//static.woopra.com/js/w.js", e = o.getElementsByTagName(s)[0], e.parentNode.insertBefore(i, e)
5283        })("woopra");
5284
5285        woopra.config({
5286            domain: tarteaucitron.user.woopraDomain
5287        });
5288        woopra.track();
5289    }
5290};
5291
5292// ausha
5293tarteaucitron.services.ausha = {
5294    key: "ausha",
5295    type: "video",
5296    name: "Ausha",
5297    uri: "https://www.ausha.co/protection-personal-data/",
5298    needConsent: true,
5299    cookies: [],
5300    js: function () {
5301        "use strict";
5302        tarteaucitron.fallback(['ausha_player'], function (x) {
5303            var player_height = x.getAttribute('data-height'),
5304                podcast_id = x.getAttribute('data-podcast-id'),
5305                player_id = x.getAttribute('data-player-id'),
5306                playlist = x.getAttribute('data-playlist'),
5307                useshowid = x.getAttribute('data-useshowid'),
5308                color = x.getAttribute('data-color');
5309
5310            if (podcast_id === undefined) {
5311                return "";
5312            }
5313
5314            var src = 'https://player.ausha.co/index.html?podcastId=' + podcast_id + '&v=3';
5315
5316            if (useshowid == "1") {
5317                src = 'https://player.ausha.co/index.html?showId=' + podcast_id + '&v=3';
5318            }
5319
5320            if (playlist && playlist.length > 0) src += '&playlist=' + playlist;
5321            if (color && color.length > 0) src += '&color=' + color.replace('#', '%23');
5322            if (player_id && player_id.length > 0) src += '&playerId=' + player_id;
5323
5324            return '<iframe id="' + player_id + '" loading="lazy" width="100%" height="' + player_height + '" scrolling="no" frameborder="no" src="' + src + '"></iframe>';
5325        });
5326
5327        tarteaucitron.addScript('//player.ausha.co/ausha-player.js', 'ausha-player');
5328    },
5329    fallback: function () {
5330        "use strict";
5331        tarteaucitron.fallback(['ausha_player'], function (elem) {
5332            elem.style.height = elem.getAttribute('data-height') + 'px';
5333            return tarteaucitron.engage('ausha');
5334        });
5335    }
5336};
5337
5338// visiblee
5339tarteaucitron.services.visiblee = {
5340    key: "visiblee",
5341    type: "analytic",
5342    name: "Visiblee",
5343    uri: "http://confidentiality.visiblee.io/fr/confidentialite",
5344    needConsent: true,
5345    cookies: ["visitor_v2", tarteaucitron.user.visibleedomain, "check", "campaign_ref_" + tarteaucitron.user.visibleedomain, "reload_" + tarteaucitron.user.visibleedomain],
5346    js: function () {
5347        "use strict";
5348
5349        if (tarteaucitron.user.visibleeclientid === undefined) {
5350            return;
5351        }
5352        tarteaucitron.addScript('//www.link-page.info/tracking_' + tarteaucitron.user.visibleeclientid + '.js', 'visiblee');
5353    }
5354};
5355
5356// bandcamp
5357tarteaucitron.services.bandcamp = {
5358    key: "bandcamp",
5359    type: "video",
5360    name: "Bandcamp",
5361    uri: "https://bandcamp.com",
5362    readmoreLink: "https://bandcamp.com/privacy",
5363    needConsent: true,
5364    cookies: ['client_id', 'BACKENDID', '_comm_playlist'],
5365    js: function () {
5366        "use strict";
5367        tarteaucitron.fallback(['bandcamp_player'], function (x) {
5368            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Bandcamp iframe'),
5369                album_id = x.getAttribute("albumID"),
5370                bandcamp_width = x.getAttribute("width"),
5371                frame_width = 'width=',
5372                bandcamp_height = x.getAttribute("height"),
5373                frame_height = 'height=',
5374                attrs = ["size", "bgcol", "linkcol", "artwork", "minimal", "tracklist", "package", "transparent"],
5375                params = attrs.filter(function (a) {
5376                    return x.getAttribute(a) !== null;
5377                }).map(function (a) {
5378                    if (a && a.length > 0) return a + "=" + x.getAttribute(a);
5379                }).join("/");
5380
5381            if (album_id === null) {
5382                return "";
5383            }
5384
5385            if (bandcamp_width !== null || bandcamp_width !== "") {
5386                frame_width += '"' + bandcamp_width + '" ';
5387            } else {
5388                frame_width += '"" ';
5389            }
5390            if (bandcamp_height !== null || bandcamp_height !== "") {
5391                frame_height += '"' + bandcamp_height + '" ';
5392            } else {
5393                frame_height += '"" ';
5394            }
5395
5396            var src = 'https://bandcamp.com/EmbeddedPlayer/album=' + album_id + '/' + params;
5397
5398            return '<iframe title="' + frame_title + '"' + frame_width + frame_height + 'src="' + src + '" frameborder="0" allowfullscreen seamless></iframe>';
5399        });
5400    },
5401    fallback: function () {
5402        "use strict";
5403        tarteaucitron.fallback(['bandcamp_player'], function (elem) {
5404            elem.style.width = elem.getAttribute('width');
5405            elem.style.height = elem.getAttribute('height');
5406            return tarteaucitron.engage('bandcamp');
5407        });
5408    }
5409};
5410
5411// Discord Widget
5412tarteaucitron.services.discord = {
5413    "key": "discord",
5414    "type": "social",
5415    "name": "Discord (Server Widget)",
5416    "needConsent": true,
5417    "cookies": ["__cfruid", "__dcfduid", "_ga", "_gcl_au", "OptanonConsent", "locale", "_gid"],
5418    "uri": "https://discord.com/privacy",
5419    "js": function () {
5420        "use strict";
5421        tarteaucitron.fallback(['discord_widget'], function (x) {
5422            var id = x.getAttribute("guildID"),
5423                width = x.getAttribute("width"),
5424                height = x.getAttribute("height")
5425            var widgetURL = "https://discord.com/widget?id=" + id;
5426            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\"></iframe>";
5427        });
5428    },
5429    "fallback": function () {
5430        "use strict";
5431        var id = 'discord';
5432        tarteaucitron.fallback(['discord_widget'], function (elem) {
5433            elem.style.width = elem.getAttribute('width') + 'px';
5434            elem.style.height = elem.getAttribute('height') + 'px';
5435            return tarteaucitron.engage(id);
5436        });
5437    }
5438};
5439
5440// Google Maps
5441tarteaucitron.services.maps_noapi = {
5442    "key": "maps_noapi",
5443    "type": "other",
5444    "name": "Google Maps",
5445    "needConsent": true,
5446    "cookies": ["NID", "OGPC", "1P_JAR", "CONSENT"],
5447    "uri": "https://policies.google.com/privacy",
5448    "js": function () {
5449        "use strict";
5450        tarteaucitron.fallback(['googlemaps_embed'], function (x) {
5451            var id = x.getAttribute("id"),
5452                width = x.getAttribute("width"),
5453                height = x.getAttribute("height")
5454            var widgetURL = "https://www.google.com/maps/embed?pb=" + id;
5455            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\"></iframe>";
5456        });
5457    },
5458    "fallback": function () {
5459        "use strict";
5460        var id = 'maps_noapi';
5461        tarteaucitron.fallback(['googlemaps_embed'], function (elem) {
5462            elem.style.width = elem.getAttribute('width') + 'px';
5463            elem.style.height = elem.getAttribute('height') + 'px';
5464            return tarteaucitron.engage(id);
5465        });
5466    }
5467};
5468
5469// hCaptcha
5470tarteaucitron.services.hcaptcha = {
5471    "key": "hcaptcha",
5472    "type": "other",
5473    "name": "hCaptcha",
5474    "needConsent": true,
5475    "cookies": [],
5476    "uri": "https://www.hcaptcha.com/privacy",
5477    "js": function () {
5478        "use strict";
5479        tarteaucitron.fallback(["h-captcha"], '');
5480        tarteaucitron.addScript("https://hcaptcha.com/1/api.js", "hcaptcha")
5481    },
5482    "fallback": function () {
5483        "use strict";
5484        var id = "hcaptcha";
5485        tarteaucitron.fallback(["h-captcha"], tarteaucitron.engage(id));
5486    }
5487};
5488
5489// France Culture
5490tarteaucitron.services.fculture = {
5491    "key": "fculture",
5492    "type": "video",
5493    "name": "France Culture",
5494    "needConsent": true,
5495    "cookies": ["_gid", "didomi_token", "outbrain_cid_fetch", "xtvrn", "xtant", "YSC", "ABTasty", "xtan", "ABTastySession", "xtidc", "_ga", "VISITOR_INFO1_LIVE", "euconsent-v2", "v1st", "dmvk", "ts", "VISITOR_INFO1_LIVE", "YSC"],
5496    "uri": "https://www.radiofrance.com/politique-d-utilisation-des-cookies-sur-les-sites-internet-du-groupe-radio-france",
5497    "js": function () {
5498        "use strict";
5499        tarteaucitron.fallback(['fculture_embed'], function (x) {
5500            var id = x.getAttribute('id'),
5501                width = x.getAttribute('width'),
5502                height = x.getAttribute('height');
5503            return "<iframe src=\"https://www.franceculture.fr/player/export-reecouter?content=" + id + "\" height=\"" + height + "\" width=\"" + width + "\"></iframe>"
5504        });
5505    },
5506    "fallback": function () {
5507        "use strict";
5508        var id = "fculture";
5509        tarteaucitron.fallback(["fculture_embed"], tarteaucitron.engage(id));
5510    }
5511};
5512
5513// Acast
5514tarteaucitron.services.acast = {
5515    "key": "acast",
5516    "type": "video",
5517    "name": "Acast",
5518    "needConsent": true,
5519    "cookies": ["intercom-id-ayi0335i", "intercom-session-ayi0335i"],
5520    "uri": "https://www.acast.com/en/privacy",
5521    "js": function () {
5522        "use strict";
5523        tarteaucitron.fallback(['acast_embed'], function (x) {
5524            var id = x.getAttribute('id1'),
5525                id2 = x.getAttribute('id2'),
5526                width = x.getAttribute('width'),
5527                height = x.getAttribute('height'),
5528                seek = x.getAttribute('seek');
5529            var widgetURL = "https://embed.acast.com/" + id + "/" + id2 + "?seek=" + seek;
5530            return "<iframe title=\"Embed Player\" width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\" scrolling=\"no\" frameBorder=\"0\" style=\"border: none; overflow: hidden;\"></iframe>";
5531        });
5532    },
5533    "fallback": function () {
5534        "use strict";
5535        var id = "acast";
5536        tarteaucitron.fallback(["acast_embed"], tarteaucitron.engage(id));
5537    }
5538};
5539
5540// Mixcloud
5541tarteaucitron.services.mixcloud = {
5542    "key": "mixcloud",
5543    "type": "video",
5544    "name": "Mixcloud",
5545    "needConsent": true,
5546    "cookies": ["UID", "_gat", "__stripe_mid", "_gid", "_ga", "c", "csrftoken", "__stripe_sid", "mx_t"],
5547    "uri": "https://www.mixcloud.com/privacy/",
5548    "js": function () {
5549        "use strict";
5550        tarteaucitron.fallback(['mixcloud_embed'], function (x) {
5551            var id = x.getAttribute('id'),
5552                hidecover = x.getAttribute('hidecover'),
5553                mini = x.getAttribute('mini'),
5554                light = x.getAttribute('light'),
5555                width = x.getAttribute('width'),
5556                height = x.getAttribute('height');
5557            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://www.mixcloud.com/widget/iframe/?hide_cover=" + hidecover + "&mini=" + mini + "&light=" + light + "&feed=" + id + "\" frameborder=\"0\" ></iframe>";
5558        });
5559    },
5560    "fallback": function () {
5561        "use strict";
5562        var id = "mixcloud";
5563        tarteaucitron.fallback(["mixcloud_embed"], tarteaucitron.engage(id));
5564    }
5565};
5566
5567// Google Agenda
5568tarteaucitron.services.gagenda = {
5569    "key": "gagenda",
5570    "type": "other",
5571    "name": "Google Agenda",
5572    "needConsent": true,
5573    "cookies": ["CONSENT", "NID"],
5574    "uri": "https://policies.google.com/privacy",
5575    "js": function () {
5576        "use strict";
5577        tarteaucitron.fallback(['gagenda_embed'], function (x) {
5578            var calendar_data = x.getAttribute('data'),
5579                width = x.getAttribute('width'),
5580                height = x.getAttribute('height');
5581            return "<iframe loarding=\"lazy\" width=\"" + width + "\" height=\"" + height + "\" src=\"https://www.google.com/calendar/embed?" + calendar_data + "\" frameborder=\"0\" scrolling=\"no\" style=\"border-width:0\"></iframe>";
5582        });
5583    },
5584    "fallback": function () {
5585        "use strict";
5586        var id = "gagenda";
5587        tarteaucitron.fallback(["gagenda_embed"], tarteaucitron.engage(id));
5588    }
5589};
5590
5591// Google Docs
5592tarteaucitron.services.gdocs = {
vendor: 4,303 bytes, lines 5593-5711
5593    "key": "gdocs",
5594    "type": "other",
5595    "name": "Google Docs",
5596    "needConsent": true,
5597    "cookies": ["CONSENT", "NID"],
5598    "uri": "https://policies.google.com/privacy",
5599    "js": function () {
5600        "use strict";
5601        tarteaucitron.fallback(['gdocs_embed'], function (x) {
5602            var id = x.getAttribute('id'),
5603                width = x.getAttribute('width'),
5604                height = x.getAttribute('height');
5605            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/document/d/e/" + id + "/pub?embedded=true\"></iframe>";
5606        });
5607    },
5608    "fallback": function () {
5609        "use strict";
5610        var id = "gdocs";
5611        tarteaucitron.fallback(["gdocs_embed"], tarteaucitron.engage(id));
5612    }
5613};
5614
5615// Google Sheets
5616tarteaucitron.services.gsheets = {
5617    "key": "gsheets",
5618    "type": "other",
5619    "name": "Google Sheets",
5620    "needConsent": true,
5621    "cookies": ["CONSENT", "NID"],
5622    "uri": "https://policies.google.com/privacy",
5623    "js": function () {
5624        "use strict";
5625        tarteaucitron.fallback(['gsheets_embed'], function (x) {
5626            var id = x.getAttribute('id'),
5627                width = x.getAttribute('width'),
5628                height = x.getAttribute('height'),
5629                headers = x.getAttribute('headers');
5630            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/spreadsheets/d/e/" + id + "/pubhtml?widget=true&amp;headers=" + headers + "\"></iframe>";
5631        });
5632    },
5633    "fallback": function () {
5634        "use strict";
5635        var id = "gsheets";
5636        tarteaucitron.fallback(["gsheets_embed"], tarteaucitron.engage(id));
5637    }
5638};
5639
5640// Google Slides
5641tarteaucitron.services.gslides = {
5642    "key": "gslides",
5643    "type": "other",
5644    "name": "Google Slides",
5645    "needConsent": true,
5646    "cookies": ["CONSENT", "NID"],
5647    "uri": "https://policies.google.com/privacy",
5648    "js": function () {
5649        "use strict";
5650        tarteaucitron.fallback(['gslides_embed'], function (x) {
5651            var id = x.getAttribute('id'),
5652                width = x.getAttribute('width'),
5653                height = x.getAttribute('height'),
5654                autostart = x.getAttribute('autostart'),
5655                loop = x.getAttribute('loop'),
5656                delay = x.getAttribute('delay');
5657            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/presentation/d/e/" + id + "/embed?start=" + autostart + "&loop=" + loop + "&delayms=" + delay + "\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"></iframe>";
5658        });
5659    },
5660    "fallback": function () {
5661        "use strict";
5662        var id = "gslides";
5663        tarteaucitron.fallback(["gslides_embed"], tarteaucitron.engage(id));
5664    }
5665};
5666
5667// Google Forms
5668tarteaucitron.services.gforms = {
5669    "key": "gforms",
5670    "type": "other",
5671    "name": "Google Forms",
5672    "needConsent": true,
5673    "cookies": ["CONSENT", "NID"],
5674    "uri": "https://policies.google.com/privacy",
5675    "js": function () {
5676        "use strict";
5677        tarteaucitron.fallback(['gforms_embed'], function (x) {
5678            var id = x.getAttribute('id'),
5679                width = x.getAttribute('width'),
5680                height = x.getAttribute('height');
5681            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/forms/d/e/" + id + "/viewform?embedded=true\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\"></iframe>";
5682        });
5683    },
5684    "fallback": function () {
5685        "use strict";
5686        var id = "gforms";
5687        tarteaucitron.fallback(['gforms_embed'], tarteaucitron.engage(id));
5688    }
5689};
5690
5691// Google Optimize
5692tarteaucitron.services.goptimize = {
5693    "key": "goptimize",
5694    "type": "other",
5695    "name": "Google Optimize",
5696    "needConsent": true,
5697    "cookies": ["CONSENT", "NID"],
5698    "uri": "https://policies.google.com/privacy",
5699    "js": function () {
5700        "use strict";
5701
5702        if (tarteaucitron.user.goptimize === undefined) {
5703            return;
5704        }
5705
5706        tarteaucitron.addScript('https://www.googleoptimize.com/optimize.js?id=' + tarteaucitron.user.goptimize);
5707    }
5708};
5709
5710// Marketo munchkin
5711tarteaucitron.services.marketomunchkin = {
5712    "key": "marketomunchkin",
5713    "type": "api",
5714    "name": "Marketo munchkin",
5715    "uri": "https://documents.marketo.com/legal/cookies",
5716    "needConsent": true,
5717    "cookies": ['OptAnon', '_mkto_trk'],
5718    "js": function () {
5719        "use strict";
5720        if (tarteaucitron.user.marketomunchkinkey === undefined) {
5721            return;
5722        }
5723        var didInit = false;
5724        function initMunchkin() {
5725            if (didInit === false) {
5726                didInit = true;
5727                Munchkin.init(tarteaucitron.user.marketomunchkinkey);
5728            }
5729        }
5730        var s = document.createElement('script');
5731        s.type = 'text/javascript';
5732        s.async = true;
5733        s.src = '//munchkin.marketo.net/munchkin.js';
5734        s.onreadystatechange = function () {
5735            if (this.readyState == 'complete' || this.readyState == 'loaded') {
5736                initMunchkin();
5737            }
5738        };
5739        s.onload = initMunchkin;
5740        document.getElementsByTagName('head')[0].appendChild(s);
5741    }
5742};
5743
5744// outbrain
5745tarteaucitron.services.outbrain = {
5746    "key": "outbrain",
5747    "type": "ads",
5748    "name": "Outbrain",
5749    "uri": "https://www.outbrain.com/fr/advertisers/guidelines/",
5750    "needConsent": true,
5751    "cookies": [],
5752    "js": function () {
5753        "use strict";
5754
5755        tarteaucitron.addScript('https://widgets.outbrain.com/outbrain.js');
5756    }
5757};
5758
5759// affilae
5760tarteaucitron.services.affilae = {
5761    "key": "affilae",
5762    "type": "ads",
5763    "name": "Affilae",
5764    "uri": "https://affilae.com/en/privacy-cookie-policy/",
5765    "needConsent": true,
5766    "cookies": [],
5767    "js": function () {
5768        "use strict";
5769
5770        if (tarteaucitron.user.affilae === undefined) {
5771           return;
5772        }
5773        
5774        window._ae = { "pid": tarteaucitron.user.affilae };
5775
5776        tarteaucitron.addScript('https://static.affilae.com/ae-v3.5.js');
5777    }
5778};
5779
5780// Canal-U.tv
5781tarteaucitron.services.canalu = {
5782    "key": "canalu",
5783    "type": "video",
5784    "name": "Canal-U.tv",
5785    "uri": "https://www.canal-u.tv/conditions-generales-utilisations",
5786    "needConsent": true,
5787    "cookies": [],
5788    "js": function () {
5789        "use strict";
5790        tarteaucitron.fallback(['canalu_player'], function (x) {
5791            var video_title = tarteaucitron.fixSelfXSS(x.getAttribute("videoTitle")),
5792                frame_url = 'https://www.canal-u.tv/embed/' + video_title;
5793
5794            return '<div style="position:relative;padding-bottom:56.25%;padding-top:10px;height:0;overflow:hidden;">' +
5795                   '<iframe src="' + frame_url + '?width=100%&amp;height=100%" ' +
5796                        'style="position:absolute;top:0;left:0;width:100%;height: 100%;" ' +
5797                        'frameborder="0" ' +
5798                        'allowfullscreen ' +
5799                        'scrolling="no">' +
5800                   '</iframe>' +
5801                   '</div>';
5802        });
5803    },
5804    "fallback": function () {
5805        "use strict";
5806        tarteaucitron.fallback(['canalu_player'], function (elem) {
5807            return tarteaucitron.engage('canalu');
5808        });
5809    }
5810};
5811
5812// WebTV Normandie Université
5813tarteaucitron.services.webtvnu = {
5814    "key": "webtvnu",
5815    "type": "video",
5816    "name": "WebTV Normandie Université",
5817    "uri": "https://docs.google.com/document/d/1tpVclj4QBoAq1meSZgYrpNECwp7dbmb_IhICY3sTl9c/edit",
5818    "needConsent": true,
5819    "cookies": [],
5820    "js": function () {
5821        "use strict";
5822        tarteaucitron.fallback(['webtvnu_player'], function (x) {
5823            var frame_url = 'https://webtv.normandie-univ.fr/permalink/' + x.getAttribute("videoID") + '/iframe/',
5824                width = x.getAttribute("width"),
5825                height = x.getAttribute("height");
5826
5827            return '<iframe width="' + width + '" height="' + height + '" src="' + frame_url + '" allowfullscreen="allowfullscreen" allow="autoplay"></iframe>';
5828        });
5829    },
5830    "fallback": function () {
5831        "use strict";
5832        tarteaucitron.fallback(['webtvnu_player'], function (elem) {
5833            return tarteaucitron.engage('webtvnu');
5834        });
5835    }
5836};
5837
5838// studizz
5839tarteaucitron.services.studizz = {
5840    "key": "studizz",
5841    "type": "other",
5842    "name": "Studizz Chatbot",
5843    "uri": "https://group.studizz.fr/",
5844    "needConsent": true,
5845    "cookies": [],
5846    "js": function () {
5847        "use strict";
5848
5849        if (tarteaucitron.user.studizzToken === undefined) {
5850            return;
5851        }
5852
5853        tarteaucitron.addScript('https://webchat.studizz.fr/webchat.js?token=' + tarteaucitron.user.studizzToken);
5854    }
5855};
5856
5857// meteofrance
5858tarteaucitron.services.meteofrance = {
5859    "key": "meteofrance",
5860    "type": "api",
5861    "name": "Météo France",
5862    "uri": "https://meteofrance.com/politique-de-confidentialite",
5863    "needConsent": true,
5864    "cookies": [],
5865    "js": function () {
5866        "use strict";
5867        tarteaucitron.fallback(['tac_meteofrance'], function (x) {
5868            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Météo France iframe'),
5869                width = x.getAttribute("width"),
5870                height = x.getAttribute("height"),
5871                insee = x.getAttribute("data-insee"),
5872                allowfullscreen = x.getAttribute("allowfullscreen");
5873
5874            return '<iframe title="' + frame_title + '" src="https://meteofrance.com/widget/prevision/' + insee + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
5875        });
5876    },
5877    "fallback": function () {
5878        "use strict";
5879        var id = 'meteofrance';
5880        tarteaucitron.fallback(['tac_meteofrance'], function (elem) {
5881            elem.style.width = elem.getAttribute('width') + 'px';
5882            elem.style.height = elem.getAttribute('height') + 'px';
5883            return tarteaucitron.engage(id);
5884        });
5885    }
5886};
5887
5888// m6meteo
5889tarteaucitron.services.m6meteo = {
5890    "key": "m6meteo",
5891    "type": "api",
5892    "name": "M6 Météo",
5893    "uri": "https://gdpr.m6tech.net/charte-confidentialite-m6-web-meteocity.pdf",
5894    "needConsent": true,
5895    "cookies": [],
5896    "js": function () {
5897        "use strict";
5898        tarteaucitron.fallback(['tac_m6meteo'], function (x) {
5899            var id = x.getAttribute("data-id");
5900
5901            tarteaucitron.addScript('https://www.meteocity.com/widget/js/'+id);
5902
5903            return '<div id="cont_'+id+'"><div id="spa_'+id+'"><a id="a_'+id+'" href="#"></a> ©<a target="_top" href="https://www.meteocity.com">M6météo</a></div></div>';
5904        });
5905    },
5906    "fallback": function () {
5907        "use strict";
5908        var id = 'm6meteo';
5909        tarteaucitron.fallback(['tac_m6meteo'], function (elem) {
5910
5911            return tarteaucitron.engage(id);
5912        });
5913    }
5914};
5915
5916// mtcaptcha
5917tarteaucitron.services.mtcaptcha = {
5918    "key": "mtcaptcha",
5919    "type": "api",
5920    "name": "MTcaptcha",
5921    "uri": "https://www.mtcaptcha.com",
5922    "readmoreLink": "https://www.mtcaptcha.com/faq-cookie-declaration",
5923    "needConsent": true,
5924    "cookies": ['mtv1Pulse','mtv1ConfSum','mtv1Pong'],
5925
5926    "js": function () {
5927
5928        window.mtcaptchaConfig = {
5929            "sitekey": tarteaucitron.user.mtcaptchaSitekey
5930        };
5931
5932        tarteaucitron.addScript('https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js');
5933        tarteaucitron.addScript('https://service2.mtcaptcha.com/mtcv1/client/mtcaptcha2.min.js');
5934    }
5935};
5936
5937// Internet Archive / https://archive.org
5938tarteaucitron.services.archive = {
5939    "key": "archive",
5940    "type": "video",
5941    "name": "Internet Archive",
5942    "uri": "https://archive.org/about/terms.php",
5943    "needConsent": true,
5944    "cookies": ['abtest-identifier','donation-identifier'],
5945    "js": function () {
5946        "use strict";
5947        tarteaucitron.fallback(['archive_player'], function (x) {
5948            var video_id = tarteaucitron.getElemAttr(x, "data-videoID"),
5949                video_width = tarteaucitron.getElemAttr(x, "data-width"),
5950                frame_width = 'width=',
5951                video_height = tarteaucitron.getElemAttr(x, "data-height"),
5952                frame_height = 'height=',
5953                video_frame;
5954
5955            if (video_id === undefined) {
5956                return "";
5957            }
5958            if (video_width !== undefined) {
5959                frame_width += '"' + video_width + '" ';
5960            } else {
5961                frame_width += '"" ';
5962            }
5963            if (video_height !== undefined) {
5964                frame_height += '"' + video_height + '" ';
5965            } else {
5966                frame_height += '"" ';
5967            }
5968            video_frame = '<iframe src="https://archive.org/embed/' + video_id + '" ' + frame_width + frame_height + ' frameborder="0" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen></iframe>';
5969            return video_frame;
5970        });
5971    },
5972    "fallback": function () {
5973        "use strict";
5974        var id = 'archive';
5975        tarteaucitron.fallback(['archive_player'], function (elem) {
5976            elem.style.width = elem.getAttribute('data-width') + 'px';
5977            elem.style.height = elem.getAttribute('data-height') + 'px';
5978            return tarteaucitron.engage(id);
5979        });
5980    }
5981};
5982
5983// Gallica
5984tarteaucitron.services.gallica = {
vendor: 4,169 bytes, lines 5985-6119
5985    "key": "gallica",
5986    "type": "other",
5987    "name": "Gallica",
5988    "uri": "https://gallica.bnf.fr/edit/und/conditions-dutilisation-des-contenus-de-gallica",
5989    "needConsent": true,
5990    "cookies": ['dtCookie', 'dtLatC', 'dtPC', 'dtSa', 'rxVisitor', 'rxvt', 'xtvrn'],
5991    "js": function () {
5992        "use strict";
5993        tarteaucitron.fallback(['gallica_player'], function (x) {
5994            var src = tarteaucitron.getElemAttr(x, "data-src"),
5995                style = tarteaucitron.getElemAttr(x, "data-style"),
5996                frame;
5997            if (src === undefined) {
5998                return "";
5999            }
6000            frame = '<iframe style="'+ style + '" src="' + src + '"></iframe>';
6001            return frame;
6002        });
6003    },
6004    "fallback": function () {
6005        "use strict";
6006        var id = 'gallica';
6007        tarteaucitron.fallback(['gallica_player'], function (elem) {
6008            elem.style = elem.getAttribute('data-style');
6009            return tarteaucitron.engage(id);
6010        });
6011    }
6012};
6013
6014// crisp
6015tarteaucitron.services.crisp = {
6016    "key": "crisp",
6017    "type": "other",
6018    "name": "Crisp Chat",
6019    "uri": "https://help.crisp.chat/en/article/crisp-chatbox-cookie-ip-policy-1147xor/",
6020    "needConsent": false,
6021    "cookies": ['crisp-client', '__cfduid'],
6022    "js": function () {
6023        "use strict";
6024
6025        if (tarteaucitron.user.crispID === undefined) {
6026            return;
6027        }
6028
6029        window.$crisp = [];
6030        window.CRISP_WEBSITE_ID = tarteaucitron.user.crispID;
6031
6032        tarteaucitron.addScript('https://client.crisp.chat/l.js');
6033    }
6034};
6035
6036// microanalytics
6037tarteaucitron.services.microanalytics = {
6038    "key": "microanalytics",
6039    "type": "analytic",
6040    "name": "MicroAnalytic",
6041    "uri": "https://microanalytics.io/page/privacy",
6042    "needConsent": false,
6043    "cookies": [],
6044    "js": function () {
6045        "use strict";
6046
6047        if (tarteaucitron.user.microanalyticsID === undefined) {
6048            return;
6049        }
6050
6051        tarteaucitron.addScript('https://microanalytics.io/js/script.js', tarteaucitron.user.microanalyticsID, undefined, true, "data-host", "https://microanalytics.io");
6052    }
6053};
6054
6055// facebookcustomerchat
6056tarteaucitron.services.facebookcustomerchat = {
6057    "key": "facebookcustomerchat",
6058    "type": "social",
6059    "name": "Facebook (Customer Chat)",
6060    "uri": "https://www.facebook.com/policies/cookies/",
6061    "needConsent": true,
6062    "cookies": ['act','c_user','datr','dpr','presence','sb','wd','xs','/tr'],
6063    "js": function () {
6064        "use strict";
6065
6066        if (tarteaucitron.user.facebookChatID === undefined) {
6067            return;
6068        }
6069
6070        tarteaucitron.fallback(['fb-customerchat'], '');
6071    window.fbAsyncInit=function(){FB.init({appId:tarteaucitron.user.facebookChatID,autoLogAppEvents:!0,xfbml:!0,version:"v3.0"})};
6072    tarteaucitron.addScript('https://connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk/xfbml.customerchat.js', 'facebook-jssdk');
6073    },
6074    "fallback": function () {
6075        "use strict";
6076        var id = 'facebookcustomerchat';
6077        tarteaucitron.fallback(['fb-customerchat'], tarteaucitron.engage(id));
6078    }
6079};
6080
6081// weborama
6082tarteaucitron.services.weborama = {
6083    "key": "weborama",
6084    "type": "analytic",
6085    "name": "Weborama",
6086    "uri": "https://weborama.com/faq-cnil-avril-2021/",
6087    "needConsent": true,
6088    "cookies": [],
6089    "js": function () {
6090        "use strict";
6091        tarteaucitron.addScript('https://cstatic.weborama.fr/js/advertiserv2/adperf_conversion.js');
6092    }
6093};
6094
6095// tiktok
6096tarteaucitron.services.tiktok = {
6097    "key": "tiktok",
6098    "type": "analytic",
6099    "name": "Tiktok",
6100    "uri": "https://www.tiktok.com/legal/tiktok-website-cookies-policy",
6101    "needConsent": true,
6102    "cookies": [],
6103    "js": function () {
6104        "use strict";
6105
6106        if (tarteaucitron.user.tiktokId === undefined) {
6107            return;
6108        }
6109
6110        tarteaucitron.addScript('https://analytics.tiktok.com/i18n/pixel/sdk.js?sdkid=' + tarteaucitron.user.tiktokId);
6111
6112    if (typeof tarteaucitron.user.tiktokMore === 'function') {
6113            tarteaucitron.user.tiktokMore();
6114        }
6115    }
6116};
6117
6118// Klaviyo
6119tarteaucitron.services.klaviyo = {
6120    "key": "klaviyo",
6121    "type": "ads",
6122    "name": "Klaviyo",
6123    "uri": "https://help.klaviyo.com/hc/en-us/articles/360034666712-About-Cookies-in-Klaviyo",
6124    "needConsent": true,
6125    "cookies": ['__kla_id'],
6126    "js": function () {
6127        "use strict";
6128        if (tarteaucitron.user.klaviyoCompanyId === undefined) {
6129            return;
6130        }
6131        tarteaucitron.addScript('//static.klaviyo.com/onsite/js/klaviyo.js?company_id=' + tarteaucitron.user.klaviyoCompanyId);
6132    }
6133};

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.