var Mixpanel=function(token,config,namespace){if(!(this instanceof Mixpanel))return new Mixpanel(token,config,namespace);this.initialize(token,config,namespace);return this};
Mixpanel.prototype={initialize:function(token,config,namespace){this.getMixpanelObj().init(token,config,namespace);this.token=token;this.config=config;this.namespace=namespace;return this},getMixpanelObj:function(){var mixpanel=window.mixpanel;var namespace=this.namespace;if(namespace&&mixpanel[namespace])mixpanel=mixpanel[namespace];return mixpanel},push:function(args){var mixpanel=this.getMixpanelObj();mixpanel.push(args);return this}};
Mixpanel.Manager=function(options){if(!(this instanceof Mixpanel.Manager))return new Mixpanel.Manager(options);this.initialize(options);return this};
Mixpanel.Manager.prototype={initialize:function(options){this["default"]=options["default"];this.setupProjects(options.projects||[],options.properties);return this},setupProjects:function(projects,properties){this.projects=[];var length=projects.length;for(var i=0;length--;){var project=projects[i++];this.registerProject(project,properties)}return this},push:function(args){var methodName=args[0];var method=this["_"+methodName];if(method)method.apply(this,args.slice(1));else{var project=this.getProject();
project&&project.push(args)}return this},_track:function(event,properties,callback){properties=properties||{};var project=this.getProject(properties.token);project&&project.getMixpanelObj().track(event,properties,callback);return this},_track_links:function(selector,event,properties){properties=properties||{};var project=this.getProject(properties.token);project&&project.getMixpanelObj().track_links&&project.getMixpanelObj().track_links(selector,event,properties);return this},_track_forms:function(selector,
event,properties){properties=properties||{};if(typeof properties==="function")properties=properties();var project=this.getProject(properties.token);project&&project.getMixpanelObj().track_forms&&project.getMixpanelObj().track_forms(selector,event,properties);return this},_findProject:function(key,value){var projects=this.projects;var len=projects.length;var i=0;for(var project;len--;){project=projects[i++];if(project[key]==value)return project}return},getProject:function(token){var project=this._findProject("token",
token)||this._findProject("token",this["default"]);return project},registerProject:function(data,properties){var project;if(data&&data.token){var projects=this.projects;project=data instanceof Mixpanel?data:new Mixpanel(data.token,data.config,data.namespace);if(projects.indexOf(project)<0){this.projects.push(project);if(properties&&project.getMixpanelObj().register)project.getMixpanelObj().register(properties)}}return project}};
(function(global,undefined){var mapper={regex:function(){var result;var i;var j;var k;var l;var m;var args=arguments;for(i=0;i<args.length;i+=2){var regex=args[i];var props=args[i+1];if(typeof result==="undefined"){result={};for(k=0;k<props.length;k++)if(typeof props[k]==="object")result[props[k][0]]=undefined;else result[props[k]]=undefined;if(this.getUA().toString()==="")return result}for(j=0;j<regex.length;j++){l=regex[j].exec(this.getUA());if(!!l){for(k=0;k<props.length;k++){m=l[k+1];if(typeof props[k]===
"object"&&props[k].length===2)result[props[k][0]]=props[k][1];else if(typeof props[k]==="object"&&props[k].length===3)if(typeof props[k][1]==="function"&&!(props[k][1].exec&&props[k][1].test))result[props[k][0]]=m?props[k][1].call(this,m,props[k][2]):undefined;else result[props[k][0]]=m?m.replace(props[k][1],props[k][2]):undefined;else result[props[k]]=m?m:undefined}break}}if(!!l)break}return result},string:function(str,map){for(var i in map)if(map.hasOwnProperty(i))if(typeof map[i]==="object"&&map[i].length>
0)for(var j=0;j<map[i].length;j++){if(str.toLowerCase().indexOf(map[i][j].toLowerCase())!==-1)return i.toString()==="undefined"?undefined:i}else if(str.toLowerCase().indexOf(map[i].toLowerCase())!==-1)return i.toString()==="undefined"?undefined:i;return str}};var maps={browser:{oldsafari:{major:{1:["/85","/125","/312"],2:["/412","/416","/417","/419"],"undefined":"/"},version:{"1.0":"/85","1.2":"/125","1.3":"/312","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","undefined":"/"}}},os:{windows:{version:{"ME":"4.90",
"NT 3.11":"NT3.51","NT 4.0":"NT4.0",2E3:"NT 5.0","XP":["NT 5.1","NT 5.2"],"Vista":"NT 6.0",7:"NT 6.1",8:"NT 6.2","RT":"ARM"}}}};var regexes={browser:[[/(opera\smini)\/((\d+)?[\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i,/(opera).+version\/((\d+)?[\w\.]+)/i,/(opera)[\/\s]+((\d+)?[\w\.]+)/i,/(kindle)\/((\d+)?[\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i,/(avant\sbrowser|iemobile|slimbrowser|baidubrowser)[\/\s]?((\d+)?[\w\.]*)/i,/ms(ie)\s((\d+)?[\w\.]+)/i,
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt)\/((\d+)?[\w\.-]+)/i],["name","version","major"],[/(yabrowser)\/((\d+)?[\w\.]+)/i],[["name","Yandex"],"version","major"],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i],["name","version","major"],[/(dolfin)\/((\d+)?[\w\.]+)/i],[["name","Dolphin"],"version","major"],[/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i],[["name","Chrome"],"version","major"],[/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i],["version",
"major",["name","Mobile Safari"]],[/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i],["version","major","name"],[/applewebkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i],["name",["major",mapper.string,maps.browser.oldsafari.major],["version",mapper.string,maps.browser.oldsafari.version]],[/(konqueror)\/((\d+)?[\w\.]+)/i,/(applewebkit|khtml)\/((\d+)?[\w\.]+)/i],["name","version","major"],[/(navigator|netscape)\/((\d+)?[\w\.-]+)/i],[["name","Netscape"],"version","major"],[/(swiftfox)/i,/(iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo)[\/\s]?((\d+)?[\w\.\+]+)/i,
/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i,/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i,/(uc\s?browser|polaris|lynx|dillo|icab|doris)[\/\s]?((\d+)?[\w\.]+)/i,/(gobrowser)\/?((\d+)?[\w\.]+)*/i,/(mosaic)[\/\s]((\d+)?[\w\.]+)/i],["name","version","major"]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],["model","vendor",["type","Tablet"]],[/(hp).+(touchpad)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],["vendor",
"model",["type","Tablet"]],[/\((ip[honed]+);.+(apple)/i],["model","vendor",["type","Mobile"]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|huawei|meizu|motorola)[\s_-]?([\w-]+)*/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],["vendor","model",["type","Mobile"]],[/\((bb10);\s(\w+)/i],[["vendor","BlackBerry"],"model",["type","Mobile"]],[/android.+((transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+))/i],[["vendor","Asus"],"model",["type","Tablet"]],[/(sony)\s(tablet\s[ps])/i],
["vendor","model",["type","Tablet"]],[/(nintendo|playstation)\s([wids3portablev]+)/i],["vendor","model",["type","Console"]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w+)*/i],["vendor",["model",/_/g," "],["type","Mobile"]],[/\s((milestone|droid[2x]?))[globa\s]*\sbuild\//i,/(mot)[\s-]?(\w+)*/i],[["vendor","Motorola"],"model",["type","Mobile"]],[/android.+\s((mz60\d|xoom[\s2]{0,2}))\sbuild\//i],[["vendor","Motorola"],"model",["type","Tablet"]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n8000|sgh-t8[56]9))/i],
[["vendor","Samsung"],"model",["type","Tablet"]],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i,/sec-((sgh\w+))/i],[["vendor","Samsung"],"model",["type","Mobile"]],[/(sie)-(\w+)*/i],[["vendor","Siemens"],"model",["type","Mobile"]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]+)*/i],[["vendor","Nokia"],"model",["type","Mobile"]],[/android\s3\.[\s\w-;]{10}((a\d{3}))/i],[["vendor","Acer"],"model",["type","Tablet"]],[/android\s3\.[\s\w-;]{10}(lg?)-([06cv9]{3,4})/i],
[["vendor","LG"],"model",["type","Tablet"]],[/(lg)[e;\s-\/]+(\w+)*/i],[["vendor","LG"],"model",["type","Mobile"]],[/(mobile|tablet);.+rv\:.+gecko\//i],["type","vendor","model"]],engine:[[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront)\/([\w\.]+)/i,/(khtml)\/([\w\.]+)/i,/(tasman)\s([\w\.]+)/i],["name","version"],[/rv\:([\w\.]+).*(gecko)/i],["version","name"]],os:[[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone\sos|windows\s?[mobile]*)[\s\/]?([ntce\d\.\s]+\w)/i],["name",["version",mapper.string,
maps.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[["name","Windows"],["version",mapper.string,maps.os.windows.version]],[/\((bb)(10);/i],[["name","BlackBerry"],"version"],[/(blackberry).+version\/([\w\.]+)/i,/(tizen)\/([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i],["name","version"],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[["name","Symbian"],"version"],[/(nintendo|playstation)\s([wids3portablev]+)/i,/(mint)[\/\s\(]?(\w+)*/i,
/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],["name","version"],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[["name","Chromium OS"],"version"],[/(sunos)\s?([\w\.]+\d)*/i],[["name","Solaris"],"version"],[/\s(\w*bsd|dragonfly)\s?([\w\.]+)*/i],["name","version"],[/(ip[honead]+).*os\s*([\w]+)*\slike\smac/i],[["name","iOS"],["version",/_/g,"."]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i],
["name",["version",/_/g,"."]],[/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(macintosh|mac(?=_powerpc)|plan\s9|minix|beos|qnx|os\/2|amigaos|morphos)/i,/(unix)\s?([\w\.]+)*/i],["name","version"]]};var UAParser=function UAParser(uastring){var ua=uastring||(global&&global.navigator&&global.navigator.userAgent?global.navigator.userAgent:"");this.getBrowser=function(){return mapper.regex.apply(this,regexes.browser)};this.getDevice=function(){return mapper.regex.apply(this,regexes.device)};this.getEngine=
function(){return mapper.regex.apply(this,regexes.engine)};this.getOS=function(){return mapper.regex.apply(this,regexes.os)};this.getResult=function(){return{browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice()}};this.getUA=function(){return ua};this.setUA=function(uastring){ua=uastring;return this};this.setUA(ua)};if(typeof exports!=="undefined"&&!/\[object\s[DOM]*Window\]/.test(global.toString())){if(typeof module!=="undefined"&&module.exports)exports=module.exports=
UAParser;exports.UAParser=UAParser}else global["UAParser"]=UAParser})(this);
