From 2404b24c3a52f04475b63f300269a129399882ec Mon Sep 17 00:00:00 2001 From: Ben Burgess <88810029+bx80@users.noreply.github.com> Date: Mon, 4 Oct 2021 17:01:04 +1300 Subject: JavaScript tracker exclude query parameters (#18031) Adds a new option to the JavaScript tracker to exclude query parameters from the tracked URL. Co-authored-by: bx80 Co-authored-by: sgiehl --- piwik.js | 70 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) (limited to 'piwik.js') diff --git a/piwik.js b/piwik.js index ed124ef7c7..da73c1d481 100644 --- a/piwik.js +++ b/piwik.js @@ -29,41 +29,41 @@ at=ai.findFirstNodeHavingAttribute(au,this.CONTENT_PIECE_ATTR);if(!at){at=ai.fin }if(aw){aw+="&ca=1"}return aw},buildContentBlock:function(av){if(!av){return}var at=this.findContentName(av);var au=this.findContentPiece(av);var aw=this.findContentTarget(av);at=this.trim(at);au=this.trim(au);aw=this.trim(aw);return{name:at||"Unknown",piece:au||"Unknown",target:aw||""}},collectContent:function(aw){if(!aw||!aw.length){return[]}var av=[];var at,au;for(at=0;at=0)&&aH(dv)!==String(dw)){var dr="There was an error setting cookie `"+dv+"`. Please check domain and path.";ao(dr)}}function b8(dr){var ds;dr=j(dr,az);if(bV){ds=new RegExp("#.*");return dr.replace(ds,"")}return dr}function b1(dt,dr){var du=s(dr),ds;if(du){return dr}if(dr.slice(0,1)==="/"){return s(dt)+"://"+d(dt)+dr}dt=b8(dt);ds=dt.indexOf("?");if(ds>=0){dt=dt.slice(0,ds)}ds=dt.lastIndexOf("/");if(ds!==dt.length-1){dt=dt.slice(0,ds+1)}return dt+dr}function cO(dt,dr){var ds;dt=String(dt).toLowerCase();dr=String(dr).toLowerCase();if(dt===dr){return true}if(dr.slice(0,1)==="."){if(dt===dr.slice(1)){return true -}ds=dt.length-dr.length;if((ds>0)&&(dt.slice(ds)===dr)){return true}}return false}function cq(dr){var ds=document.createElement("a");if(dr.indexOf("//")!==0&&dr.indexOf("http")!==0){if(dr.indexOf("*")===0){dr=dr.substr(1)}if(dr.indexOf(".")===0){dr=dr.substr(1)}dr="http://"+dr}ds.href=w.toAbsoluteUrl(dr);if(ds.pathname){return ds.pathname}return""}function a9(ds,dr){if(!an(dr,"/")){dr="/"+dr}if(!an(ds,"/")){ds="/"+ds}var dt=(dr==="/"||dr==="/*");if(dt){return true}if(ds===dr){return true}dr=String(dr).toLowerCase();ds=String(ds).toLowerCase();if(U(dr,"*")){dr=dr.slice(0,-1);dt=(!dr||dr==="/");if(dt){return true}if(ds===dr){return true}return ds.indexOf(dr)===0}if(!U(ds,"/")){ds+="/"}if(!U(dr,"/")){dr+="/"}return ds.indexOf(dr)===0}function aw(dv,dx){var ds,dr,dt,du,dw;for(ds=0;ds0)&&(du.slice(dt)===dr)){return true}}}return false}function cu(dr,dt){dr=dr.replace("send_image=0","send_image=1");var ds=new Image(1,1);ds.onload=function(){H=0;if(typeof dt==="function"){dt({request:dr,trackerUrl:aI,success:true})}};ds.onerror=function(){if(typeof dt==="function"){dt({request:dr,trackerUrl:aI,success:false})}};ds.src=aI+(aI.indexOf("?")<0?"?":"&")+dr}function cL(dr){if(dh==="POST"){return true}return dr&&(dr.length>2000||dr.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob}function bc(dv,dy,dx){var dt=aP();if(!dt){return false}var du={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dz=false;var ds=aI;try{var dr=new Blob([dv],du);if(dx&&!cL(dv)){dr=new Blob([],du);ds=ds+(ds.indexOf("?")<0?"?":"&")+dv}dz=g.sendBeacon(ds,dr)}catch(dw){return false}if(dz&&typeof dy==="function"){dy({request:dv,trackerUrl:aI,success:true,isSendBeacon:true})}return dz}function dc(ds,dt,dr){if(!M(dr)||null===dr){dr=true -}if(m&&bc(ds,dt,dr)){return}setTimeout(function(){if(m&&bc(ds,dt,dr)){return}var dw;try{var dv=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dv.open("POST",aI,true);dv.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dx=m&&bc(ds,dt,dr);if(!dx&&dr){cu(ds,dt)}else{if(typeof dt==="function"){dt({request:ds,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dt==="function")){dt({request:ds,trackerUrl:aI,success:true,xhr:this})}}};dv.setRequestHeader("Content-Type",cD);dv.withCredentials=true;dv.send(ds)}catch(du){dw=m&&bc(ds,dt,dr);if(!dw&&dr){cu(ds,dt)}else{if(typeof dt==="function"){dt({request:ds,trackerUrl:aI,success:false})}}}},50)}function cl(ds){var dr=new Date();var dt=dr.getTime()+ds;if(!r||dt>r){r=dt}}function bg(){bi=true;cE=new Date().getTime()}function dk(){var dr=new Date().getTime();return !cE||(dr-cE)>bb}function aD(){if(dk()){bX()}}function a0(){if(J.visibilityState==="hidden"&&dk()){bX() -}else{if(J.visibilityState==="visible"){cE=new Date().getTime()}}}function dn(){if(aS||!bb){return}aS=true;ar(W,"focus",bg);ar(W,"blur",aD);ar(W,"visibilitychange",a0);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dk()){bX()}}})}function cJ(dv){var ds=new Date();var dr=ds.getTime();c6=dr;if(cI&&dr=dr.length){return[dr]}var ds=0;var dt=dr.length;var du=[];for(ds;ds=ds&&dr<=(ds+a5)){return true}}return false}function dp(dr){if(!cU){return"" -}var dv=e(dr,az);if(!dv){return""}dv=String(dv);var dt=new RegExp("^[a-zA-Z0-9]+$");if(dv.length===32&&dt.test(dv)){var ds=dv.substr(16,32);if(da(ds)){var du=dv.substr(0,16);return du}}return""}function cV(){if(!bU){bU=dp(bT)}var dt=new Date(),dr=Math.round(dt.getTime()/1000),ds=aY("id"),dw=aH(ds),dv,du;if(dw){dv=dw.split(".");dv.unshift("0");if(bU.length){dv[1]=bU}return dv}if(bU.length){du=bU}else{if("0"===cb()){du=""}else{du=cY()}}dv=["1",du,dr];return dv}function a4(){var du=cV(),ds=du[0],dt=du[1],dr=du[2];return{newVisitor:ds,uuid:dt,createTs:dr}}function aL(){var du=new Date(),ds=du.getTime(),dv=a4().createTs;var dr=parseInt(dv,10);var dt=(dr*1000)+cR-ds;return dt}function aR(dr){if(!cc){return}var dt=new Date(),ds=Math.round(dt.getTime()/1000);if(!M(dr)){dr=a4()}var du=dr.uuid+"."+dr.createTs+".";dl(aY("id"),du,aL(),bw,c5,bY,aN)}function bS(){var dr=aH(aY("ref"));if(dr.length){try{dr=W.JSON.parse(dr);if(Z(dr)){return dr}}catch(ds){}}return["","",0,""]}function bD(dt){var ds=bq+"testcookie_domain"; -var dr="testvalue";dl(ds,dr,10000,null,dt,bY,aN);if(aH(ds)===dr){b5(ds,null,dt);return true}return false}function aJ(){var ds=bs;bs=false;var dr,dt;for(dr=0;dr0){dv=parseInt(dv,10);dy(dv)}})}var bK={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dr=this.requests;this.requests=[];if(dr.length===1){bM(dr[0],bQ)}else{dm(dr,bQ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(ds){if(!this.canQueue()){dm(ds,bQ);return}var dr;for(dr=0;dr0){if(!M(ds)){ds=""}if(!x(ds)){ds=String(ds)}bt[dr]=ds}};this.getCustomDimension=function(dr){dr=parseInt(dr,10);if(dr>0&&Object.prototype.hasOwnProperty.call(bt,dr)){return bt[dr]}};this.deleteCustomDimension=function(dr){dr=parseInt(dr,10);if(dr>0){delete bt[dr]}};this.setCustomVariable=function(ds,dr,dv,dt){var du;if(!M(dt)){dt="visit"}if(!M(dr)){return}if(!M(dv)){dv=""}if(ds>0){dr=!x(dr)?String(dr):dr;dv=!x(dv)?String(dv):dv;du=[dr.slice(0,bA),dv.slice(0,bA)];if(dt==="visit"||dt===2){cM();aV[ds]=du}else{if(dt==="page"||dt===3){b2[ds]=du}else{if(dt==="event"){cr[ds]=du}}}}};this.getCustomVariable=function(ds,dt){var dr;if(!M(dt)){dt="visit"}if(dt==="page"||dt===3){dr=b2[ds]}else{if(dt==="event"){dr=cr[ds]}else{if(dt==="visit"||dt===2){cM();dr=aV[ds]}}}if(!M(dr)||(dr&&dr[0]==="")){return false -}return dr};this.deleteCustomVariable=function(dr,ds){if(this.getCustomVariable(dr,ds)){this.setCustomVariable(dr,"","",ds)}};this.deleteCustomVariables=function(dr){if(dr==="page"||dr===3){b2={}}else{if(dr==="event"){cr={}}else{if(dr==="visit"||dr===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bW=true};this.setLinkTrackingTimer=function(dr){bQ=dr};this.getLinkTrackingTimer=function(){return bQ};this.setDownloadExtensions=function(dr){if(x(dr)){dr=dr.split("|")}de=dr};this.addDownloadExtensions=function(ds){var dr;if(x(ds)){ds=ds.split("|")}for(dr=0;dr1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming"]; +}catch(at){return true}}function T(cj,cf){var bP=this,bj="mtm_consent",cL="mtm_cookie_consent",cU="mtm_consent_removed",ca=ae(J.domain,W.location.href,N()),c2=O(ca[0]),bT=p(ca[1]),bu=p(ca[2]),c0=false,cn="GET",di=cn,aM="application/x-www-form-urlencoded; charset=UTF-8",cE=aM,aI=cj||"",bO="",c8="",ct="",cc=cf||"",bF="",bU="",ba,bp="",df=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","rtf","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],aC=[c2],bG=[],co=[],bR=[],be=[],bQ=500,c5=true,cR,bb,bX,bV,at,cw=["pk_campaign","mtm_campaign","piwik_campaign","matomo_campaign","utm_campaign","utm_source","utm_medium"],bN=["pk_kwd","mtm_kwd","piwik_kwd","matomo_kwd","utm_term"],bq="_pk_",az="pk_vid",a5=180,c6,bw,bY=false,aN="Lax",bs=false,cY,bk,bC,cS=33955200000,cu=1800000,de=15768000000,a8=true,bL=false,bn=false,bW=false,aV=false,ch,b2={},cs={},bt={},bA=200,cA={},c9={},dg={},cg=[],ck=false,cJ=false,au=false,dh=false,cV=false,aS=false,bi=v(),cF=null,c7=null,aW,bI,cd=aq,bv,aQ,bH=false,cx=0,bB=["id","ses","cvar","ref"],cI=false,bJ=null,cT=[],cz=[],aB=X++,aA=false; +try{bp=J.title}catch(cG){bp=""}function aH(du){if(bs){return 0}var ds=new RegExp("(^|;)[ ]*"+du+"=([^;]*)"),dt=ds.exec(J.cookie);return dt?V(dt[2]):0}bJ=!aH(cU);function dm(dw,dx,dA,dz,du,dv,dy){if(bs&&dw!==cU){return}var dt;if(dA){dt=new Date();dt.setTime(dt.getTime()+dA)}if(!dy){dy="Lax"}J.cookie=dw+"="+t(dx)+(dA?";expires="+dt.toGMTString():"")+";path="+(dz||"/")+(du?";domain="+du:"")+(dv?";secure":"")+";SameSite="+dy;if((!dA||dA>=0)&&aH(dw)!==String(dx)){var ds="There was an error setting cookie `"+dw+"`. Please check domain and path.";ao(ds)}}function b8(ds){var du,dt;ds=j(ds,az);for(dt=0;dt=0){du=du.slice(0,dt)}dt=du.lastIndexOf("/");if(dt!==du.length-1){du=du.slice(0,dt+1)}return du+ds}function cP(du,ds){var dt;du=String(du).toLowerCase();ds=String(ds).toLowerCase(); +if(du===ds){return true}if(ds.slice(0,1)==="."){if(du===ds.slice(1)){return true}dt=du.length-ds.length;if((dt>0)&&(du.slice(dt)===ds)){return true}}return false}function cr(ds){var dt=document.createElement("a");if(ds.indexOf("//")!==0&&ds.indexOf("http")!==0){if(ds.indexOf("*")===0){ds=ds.substr(1)}if(ds.indexOf(".")===0){ds=ds.substr(1)}ds="http://"+ds}dt.href=w.toAbsoluteUrl(ds);if(dt.pathname){return dt.pathname}return""}function a9(dt,ds){if(!an(ds,"/")){ds="/"+ds}if(!an(dt,"/")){dt="/"+dt}var du=(ds==="/"||ds==="/*");if(du){return true}if(dt===ds){return true}ds=String(ds).toLowerCase();dt=String(dt).toLowerCase();if(U(ds,"*")){ds=ds.slice(0,-1);du=(!ds||ds==="/");if(du){return true}if(dt===ds){return true}return dt.indexOf(ds)===0}if(!U(dt,"/")){dt+="/"}if(!U(ds,"/")){ds+="/"}return dt.indexOf(ds)===0}function aw(dw,dy){var dt,ds,du,dv,dx;for(dt=0;dt0)&&(dv.slice(du)===ds)){return true}}}return false}function cv(ds,du){ds=ds.replace("send_image=0","send_image=1");var dt=new Image(1,1);dt.onload=function(){H=0;if(typeof du==="function"){du({request:ds,trackerUrl:aI,success:true})}};dt.onerror=function(){if(typeof du==="function"){du({request:ds,trackerUrl:aI,success:false})}};dt.src=aI+(aI.indexOf("?")<0?"?":"&")+ds}function cM(ds){if(di==="POST"){return true}return ds&&(ds.length>2000||ds.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob}function bc(dw,dz,dy){var du=aP();if(!du){return false}var dv={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dA=false;var dt=aI;try{var ds=new Blob([dw],dv);if(dy&&!cM(dw)){ds=new Blob([],dv);dt=dt+(dt.indexOf("?")<0?"?":"&")+dw}dA=g.sendBeacon(dt,ds)}catch(dx){return false +}if(dA&&typeof dz==="function"){dz({request:dw,trackerUrl:aI,success:true,isSendBeacon:true})}return dA}function dd(dt,du,ds){if(!M(ds)||null===ds){ds=true}if(m&&bc(dt,du,ds)){return}setTimeout(function(){if(m&&bc(dt,du,ds)){return}var dx;try{var dw=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dw.open("POST",aI,true);dw.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dy=m&&bc(dt,du,ds);if(!dy&&ds){cv(dt,du)}else{if(typeof du==="function"){du({request:dt,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof du==="function")){du({request:dt,trackerUrl:aI,success:true,xhr:this})}}};dw.setRequestHeader("Content-Type",cE);dw.withCredentials=true;dw.send(dt)}catch(dv){dx=m&&bc(dt,du,ds);if(!dx&&ds){cv(dt,du)}else{if(typeof du==="function"){du({request:dt,trackerUrl:aI,success:false})}}}},50)}function cl(dt){var ds=new Date();var du=ds.getTime()+dt;if(!r||du>r){r=du}}function bg(){bi=true; +cF=new Date().getTime()}function dl(){var ds=new Date().getTime();return !cF||(ds-cF)>bb}function aD(){if(dl()){bX()}}function a0(){if(J.visibilityState==="hidden"&&dl()){bX()}else{if(J.visibilityState==="visible"){cF=new Date().getTime()}}}function dp(){if(aS||!bb){return}aS=true;ar(W,"focus",bg);ar(W,"blur",aD);ar(W,"visibilitychange",a0);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dl()){bX()}}})}function cK(dw){var dt=new Date();var ds=dt.getTime();c7=ds;if(cJ&&ds=ds.length){return[ds]}var dt=0;var du=ds.length;var dv=[]; +for(dt;dt=dt&&ds<=(dt+a5)){return true}}return false}function dq(ds){if(!cV){return""}var dw=e(ds,az);if(!dw){return""}dw=String(dw);var du=new RegExp("^[a-zA-Z0-9]+$");if(dw.length===32&&du.test(dw)){var dt=dw.substr(16,32);if(db(dt)){var dv=dw.substr(0,16);return dv}}return""}function cW(){if(!bU){bU=dq(bT)}var du=new Date(),ds=Math.round(du.getTime()/1000),dt=aY("id"),dx=aH(dt),dw,dv;if(dx){dw=dx.split(".");dw.unshift("0");if(bU.length){dw[1]=bU}return dw}if(bU.length){dv=bU}else{if("0"===cb()){dv=""}else{dv=cZ()}}dw=["1",dv,ds];return dw}function a4(){var dv=cW(),dt=dv[0],du=dv[1],ds=dv[2];return{newVisitor:dt,uuid:du,createTs:ds}}function aL(){var dv=new Date(),dt=dv.getTime(),dw=a4().createTs;var ds=parseInt(dw,10);var du=(ds*1000)+cS-dt;return du}function aR(ds){if(!cc){return}var du=new Date(),dt=Math.round(du.getTime()/1000);if(!M(ds)){ds=a4()}var dv=ds.uuid+"."+ds.createTs+".";dm(aY("id"),dv,aL(),bw,c6,bY,aN) +}function bS(){var ds=aH(aY("ref"));if(ds.length){try{ds=W.JSON.parse(ds);if(Z(ds)){return ds}}catch(dt){}}return["","",0,""]}function bD(du){var dt=bq+"testcookie_domain";var ds="testvalue";dm(dt,ds,10000,null,du,bY,aN);if(aH(dt)===ds){b5(dt,null,du);return true}return false}function aJ(){var dt=bs;bs=false;var ds,du;for(ds=0;ds0){dw=parseInt(dw,10);dz(dw)}})}var bK={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var ds=this.requests;this.requests=[];if(ds.length===1){bM(ds[0],bQ)}else{dn(ds,bQ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dt){if(!this.canQueue()){dn(dt,bQ);return}var ds;for(ds=0;ds0){if(!M(dt)){dt=""}if(!x(dt)){dt=String(dt)}bt[ds]=dt}};this.getCustomDimension=function(ds){ds=parseInt(ds,10);if(ds>0&&Object.prototype.hasOwnProperty.call(bt,ds)){return bt[ds]}};this.deleteCustomDimension=function(ds){ds=parseInt(ds,10);if(ds>0){delete bt[ds]}};this.setCustomVariable=function(dt,ds,dw,du){var dv;if(!M(du)){du="visit"}if(!M(ds)){return}if(!M(dw)){dw=""}if(dt>0){ds=!x(ds)?String(ds):ds;dw=!x(dw)?String(dw):dw;dv=[ds.slice(0,bA),dw.slice(0,bA)];if(du==="visit"||du===2){cN();aV[dt]=dv}else{if(du==="page"||du===3){b2[dt]=dv}else{if(du==="event"){cs[dt]=dv}}}}};this.getCustomVariable=function(dt,du){var ds;if(!M(du)){du="visit"}if(du==="page"||du===3){ds=b2[dt]}else{if(du==="event"){ds=cs[dt]}else{if(du==="visit"||du===2){cN();ds=aV[dt]}}}if(!M(ds)||(ds&&ds[0]==="")){return false +}return ds};this.deleteCustomVariable=function(ds,dt){if(this.getCustomVariable(ds,dt)){this.setCustomVariable(ds,"","",dt)}};this.deleteCustomVariables=function(ds){if(ds==="page"||ds===3){b2={}}else{if(ds==="event"){cs={}}else{if(ds==="visit"||ds===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bW=true};this.setLinkTrackingTimer=function(ds){bQ=ds};this.getLinkTrackingTimer=function(){return bQ};this.setDownloadExtensions=function(ds){if(x(ds)){ds=ds.split("|")}df=ds};this.addDownloadExtensions=function(dt){var ds;if(x(dt)){dt=dt.split("|")}for(ds=0;ds1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming","setExcludedQueryParams"]; function ah(av,au){var at=new T(av,au);L.push(at);_paq=c(_paq,E);for(H=0;H<_paq.length;H++){if(_paq[H]){aj(_paq[H])}}_paq=new K();u.trigger("TrackerAdded",[at]);return at}ar(W,"beforeunload",am,false);ar(W,"online",function(){if(M(g.serviceWorker)){g.serviceWorker.ready.then(function(at){if(at&&at.sync){return at.sync.register("matomoSync")}},function(){})}},false);ar(W,"message",function(ay){if(!ay||!ay.origin){return}var aA,aw,au;var aB=d(ay.origin);var ax=u.getAsyncTrackers();for(aw=0;aw