Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authordiosmosis <diosmosis@users.noreply.github.com>2020-06-26 16:17:54 +0300
committerGitHub <noreply@github.com>2020-06-26 16:17:54 +0300
commitde5ae85e7a11f7bbd962256c890a32188c40d000 (patch)
tree2a5f303c83b6e80369d3ba77b2d9fea797c598d9 /js
parentb12946909ff323ea2f7e7af04e4435d2dd503023 (diff)
Track seconds instead of days for "days since" dimensions (#15774)
* Modify dimensions and add tests. * unfinished debugging commit * changes to fix test, remove tracker code, add update code * fix some tests * fix migration issue * fixing some tests * fix some bugs, update some expected test files, remove _idvc from some tests * start replacing _ects * Finish seconds since last ecommerce order change. * fix couple issues * fix a couple tests * fix some more tests * fixing a couple more tests * apply review feedback * unfinished commit * add back dimensions = * fixing tests & removing some code * fix some bugs + tests and remove debugging code * fixing some tests and issues * Some debugging code for the tracker in case of exceptions. * debug and fix another issue when tracking visits in the past * fix test * update JS and fix several tests * Fixing more tests. * Add missing files. * update expected test files * Add some unit tests. * update more expected files * update more test files * update more test files * update changelog and remove _ects query param * apply review feedback * fix merge issue * clearer code * fix migration issue * update expected files * update expected files again * updating tests * fix test * rebuilt piwik.js * unify previous visitor properties / original visit row approach * fixing some tests * Add new column version entries into the option table. * try undoing 1.5 update change * apply review feedback * remove more unused cookie values * rebuilt piwik.js * Fix test count. * update test files * rebuilt piwik.js * removel log analytics submodule update * update submodule * update some expected screenshots * Fix versions in omnifixture since we were probably adding to the beta update after it changed. * update screenshots
Diffstat (limited to 'js')
-rw-r--r--js/README.md2
-rw-r--r--js/piwik.js66
-rw-r--r--js/piwik.min.js60
3 files changed, 40 insertions, 88 deletions
diff --git a/js/README.md b/js/README.md
index b73ae1d2b0..85aa052cfa 100644
--- a/js/README.md
+++ b/js/README.md
@@ -52,7 +52,7 @@ The js/ folder contains:
We recommend to execute this command under Linux. It has not been tested with Windows and
MacOS might add a trailing newline which fails tests.
-
+VisitorGeolocatorTest
* In a production environment, the tests/javascript folder is not used and can
be removed (if present).
diff --git a/js/piwik.js b/js/piwik.js
index f4e61e02e8..d15eac4b1b 100644
--- a/js/piwik.js
+++ b/js/piwik.js
@@ -105,7 +105,7 @@
isNodeAuthorizedToTriggerInteraction, getConfigDownloadExtensions, disableLinkTracking,
substr, setAnyAttribute, max, abs, childNodes, compareDocumentPosition, body,
getConfigVisitorCookieTimeout, getRemainingVisitorCookieTimeout, getDomains, getConfigCookiePath,
- getConfigIdPageView, newVisitor, uuid, createTs, visitCount, currentVisitTs, lastVisitTs, lastEcommerceOrderTs,
+ getConfigIdPageView, newVisitor, uuid, createTs, currentVisitTs,
"", "\b", "\t", "\n", "\f", "\r", "\"", "\\", apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, lastIndex, length, parse, prototype, push, replace,
sort, slice, stringify, test, toJSON, toString, valueOf, objectToJSON, addTracker, removeAllAsyncTrackersButFirst,
@@ -3308,19 +3308,7 @@ if (typeof window.Matomo !== 'object') {
uuid,
// creation timestamp - seconds since Unix epoch
- nowTs,
-
- // visitCount - 0 = no previous visit
- 0,
-
- // current visit timestamp
- nowTs,
-
- // last visit timestamp - blank = no previous visit
- '',
-
- // last ecommerce order timestamp
- ''
+ nowTs
];
return cookieValue;
@@ -3334,26 +3322,12 @@ if (typeof window.Matomo !== 'object') {
var cookieVisitorIdValue = loadVisitorIdCookie(),
newVisitor = cookieVisitorIdValue[0],
uuid = cookieVisitorIdValue[1],
- createTs = cookieVisitorIdValue[2],
- visitCount = cookieVisitorIdValue[3],
- currentVisitTs = cookieVisitorIdValue[4],
- lastVisitTs = cookieVisitorIdValue[5];
-
- // case migrating from pre-1.5 cookies
- if (!isDefined(cookieVisitorIdValue[6])) {
- cookieVisitorIdValue[6] = "";
- }
-
- var lastEcommerceOrderTs = cookieVisitorIdValue[6];
+ createTs = cookieVisitorIdValue[2];
return {
newVisitor: newVisitor,
uuid: uuid,
- createTs: createTs,
- visitCount: visitCount,
- currentVisitTs: currentVisitTs,
- lastVisitTs: lastVisitTs,
- lastEcommerceOrderTs: lastEcommerceOrderTs
+ createTs: createTs
};
}
@@ -3385,11 +3359,7 @@ if (typeof window.Matomo !== 'object') {
}
var cookieValue = visitorIdCookieValues.uuid + '.' +
- visitorIdCookieValues.createTs + '.' +
- visitorIdCookieValues.visitCount + '.' +
- nowTs + '.' +
- visitorIdCookieValues.lastVisitTs + '.' +
- visitorIdCookieValues.lastEcommerceOrderTs;
+ visitorIdCookieValues.createTs + '.';
setCookie(getCookieName('id'), cookieValue, getRemainingVisitorCookieTimeout(), configCookiePath, configCookieDomain, configCookieIsSecure);
}
@@ -3551,7 +3521,7 @@ if (typeof window.Matomo !== 'object') {
* with the standard parameters (plugins, resolution, url, referrer, etc.).
* Sends the pageview and browser settings with every request in case of race conditions.
*/
- function getRequest(request, customData, pluginMethod, currentEcommerceOrderTs) {
+ function getRequest(request, customData, pluginMethod) {
var i,
now = new Date(),
nowTs = Math.round(now.getTime() / 1000),
@@ -3579,9 +3549,6 @@ if (typeof window.Matomo !== 'object') {
}
var cookieVisitorIdValues = getValuesFromVisitorIdCookie();
- if (!isDefined(currentEcommerceOrderTs)) {
- currentEcommerceOrderTs = "";
- }
// send charset if document charset is not utf-8. sometimes encoding
// of urls will be the same as this and not utf-8, which will cause problems
@@ -3600,16 +3567,6 @@ if (typeof window.Matomo !== 'object') {
if (!cookieSessionValue) {
// cookie 'ses' was not found: we consider this the start of a 'session'
- // here we make sure that if 'ses' cookie is deleted few times within the visit
- // and so this code path is triggered many times for one visit,
- // we only increase visitCount once per Visit window (default 30min)
- var visitDuration = configSessionCookieTimeout / 1000;
- if (!cookieVisitorIdValues.lastVisitTs
- || (nowTs - cookieVisitorIdValues.lastVisitTs) > visitDuration) {
- cookieVisitorIdValues.visitCount++;
- cookieVisitorIdValues.lastVisitTs = cookieVisitorIdValues.currentVisitTs;
- }
-
// Detect the campaign information from the current URL
// Only if campaign wasn't previously set
@@ -3674,13 +3631,12 @@ if (typeof window.Matomo !== 'object') {
'&url=' + encodeWrapper(purify(currentUrl)) +
(configReferrerUrl.length ? '&urlref=' + encodeWrapper(purify(configReferrerUrl)) : '') +
((configUserId && configUserId.length) ? '&uid=' + encodeWrapper(configUserId) : '') +
- '&_id=' + cookieVisitorIdValues.uuid + '&_idts=' + cookieVisitorIdValues.createTs + '&_idvc=' + cookieVisitorIdValues.visitCount +
+ '&_id=' + cookieVisitorIdValues.uuid +
+
'&_idn=' + cookieVisitorIdValues.newVisitor + // currently unused
(campaignNameDetected.length ? '&_rcn=' + encodeWrapper(campaignNameDetected) : '') +
(campaignKeywordDetected.length ? '&_rck=' + encodeWrapper(campaignKeywordDetected) : '') +
'&_refts=' + referralTs +
- '&_viewts=' + cookieVisitorIdValues.lastVisitTs +
- (String(cookieVisitorIdValues.lastEcommerceOrderTs).length ? '&_ects=' + cookieVisitorIdValues.lastEcommerceOrderTs : '') +
(String(referralUrl).length ? '&_ref=' + encodeWrapper(purify(referralUrl.slice(0, referralUrlMaxLength))) : '') +
(charSet ? '&cs=' + encodeWrapper(charSet) : '') +
'&send_image=0';
@@ -3779,7 +3735,6 @@ if (typeof window.Matomo !== 'object') {
}
// update cookies
- cookieVisitorIdValues.lastEcommerceOrderTs = isDefined(currentEcommerceOrderTs) && String(currentEcommerceOrderTs).length ? currentEcommerceOrderTs : cookieVisitorIdValues.lastEcommerceOrderTs;
setVisitorIdCookie(cookieVisitorIdValues);
setSessionCookie();
@@ -3825,7 +3780,6 @@ if (typeof window.Matomo !== 'object') {
function logEcommerce(orderId, grandTotal, subTotal, tax, shipping, discount) {
var request = 'idgoal=0',
- lastEcommerceOrderTs,
now = new Date(),
items = [],
sku,
@@ -3833,8 +3787,6 @@ if (typeof window.Matomo !== 'object') {
if (isEcommerceOrder) {
request += '&ec_id=' + encodeWrapper(orderId);
- // Record date of order in the visitor cookie
- lastEcommerceOrderTs = Math.round(now.getTime() / 1000);
}
request += '&revenue=' + grandTotal;
@@ -3885,7 +3837,7 @@ if (typeof window.Matomo !== 'object') {
}
request += '&ec_items=' + encodeWrapper(windowAlias.JSON.stringify(items));
}
- request = getRequest(request, configCustomData, 'ecommerce', lastEcommerceOrderTs);
+ request = getRequest(request, configCustomData, 'ecommerce');
sendRequest(request, configTrackerPause);
if (isEcommerceOrder) {
diff --git a/js/piwik.min.js b/js/piwik.min.js
index 91d9777847..ceac1f78db 100644
--- a/js/piwik.min.js
+++ b/js/piwik.min.js
@@ -37,35 +37,35 @@ dn.open("POST",aD,true);dn.onreadystatechange=function(){if(this.readyState===4&
return !cy||(dj-cy)>a4}function ay(){if(dd()){bR()}bK()}function dg(){if(aM||!a4){return}aM=true;an(S,"focus",a9);an(S,"blur",ay);ab++;t.addPlugin("HeartBeat"+ab,{unload:function(){if(aM&&dd()){bR()}}})}function cD(dn){var dk=new Date();var dj=dk.getTime();cY=dj;if(cC&&dj<cC){var dl=cC-dj;setTimeout(dn,dl);cg(dl+50);cC+=50;return}if(cC===false){var dm=800;cC=dj+dm}dn()}function aN(){if(aC(cM)){bB=false}else{if(aC(bc)){bB=true}}}function bF(dk,dj,dl){aN();if(!bB){cL.push(dk);return}if(!cQ&&dk){if(cB&&bB){dk+="&consent=1"}cD(function(){if(cW&&a5(dk,dl,true)){cg(100);return}if(cE(dk)){c4(dk,dl)}else{cp(dk,dl)}cg(dj)})}if(!aM){dg()}}function ck(dj){if(cQ){return false}return(dj&&dj.length)}function c3(dj,dn){if(!dn||dn>=dj.length){return[dj]}var dk=0;var dl=dj.length;var dm=[];for(dk;dk<dl;dk+=dn){dm.push(dj.slice(dk,dk+dn))}return dm}function df(dk,dj){if(!ck(dk)){return}if(!bB){cL.push(dk);return}cD(function(){var dn=c3(dk,50);var dl=0,dm;for(dl;dl<dn.length;dl++){dm='{"requests":["?'+dn[dl].join('","?')+'"]}';
if(cW&&a5(dm,null,false)){cg(100)}else{c4(dm,null,false)}}cg(dj)})}function aS(dj){return bj+dj+"."+b6+"."+bo}function bY(dl,dk,dj){de(dl,"",-86400,dk,dj)}function b5(){if(bl){return"0"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var dj=bj+"testcookie";de(dj,"1",undefined,bp,cX,bS);var dk=aC(dj)==="1"?"1":"0";bY(dj);return dk}function bh(){bo=b7((cX||cU)+(bp||"/")).slice(0,4)}function cI(){if(J(c8.res)){return c8}var dk,dm,dn={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dk in dn){if(Object.prototype.hasOwnProperty.call(dn,dk)){dm=g.mimeTypes[dn[dk]];c8[dk]=(dm&&dm.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&J(g.javaEnabled)&&g.javaEnabled()){c8.java="1"
}c8.cookie=b5()}var dl=parseInt(X.width,10);var dj=parseInt(X.height,10);c8.res=parseInt(dl,10)+"x"+parseInt(dj,10);return c8}function bX(){var dk=aS("cvar"),dj=aC(dk);if(dj&&dj.length){dj=S.JSON.parse(dj);if(V(dj)){return dj}}return{}}function cF(){if(aP===false){aP=bX()}}function cR(){var dj=cI();return b7((g.userAgent||"")+(g.platform||"")+S.JSON.stringify(dj)+(new Date()).getTime()+Math.random()).slice(0,16)}function aA(){var dj=cI();return b7((g.userAgent||"")+(g.platform||"")+S.JSON.stringify(dj)).slice(0,6)}function be(){return Math.floor((new Date()).getTime()/1000)}function aI(){var dk=be();var dl=aA();var dj=String(dk)+dl;return dj}function c2(dl){dl=String(dl);var dp=aA();var dm=dp.length;var dn=dl.substr(-1*dm,dm);var dk=parseInt(dl.substr(0,dl.length-dm),10);if(dk&&dn&&dn===dp){var dj=be();if(aY<=0){return true}if(dj>=dk&&dj<=(dk+aY)){return true}}return false}function dh(dj){if(!cN){return""}var dn=e(dj,av);if(!dn){return""}dn=String(dn);var dl=new RegExp("^[a-zA-Z0-9]+$");
-if(dn.length===32&&dl.test(dn)){var dk=dn.substr(16,32);if(c2(dk)){var dm=dn.substr(0,16);return dm}}return""}function cO(){if(!bO){bO=dh(bN)}var dl=new Date(),dj=Math.round(dl.getTime()/1000),dk=aS("id"),dp=aC(dk),dn,dm;if(dp){dn=dp.split(".");dn.unshift("0");if(bO.length){dn[1]=bO}return dn}if(bO.length){dm=bO}else{if("0"===b5()){dm=""}else{dm=cR()}}dn=["1",dm,dj,0,dj,"",""];return dn}function aX(){var dr=cO(),dm=dr[0],dn=dr[1],dk=dr[2],dj=dr[3],dp=dr[4],dl=dr[5];if(!J(dr[6])){dr[6]=""}var dq=dr[6];return{newVisitor:dm,uuid:dn,createTs:dk,visitCount:dj,currentVisitTs:dp,lastVisitTs:dl,lastEcommerceOrderTs:dq}}function aG(){var dm=new Date(),dk=dm.getTime(),dn=aX().createTs;var dj=parseInt(dn,10);var dl=(dj*1000)+cK-dk;return dl}function aL(dj){if(!b6){return}var dl=new Date(),dk=Math.round(dl.getTime()/1000);if(!J(dj)){dj=aX()}var dm=dj.uuid+"."+dj.createTs+"."+dj.visitCount+"."+dk+"."+dj.lastVisitTs+"."+dj.lastEcommerceOrderTs;de(aS("id"),dm,aG(),bp,cX,bS)}function bM(){var dj=aC(aS("ref"));
-if(dj.length){try{dj=S.JSON.parse(dj);if(V(dj)){return dj}}catch(dk){}}return["","",0,""]}function bw(dk){var dj="testvalue";de("test",dj,10000,null,dk);if(aC("test")===dj){bY("test",null,dk);return true}return false}function aE(){var dk=bl;bl=false;var dj,dl;for(dj=0;dj<bu.length;dj++){dl=aS(bu[dj]);if(dl!==cM&&dl!==bc&&0!==aC(dl)){bY(dl,bp,cX)}}bl=dk}function b3(dj){b6=dj;aL()}function di(dn){if(!dn||!V(dn)){return}var dm=[];var dl;for(dl in dn){if(Object.prototype.hasOwnProperty.call(dn,dl)){dm.push(dl)}}var dp={};dm.sort();var dj=dm.length;var dk;for(dk=0;dk<dj;dk++){dp[dm[dk]]=dn[dm[dk]]}return dp}function cd(){de(aS("ses"),"1",co,bp,cX,bS)}function bf(){var dm="";var dk="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dl=dk.length;var dj;for(dj=0;dj<6;dj++){dm+=dk.charAt(Math.floor(Math.random()*dl))}return dm}function az(dj){if(h&&h.timing&&h&&h.timing.connectEnd&&h.timing.fetchStart){dj+="&pf_net="+(h.timing.connectEnd-h.timing.fetchStart)}if(h&&h.timing&&h&&h.timing.responseStart&&h.timing.requestStart){dj+="&pf_srv="+(h.timing.responseStart-h.timing.requestStart)
-}if(h&&h.timing&&h&&h.timing.responseStart&&h.timing.responseEnd){dj+="&pf_tfr="+(h.timing.responseEnd-h.timing.responseStart)}if(h&&h.timing&&h&&h.timing.domInteractive&&h.timing.domLoading){dj+="&pf_dm1="+(h.timing.domInteractive-h.timing.domLoading)}if(h&&h.timing&&h&&h.timing.domComplete&&h.timing.domInteractive){dj+="&pf_dm2="+(h.timing.domComplete-h.timing.domInteractive)}if(h&&h.timing&&h&&h.timing.loadEventEnd&&h.timing.loadEventStart){dj+="&pf_onl="+(h.timing.loadEventEnd-h.timing.loadEventStart)}return dj}function cs(dl,dH,dI,dm){var dG,dk=new Date(),du=Math.round(dk.getTime()/1000),dr,dF,dn=1024,dO,dv,dD=aP,dp=aS("ses"),dB=aS("ref"),dy=aS("cvar"),dz=aC(dp),dE=bM(),dK=a3||bN,ds,dj;if(bl){aE()}if(cQ){return""}var dA=aX();if(!J(dm)){dm=""}var dx=G.characterSet||G.charset;if(!dx||dx.toLowerCase()==="utf-8"){dx=null}ds=dE[0];dj=dE[1];dr=dE[2];dF=dE[3];if(!dz){var dJ=co/1000;if(!dA.lastVisitTs||(du-dA.lastVisitTs)>dJ){dA.visitCount++;dA.lastVisitTs=dA.currentVisitTs}if(!bv||!ds.length){for(dG in cq){if(Object.prototype.hasOwnProperty.call(cq,dG)){ds=e(dK,cq[dG]);
-if(ds.length){break}}}for(dG in bG){if(Object.prototype.hasOwnProperty.call(bG,dG)){dj=e(dK,bG[dG]);if(dj.length){break}}}}dO=d(bn);dv=dF.length?d(dF):"";if(dO.length&&!aU(dO)&&(!bv||!dv.length||aU(dv))){dF=bn}if(dF.length||ds.length){dr=du;dE=[ds,dj,dr,b2(dF.slice(0,dn))];de(dB,S.JSON.stringify(dE),c5,bp,cX,bS)}}dl+="&idsite="+b6+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dk.getHours()+"&m="+dk.getMinutes()+"&s="+dk.getSeconds()+"&url="+s(b2(dK))+(bn.length?"&urlref="+s(b2(bn)):"")+((by&&by.length)?"&uid="+s(by):"")+"&_id="+dA.uuid+"&_idts="+dA.createTs+"&_idvc="+dA.visitCount+"&_idn="+dA.newVisitor+(ds.length?"&_rcn="+s(ds):"")+(dj.length?"&_rck="+s(dj):"")+"&_refts="+dr+"&_viewts="+dA.lastVisitTs+(String(dA.lastEcommerceOrderTs).length?"&_ects="+dA.lastEcommerceOrderTs:"")+(String(dF).length?"&_ref="+s(b2(dF.slice(0,dn))):"")+(dx?"&cs="+s(dx):"")+"&send_image=0";var dN=cI();for(dG in dN){if(Object.prototype.hasOwnProperty.call(dN,dG)){dl+="&"+dG+"="+dN[dG]}}var dM=[];if(dH){for(dG in dH){if(Object.prototype.hasOwnProperty.call(dH,dG)&&/^dimension\d+$/.test(dG)){var dq=dG.replace("dimension","");
-dM.push(parseInt(dq,10));dM.push(String(dq));dl+="&"+dG+"="+s(dH[dG]);delete dH[dG]}}}if(dH&&B(dH)){dH=null}for(dG in ct){if(Object.prototype.hasOwnProperty.call(ct,dG)){dl+="&"+dG+"="+s(ct[dG])}}for(dG in bm){if(Object.prototype.hasOwnProperty.call(bm,dG)){var dw=(-1===M(dM,dG));if(dw){dl+="&dimension"+dG+"="+s(bm[dG])}}}if(dH){dl+="&data="+s(S.JSON.stringify(dH))}else{if(ao){dl+="&data="+s(S.JSON.stringify(ao))}}function dt(dP,dQ){var dR=S.JSON.stringify(dP);if(dR.length>2){return"&"+dQ+"="+s(dR)}return""}var dL=di(bW);var dC=di(cm);dl+=dt(dL,"cvar");dl+=dt(dC,"e_cvar");if(aP){dl+=dt(aP,"_cvar");for(dG in dD){if(Object.prototype.hasOwnProperty.call(dD,dG)){if(aP[dG][0]===""||aP[dG][1]===""){delete aP[dG]}}}if(bQ){de(dy,S.JSON.stringify(aP),co,bp,cX,bS)}}if(a1&&bE&&!bg){dl=az(dl);bg=true}if(aK){dl+="&pv_id="+aK}dA.lastEcommerceOrderTs=J(dm)&&String(dm).length?dm:dA.lastEcommerceOrderTs;aL(dA);cd();dl+=ac(dI,{tracker:bI,request:dl});if(cZ.length){dl+="&"+cZ}if(A(cb)){dl=cb(dl)}return dl
-}bR=function a6(){var dj=new Date();dj=dj.getTime();if(!cY){return false}if((cY+(1000*c7))<=dj){return false}if(cY+a4<=dj){bI.ping();return true}return false};function bq(dm,dl,ds,dn,dj,dv){var dq="idgoal=0",dr,dk=new Date(),dt=[],du,dp=String(dm).length;if(dp){dq+="&ec_id="+s(dm);dr=Math.round(dk.getTime()/1000)}dq+="&revenue="+dl;if(String(ds).length){dq+="&ec_st="+ds}if(String(dn).length){dq+="&ec_tx="+dn}if(String(dj).length){dq+="&ec_sh="+dj}if(String(dv).length){dq+="&ec_dt="+dv}if(c0){for(du in c0){if(Object.prototype.hasOwnProperty.call(c0,du)){if(!J(c0[du][1])){c0[du][1]=""}if(!J(c0[du][2])){c0[du][2]=""}if(!J(c0[du][3])||String(c0[du][3]).length===0){c0[du][3]=0}if(!J(c0[du][4])||String(c0[du][4]).length===0){c0[du][4]=1}dt.push(c0[du])}}dq+="&ec_items="+s(S.JSON.stringify(dt))}dq=cs(dq,ao,"ecommerce",dr);bF(dq,bJ);if(dp){c0={}}}function bZ(dj,dn,dm,dl,dk,dp){if(String(dj).length&&J(dn)){bq(dj,dn,dm,dl,dk,dp)}}function bs(dj){if(J(dj)){bq("",dj,"","","","")}}function b0(dk,dm,dl){aK=bf();
-var dj=cs("action_name="+s(al(dk||bi)),dm,"log");if(!bg){dj=az(dj)}bF(dj,bJ,dl)}function aZ(dl,dk){var dm,dj="(^| )(piwik[_-]"+dk+"|matomo[_-]"+dk;if(dl){for(dm=0;dm<dl.length;dm++){dj+="|"+dl[dm]}}dj+=")( |$)";return new RegExp(dj)}function aT(dj){return(aD&&dj&&0===String(dj).indexOf(aD))}function cv(dn,dj,dp,dk){if(aT(dj)){return 0}var dm=aZ(bL,"download"),dl=aZ(a7,"link"),dq=new RegExp("\\.("+c6.join("|")+")([?&#]|$)","i");if(dl.test(dn)){return"link"}if(dk||dm.test(dn)||dq.test(dj)){return"download"}if(dp){return 0}return"link"}function au(dk){var dj;dj=dk.parentNode;while(dj!==null&&J(dj)){if(ae.isLinkElement(dk)){break}dk=dj;dj=dk.parentNode}return dk}function dc(dp){dp=au(dp);if(!ae.hasNodeAttribute(dp,"href")){return}if(!J(dp.href)){return}var dn=ae.getAttributeValueFromNode(dp,"href");var dk=dp.pathname||cl(dp.href);var dq=dp.hostname||d(dp.href);var dr=dq.toLowerCase();var dl=dp.href.replace(dq,dr);var dm=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");
-if(!dm.test(dl)){var dj=cv(dp.className,dl,ar(dr,dk),ae.hasNodeAttribute(dp,"download"));if(dj){return{type:dj,href:dl}}}}function aO(dj,dk,dl,dm){var dn=v.buildInteractionRequestParams(dj,dk,dl,dm);if(!dn){return}return cs(dn,null,"contentInteraction")}function ba(dj,dk){if(!dj||!dk){return false}var dl=v.findTargetNode(dj);if(v.shouldIgnoreInteraction(dl)){return false}dl=v.findTargetNodeNoDefault(dj);if(dl&&!U(dl,dk)){return false}return true}function cu(dl,dk,dn){if(!dl){return}var dj=v.findParentContentNode(dl);if(!dj){return}if(!ba(dj,dl)){return}var dm=v.buildContentBlock(dj);if(!dm){return}if(!dm.target&&dn){dm.target=dn}return v.buildInteractionRequestParams(dk,dm.name,dm.piece,dm.target)}function aV(dk){if(!ca||!ca.length){return false}var dj,dl;for(dj=0;dj<ca.length;dj++){dl=ca[dj];if(dl&&dl.name===dk.name&&dl.piece===dk.piece&&dl.target===dk.target){return true}}return false}function aW(dj){return function(dn){if(!dj){return}var dl=v.findParentContentNode(dj);var dk;if(dn){dk=dn.target||dn.srcElement
-}if(!dk){dk=dj}if(!ba(dl,dk)){return}if(!dl){return false}var dp=v.findTargetNode(dl);if(!dp||v.shouldIgnoreInteraction(dp)){return false}var dm=dc(dp);if(c9&&dm&&dm.type){return dm.type}return bI.trackContentInteractionNode(dk,"click")}}function b1(dl){if(!dl||!dl.length){return}var dj,dk;for(dj=0;dj<dl.length;dj++){dk=v.findTargetNode(dl[dj]);if(dk&&!dk.contentInteractionTrackingSetupDone){dk.contentInteractionTrackingSetupDone=true;an(dk,"click",aW(dk))}}}function bx(dl,dm){if(!dl||!dl.length){return[]}var dj,dk;for(dj=0;dj<dl.length;dj++){if(aV(dl[dj])){dl.splice(dj,1);dj--}else{ca.push(dl[dj])}}if(!dl||!dl.length){return[]}b1(dm);var dn=[];for(dj=0;dj<dl.length;dj++){dk=cs(v.buildImpressionRequestParams(dl[dj].name,dl[dj].piece,dl[dj].target),undefined,"contentImpressions");if(dk){dn.push(dk)}}return dn}function cA(dk){var dj=v.collectContent(dk);return bx(dj,dk)}function a8(dk){if(!dk||!dk.length){return[]}var dj;for(dj=0;dj<dk.length;dj++){if(!v.isNodeVisible(dk[dj])){dk.splice(dj,1);
-dj--}}if(!dk||!dk.length){return[]}return cA(dk)}function aF(dl,dj,dk){var dm=v.buildImpressionRequestParams(dl,dj,dk);return cs(dm,null,"contentImpression")}function db(dm,dk){if(!dm){return}var dj=v.findParentContentNode(dm);var dl=v.buildContentBlock(dj);if(!dl){return}if(!dk){dk="Unknown"}return aO(dk,dl.name,dl.piece,dl.target)}function cP(dk,dm,dj,dl){return"e_c="+s(dk)+"&e_a="+s(dm)+(J(dj)?"&e_n="+s(dj):"")+(J(dl)?"&e_v="+s(dl):"")}function at(dl,dn,dj,dm,dq,dp){if(!Y(dl)||!Y(dn)){ak("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var dk=cs(cP(dl,dn,dj,dm),dq,"event");bF(dk,bJ,dp)}function b8(dj,dm,dk,dn){var dl=cs("search="+s(dj)+(dm?"&search_cat="+s(dm):"")+(J(dk)?"&search_count="+dk:""),dn,"sitesearch");bF(dl,bJ)}function cT(dj,dn,dm,dl){var dk=cs("idgoal="+dj+(dn?"&revenue="+dn:""),dm,"goal");bF(dk,bJ,dl)}function c1(dm,dj,dr,dq,dl){var dp=dj+"="+s(b2(dm));var dk=cu(dl,"click",dm);if(dk){dp+="&"+dk}var dn=cs(dp,dr,"link");
-bF(dn,bJ,dq)}function bU(dk,dj){if(dk!==""){return dk+dj.charAt(0).toUpperCase()+dj.slice(1)}return dj}function ch(dp){var dn,dj,dm=["","webkit","ms","moz"],dl;if(!bd){for(dj=0;dj<dm.length;dj++){dl=dm[dj];if(Object.prototype.hasOwnProperty.call(G,bU(dl,"hidden"))){if(G[bU(dl,"visibilityState")]==="prerender"){dn=true}break}}}if(dn){an(G,dl+"visibilitychange",function dk(){G.removeEventListener(dl+"visibilitychange",dk,false);dp()});return}dp()}function br(){var dk=bI.getVisitorId();var dj=aI();return dk+dj}function cj(dj){if(!dj){return}if(!ae.hasNodeAttribute(dj,"href")){return}var dk=ae.getAttributeValueFromNode(dj,"href");if(!dk||aT(dk)){return}if(!bI.getVisitorId()){return}dk=j(dk,av);var dl=br();dk=F(dk,av,dl);ae.setAnyAttribute(dj,"href",dk)}function bk(dm){var dn=ae.getAttributeValueFromNode(dm,"href");if(!dn){return false}dn=String(dn);var dk=dn.indexOf("//")===0||dn.indexOf("http://")===0||dn.indexOf("https://")===0;if(!dk){return false}var dj=dm.pathname||cl(dm.href);var dl=(dm.hostname||d(dm.href)).toLowerCase();
-if(ar(dl,dj)){if(!cH(cU,L(dl))){return true}return false}return false}function cG(dj){var dk=dc(dj);if(dk&&dk.type){dk.href=o(dk.href);c1(dk.href,dk.type,undefined,null,dj);return}if(cN){dj=au(dj);if(bk(dj)){cj(dj)}}}function cw(){return G.all&&!G.addEventListener}function cV(dj){var dl=dj.which;var dk=(typeof dj.button);if(!dl&&dk!=="undefined"){if(cw()){if(dj.button&1){dl=1}else{if(dj.button&2){dl=3}else{if(dj.button&4){dl=2}}}}else{if(dj.button===0||dj.button==="0"){dl=1}else{if(dj.button&1){dl=2}else{if(dj.button&2){dl=3}}}}}return dl}function bT(dj){switch(cV(dj)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a0(dj){return dj.target||dj.srcElement}function aB(dj){return function(dm){dm=dm||S.event;var dl=bT(dm);var dn=a0(dm);if(dm.type==="click"){var dk=false;if(dj&&dl==="middle"){dk=true}if(dn&&!dk){cG(dn)}}else{if(dm.type==="mousedown"){if(dl==="middle"&&dn){aQ=dl;bA=dn}else{aQ=bA=null}}else{if(dm.type==="mouseup"){if(dl===aQ&&dn===bA){cG(dn)}aQ=bA=null
-}else{if(dm.type==="contextmenu"){cG(dn)}}}}}}function aq(dl,dk){var dj=typeof dk;if(dj==="undefined"){dk=true}an(dl,"click",aB(dk),false);if(dk){an(dl,"mouseup",aB(dk),false);an(dl,"mousedown",aB(dk),false);an(dl,"contextmenu",aB(dk),false)}}function bD(dl,dn){ap=true;var dm,dk=aZ(bz,"ignore"),dp=G.links,dj=null,dq=null;if(dp){for(dm=0;dm<dp.length;dm++){dj=dp[dm];if(!dk.test(dj.className)){dq=typeof dj.matomoTrackers;if("undefined"===dq){dj.matomoTrackers=[]}if(-1===M(dj.matomoTrackers,dn)){dj.matomoTrackers.push(dn);aq(dj,dl)}}}}}function aR(dk,dn,dp){if(cf){return true}cf=true;var dq=false;var dm,dl;function dj(){dq=true}m(function(){function dr(dt){setTimeout(function(){if(!cf){return}dq=false;dp.trackVisibleContentImpressions();dr(dt)},dt)}function ds(dt){setTimeout(function(){if(!cf){return}if(dq){dq=false;dp.trackVisibleContentImpressions()}ds(dt)},dt)}if(dk){dm=["scroll","resize"];for(dl=0;dl<dm.length;dl++){if(G.addEventListener){G.addEventListener(dm[dl],dj,false)}else{S.attachEvent("on"+dm[dl],dj)
-}}ds(100)}if(dn&&dn>0){dn=parseInt(dn,10);dr(dn)}})}var bC={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dj=this.requests;this.requests=[];if(dj.length===1){bF(dj[0],bJ)}else{df(dj,bJ)}},canQueue:function(){return !l&&this.enabled},pushMultiple:function(dk){if(!this.canQueue()){df(dk,bJ);return}var dj;for(dj=0;dj<dk.length;dj++){this.push(dk[dj])}},push:function(dj){if(!dj){return}if(!this.canQueue()){bF(dj,bJ);return}bC.requests.push(dj);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bC.timeout=null;bC.sendRequests()},bC.interval);var dk="RequestQueue"+aw;if(!Object.prototype.hasOwnProperty.call(b,dk)){b[dk]={unload:function(){if(bC.timeout){clearTimeout(bC.timeout)}bC.sendRequests()}}}}};bh();aL();this.hasConsent=function(){return bB};this.getVisitorId=function(){return aX().uuid};this.getVisitorInfo=function(){return cO()};this.getAttributionInfo=function(){return bM()};this.getAttributionCampaignName=function(){return bM()[0]
-};this.getAttributionCampaignKeyword=function(){return bM()[1]};this.getAttributionReferrerTimestamp=function(){return bM()[2]};this.getAttributionReferrerUrl=function(){return bM()[3]};this.setTrackerUrl=function(dj){aD=dj};this.getTrackerUrl=function(){return aD};this.getMatomoUrl=function(){return W(this.getTrackerUrl(),bH)};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dl,dk){if(!J(dl)||null===dl){dl=this.getTrackerUrl()}var dj=new P(dl,dk);I.push(dj);t.trigger("TrackerAdded",[this]);return dj};this.getSiteId=function(){return b6};this.setSiteId=function(dj){b3(dj)};this.resetUserId=function(){by=""};this.setUserId=function(dj){if(Y(dj)){by=dj}};this.getUserId=function(){return by};this.setCustomData=function(dj,dk){if(V(dj)){ao=dj}else{if(!ao){ao={}}ao[dj]=dk}};this.getCustomData=function(){return ao};this.setCustomRequestProcessing=function(dj){cb=dj};this.appendToTrackingUrl=function(dj){cZ=dj};this.getRequest=function(dj){return cs(dj)};this.addPlugin=function(dj,dk){b[dj]=dk
-};this.setCustomDimension=function(dj,dk){dj=parseInt(dj,10);if(dj>0){if(!J(dk)){dk=""}if(!w(dk)){dk=String(dk)}bm[dj]=dk}};this.getCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0&&Object.prototype.hasOwnProperty.call(bm,dj)){return bm[dj]}};this.deleteCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0){delete bm[dj]}};this.setCustomVariable=function(dk,dj,dn,dl){var dm;if(!J(dl)){dl="visit"}if(!J(dj)){return}if(!J(dn)){dn=""}if(dk>0){dj=!w(dj)?String(dj):dj;dn=!w(dn)?String(dn):dn;dm=[dj.slice(0,bt),dn.slice(0,bt)];if(dl==="visit"||dl===2){cF();aP[dk]=dm}else{if(dl==="page"||dl===3){bW[dk]=dm}else{if(dl==="event"){cm[dk]=dm}}}}};this.getCustomVariable=function(dk,dl){var dj;if(!J(dl)){dl="visit"}if(dl==="page"||dl===3){dj=bW[dk]}else{if(dl==="event"){dj=cm[dk]}else{if(dl==="visit"||dl===2){cF();dj=aP[dk]}}}if(!J(dj)||(dj&&dj[0]==="")){return false}return dj};this.deleteCustomVariable=function(dj,dk){if(this.getCustomVariable(dj,dk)){this.setCustomVariable(dj,"","",dk)}};this.deleteCustomVariables=function(dj){if(dj==="page"||dj===3){bW={}
-}else{if(dj==="event"){cm={}}else{if(dj==="visit"||dj===2){aP={}}}}};this.storeCustomVariablesInCookie=function(){bQ=true};this.setLinkTrackingTimer=function(dj){bJ=dj};this.getLinkTrackingTimer=function(){return bJ};this.setDownloadExtensions=function(dj){if(w(dj)){dj=dj.split("|")}c6=dj};this.addDownloadExtensions=function(dk){var dj;if(w(dk)){dk=dk.split("|")}for(dj=0;dj<dk.length;dj++){c6.push(dk[dj])}};this.removeDownloadExtensions=function(dl){var dk,dj=[];if(w(dl)){dl=dl.split("|")}for(dk=0;dk<c6.length;dk++){if(M(dl,c6[dk])===-1){dj.push(c6[dk])}}c6=dj};this.setDomains=function(dj){ax=w(dj)?[dj]:dj;var dn=false,dl=0,dk;for(dl;dl<ax.length;dl++){dk=String(ax[dl]);if(cH(cU,L(dk))){dn=true;break}var dm=cl(dk);if(dm&&dm!=="/"&&dm!=="/*"){dn=true;break}}if(!dn){ax.push(cU)}};this.enableCrossDomainLinking=function(){cN=true};this.disableCrossDomainLinking=function(){cN=false};this.isCrossDomainLinkingEnabled=function(){return cN};this.setCrossDomainLinkingTimeout=function(dj){aY=dj};this.getCrossDomainLinkingUrlParameter=function(){return s(av)+"="+s(br())
-};this.setIgnoreClasses=function(dj){bz=w(dj)?[dj]:dj};this.setRequestMethod=function(dj){da=dj||ci};this.setRequestContentType=function(dj){cx=dj||aH};this.setReferrerUrl=function(dj){bn=dj};this.setCustomUrl=function(dj){a3=bV(bN,dj)};this.getCurrentUrl=function(){return a3||bN};this.setDocumentTitle=function(dj){bi=dj};this.setAPIUrl=function(dj){bH=dj};this.setDownloadClasses=function(dj){bL=w(dj)?[dj]:dj};this.setLinkClasses=function(dj){a7=w(dj)?[dj]:dj};this.setCampaignNameKey=function(dj){cq=w(dj)?[dj]:dj};this.setCampaignKeywordKey=function(dj){bG=w(dj)?[dj]:dj};this.discardHashTag=function(dj){bP=dj};this.setCookieNamePrefix=function(dj){bj=dj;if(aP){aP=bX()}};this.setCookieDomain=function(dj){var dk=L(dj);if(bw(dk)){cX=dk;bh()}};this.getCookieDomain=function(){return cX};this.hasCookies=function(){return"1"===b5()};this.setSessionCookie=function(dl,dk,dj){if(!dl){throw new Error("Missing cookie name")}if(!J(dj)){dj=co}bu.push(dl);de(aS(dl),dk,dj,bp,cX)};this.getCookie=function(dk){var dj=aC(aS(dk));
-if(dj===0){return null}return dj};this.setCookiePath=function(dj){bp=dj;bh()};this.getCookiePath=function(dj){return bp};this.setVisitorCookieTimeout=function(dj){cK=dj*1000};this.setSessionCookieTimeout=function(dj){co=dj*1000};this.getSessionCookieTimeout=function(){return co};this.setReferralCookieTimeout=function(dj){c5=dj*1000};this.setConversionAttributionFirstReferrer=function(dj){bv=dj};this.setSecureCookie=function(dj){bS=dj};this.disableCookies=function(){bl=true;c8.cookie="0";if(b6){aE()}};this.deleteCookies=function(){aE()};this.setDoNotTrack=function(dk){var dj=g.doNotTrack||g.msDoNotTrack;cQ=dk&&(dj==="yes"||dj==="1");if(cQ){this.disableCookies()}};this.alwaysUseSendBeacon=function(){cW=true};this.disableAlwaysUseSendBeacon=function(){cW=false};this.addListener=function(dk,dj){aq(dk,dj)};this.enableLinkTracking=function(dk){c9=true;var dj=this;ch(function(){p(function(){bD(dk,dj)});m(function(){bD(dk,dj)})})};this.enableJSErrorTracking=function(){if(cS){return}cS=true;var dj=S.onerror;
-S.onerror=function(dp,dm,dl,dn,dk){ch(function(){var dq="JavaScript Errors";var dr=dm+":"+dl;if(dn){dr+=":"+dn}at(dq,dr,dp)});if(dj){return dj(dp,dm,dl,dn,dk)}return false}};this.disablePerformanceTracking=function(){a1=false};this.setVisitStandardLength=function(dj){dj=Math.max(dj,5);c7=dj};this.enableHeartBeatTimer=function(dj){dj=Math.max(dj,5);a4=(dj||15)*1000;if(cY!==null){dg()}};this.disableHeartBeatTimer=function(){bK();if(a4||aM){if(S.removeEventListener){S.removeEventListener("focus",a9);S.removeEventListener("blur",ay)}else{if(S.detachEvent){S.detachEvent("onfocus",a9);S.detachEvent("onblur",ay)}}}a4=null;aM=false};this.killFrame=function(){if(S.location!==S.top.location){S.top.location=S.location}};this.redirectFile=function(dj){if(S.location.protocol==="file:"){S.location=dj}};this.setCountPreRendered=function(dj){bd=dj};this.trackGoal=function(dj,dm,dl,dk){ch(function(){cT(dj,dm,dl,dk)})};this.trackLink=function(dk,dj,dm,dl){ch(function(){c1(dk,dj,dm,dl)})};this.getNumTrackedPageViews=function(){return cr
-};this.trackPageView=function(dj,dl,dk){ca=[];cL=[];if(N(b6)){ch(function(){Z(aD,bH,b6)})}else{ch(function(){cr++;b0(dj,dl,dk)})}};this.trackAllContentImpressions=function(){if(N(b6)){return}ch(function(){p(function(){var dj=v.findContentNodes();var dk=cA(dj);bC.pushMultiple(dk)})})};this.trackVisibleContentImpressions=function(dj,dk){if(N(b6)){return}if(!J(dj)){dj=true}if(!J(dk)){dk=750}aR(dj,dk,this);ch(function(){m(function(){var dl=v.findContentNodes();var dm=a8(dl);bC.pushMultiple(dm)})})};this.trackContentImpression=function(dl,dj,dk){if(N(b6)){return}dl=a(dl);dj=a(dj);dk=a(dk);if(!dl){return}dj=dj||"Unknown";ch(function(){var dm=aF(dl,dj,dk);bC.push(dm)})};this.trackContentImpressionsWithinNode=function(dj){if(N(b6)||!dj){return}ch(function(){if(cf){m(function(){var dk=v.findContentNodesWithinNode(dj);var dl=a8(dk);bC.pushMultiple(dl)})}else{p(function(){var dk=v.findContentNodesWithinNode(dj);var dl=cA(dk);bC.pushMultiple(dl)})}})};this.trackContentInteraction=function(dl,dm,dj,dk){if(N(b6)){return
-}dl=a(dl);dm=a(dm);dj=a(dj);dk=a(dk);if(!dl||!dm){return}dj=dj||"Unknown";ch(function(){var dn=aO(dl,dm,dj,dk);if(dn){bC.push(dn)}})};this.trackContentInteractionNode=function(dl,dk){if(N(b6)||!dl){return}var dj=null;ch(function(){dj=db(dl,dk);if(dj){bC.push(dj)}});return dj};this.logAllContentBlocksOnPage=function(){var dl=v.findContentNodes();var dj=v.collectContent(dl);var dk=typeof console;if(dk!=="undefined"&&console&&console.log){console.log(dj)}};this.trackEvent=function(dk,dm,dj,dl,dp,dn){ch(function(){at(dk,dm,dj,dl,dp,dn)})};this.trackSiteSearch=function(dj,dl,dk,dm){ca=[];ch(function(){b8(dj,dl,dk,dm)})};this.setEcommerceView=function(dn,dj,dl,dk){ct={};if(Y(dl)){dl=String(dl)}if(!J(dl)||dl===null||dl===false||!dl.length){dl=""}else{if(dl instanceof Array){dl=S.JSON.stringify(dl)}}var dm="_pkc";ct[dm]=dl;if(J(dk)&&dk!==null&&dk!==false&&String(dk).length){dm="_pkp";ct[dm]=dk}if(!Y(dn)&&!Y(dj)){return}if(Y(dn)){dm="_pks";ct[dm]=dn}if(!Y(dj)){dj=""}dm="_pkn";ct[dm]=dj};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(c0))
-};this.addEcommerceItem=function(dn,dj,dl,dk,dm){if(Y(dn)){c0[dn]=[String(dn),dj,dl,dk,dm]}};this.removeEcommerceItem=function(dj){if(Y(dj)){dj=String(dj);delete c0[dj]}};this.clearEcommerceCart=function(){c0={}};this.trackEcommerceOrder=function(dj,dn,dm,dl,dk,dp){bZ(dj,dn,dm,dl,dk,dp)};this.trackEcommerceCartUpdate=function(dj){bs(dj)};this.trackRequest=function(dk,dm,dl,dj){ch(function(){var dn=cs(dk,dm,dj);bF(dn,bJ,dl)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bC.enabled=false};this.setRequestQueueInterval=function(dj){if(dj<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bC.interval=dj};this.queueRequest=function(dj){ch(function(){var dk=cs(dj);bC.push(dk)})};this.isConsentRequired=function(){return cB};this.getRememberedConsent=function(){var dj=aC(bc);if(aC(cM)){if(dj){bY(bc,bp,cX)}return null}if(!dj||dj===0){return null}return dj};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()
-};this.requireConsent=function(){cB=true;bB=this.hasRememberedConsent();x++;b["CoreConsent"+x]={unload:function(){if(!bB){aE()}}}};this.setConsentGiven=function(){bB=true;bY(cM,bp,cX);var dk,dj;for(dk=0;dk<cL.length;dk++){dj=typeof cL[dk];if(dj==="string"){bF(cL[dk],bJ)}else{if(dj==="object"){df(cL[dk],bJ)}}}cL=[]};this.rememberConsentGiven=function(dk){if(dk){dk=dk*60*60*1000}else{dk=30*365*24*60*60*1000}this.setConsentGiven();var dj=new Date().getTime();de(bc,dj,dk,bp,cX,bS)};this.forgetConsentGiven=function(){var dj=30*365*24*60*60*1000;bY(bc,bp,cX);de(cM,new Date().getTime(),dj,bp,cX,bS);this.requireConsent()};this.isUserOptedOut=function(){return !bB};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=this.rememberConsentGiven;m(function(){setTimeout(function(){bE=true},0)});t.trigger("TrackerSetup",[this])}function H(){return{push:af}}function c(au,at){var av={};var aq,ar;for(aq=0;aq<at.length;aq++){var ao=at[aq];av[ao]=1;for(ar=0;ar<au.length;ar++){if(au[ar]&&au[ar][0]){var ap=au[ar][0];
-if(ao===ap){af(au[ar]);delete au[ar];if(av[ap]>1&&ap!=="addTracker"){ak("The method "+ap+' 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')}av[ap]++}}}}return au}var C=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","requireConsent","setConsentGiven"];function ad(aq,ap){var ao=new P(aq,ap);I.push(ao);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E])}}_paq=new H();t.trigger("TrackerAdded",[ao]);return ao}an(S,"beforeunload",ai,false);an(S,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);
-var at=t.getAsyncTrackers();for(ar=0;ar<at.length;ar++){ap=d(at[ar].getMatomoUrl());if(ap===ax){aw=at[ar];break}}if(!aw){return}var aq=null;try{aq=JSON.parse(au.data)}catch(av){return}if(!aq){return}function ao(aA){var aC=G.getElementsByTagName("iframe");for(ar=0;ar<aC.length;ar++){var aB=aC[ar];var ay=d(aB.src);if(aB.contentWindow&&J(aB.contentWindow.postMessage)&&ay===ax){var az=JSON.stringify(aA);aB.contentWindow.postMessage(az,"*")}}}if(J(aq.maq_initial_value)){ao({maq_opted_in:aq.maq_initial_value&&aw.hasConsent(),maq_url:aw.getMatomoUrl(),maq_optout_by_default:aw.isConsentRequired()})}else{if(J(aq.maq_opted_in)){at=t.getAsyncTrackers();for(ar=0;ar<at.length;ar++){aw=at[ar];if(aq.maq_opted_in){aw.rememberConsentGiven()}else{aw.forgetConsentGiven()}}ao({maq_confirm_opted_in:aw.hasConsent(),maq_url:aw.getMatomoUrl(),maq_optout_by_default:aw.isConsentRequired()})}}},false);Date.prototype.getTimeAlias=Date.prototype.getTime;t={initialized:false,JSON:S.JSON,DOM:{addEventListener:function(ar,aq,ap,ao){var at=typeof ao;
-if(at==="undefined"){ao=false}an(ar,aq,ap,ao)},onLoad:m,onReady:p,isNodeVisible:i,isOrWasNodeVisible:v.isNodeVisible},on:function(ap,ao){if(!y[ap]){y[ap]=[]}y[ap].push(ao)},off:function(aq,ap){if(!y[aq]){return}var ao=0;for(ao;ao<y[aq].length;ao++){if(y[aq][ao]===ap){y[aq].splice(ao,1)}}},trigger:function(aq,ar,ap){if(!y[aq]){return}var ao=0;for(ao;ao<y[aq].length;ao++){y[aq][ao].apply(ap||S,ar)}},addPlugin:function(ao,ap){b[ao]=ap},getTracker:function(ap,ao){if(!J(ao)){ao=this.getAsyncTracker().getSiteId()}if(!J(ap)){ap=this.getAsyncTracker().getTrackerUrl()}return new P(ap,ao)},getAsyncTrackers:function(){return I},addTracker:function(aq,ap){var ao;if(!I.length){ao=ad(aq,ap)}else{ao=I[0].addTracker(aq,ap)}return ao},getAsyncTracker:function(at,ar){var aq;if(I&&I.length&&I[0]){aq=I[0]}else{return ad(at,ar)}if(!ar&&!at){return aq}if((!J(ar)||null===ar)&&aq){ar=aq.getSiteId()}if((!J(at)||null===at)&&aq){at=aq.getTrackerUrl()}var ap,ao=0;for(ao;ao<I.length;ao++){ap=I[ao];if(ap&&String(ap.getSiteId())===String(ar)&&ap.getTrackerUrl()===at){return ap
-}}},retryMissedPluginCalls:function(){var ap=ah;ah=[];var ao=0;for(ao;ao<ap.length;ao++){af(ap[ao])}}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return t});define("matomo",[],function(){return t})}return t}())}
+if(dn.length===32&&dl.test(dn)){var dk=dn.substr(16,32);if(c2(dk)){var dm=dn.substr(0,16);return dm}}return""}function cO(){if(!bO){bO=dh(bN)}var dl=new Date(),dj=Math.round(dl.getTime()/1000),dk=aS("id"),dp=aC(dk),dn,dm;if(dp){dn=dp.split(".");dn.unshift("0");if(bO.length){dn[1]=bO}return dn}if(bO.length){dm=bO}else{if("0"===b5()){dm=""}else{dm=cR()}}dn=["1",dm,dj];return dn}function aX(){var dm=cO(),dk=dm[0],dl=dm[1],dj=dm[2];return{newVisitor:dk,uuid:dl,createTs:dj}}function aG(){var dm=new Date(),dk=dm.getTime(),dn=aX().createTs;var dj=parseInt(dn,10);var dl=(dj*1000)+cK-dk;return dl}function aL(dj){if(!b6){return}var dl=new Date(),dk=Math.round(dl.getTime()/1000);if(!J(dj)){dj=aX()}var dm=dj.uuid+"."+dj.createTs+".";de(aS("id"),dm,aG(),bp,cX,bS)}function bM(){var dj=aC(aS("ref"));if(dj.length){try{dj=S.JSON.parse(dj);if(V(dj)){return dj}}catch(dk){}}return["","",0,""]}function bw(dk){var dj="testvalue";de("test",dj,10000,null,dk);if(aC("test")===dj){bY("test",null,dk);return true}return false
+}function aE(){var dk=bl;bl=false;var dj,dl;for(dj=0;dj<bu.length;dj++){dl=aS(bu[dj]);if(dl!==cM&&dl!==bc&&0!==aC(dl)){bY(dl,bp,cX)}}bl=dk}function b3(dj){b6=dj;aL()}function di(dn){if(!dn||!V(dn)){return}var dm=[];var dl;for(dl in dn){if(Object.prototype.hasOwnProperty.call(dn,dl)){dm.push(dl)}}var dp={};dm.sort();var dj=dm.length;var dk;for(dk=0;dk<dj;dk++){dp[dm[dk]]=dn[dm[dk]]}return dp}function cd(){de(aS("ses"),"1",co,bp,cX,bS)}function bf(){var dm="";var dk="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dl=dk.length;var dj;for(dj=0;dj<6;dj++){dm+=dk.charAt(Math.floor(Math.random()*dl))}return dm}function az(dj){if(h&&h.timing&&h&&h.timing.connectEnd&&h.timing.fetchStart){dj+="&pf_net="+(h.timing.connectEnd-h.timing.fetchStart)}if(h&&h.timing&&h&&h.timing.responseStart&&h.timing.requestStart){dj+="&pf_srv="+(h.timing.responseStart-h.timing.requestStart)}if(h&&h.timing&&h&&h.timing.responseStart&&h.timing.responseEnd){dj+="&pf_tfr="+(h.timing.responseEnd-h.timing.responseStart)
+}if(h&&h.timing&&h&&h.timing.domInteractive&&h.timing.domLoading){dj+="&pf_dm1="+(h.timing.domInteractive-h.timing.domLoading)}if(h&&h.timing&&h&&h.timing.domComplete&&h.timing.domInteractive){dj+="&pf_dm2="+(h.timing.domComplete-h.timing.domInteractive)}if(h&&h.timing&&h&&h.timing.loadEventEnd&&h.timing.loadEventStart){dj+="&pf_onl="+(h.timing.loadEventEnd-h.timing.loadEventStart)}return dj}function cs(dl,dG,dH){var dF,dk=new Date(),dt=Math.round(dk.getTime()/1000),dq,dD,dm=1024,dM,du,dC=aP,dn=aS("ses"),dA=aS("ref"),dx=aS("cvar"),dy=aC(dn),dE=bM(),dI=a3||bN,dr,dj;if(bl){aE()}if(cQ){return""}var dz=aX();var dw=G.characterSet||G.charset;if(!dw||dw.toLowerCase()==="utf-8"){dw=null}dr=dE[0];dj=dE[1];dq=dE[2];dD=dE[3];if(!dy){if(!bv||!dr.length){for(dF in cq){if(Object.prototype.hasOwnProperty.call(cq,dF)){dr=e(dI,cq[dF]);if(dr.length){break}}}for(dF in bG){if(Object.prototype.hasOwnProperty.call(bG,dF)){dj=e(dI,bG[dF]);if(dj.length){break}}}}dM=d(bn);du=dD.length?d(dD):"";if(dM.length&&!aU(dM)&&(!bv||!du.length||aU(du))){dD=bn
+}if(dD.length||dr.length){dq=dt;dE=[dr,dj,dq,b2(dD.slice(0,dm))];de(dA,S.JSON.stringify(dE),c5,bp,cX,bS)}}dl+="&idsite="+b6+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dk.getHours()+"&m="+dk.getMinutes()+"&s="+dk.getSeconds()+"&url="+s(b2(dI))+(bn.length?"&urlref="+s(b2(bn)):"")+((by&&by.length)?"&uid="+s(by):"")+"&_id="+dz.uuid+"&_idn="+dz.newVisitor+(dr.length?"&_rcn="+s(dr):"")+(dj.length?"&_rck="+s(dj):"")+"&_refts="+dq+(String(dD).length?"&_ref="+s(b2(dD.slice(0,dm))):"")+(dw?"&cs="+s(dw):"")+"&send_image=0";var dL=cI();for(dF in dL){if(Object.prototype.hasOwnProperty.call(dL,dF)){dl+="&"+dF+"="+dL[dF]}}var dK=[];if(dG){for(dF in dG){if(Object.prototype.hasOwnProperty.call(dG,dF)&&/^dimension\d+$/.test(dF)){var dp=dF.replace("dimension","");dK.push(parseInt(dp,10));dK.push(String(dp));dl+="&"+dF+"="+s(dG[dF]);delete dG[dF]}}}if(dG&&B(dG)){dG=null}for(dF in ct){if(Object.prototype.hasOwnProperty.call(ct,dF)){dl+="&"+dF+"="+s(ct[dF])}}for(dF in bm){if(Object.prototype.hasOwnProperty.call(bm,dF)){var dv=(-1===M(dK,dF));
+if(dv){dl+="&dimension"+dF+"="+s(bm[dF])}}}if(dG){dl+="&data="+s(S.JSON.stringify(dG))}else{if(ao){dl+="&data="+s(S.JSON.stringify(ao))}}function ds(dN,dO){var dP=S.JSON.stringify(dN);if(dP.length>2){return"&"+dO+"="+s(dP)}return""}var dJ=di(bW);var dB=di(cm);dl+=ds(dJ,"cvar");dl+=ds(dB,"e_cvar");if(aP){dl+=ds(aP,"_cvar");for(dF in dC){if(Object.prototype.hasOwnProperty.call(dC,dF)){if(aP[dF][0]===""||aP[dF][1]===""){delete aP[dF]}}}if(bQ){de(dx,S.JSON.stringify(aP),co,bp,cX,bS)}}if(a1&&bE&&!bg){dl=az(dl);bg=true}if(aK){dl+="&pv_id="+aK}aL(dz);cd();dl+=ac(dH,{tracker:bI,request:dl});if(cZ.length){dl+="&"+cZ}if(A(cb)){dl=cb(dl)}return dl}bR=function a6(){var dj=new Date();dj=dj.getTime();if(!cY){return false}if((cY+(1000*c7))<=dj){return false}if(cY+a4<=dj){bI.ping();return true}return false};function bq(dm,dl,dr,dn,dj,du){var dq="idgoal=0",dk=new Date(),ds=[],dt,dp=String(dm).length;if(dp){dq+="&ec_id="+s(dm)}dq+="&revenue="+dl;if(String(dr).length){dq+="&ec_st="+dr}if(String(dn).length){dq+="&ec_tx="+dn
+}if(String(dj).length){dq+="&ec_sh="+dj}if(String(du).length){dq+="&ec_dt="+du}if(c0){for(dt in c0){if(Object.prototype.hasOwnProperty.call(c0,dt)){if(!J(c0[dt][1])){c0[dt][1]=""}if(!J(c0[dt][2])){c0[dt][2]=""}if(!J(c0[dt][3])||String(c0[dt][3]).length===0){c0[dt][3]=0}if(!J(c0[dt][4])||String(c0[dt][4]).length===0){c0[dt][4]=1}ds.push(c0[dt])}}dq+="&ec_items="+s(S.JSON.stringify(ds))}dq=cs(dq,ao,"ecommerce");bF(dq,bJ);if(dp){c0={}}}function bZ(dj,dn,dm,dl,dk,dp){if(String(dj).length&&J(dn)){bq(dj,dn,dm,dl,dk,dp)}}function bs(dj){if(J(dj)){bq("",dj,"","","","")}}function b0(dk,dm,dl){aK=bf();var dj=cs("action_name="+s(al(dk||bi)),dm,"log");if(!bg){dj=az(dj)}bF(dj,bJ,dl)}function aZ(dl,dk){var dm,dj="(^| )(piwik[_-]"+dk+"|matomo[_-]"+dk;if(dl){for(dm=0;dm<dl.length;dm++){dj+="|"+dl[dm]}}dj+=")( |$)";return new RegExp(dj)}function aT(dj){return(aD&&dj&&0===String(dj).indexOf(aD))}function cv(dn,dj,dp,dk){if(aT(dj)){return 0}var dm=aZ(bL,"download"),dl=aZ(a7,"link"),dq=new RegExp("\\.("+c6.join("|")+")([?&#]|$)","i");
+if(dl.test(dn)){return"link"}if(dk||dm.test(dn)||dq.test(dj)){return"download"}if(dp){return 0}return"link"}function au(dk){var dj;dj=dk.parentNode;while(dj!==null&&J(dj)){if(ae.isLinkElement(dk)){break}dk=dj;dj=dk.parentNode}return dk}function dc(dp){dp=au(dp);if(!ae.hasNodeAttribute(dp,"href")){return}if(!J(dp.href)){return}var dn=ae.getAttributeValueFromNode(dp,"href");var dk=dp.pathname||cl(dp.href);var dq=dp.hostname||d(dp.href);var dr=dq.toLowerCase();var dl=dp.href.replace(dq,dr);var dm=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!dm.test(dl)){var dj=cv(dp.className,dl,ar(dr,dk),ae.hasNodeAttribute(dp,"download"));if(dj){return{type:dj,href:dl}}}}function aO(dj,dk,dl,dm){var dn=v.buildInteractionRequestParams(dj,dk,dl,dm);if(!dn){return}return cs(dn,null,"contentInteraction")}function ba(dj,dk){if(!dj||!dk){return false}var dl=v.findTargetNode(dj);if(v.shouldIgnoreInteraction(dl)){return false}dl=v.findTargetNodeNoDefault(dj);if(dl&&!U(dl,dk)){return false
+}return true}function cu(dl,dk,dn){if(!dl){return}var dj=v.findParentContentNode(dl);if(!dj){return}if(!ba(dj,dl)){return}var dm=v.buildContentBlock(dj);if(!dm){return}if(!dm.target&&dn){dm.target=dn}return v.buildInteractionRequestParams(dk,dm.name,dm.piece,dm.target)}function aV(dk){if(!ca||!ca.length){return false}var dj,dl;for(dj=0;dj<ca.length;dj++){dl=ca[dj];if(dl&&dl.name===dk.name&&dl.piece===dk.piece&&dl.target===dk.target){return true}}return false}function aW(dj){return function(dn){if(!dj){return}var dl=v.findParentContentNode(dj);var dk;if(dn){dk=dn.target||dn.srcElement}if(!dk){dk=dj}if(!ba(dl,dk)){return}if(!dl){return false}var dp=v.findTargetNode(dl);if(!dp||v.shouldIgnoreInteraction(dp)){return false}var dm=dc(dp);if(c9&&dm&&dm.type){return dm.type}return bI.trackContentInteractionNode(dk,"click")}}function b1(dl){if(!dl||!dl.length){return}var dj,dk;for(dj=0;dj<dl.length;dj++){dk=v.findTargetNode(dl[dj]);if(dk&&!dk.contentInteractionTrackingSetupDone){dk.contentInteractionTrackingSetupDone=true;
+an(dk,"click",aW(dk))}}}function bx(dl,dm){if(!dl||!dl.length){return[]}var dj,dk;for(dj=0;dj<dl.length;dj++){if(aV(dl[dj])){dl.splice(dj,1);dj--}else{ca.push(dl[dj])}}if(!dl||!dl.length){return[]}b1(dm);var dn=[];for(dj=0;dj<dl.length;dj++){dk=cs(v.buildImpressionRequestParams(dl[dj].name,dl[dj].piece,dl[dj].target),undefined,"contentImpressions");if(dk){dn.push(dk)}}return dn}function cA(dk){var dj=v.collectContent(dk);return bx(dj,dk)}function a8(dk){if(!dk||!dk.length){return[]}var dj;for(dj=0;dj<dk.length;dj++){if(!v.isNodeVisible(dk[dj])){dk.splice(dj,1);dj--}}if(!dk||!dk.length){return[]}return cA(dk)}function aF(dl,dj,dk){var dm=v.buildImpressionRequestParams(dl,dj,dk);return cs(dm,null,"contentImpression")}function db(dm,dk){if(!dm){return}var dj=v.findParentContentNode(dm);var dl=v.buildContentBlock(dj);if(!dl){return}if(!dk){dk="Unknown"}return aO(dk,dl.name,dl.piece,dl.target)}function cP(dk,dm,dj,dl){return"e_c="+s(dk)+"&e_a="+s(dm)+(J(dj)?"&e_n="+s(dj):"")+(J(dl)?"&e_v="+s(dl):"")
+}function at(dl,dn,dj,dm,dq,dp){if(!Y(dl)||!Y(dn)){ak("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var dk=cs(cP(dl,dn,dj,dm),dq,"event");bF(dk,bJ,dp)}function b8(dj,dm,dk,dn){var dl=cs("search="+s(dj)+(dm?"&search_cat="+s(dm):"")+(J(dk)?"&search_count="+dk:""),dn,"sitesearch");bF(dl,bJ)}function cT(dj,dn,dm,dl){var dk=cs("idgoal="+dj+(dn?"&revenue="+dn:""),dm,"goal");bF(dk,bJ,dl)}function c1(dm,dj,dr,dq,dl){var dp=dj+"="+s(b2(dm));var dk=cu(dl,"click",dm);if(dk){dp+="&"+dk}var dn=cs(dp,dr,"link");bF(dn,bJ,dq)}function bU(dk,dj){if(dk!==""){return dk+dj.charAt(0).toUpperCase()+dj.slice(1)}return dj}function ch(dp){var dn,dj,dm=["","webkit","ms","moz"],dl;if(!bd){for(dj=0;dj<dm.length;dj++){dl=dm[dj];if(Object.prototype.hasOwnProperty.call(G,bU(dl,"hidden"))){if(G[bU(dl,"visibilityState")]==="prerender"){dn=true}break}}}if(dn){an(G,dl+"visibilitychange",function dk(){G.removeEventListener(dl+"visibilitychange",dk,false);
+dp()});return}dp()}function br(){var dk=bI.getVisitorId();var dj=aI();return dk+dj}function cj(dj){if(!dj){return}if(!ae.hasNodeAttribute(dj,"href")){return}var dk=ae.getAttributeValueFromNode(dj,"href");if(!dk||aT(dk)){return}if(!bI.getVisitorId()){return}dk=j(dk,av);var dl=br();dk=F(dk,av,dl);ae.setAnyAttribute(dj,"href",dk)}function bk(dm){var dn=ae.getAttributeValueFromNode(dm,"href");if(!dn){return false}dn=String(dn);var dk=dn.indexOf("//")===0||dn.indexOf("http://")===0||dn.indexOf("https://")===0;if(!dk){return false}var dj=dm.pathname||cl(dm.href);var dl=(dm.hostname||d(dm.href)).toLowerCase();if(ar(dl,dj)){if(!cH(cU,L(dl))){return true}return false}return false}function cG(dj){var dk=dc(dj);if(dk&&dk.type){dk.href=o(dk.href);c1(dk.href,dk.type,undefined,null,dj);return}if(cN){dj=au(dj);if(bk(dj)){cj(dj)}}}function cw(){return G.all&&!G.addEventListener}function cV(dj){var dl=dj.which;var dk=(typeof dj.button);if(!dl&&dk!=="undefined"){if(cw()){if(dj.button&1){dl=1}else{if(dj.button&2){dl=3
+}else{if(dj.button&4){dl=2}}}}else{if(dj.button===0||dj.button==="0"){dl=1}else{if(dj.button&1){dl=2}else{if(dj.button&2){dl=3}}}}}return dl}function bT(dj){switch(cV(dj)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a0(dj){return dj.target||dj.srcElement}function aB(dj){return function(dm){dm=dm||S.event;var dl=bT(dm);var dn=a0(dm);if(dm.type==="click"){var dk=false;if(dj&&dl==="middle"){dk=true}if(dn&&!dk){cG(dn)}}else{if(dm.type==="mousedown"){if(dl==="middle"&&dn){aQ=dl;bA=dn}else{aQ=bA=null}}else{if(dm.type==="mouseup"){if(dl===aQ&&dn===bA){cG(dn)}aQ=bA=null}else{if(dm.type==="contextmenu"){cG(dn)}}}}}}function aq(dl,dk){var dj=typeof dk;if(dj==="undefined"){dk=true}an(dl,"click",aB(dk),false);if(dk){an(dl,"mouseup",aB(dk),false);an(dl,"mousedown",aB(dk),false);an(dl,"contextmenu",aB(dk),false)}}function bD(dl,dn){ap=true;var dm,dk=aZ(bz,"ignore"),dp=G.links,dj=null,dq=null;if(dp){for(dm=0;dm<dp.length;dm++){dj=dp[dm];if(!dk.test(dj.className)){dq=typeof dj.matomoTrackers;
+if("undefined"===dq){dj.matomoTrackers=[]}if(-1===M(dj.matomoTrackers,dn)){dj.matomoTrackers.push(dn);aq(dj,dl)}}}}}function aR(dk,dn,dp){if(cf){return true}cf=true;var dq=false;var dm,dl;function dj(){dq=true}m(function(){function dr(dt){setTimeout(function(){if(!cf){return}dq=false;dp.trackVisibleContentImpressions();dr(dt)},dt)}function ds(dt){setTimeout(function(){if(!cf){return}if(dq){dq=false;dp.trackVisibleContentImpressions()}ds(dt)},dt)}if(dk){dm=["scroll","resize"];for(dl=0;dl<dm.length;dl++){if(G.addEventListener){G.addEventListener(dm[dl],dj,false)}else{S.attachEvent("on"+dm[dl],dj)}}ds(100)}if(dn&&dn>0){dn=parseInt(dn,10);dr(dn)}})}var bC={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dj=this.requests;this.requests=[];if(dj.length===1){bF(dj[0],bJ)}else{df(dj,bJ)}},canQueue:function(){return !l&&this.enabled},pushMultiple:function(dk){if(!this.canQueue()){df(dk,bJ);return}var dj;for(dj=0;dj<dk.length;dj++){this.push(dk[dj])}},push:function(dj){if(!dj){return
+}if(!this.canQueue()){bF(dj,bJ);return}bC.requests.push(dj);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bC.timeout=null;bC.sendRequests()},bC.interval);var dk="RequestQueue"+aw;if(!Object.prototype.hasOwnProperty.call(b,dk)){b[dk]={unload:function(){if(bC.timeout){clearTimeout(bC.timeout)}bC.sendRequests()}}}}};bh();aL();this.hasConsent=function(){return bB};this.getVisitorId=function(){return aX().uuid};this.getVisitorInfo=function(){return cO()};this.getAttributionInfo=function(){return bM()};this.getAttributionCampaignName=function(){return bM()[0]};this.getAttributionCampaignKeyword=function(){return bM()[1]};this.getAttributionReferrerTimestamp=function(){return bM()[2]};this.getAttributionReferrerUrl=function(){return bM()[3]};this.setTrackerUrl=function(dj){aD=dj};this.getTrackerUrl=function(){return aD};this.getMatomoUrl=function(){return W(this.getTrackerUrl(),bH)};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dl,dk){if(!J(dl)||null===dl){dl=this.getTrackerUrl()
+}var dj=new P(dl,dk);I.push(dj);t.trigger("TrackerAdded",[this]);return dj};this.getSiteId=function(){return b6};this.setSiteId=function(dj){b3(dj)};this.resetUserId=function(){by=""};this.setUserId=function(dj){if(Y(dj)){by=dj}};this.getUserId=function(){return by};this.setCustomData=function(dj,dk){if(V(dj)){ao=dj}else{if(!ao){ao={}}ao[dj]=dk}};this.getCustomData=function(){return ao};this.setCustomRequestProcessing=function(dj){cb=dj};this.appendToTrackingUrl=function(dj){cZ=dj};this.getRequest=function(dj){return cs(dj)};this.addPlugin=function(dj,dk){b[dj]=dk};this.setCustomDimension=function(dj,dk){dj=parseInt(dj,10);if(dj>0){if(!J(dk)){dk=""}if(!w(dk)){dk=String(dk)}bm[dj]=dk}};this.getCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0&&Object.prototype.hasOwnProperty.call(bm,dj)){return bm[dj]}};this.deleteCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0){delete bm[dj]}};this.setCustomVariable=function(dk,dj,dn,dl){var dm;if(!J(dl)){dl="visit"}if(!J(dj)){return}if(!J(dn)){dn=""
+}if(dk>0){dj=!w(dj)?String(dj):dj;dn=!w(dn)?String(dn):dn;dm=[dj.slice(0,bt),dn.slice(0,bt)];if(dl==="visit"||dl===2){cF();aP[dk]=dm}else{if(dl==="page"||dl===3){bW[dk]=dm}else{if(dl==="event"){cm[dk]=dm}}}}};this.getCustomVariable=function(dk,dl){var dj;if(!J(dl)){dl="visit"}if(dl==="page"||dl===3){dj=bW[dk]}else{if(dl==="event"){dj=cm[dk]}else{if(dl==="visit"||dl===2){cF();dj=aP[dk]}}}if(!J(dj)||(dj&&dj[0]==="")){return false}return dj};this.deleteCustomVariable=function(dj,dk){if(this.getCustomVariable(dj,dk)){this.setCustomVariable(dj,"","",dk)}};this.deleteCustomVariables=function(dj){if(dj==="page"||dj===3){bW={}}else{if(dj==="event"){cm={}}else{if(dj==="visit"||dj===2){aP={}}}}};this.storeCustomVariablesInCookie=function(){bQ=true};this.setLinkTrackingTimer=function(dj){bJ=dj};this.getLinkTrackingTimer=function(){return bJ};this.setDownloadExtensions=function(dj){if(w(dj)){dj=dj.split("|")}c6=dj};this.addDownloadExtensions=function(dk){var dj;if(w(dk)){dk=dk.split("|")}for(dj=0;dj<dk.length;
+dj++){c6.push(dk[dj])}};this.removeDownloadExtensions=function(dl){var dk,dj=[];if(w(dl)){dl=dl.split("|")}for(dk=0;dk<c6.length;dk++){if(M(dl,c6[dk])===-1){dj.push(c6[dk])}}c6=dj};this.setDomains=function(dj){ax=w(dj)?[dj]:dj;var dn=false,dl=0,dk;for(dl;dl<ax.length;dl++){dk=String(ax[dl]);if(cH(cU,L(dk))){dn=true;break}var dm=cl(dk);if(dm&&dm!=="/"&&dm!=="/*"){dn=true;break}}if(!dn){ax.push(cU)}};this.enableCrossDomainLinking=function(){cN=true};this.disableCrossDomainLinking=function(){cN=false};this.isCrossDomainLinkingEnabled=function(){return cN};this.setCrossDomainLinkingTimeout=function(dj){aY=dj};this.getCrossDomainLinkingUrlParameter=function(){return s(av)+"="+s(br())};this.setIgnoreClasses=function(dj){bz=w(dj)?[dj]:dj};this.setRequestMethod=function(dj){da=dj||ci};this.setRequestContentType=function(dj){cx=dj||aH};this.setReferrerUrl=function(dj){bn=dj};this.setCustomUrl=function(dj){a3=bV(bN,dj)};this.getCurrentUrl=function(){return a3||bN};this.setDocumentTitle=function(dj){bi=dj
+};this.setAPIUrl=function(dj){bH=dj};this.setDownloadClasses=function(dj){bL=w(dj)?[dj]:dj};this.setLinkClasses=function(dj){a7=w(dj)?[dj]:dj};this.setCampaignNameKey=function(dj){cq=w(dj)?[dj]:dj};this.setCampaignKeywordKey=function(dj){bG=w(dj)?[dj]:dj};this.discardHashTag=function(dj){bP=dj};this.setCookieNamePrefix=function(dj){bj=dj;if(aP){aP=bX()}};this.setCookieDomain=function(dj){var dk=L(dj);if(bw(dk)){cX=dk;bh()}};this.getCookieDomain=function(){return cX};this.hasCookies=function(){return"1"===b5()};this.setSessionCookie=function(dl,dk,dj){if(!dl){throw new Error("Missing cookie name")}if(!J(dj)){dj=co}bu.push(dl);de(aS(dl),dk,dj,bp,cX)};this.getCookie=function(dk){var dj=aC(aS(dk));if(dj===0){return null}return dj};this.setCookiePath=function(dj){bp=dj;bh()};this.getCookiePath=function(dj){return bp};this.setVisitorCookieTimeout=function(dj){cK=dj*1000};this.setSessionCookieTimeout=function(dj){co=dj*1000};this.getSessionCookieTimeout=function(){return co};this.setReferralCookieTimeout=function(dj){c5=dj*1000
+};this.setConversionAttributionFirstReferrer=function(dj){bv=dj};this.setSecureCookie=function(dj){bS=dj};this.disableCookies=function(){bl=true;c8.cookie="0";if(b6){aE()}};this.deleteCookies=function(){aE()};this.setDoNotTrack=function(dk){var dj=g.doNotTrack||g.msDoNotTrack;cQ=dk&&(dj==="yes"||dj==="1");if(cQ){this.disableCookies()}};this.alwaysUseSendBeacon=function(){cW=true};this.disableAlwaysUseSendBeacon=function(){cW=false};this.addListener=function(dk,dj){aq(dk,dj)};this.enableLinkTracking=function(dk){c9=true;var dj=this;ch(function(){p(function(){bD(dk,dj)});m(function(){bD(dk,dj)})})};this.enableJSErrorTracking=function(){if(cS){return}cS=true;var dj=S.onerror;S.onerror=function(dp,dm,dl,dn,dk){ch(function(){var dq="JavaScript Errors";var dr=dm+":"+dl;if(dn){dr+=":"+dn}at(dq,dr,dp)});if(dj){return dj(dp,dm,dl,dn,dk)}return false}};this.disablePerformanceTracking=function(){a1=false};this.setVisitStandardLength=function(dj){dj=Math.max(dj,5);c7=dj};this.enableHeartBeatTimer=function(dj){dj=Math.max(dj,5);
+a4=(dj||15)*1000;if(cY!==null){dg()}};this.disableHeartBeatTimer=function(){bK();if(a4||aM){if(S.removeEventListener){S.removeEventListener("focus",a9);S.removeEventListener("blur",ay)}else{if(S.detachEvent){S.detachEvent("onfocus",a9);S.detachEvent("onblur",ay)}}}a4=null;aM=false};this.killFrame=function(){if(S.location!==S.top.location){S.top.location=S.location}};this.redirectFile=function(dj){if(S.location.protocol==="file:"){S.location=dj}};this.setCountPreRendered=function(dj){bd=dj};this.trackGoal=function(dj,dm,dl,dk){ch(function(){cT(dj,dm,dl,dk)})};this.trackLink=function(dk,dj,dm,dl){ch(function(){c1(dk,dj,dm,dl)})};this.getNumTrackedPageViews=function(){return cr};this.trackPageView=function(dj,dl,dk){ca=[];cL=[];if(N(b6)){ch(function(){Z(aD,bH,b6)})}else{ch(function(){cr++;b0(dj,dl,dk)})}};this.trackAllContentImpressions=function(){if(N(b6)){return}ch(function(){p(function(){var dj=v.findContentNodes();var dk=cA(dj);bC.pushMultiple(dk)})})};this.trackVisibleContentImpressions=function(dj,dk){if(N(b6)){return
+}if(!J(dj)){dj=true}if(!J(dk)){dk=750}aR(dj,dk,this);ch(function(){m(function(){var dl=v.findContentNodes();var dm=a8(dl);bC.pushMultiple(dm)})})};this.trackContentImpression=function(dl,dj,dk){if(N(b6)){return}dl=a(dl);dj=a(dj);dk=a(dk);if(!dl){return}dj=dj||"Unknown";ch(function(){var dm=aF(dl,dj,dk);bC.push(dm)})};this.trackContentImpressionsWithinNode=function(dj){if(N(b6)||!dj){return}ch(function(){if(cf){m(function(){var dk=v.findContentNodesWithinNode(dj);var dl=a8(dk);bC.pushMultiple(dl)})}else{p(function(){var dk=v.findContentNodesWithinNode(dj);var dl=cA(dk);bC.pushMultiple(dl)})}})};this.trackContentInteraction=function(dl,dm,dj,dk){if(N(b6)){return}dl=a(dl);dm=a(dm);dj=a(dj);dk=a(dk);if(!dl||!dm){return}dj=dj||"Unknown";ch(function(){var dn=aO(dl,dm,dj,dk);if(dn){bC.push(dn)}})};this.trackContentInteractionNode=function(dl,dk){if(N(b6)||!dl){return}var dj=null;ch(function(){dj=db(dl,dk);if(dj){bC.push(dj)}});return dj};this.logAllContentBlocksOnPage=function(){var dl=v.findContentNodes();
+var dj=v.collectContent(dl);var dk=typeof console;if(dk!=="undefined"&&console&&console.log){console.log(dj)}};this.trackEvent=function(dk,dm,dj,dl,dp,dn){ch(function(){at(dk,dm,dj,dl,dp,dn)})};this.trackSiteSearch=function(dj,dl,dk,dm){ca=[];ch(function(){b8(dj,dl,dk,dm)})};this.setEcommerceView=function(dn,dj,dl,dk){ct={};if(Y(dl)){dl=String(dl)}if(!J(dl)||dl===null||dl===false||!dl.length){dl=""}else{if(dl instanceof Array){dl=S.JSON.stringify(dl)}}var dm="_pkc";ct[dm]=dl;if(J(dk)&&dk!==null&&dk!==false&&String(dk).length){dm="_pkp";ct[dm]=dk}if(!Y(dn)&&!Y(dj)){return}if(Y(dn)){dm="_pks";ct[dm]=dn}if(!Y(dj)){dj=""}dm="_pkn";ct[dm]=dj};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(c0))};this.addEcommerceItem=function(dn,dj,dl,dk,dm){if(Y(dn)){c0[dn]=[String(dn),dj,dl,dk,dm]}};this.removeEcommerceItem=function(dj){if(Y(dj)){dj=String(dj);delete c0[dj]}};this.clearEcommerceCart=function(){c0={}};this.trackEcommerceOrder=function(dj,dn,dm,dl,dk,dp){bZ(dj,dn,dm,dl,dk,dp)
+};this.trackEcommerceCartUpdate=function(dj){bs(dj)};this.trackRequest=function(dk,dm,dl,dj){ch(function(){var dn=cs(dk,dm,dj);bF(dn,bJ,dl)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bC.enabled=false};this.setRequestQueueInterval=function(dj){if(dj<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bC.interval=dj};this.queueRequest=function(dj){ch(function(){var dk=cs(dj);bC.push(dk)})};this.isConsentRequired=function(){return cB};this.getRememberedConsent=function(){var dj=aC(bc);if(aC(cM)){if(dj){bY(bc,bp,cX)}return null}if(!dj||dj===0){return null}return dj};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()};this.requireConsent=function(){cB=true;bB=this.hasRememberedConsent();x++;b["CoreConsent"+x]={unload:function(){if(!bB){aE()}}}};this.setConsentGiven=function(){bB=true;bY(cM,bp,cX);var dk,dj;for(dk=0;dk<cL.length;dk++){dj=typeof cL[dk];if(dj==="string"){bF(cL[dk],bJ)}else{if(dj==="object"){df(cL[dk],bJ)
+}}}cL=[]};this.rememberConsentGiven=function(dk){if(dk){dk=dk*60*60*1000}else{dk=30*365*24*60*60*1000}this.setConsentGiven();var dj=new Date().getTime();de(bc,dj,dk,bp,cX,bS)};this.forgetConsentGiven=function(){var dj=30*365*24*60*60*1000;bY(bc,bp,cX);de(cM,new Date().getTime(),dj,bp,cX,bS);this.requireConsent()};this.isUserOptedOut=function(){return !bB};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=this.rememberConsentGiven;m(function(){setTimeout(function(){bE=true},0)});t.trigger("TrackerSetup",[this])}function H(){return{push:af}}function c(au,at){var av={};var aq,ar;for(aq=0;aq<at.length;aq++){var ao=at[aq];av[ao]=1;for(ar=0;ar<au.length;ar++){if(au[ar]&&au[ar][0]){var ap=au[ar][0];if(ao===ap){af(au[ar]);delete au[ar];if(av[ap]>1&&ap!=="addTracker"){ak("The method "+ap+' 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')
+}av[ap]++}}}}return au}var C=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","requireConsent","setConsentGiven"];function ad(aq,ap){var ao=new P(aq,ap);I.push(ao);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E])}}_paq=new H();t.trigger("TrackerAdded",[ao]);return ao}an(S,"beforeunload",ai,false);an(S,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=t.getAsyncTrackers();for(ar=0;ar<at.length;ar++){ap=d(at[ar].getMatomoUrl());if(ap===ax){aw=at[ar];break}}if(!aw){return}var aq=null;try{aq=JSON.parse(au.data)}catch(av){return}if(!aq){return}function ao(aA){var aC=G.getElementsByTagName("iframe");for(ar=0;ar<aC.length;ar++){var aB=aC[ar];var ay=d(aB.src);if(aB.contentWindow&&J(aB.contentWindow.postMessage)&&ay===ax){var az=JSON.stringify(aA);
+aB.contentWindow.postMessage(az,"*")}}}if(J(aq.maq_initial_value)){ao({maq_opted_in:aq.maq_initial_value&&aw.hasConsent(),maq_url:aw.getMatomoUrl(),maq_optout_by_default:aw.isConsentRequired()})}else{if(J(aq.maq_opted_in)){at=t.getAsyncTrackers();for(ar=0;ar<at.length;ar++){aw=at[ar];if(aq.maq_opted_in){aw.rememberConsentGiven()}else{aw.forgetConsentGiven()}}ao({maq_confirm_opted_in:aw.hasConsent(),maq_url:aw.getMatomoUrl(),maq_optout_by_default:aw.isConsentRequired()})}}},false);Date.prototype.getTimeAlias=Date.prototype.getTime;t={initialized:false,JSON:S.JSON,DOM:{addEventListener:function(ar,aq,ap,ao){var at=typeof ao;if(at==="undefined"){ao=false}an(ar,aq,ap,ao)},onLoad:m,onReady:p,isNodeVisible:i,isOrWasNodeVisible:v.isNodeVisible},on:function(ap,ao){if(!y[ap]){y[ap]=[]}y[ap].push(ao)},off:function(aq,ap){if(!y[aq]){return}var ao=0;for(ao;ao<y[aq].length;ao++){if(y[aq][ao]===ap){y[aq].splice(ao,1)}}},trigger:function(aq,ar,ap){if(!y[aq]){return}var ao=0;for(ao;ao<y[aq].length;ao++){y[aq][ao].apply(ap||S,ar)
+}},addPlugin:function(ao,ap){b[ao]=ap},getTracker:function(ap,ao){if(!J(ao)){ao=this.getAsyncTracker().getSiteId()}if(!J(ap)){ap=this.getAsyncTracker().getTrackerUrl()}return new P(ap,ao)},getAsyncTrackers:function(){return I},addTracker:function(aq,ap){var ao;if(!I.length){ao=ad(aq,ap)}else{ao=I[0].addTracker(aq,ap)}return ao},getAsyncTracker:function(at,ar){var aq;if(I&&I.length&&I[0]){aq=I[0]}else{return ad(at,ar)}if(!ar&&!at){return aq}if((!J(ar)||null===ar)&&aq){ar=aq.getSiteId()}if((!J(at)||null===at)&&aq){at=aq.getTrackerUrl()}var ap,ao=0;for(ao;ao<I.length;ao++){ap=I[ao];if(ap&&String(ap.getSiteId())===String(ar)&&ap.getTrackerUrl()===at){return ap}}},retryMissedPluginCalls:function(){var ap=ah;ah=[];var ao=0;for(ao;ao<ap.length;ao++){af(ap[ao])}}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return t});define("matomo",[],function(){return t})}return t}())}
/*!!! pluginTrackerHook */
-(function(){function b(){if("object"!==typeof _paq){return false}var c=typeof _paq.length;if("undefined"===c){return false}return !!_paq.length}if(window&&"object"===typeof window.matomoPluginAsyncInit&&window.matomoPluginAsyncInit.length){var a=0;for(a;a<window.matomoPluginAsyncInit.length;a++){if(typeof window.matomoPluginAsyncInit[a]==="function"){window.matomoPluginAsyncInit[a]()}}}if(window&&window.piwikAsyncInit){window.piwikAsyncInit()}if(window&&window.matomoAsyncInit){window.matomoAsyncInit()}if(!window.Matomo.getAsyncTrackers().length){if(b()){window.Matomo.addTracker()}else{_paq={push:function(c){var d=typeof console;if(d!=="undefined"&&console&&console.error){console.error("_paq.push() was used but Matomo tracker was not initialized before the matomo.js file was loaded. Make sure to configure the tracker via _paq.push before loading matomo.js. Alternatively, you can create a tracker via Matomo.addTracker() manually and then use _paq.push but it may not fully work as tracker methods may not be executed in the correct order.",c)
-}}}}}window.Matomo.trigger("MatomoInitialized",[]);window.Matomo.initialized=true}());(function(){var a=(typeof AnalyticsTracker);if(a==="undefined"){AnalyticsTracker=window.Matomo}}());if(typeof piwik_log!=="function"){piwik_log=function(c,e,g,f){function b(h){try{if(window["piwik_"+h]){return window["piwik_"+h]}}catch(i){}return}var d,a=window.Matomo.getTracker(g,e);a.setDocumentTitle(c);a.setCustomData(f);d=b("tracker_pause");if(d){a.setLinkTrackingTimer(d)}d=b("download_extensions");if(d){a.setDownloadExtensions(d)}d=b("hosts_alias");if(d){a.setDomains(d)}d=b("ignore_classes");if(d){a.setIgnoreClasses(d)}a.trackPageView();if(b("install_tracker")){piwik_track=function(i,j,k,h){a.setSiteId(j);a.setTrackerUrl(k);a.trackLink(i,h)};a.enableLinkTracking()}}}
+(function(){function b(){if("object"!==typeof _paq){return false}var c=typeof _paq.length;
+if("undefined"===c){return false}return !!_paq.length}if(window&&"object"===typeof window.matomoPluginAsyncInit&&window.matomoPluginAsyncInit.length){var a=0;for(a;a<window.matomoPluginAsyncInit.length;a++){if(typeof window.matomoPluginAsyncInit[a]==="function"){window.matomoPluginAsyncInit[a]()}}}if(window&&window.piwikAsyncInit){window.piwikAsyncInit()}if(window&&window.matomoAsyncInit){window.matomoAsyncInit()}if(!window.Matomo.getAsyncTrackers().length){if(b()){window.Matomo.addTracker()}else{_paq={push:function(c){var d=typeof console;if(d!=="undefined"&&console&&console.error){console.error("_paq.push() was used but Matomo tracker was not initialized before the matomo.js file was loaded. Make sure to configure the tracker via _paq.push before loading matomo.js. Alternatively, you can create a tracker via Matomo.addTracker() manually and then use _paq.push but it may not fully work as tracker methods may not be executed in the correct order.",c)}}}}}window.Matomo.trigger("MatomoInitialized",[]);
+window.Matomo.initialized=true}());(function(){var a=(typeof AnalyticsTracker);if(a==="undefined"){AnalyticsTracker=window.Matomo}}());if(typeof piwik_log!=="function"){piwik_log=function(c,e,g,f){function b(h){try{if(window["piwik_"+h]){return window["piwik_"+h]}}catch(i){}return}var d,a=window.Matomo.getTracker(g,e);a.setDocumentTitle(c);a.setCustomData(f);d=b("tracker_pause");if(d){a.setLinkTrackingTimer(d)}d=b("download_extensions");if(d){a.setDownloadExtensions(d)}d=b("hosts_alias");if(d){a.setDomains(d)}d=b("ignore_classes");if(d){a.setIgnoreClasses(d)}a.trackPageView();if(b("install_tracker")){piwik_track=function(i,j,k,h){a.setSiteId(j);a.setTrackerUrl(k);a.trackLink(i,h)};a.enableLinkTracking()}}}
/*!! @license-end */; \ No newline at end of file