diff --git a/README.md b/README.md index 5db9162..6ebd785 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ client-side tier of your websites and web apps. Available on the [jsdelivr CDN](https://www.jsdelivr.com/package/gh/snowplow/sp-js-assets) The latest version is available here: -`https://www.jsdelivr.com/gh/snowplow/sp-js-assets/2.15.0/sp.js` +`https://www.jsdelivr.com/gh/snowplow/sp-js-assets@2.15.0/sp.js` | Technical Docs | Setup Guide | |-------------------------------------|------------------------------| @@ -32,8 +32,8 @@ The latest version is available here: ## Copyright and license -The Snowplow JavaScript Tracker is based on Anthon Pang's [`piwik.js`][piwikjs], the JavaScript -tracker for the open-source [Piwik][piwik] project, and is distributed under the same license +The Snowplow JavaScript Tracker is based on Anthon Pang's piwik.js, the JavaScript +tracker for the open-source Piwik project, and is distributed under the same license ([Simplified BSD][bsd]). Significant portions of the Snowplow JavaScript Tracker copyright 2010 Anthon Pang. Remainder diff --git a/sp.js b/sp.js index 593a997..38e8832 100644 --- a/sp.js +++ b/sp.js @@ -1,41 +1,40 @@ -/*! - * Snowplow - The world's most powerful web analytics platform +/*! * Snowplow - The world's most powerful web analytics platform * * @description JavaScript tracker for Snowplow - * @version 0.14.1 - * @author Alex Dean, Simon Andersson, Anthon Pang, Fred Blundun + * @version 1.0.0 + * @author Alex Dean,Simon Andersson,Anthon Pang,Fred Blundun * @copyright Anthon Pang, Snowplow Analytics Ltd * @license Simplified BSD */ -;if(!this.JSON2){this.JSON2={}}(function(){function f(n){return n<10?"0"+n:n}function objectToJSON(value,key){var objectType=Object.prototype.toString.apply(value);if(objectType==="[object Date]"){return isFinite(value.valueOf())?value.getUTCFullYear()+"-"+f(value.getUTCMonth()+1)+"-"+f(value.getUTCDate())+"T"+f(value.getUTCHours())+":"+f(value.getUTCMinutes())+":"+f(value.getUTCSeconds())+"Z":null}if(objectType==="[object String]"||objectType==="[object Number]"||objectType==="[object Boolean]"){return value.valueOf()}if(objectType!=="[object Array]"&&typeof value.toJSON==="function"){return value.toJSON(key)}return value}var cx=new RegExp("[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]","g"),pattern='\\\\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]',escapable=new RegExp("["+pattern,"g"),gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep; -function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"){value=objectToJSON(value,key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i5?e():c())),j=g(k);return(l-j)!==0},i=function(){var j=c(),k=e(),l=c()-e();if(l<0){return j+",1"}else{if(l>0){return k+",1,"+f}}return j+",0"},d=function(){var j=i();return new b.TimeZone(b.olson.timezones[j]) -};return{determine_timezone:function(){if(typeof console!=="undefined"){console.log("jstz.determine_timezone() is deprecated and will be removed in an upcoming version. Please use jstz.determine() instead.")}return d()},determine:d,date_is_dst:h}}());b.TimeZone=function(c){var e=null,d=function(){return e},g=function(){var h=b.olson.ambiguity_list[e],k=h.length,j=0,l=h[0];for(;j>>(32-i))},s=function(y){var x="",w,j;for(w=7;w>=0;w--){j=(y>>>(w*4))&15;x+=j.toString(16)}return x},f,u,t,b=[],l=1732584193,h=4023233417,g=2562383102,e=271733878,d=3285377520,q,p,o,n,m,v,a,k=[];r=SnowPlow.encodeUtf8(r);a=r.length;for(u=0;u>>29);k.push((a<<3)&4294967295);for(f=0;f>>16)*e)&65535)<<16)))&4294967295;g=(g<<15)|(g>>>17);g=((((g&65535)*c)+((((g>>>16)*c)&65535)<<16)))&4294967295;h^=g;h=(h<<13)|(h>>>19);b=((((h&65535)*5)+((((h>>>16)*5)&65535)<<16)))&4294967295;h=(((b&65535)+27492)+((((b>>>16)+58964)&65535)<<16))}g=0;switch(l){case 3:g^=(k.charCodeAt(d+2)&255)<<16;case 2:g^=(k.charCodeAt(d+1)&255)<<8;case 1:g^=(k.charCodeAt(d)&255);g=(((g&65535)*e)+((((g>>>16)*e)&65535)<<16))&4294967295;g=(g<<15)|(g>>>17);g=(((g&65535)*c)+((((g>>>16)*c)&65535)<<16))&4294967295;h^=g}h^=k.length;h^=h>>>16;h=(((h&65535)*2246822507)+((((h>>>16)*2246822507)&65535)<<16))&4294967295;h^=h>>>13;h=((((h&65535)*3266489909)+((((h>>>16)*3266489909)&65535)<<16)))&4294967295;h^=h>>>16;return h>>>0};SnowPlow.base64encode=function(j){if(!j){return j}if(typeof window.btoa=="function"){return btoa(j) -}var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var d,c,b,n,m,l,k,o,h=0,p=0,g="",f=[];do{d=j.charCodeAt(h++);c=j.charCodeAt(h++);b=j.charCodeAt(h++);o=d<<16|c<<8|b;n=o>>18&63;m=o>>12&63;l=o>>6&63;k=o&63;f[p++]=e.charAt(n)+e.charAt(m)+e.charAt(l)+e.charAt(k)}while(h>4);k=((j&15)<<4)|(g>>2);h=((g&3)<<6)|f;b=b+String.fromCharCode(m);if(g!=64){b=b+String.fromCharCode(k)}if(f!=64){b=b+String.fromCharCode(h) -}m=k=h="";l=j=g=f=""}while(d0)?"&":"?";d+=j+k+"="+(l?SnowPlow.encodeWrapper(m):m)}};var a=function(k){var l=new RegExp("\\$(.[^\\$]+)$"),j=l.exec(k);if(j){return j[1]}};var e=function(j,k){switch(k){case"tms":return SnowPlow.toTimestamp(j,true);case"ts":return SnowPlow.toTimestamp(j,false);case"dt":return SnowPlow.toDatestamp(j);default:return j}};var f=(function(){function j(l){var n={};for(var o in l){var k=o,m=l[o];if(l.hasOwnProperty(k)){if(SnowPlow.isDate(m)){type=a(k);if(!type){type="tms";k+="$"+type}m=e(m,type)}if(SnowPlow.isJson(m)){m=j(m)}}n[k]=m}return n}return j})();var i=function(j,k){c(j,k,true)};var h=function(j,k){c(j,k,false)};var g=function(j,k,l){if(SnowPlow.isNonEmptyJson(l)){var m=f(l);var n=JSON2.stringify(m);if(b){h(j,SnowPlow.base64urlencode(n))}else{i(k,n)}}};return{add:i,addRaw:h,addJson:g,build:function(){return d -}}};SnowPlow.Tracker=function Tracker(N){var b=SnowPlow.fixupUrl(SnowPlow.documentAlias.domain,SnowPlow.windowAlias.location.href,SnowPlow.getReferrer()),aq=SnowPlow.fixupDomain(b[0]),aE=b[1],ad=b[2],ab="GET",k="web",c=R(N),av="",I,w=SnowPlow.documentAlias.title,y="7z|aac|ar[cj]|as[fx]|avi|bin|csv|deb|dmg|doc|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|ms[ip]|od[bfgpst]|og[gv]|pdf|phps|png|ppt|qtm?|ra[mr]?|rpm|sea|sit|tar|t?bz2?|tgz|torrent|txt|wav|wm[av]|wpd||xls|xml|z|zip",Z=[aq],e=[],Q=[],o=[],Y=500,f,q,g,aC="_sp_",h,aD,az,D,l=63072000000,n=1800000,L=15768000000,s=true,ax=SnowPlow.documentAlias.characterSet||SnowPlow.documentAlias.charset,j=SnowPlow.navigatorAlias.userLanguage||SnowPlow.navigatorAlias.language,aw=SnowPlow.detectBrowserFeatures(m("testcookie")),W=SnowPlow.detectTimezone(),p=SnowPlow.detectSignature(),ah=false,ae=false,ac,X,J,F,v,S,i,z=SnowPlow.sha1,ag,E,aI,d=an();function R(aJ){if(typeof aJ==="undefined"){return null}else{if("cf" in aJ){return A(aJ.cf) -}else{if("url" in aJ){return ao(aJ.url)}}}}function an(){return{transaction:{},items:[]}}function aA(aJ){var aK;if(g){aK=new RegExp("#.*");return aJ.replace(aK,"")}return aJ}function aG(aJ){var aL=new RegExp("^([a-z]+):"),aK=aL.exec(aJ);return aK?aK[1]:null}function ap(aL,aJ){var aM=aG(aJ),aK;if(aM){return aJ}if(aJ.slice(0,1)==="/"){return aG(aL)+"://"+SnowPlow.getHostName(aL)+aJ}aL=aA(aL);if((aK=aL.indexOf("?"))>=0){aL=aL.slice(0,aK)}if((aK=aL.lastIndexOf("/"))!==aL.length-1){aL=aL.slice(0,aK+1)}return aL+aJ}function aa(aM){var aK,aJ,aL;for(aK=0;aK0)&&(aM.slice(aL)===aJ)){return true}}}return false}function aH(aJ){var aK=new Image(1,1);if(c===null){throw"No SnowPlow collector configured, cannot track"}aK.onload=function(){};aK.src=c+aJ}function B(aL,aK){var aJ=new Date();if(!az){aH(aL);SnowPlow.expireDateTime=aJ.getTime()+aK -}}function m(aJ){return aC+aJ+"."+ag}function C(aJ){return SnowPlow.getCookie(m(aJ))}function V(){ag=z((h||aq)+(aD||"/")).slice(0,4)}function au(){var aJ=new Date();ac=aJ.getTime()}function al(){H();au()}function M(){var aJ=(SnowPlow.documentAlias.compatMode&&SnowPlow.documentAlias.compatMode!="BackCompat")?SnowPlow.documentAlias.documentElement:SnowPlow.documentAlias.body;return[aJ.scrollLeft||SnowPlow.windowAlias.pageXOffset,aJ.scrollTop||SnowPlow.windowAlias.pageYOffset]}function T(){var aK=M();var aJ=aK[0];X=aJ;J=aJ;var aL=aK[1];F=aL;v=aL}function H(){var aK=M();var aJ=aK[0];if(aJJ){J=aJ}}var aL=aK[1];if(aLv){v=aL}}}function aB(aL,aK,aJ,aN,aM){SnowPlow.setCookie(m("id"),aL+"."+aK+"."+aJ+"."+aN+"."+aM,l,aD,h)}function am(){var aK=new Date(),aJ=Math.round(aK.getTime()/1000),aM=C("id"),aL;if(aM){aL=aM.split(".");aL.unshift("0")}else{if(!E){E=z((SnowPlow.navigatorAlias.userAgent||"")+(SnowPlow.navigatorAlias.platform||"")+JSON2.stringify(aw)+aJ).slice(0,16) -}aL=["1",E,aJ,0,aJ,""]}return aL}function G(){var aK=new Date(),aJ=aK.getTime();return aJ}function x(aJ,a2){var a1,aK=new Date(),aQ=Math.round(aK.getTime()/1000),a4,aU,aN,aX,aZ,aP,aO,a0,aM=1024,a5,aS,aW=m("id"),aR=m("ses"),aY=am(),aV=C("ses"),a3=I||aE,aT;if(az){SnowPlow.setCookie(aW,"",-1,aD,h);SnowPlow.setCookie(aR,"",-1,aD,h);return""}a4=aY[0];aU=aY[1];aX=aY[2];aN=aY[3];aZ=aY[4];aP=aY[5];if(!aV){aN++;aP=aZ}aJ.addRaw("dtm",G());aJ.addRaw("tid",String(Math.random()).slice(2,8));aJ.addRaw("vp",SnowPlow.detectViewport());aJ.addRaw("ds",SnowPlow.detectDocumentSize());aJ.addRaw("vid",aN);aJ.addRaw("duid",aU);aJ.add("p",k);aJ.add("tv",SnowPlow.version);aJ.add("fp",p);aJ.add("aid",av);aJ.add("lang",j);aJ.add("cs",ax);aJ.add("tz",W);aJ.add("uid",aI);if(ad.length){aJ.add("refr",aA(ad))}for(a1 in aw){if(Object.prototype.hasOwnProperty.call(aw,a1)){aT=(a1==="res"||a1==="cd"||a1==="cookie")?"":"f_";aJ.addRaw(aT+a1,aw[a1])}}aJ.add("url",aA(a3));var aL=aJ.build();aB(aU,aX,aN,aQ,aP);SnowPlow.setCookie(aR,"*",n,aD,h); -aL+=SnowPlow.executePluginMethod(a2);return aL}function A(aJ){return ao(aJ+".cloudfront.net")}function ao(aJ){return("https:"==SnowPlow.documentAlias.location.protocol?"https":"http")+"://"+aJ+"/i"}function P(aO,aK){var aN=SnowPlow.fixupTitle(aO||w);var aP=SnowPlow.payloadBuilder(s);aP.add("e","pv");aP.add("page",aN);aP.addJson("cx","co",aK);var aM=x(aP,"pageView");B(aM,Y);var aJ=new Date();if(f&&q&&!ae){ae=true;T();SnowPlow.addEventListener(SnowPlow.documentAlias,"click",au);SnowPlow.addEventListener(SnowPlow.documentAlias,"mouseup",au);SnowPlow.addEventListener(SnowPlow.documentAlias,"mousedown",au);SnowPlow.addEventListener(SnowPlow.documentAlias,"mousemove",au);SnowPlow.addEventListener(SnowPlow.documentAlias,"mousewheel",au);SnowPlow.addEventListener(SnowPlow.windowAlias,"DOMMouseScroll",au);SnowPlow.addEventListener(SnowPlow.windowAlias,"scroll",al);SnowPlow.addEventListener(SnowPlow.documentAlias,"keypress",au);SnowPlow.addEventListener(SnowPlow.documentAlias,"keydown",au);SnowPlow.addEventListener(SnowPlow.documentAlias,"keyup",au); -SnowPlow.addEventListener(SnowPlow.windowAlias,"resize",au);SnowPlow.addEventListener(SnowPlow.windowAlias,"focus",au);SnowPlow.addEventListener(SnowPlow.windowAlias,"blur",au);ac=aJ.getTime();setInterval(function aL(){var aQ=new Date();if((ac+q)>aQ.getTime()){if(f>8-h%1*8)){i=k.charCodeAt(h+=3/4);if(i>255){throw new d("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.")}m=m<<8|i}return j});f.atob||(f.atob=function(k){k=k.replace(/=+$/,"");if(k.length%4==1){throw new d("'atob' failed: The string to be decoded is not correctly encoded.")}for(var m=0,l,i,h=0,j="";i=k.charAt(h++);~i&&(l=m%4?l*64+i:i,m++%4)?j+=String.fromCharCode(255&l>>(-2*m&6)):0){i=g.indexOf(i)}return j})}())},{}],2:[function(require,module,exports){var JSON;if(!JSON){JSON={}}(function(){var global=Function("return this")(),JSON=global.JSON;if(!JSON){JSON={}}function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf() +}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null" +}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i7,u=r?m(q.getFullYear()):j(q.getFullYear()),p=i(q),t=u<0,s=u-p;if(!t&&!r){return s<0}return s!==0},k=function(){var p=j(),q=m(),r=p-q;if(r<0){return p+",1"}else{if(r>0){return q+",1,"+h}}return p+",0"},n=function(){var p=k();return new f.TimeZone(f.olson.timezones[p])},o=function(p){var q=new Date(2010,6,15,1,0,0,0),r={"America/Denver":new Date(2011,2,13,3,0,0,0),"America/Mazatlan":new Date(2011,3,3,3,0,0,0),"America/Chicago":new Date(2011,2,13,3,0,0,0),"America/Mexico_City":new Date(2011,3,3,3,0,0,0),"America/Asuncion":new Date(2012,9,7,3,0,0,0),"America/Santiago":new Date(2012,9,3,3,0,0,0),"America/Campo_Grande":new Date(2012,9,21,5,0,0,0),"America/Montevideo":new Date(2011,9,2,3,0,0,0),"America/Sao_Paulo":new Date(2011,9,16,5,0,0,0),"America/Los_Angeles":new Date(2011,2,13,8,0,0,0),"America/Santa_Isabel":new Date(2011,3,5,8,0,0,0),"America/Havana":new Date(2012,2,10,2,0,0,0),"America/New_York":new Date(2012,2,10,7,0,0,0),"Europe/Helsinki":new Date(2013,2,31,5,0,0,0),"Pacific/Auckland":new Date(2011,8,26,7,0,0,0),"America/Halifax":new Date(2011,2,13,6,0,0,0),"America/Goose_Bay":new Date(2011,2,13,2,1,0,0),"America/Miquelon":new Date(2011,2,13,5,0,0,0),"America/Godthab":new Date(2011,2,27,1,0,0,0),"Europe/Moscow":q,"Asia/Amman":new Date(2013,2,29,1,0,0,0),"Asia/Beirut":new Date(2013,2,31,2,0,0,0),"Asia/Damascus":new Date(2013,3,6,2,0,0,0),"Asia/Jerusalem":new Date(2013,2,29,5,0,0,0),"Asia/Yekaterinburg":q,"Asia/Omsk":q,"Asia/Krasnoyarsk":q,"Asia/Irkutsk":q,"Asia/Yakutsk":q,"Asia/Vladivostok":q,"Asia/Baku":new Date(2013,2,31,4,0,0),"Asia/Yerevan":new Date(2013,2,31,3,0,0),"Asia/Kamchatka":q,"Asia/Gaza":new Date(2010,2,27,4,0,0),"Africa/Cairo":new Date(2010,4,1,3,0,0),"Europe/Minsk":q,"Pacific/Apia":new Date(2010,10,1,1,0,0,0),"Pacific/Fiji":new Date(2010,11,1,0,0,0),"Australia/Perth":new Date(2008,10,1,1,0,0,0)}; +return r[p]};return{determine:n,date_is_dst:g,dst_start_for:o}}());f.TimeZone=function(g){var h={"America/Denver":["America/Denver","America/Mazatlan"],"America/Chicago":["America/Chicago","America/Mexico_City"],"America/Santiago":["America/Santiago","America/Asuncion","America/Campo_Grande"],"America/Montevideo":["America/Montevideo","America/Sao_Paulo"],"Asia/Beirut":["Asia/Amman","Asia/Jerusalem","Asia/Beirut","Europe/Helsinki","Asia/Damascus"],"Pacific/Auckland":["Pacific/Auckland","Pacific/Fiji"],"America/Los_Angeles":["America/Los_Angeles","America/Santa_Isabel"],"America/New_York":["America/Havana","America/New_York"],"America/Halifax":["America/Goose_Bay","America/Halifax"],"America/Godthab":["America/Miquelon","America/Godthab"],"Asia/Dubai":["Europe/Moscow"],"Asia/Dhaka":["Asia/Yekaterinburg"],"Asia/Jakarta":["Asia/Omsk"],"Asia/Shanghai":["Asia/Krasnoyarsk","Australia/Perth"],"Asia/Tokyo":["Asia/Irkutsk"],"Australia/Brisbane":["Asia/Yakutsk"],"Pacific/Noumea":["Asia/Vladivostok"],"Pacific/Tarawa":["Asia/Kamchatka","Pacific/Fiji"],"Pacific/Tongatapu":["Pacific/Apia"],"Asia/Baghdad":["Europe/Minsk"],"Asia/Baku":["Asia/Yerevan","Asia/Baku"],"Africa/Johannesburg":["Asia/Gaza","Africa/Cairo"]},i=g,k=function(){var l=h[i],n=l.length,m=0,o=l[0]; +for(;m=4){n=((q.charCodeAt(o)&255))|((q.charCodeAt(++o)&255)<<8)|((q.charCodeAt(++o)&255)<<16)|((q.charCodeAt(++o)&255)<<24);n=(((n&65535)*1540483477)+((((n>>>16)*1540483477)&65535)<<16));n^=n>>>24;n=(((n&65535)*1540483477)+((((n>>>16)*1540483477)&65535)<<16));p=(((p&65535)*1540483477)+((((p>>>16)*1540483477)&65535)<<16))^n;j-=4;++o}switch(j){case 3:p^=(q.charCodeAt(o+2)&255)<<16;case 2:p^=(q.charCodeAt(o+1)&255)<<8;case 1:p^=(q.charCodeAt(o)&255);p=(((p&65535)*1540483477)+((((p>>>16)*1540483477)&65535)<<16))}p^=p>>>13;p=(((p&65535)*1540483477)+((((p>>>16)*1540483477)&65535)<<16));p^=p>>>15;return p>>>0}function f(s,o){var t,u,q,k,n,j,l,r,p,m;t=s.length&3;u=s.length-t;q=o;n=3432918353;l=461845907;m=0;while(m>>16)*n)&65535)<<16)))&4294967295; +p=(p<<15)|(p>>>17);p=((((p&65535)*l)+((((p>>>16)*l)&65535)<<16)))&4294967295;q^=p;q=(q<<13)|(q>>>19);k=((((q&65535)*5)+((((q>>>16)*5)&65535)<<16)))&4294967295;q=(((k&65535)+27492)+((((k>>>16)+58964)&65535)<<16))}p=0;switch(t){case 3:p^=(s.charCodeAt(m+2)&255)<<16;case 2:p^=(s.charCodeAt(m+1)&255)<<8;case 1:p^=(s.charCodeAt(m)&255);p=(((p&65535)*n)+((((p>>>16)*n)&65535)<<16))&4294967295;p=(p<<15)|(p>>>17);p=(((p&65535)*l)+((((p>>>16)*l)&65535)<<16))&4294967295;q^=p}q^=s.length;q^=q>>>16;q=(((q&65535)*2246822507)+((((q>>>16)*2246822507)&65535)<<16))&4294967295;q^=q>>>13;q=((((q&65535)*3266489909)+((((q>>>16)*3266489909)&65535)<<16)))&4294967295;q^=q>>>16;return q>>>0}var d=f;d.v2=g;d.v3=f;if(typeof(c)!="undefined"){c.exports=d}else{var h=i.murmur;d.noConflict=function(){i.murmur=h;return d};i.murmur=d}}())},{}],5:[function(c,d,b){var a={utf8:{stringToBytes:function(f){return a.bin.stringToBytes(unescape(encodeURIComponent(f)))},bytesToString:function(f){return decodeURIComponent(escape(a.bin.bytesToString(f))) +}},bin:{stringToBytes:function(h){for(var f=[],g=0;g>>(32-g))},rotr:function(h,g){return(h<<(32-g))|(h>>>g)},endian:function(h){if(h.constructor==Number){return f.rotl(h,8)&16711935|f.rotl(h,24)&4278255360}for(var g=0;g0;h--){g.push(Math.floor(Math.random()*256))}return g},bytesToWords:function(h){for(var k=[],j=0,g=0;j>>5]|=h[j]<<(24-g%32)}return k},wordsToBytes:function(i){for(var h=[],g=0;g>>5]>>>(24-g%32))&255)}return h},bytesToHex:function(g){for(var j=[],h=0;h>>4).toString(16));j.push((g[h]&15).toString(16)) +}return j.join("")},hexToBytes:function(h){for(var g=[],i=0;i>>6*(3-k))&63))}else{g.push("=")}}}return g.join("")},base64ToBytes:function(h){h=h.replace(/[^A-Z0-9+\/]/ig,"");for(var g=[],j=0,k=0;j>>(6-k*2)))}return g}};c.exports=f})()},{}],7:[function(b,c,a){(function(){var h=b("crypt"),d=b("charenc").utf8,f=b("charenc").bin,i=function(q){if(q.constructor==String){q=d.stringToBytes(q)}var y=h.bytesToWords(q),z=q.length*8,r=[],u=1732584193,s=-271733879,p=-1732584194,o=271733878,k=-1009589776;y[z>>5]|=128<<(24-z%32);y[((z+64>>>9)<<4)+15]=z;for(var B=0;B>>31)}var v=((u<<5)|(u>>>27))+k+(r[A]>>>0)+(A<20?(s&p|~s&o)+1518500249:A<40?(s^p^o)+1859775393:A<60?(s&p|s&o|p&o)-1894007588:(s^p^o)-899497514);k=o;o=p;p=(s<<30)|(s>>>2);s=u;u=v}u+=G;s+=F;p+=E;o+=D;k+=C}return[u,s,p,o,k]},g=function(l,j){var k=h.wordsToBytes(i(l));return j&&j.asBytes?k:j&&j.asString?f.bytesToString(k):h.bytesToHex(k)};g._blocksize=16;g._digestsize=20;c.exports=g})()},{charenc:5,crypt:6}],8:[function(b,c,a){window._snaq=window._snaq||[];var d=b("./snowplow");window.Snowplow=window.Snowplow||new d.Snowplow()},{"./snowplow":15}],9:[function(b,c,a){(function(){var d=typeof a!=="undefined"?a:this;d.getCookie=function(h){var f=new RegExp("(^|;)[ ]*"+h+"=([^;]*)"),g=f.exec(document.cookie);return g?decodeURIComponent(g[2]):0};d.setCookie=function(l,i,h,k,g,j){var f;if(h){f=new Date();f.setTime(f.getTime()+h)}document.cookie=l+"="+encodeURIComponent(i)+(h?";expires="+f.toGMTString():"")+";path="+(k||"/")+(g?";domain="+g:"")+(j?";secure":"")}}())},{}],10:[function(b,c,a){(function(){var g=b("./lodash"),f=b("./helpers"),d=b("./cookie"); +murmurhash3_32_gc=b("murmurhash").v3,tz=b("jstimezonedetect").jstz.determine(),object=typeof a!=="undefined"?a:this,windowAlias=window,navigatorAlias=navigator,screenAlias=screen,documentAlias=document;object.hasSessionStorage=function(){try{return !!windowAlias.sessionStorage}catch(h){return true}};object.hasLocalStorage=function(){try{return !!windowAlias.localStorage}catch(h){return true}};object.hasCookies=function(h){var i=h||"testcookie";if(g.isUndefined(navigatorAlias.cookieEnabled)){d.setCookie(i,"1");return d.getCookie(i)==="1"?"1":"0"}return navigatorAlias.cookieEnabled?"1":"0"};object.detectSignature=function(o){var m=[navigatorAlias.userAgent,[screenAlias.height,screenAlias.width,screenAlias.colorDepth].join("x"),(new Date()).getTimezoneOffset(),object.hasSessionStorage(),object.hasLocalStorage()];var h=[];if(navigatorAlias.plugins){for(var n=0;n0)?"&":"?";q+=w+x+"="+(y?encodeURIComponent(z):z)}};var n=function(x){var y=new RegExp("\\$(.[^\\$]+)$"),w=y.exec(x);if(w){return w[1]}};var r=function(w,x){switch(x){case"tms":return l(w,true);case"ts":return l(w,false);case"dt":return d(w);default:return w}};var s=(function(){function w(y){var A={};for(var B in y){var x=B,z=y[B];if(y.hasOwnProperty(x)){if(m.isDate(z)){type=n(x);if(!type){type="tms";x+="$"+type}z=r(z,type)}if(g.isJson(z)){z=w(z)}}A[x]=z}return A}return w})();var v=function(w,x){p(w,x,true)};var u=function(w,x){p(w,x,false)};var t=function(w,x,y){if(g.isNonEmptyJson(y)){var z=s(y);var A=h.stringify(z);if(o){u(w,k(A))}else{v(x,A)}}};return{add:v,addRaw:u,addJson:t,build:function(){return q}}}}())},{"./lib/lodash":12,Base64:1,JSON:2}],14:[function(b,c,a){(function(){var f=b("./lib/lodash"),d=typeof a!=="undefined"?a:this; +d.AsyncQueueProxy=function(g,k){function j(){var l,n,m;for(l=0;l=0){a4=a4.slice(0,a3)}if((a3=a4.lastIndexOf("/"))!==a4.length-1){a4=a4.slice(0,a3+1)}return a4+a2}function au(a5){var a3,a2,a4;for(a3=0;a30)&&(a5.slice(a4)===a2)){return true}}}return false}function a0(a2){var a3=new Image(1,1);if(p===null){throw"No Snowplow collector configured, cannot track"}a3.onload=function(){};a3.src=p+a2}function T(a4,a3){var a2=new Date(); +if(!aS){a0(a4);r.expireDateTime=a2.getTime()+a3}}function B(a2){return aV+a2+"."+aA}function U(a2){return f.getCookie(B(a2))}function ao(){aA=Q((w||aK)+(aW||"/")).slice(0,4)}function aN(){var a2=new Date();aw=a2.getTime()}function aF(){aa();aN()}function af(){var a2=(Y.compatMode&&Y.compatMode!="BackCompat")?Y.documentElement:Y.body;return[a2.scrollLeft||R.pageXOffset,a2.scrollTop||R.pageYOffset]}function am(){var a3=af();var a2=a3[0];aq=a2;ac=a2;var a4=a3[1];Z=a4;M=a4}function aa(){var a3=af();var a2=a3[0];if(a2ac){ac=a2}}var a4=a3[1];if(a4M){M=a4}}}function aU(a4,a3,a2,a6,a5){f.setCookie(B("id"),a4+"."+a3+"."+a2+"."+a6+"."+a5,A,aW,w)}function aG(){var a3=new Date(),a2=Math.round(a3.getTime()/1000),a5=U("id"),a4;if(a5){a4=a5.split(".");a4.unshift("0")}else{if(!W){W=Q((G.userAgent||"")+(G.platform||"")+h.stringify(aP)+a2).slice(0,16)}a4=["1",W,a2,0,a2,""]}return a4}function X(){var a3=new Date(),a2=a3.getTime();return a2}function O(a2){var bk,a3=new Date(),a9=Math.round(a3.getTime()/1000),bm,bd,a6,bg,bi,a8,a7,bj,a5=1024,bn,bb,bf=B("id"),ba=B("ses"),bh=aG(),be=U("ses"),bl=ab||aX,bc; +if(aS){f.setCookie(bf,"",-1,aW,w);f.setCookie(ba,"",-1,aW,w);return""}bm=bh[0];bd=bh[1];bg=bh[2];a6=bh[3];bi=bh[4];a8=bh[5];if(!be){a6++;a8=bi}a2.addRaw("dtm",X());a2.addRaw("tid",String(Math.random()).slice(2,8));a2.addRaw("vp",k.detectViewport());a2.addRaw("ds",k.detectDocumentSize());a2.addRaw("vid",a6);a2.addRaw("duid",bd);a2.add("p",z);a2.add("tv",E);a2.add("fp",q);a2.add("aid",aO);a2.add("lang",y);a2.add("cs",aQ);a2.add("tz",ap);a2.add("uid",a1);if(ax.length){a2.add("refr",aT(ax))}for(bk in aP){if(Object.prototype.hasOwnProperty.call(aP,bk)){bc=(bk==="res"||bk==="cd"||bk==="cookie")?"":"f_";a2.addRaw(bc+bk,aP[bk])}}a2.add("url",aT(bl));var a4=a2.build();aU(bd,bg,a6,a9,a8);f.setCookie(ba,"*",C,aW,w);return a4}function S(a2){return aI(a2+".cloudfront.net")}function aI(a2){return("https:"==Y.location.protocol?"https":"http")+"://"+a2+"/i"}function ai(a7,a3){var a6=d.fixupTitle(a7||N);var a8=l.payloadBuilder(J);a8.add("e","pv");a8.add("page",a6);a8.addJson("cx","co",a3);var a5=O(a8,"pageView"); +T(a5,ar);var a2=new Date();if(u&&F&&!ay){ay=true;am();d.addEventListener(Y,"click",aN);d.addEventListener(Y,"mouseup",aN);d.addEventListener(Y,"mousedown",aN);d.addEventListener(Y,"mousemove",aN);d.addEventListener(Y,"mousewheel",aN);d.addEventListener(R,"DOMMouseScroll",aN);d.addEventListener(R,"scroll",aF);d.addEventListener(Y,"keypress",aN);d.addEventListener(Y,"keydown",aN);d.addEventListener(Y,"keyup",aN);d.addEventListener(R,"resize",aN);d.addEventListener(R,"focus",aN);d.addEventListener(R,"blur",aN);aw=a2.getTime();setInterval(function a4(){var a9=new Date();if((aw+F)>a9.getTime()){if(u