analytics
Version:
Lightweight analytics library for tracking events, page views, & identifying users. Works with any third party analytics provider via an extendable plugin system.
2 lines (1 loc) • 30 kB
JavaScript
var _analytics=(e=>{function h(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function b(r){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?h(Object(i),!0).forEach(function(e){var t,n;t=r,n=i[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):h(Object(i)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(i,e))})}return r}function Y(e,t,n,r,i){for(t=t.split?t.split("."):t,r=0;r<t.length;r++)e=e?e[t[r]]:i;return e===i?n:e}var n="undefined",r="object",w="array",S="number",E="null",P="any",O="*",t="__",D=((l=typeof process!=n?process:{}).env&&l.env.NODE_ENV,typeof document!=n);function x(e,t){return t.charAt(0)[e]()+t.slice(1)}null!=l.versions&&l.versions.node,typeof Deno!=n&&Deno.core,D&&"nodejs"===window.name||typeof navigator==n||typeof navigator.userAgent==n||navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom");var j=x.bind(null,"toUpperCase"),N=x.bind(null,"toLowerCase");function _(e){return T(e)?j(E):typeof e===r?C((t=e).constructor)?t.constructor.name:null:Object.prototype.toString.call(e).slice(8,-1);var t}function A(e,t){void 0===t&&(t=!0);e=_(e);return t?N(e):e}function i(e,t){return typeof t===e}var C=i.bind(null,"function"),U=i.bind(null,"string"),a=i.bind(null,n),k=i.bind(null,"boolean");function T(e){return null===e}function q(e){if((t=e)&&(typeof t===r||null!==t)){for(var t,n=e;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}}function M(e){return e instanceof Error||U(e.message)&&e.constructor&&A(e=e.constructor.stackTraceLimit)===S&&!isNaN(e)}function z(e,t){if("object"==typeof t&&!T(t)){if(t instanceof e)return!0;var n=A(new e(""));if(M(t))for(;t;){if(A(t)===n)return!0;t=Object.getPrototypeOf(t)}}return!1}function Z(e,t){var n=e instanceof Element||e instanceof HTMLDocument;return n&&t?(void 0===(t=t)&&(t=""),(e=e)&&e.nodeName===t.toUpperCase()):n}function ee(){[].slice.call(arguments,1)}function te(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function ne(){for(var e="",t=0,n=4294967295*Math.random()|0;t++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],i=15&n;e+="-"==r||"4"==r?r:("x"==r?i:3&i|8).toString(16),n=t%8==0?4294967295*Math.random()|0:n>>4}return e}i.bind(null,"symbol"),z.bind(null,TypeError),z.bind(null,SyntaxError),ee(Z,"form"),ee(Z,"button"),ee(Z,"input"),ee(Z,"select");var u="global",o=t+u+t,c=typeof self===r&&self.self===self&&self||typeof global===r&&global[u]===global&&global||void 0;function R(e){return c[o][e]}function V(e,t){return c[o][e]=t}function re(e){delete c[o][e]}function s(e,t){var n;try{oe(e)&&(n=window[e])[t].bind(n)}catch(e){}}c[o]||(c[o]={});var ie={};function oe(t){if(typeof ie[t]!=n)return ie[t];try{var e=window[t];e.setItem(n,n),e.removeItem(n)}catch(e){return ie[t]=!1}return ie[t]=!0}function L(){return(L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)!{}.hasOwnProperty.call(r,n)||(e[n]=r[n])}return e}).apply(null,arguments)}var $="function",B="undefined",J="reducer",ae=(l="@@redux/")+"INIT",ue=l+Math.random().toString(36),ce=(()=>typeof Symbol===$&&Symbol.observable||"@@observable")(),se=" != "+$;function le(e,t,n){if(typeof t===$&&typeof n===B&&(n=t,t=void 0),typeof n!==B){if(typeof n!==$)throw new Error("enhancer"+se);return n(le)(e,t)}if(typeof e!==$)throw new Error(J+se);var r=e,i=t,o=[],a=o,u=!1;function c(){a===o&&(a=o.slice())}function s(){return i}function l(t){if(typeof t!==$)throw new Error("Listener"+se);var n=!0;return c(),a.push(t),function(){var e;n&&(n=!1,c(),e=a.indexOf(t),a.splice(e,1))}}function f(e){if(!q(e))throw new Error("Act != obj");if(typeof e.type===B)throw new Error("ActType "+B);if(u)throw new Error("Dispatch in "+J);try{u=!0,i=r(i,e)}finally{u=!1}for(var t=o=a,n=0;n<t.length;n++)(0,t[n])();return e}return f({type:ae}),(n={dispatch:f,subscribe:l,getState:s,replaceReducer:function(e){if(typeof e!==$)throw new Error("next "+J+se);r=e,f({type:ae})}})[ce]=function(){var e,n=l;return(e={subscribe:function(e){if("object"!=typeof e)throw new TypeError("Observer != obj");function t(){e.next&&e.next(s())}return t(),{unsubscribe:n(t)}}})[ce]=function(){return this},e},n}function F(){var e=[].slice.call(arguments);return 0===e.length?function(e){return e}:1===e.length?e[0]:e.reduce(function(e,t){return function(){return e(t.apply(void 0,[].slice.call(arguments)))}})}var H=t+"anon_id",X=t+"user_id",W=t+"user_traits",l={__proto__:null,ANON_ID:H,USER_ID:X,USER_TRAITS:W},fe="analytics",G="userId",K="anonymousId",de=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],pe=["name","EVENTS","config","loaded"],Q=de.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),me=/^utm_/,ge=/^an_prop_/,ye=/^an_trait_/;function he(e){return{userId:e.getItem(X),anonymousId:e.getItem(H),traits:e.getItem(W)}}var ve=function(e){return t+"TEMP"+t+e},f={};function be(e,t){f[e]&&C(f[e])&&(f[e](t),delete f[e])}function Ie(e){return{abort:e}}var we=function(e){var p,m,r=e.data,i=e.action,l=e.instance,t=e.state,f=e.allPlugins,n=e.allMatches,c=e.store,o=e.EVENTS;try{var d=t.plugins,a=t.context,g=i.type,s=g.match(I),u=r.exact.map(function(e){return e.pluginName}),y=(s&&(u=n.during.map(function(e){return e.pluginName})),p=l,m=u,function(e,t,n){var r,i,o,a,u,c,s,l,f=t.config,t=t.name,d=t+"."+e.type,t=(n&&(d=n.event),e.type.match(I)?(o=t,a=d,u=m,c=n,s=e,function(e,t){var n=c?c.name:o,r=t&&v(t)?t:u;if(!c||(r=t&&v(t)?t:[o]).includes(o)&&1===r.length)return L({},s,{abort:{reason:e,plugins:r,caller:a,_:n}});throw new Error("Method "+a+" can only abort "+o+" plugin. "+JSON.stringify(r)+" input valid")}):(r=e,i=d,function(){throw new Error(r.type+" action not cancellable. Remove abort in "+i)}));return{payload:(l=e,Object.keys(l).reduce(function(e,t){return"type"!==t&&(e[t]=q(l[t])?Object.assign({},l[t]):l[t]),e},{})),instance:p,config:f||{},abort:t}}),h=r.exact.reduce(function(e,t){var n=t.pluginName,t=t.methodName,r=!1;return t.match(/^initialize/)||t.match(/^reset/)||(r=!d[n].loaded),a.offline&&t.match(/^(page|track|identify)/)&&(r=!0),e[""+n]=r,e},{});return Promise.resolve(r.exact.reduce(function(e,t,n){var s=t.pluginName;return Promise.resolve(e).then(function(t){function e(){return Promise.resolve(t)}var n=r.namespaced&&r.namespaced[s]?Promise.resolve(r.namespaced[s].reduce(function(e,c,t){return Promise.resolve(e).then(function(t){{if(c.method&&C(c.method)){var e=c.methodName,n=c.pluginName,r,i=ke(e);if(i&&i.name===n)throw r=ke(i.method),new Error([n+" plugin is calling method "+e,"Plugins cant call self","Use "+i.method+" "+(r?"or "+r.method:"")+" in "+n+" plugin insteadof "+e].join("\n"));return Promise.resolve(c.method({payload:t,instance:l,abort:(o=t,a=s,function(e,t){return L({},o,{abort:{reason:e,plugins:t||[a],caller:g,from:u||a}})}),config:Oe(u=c.pluginName,d,f),plugins:d})).then(function(e){e=q(e)?e:{};return Promise.resolve(L({},t,e))})}return t}var o,a,u})},Promise.resolve(i))).then(function(e){t[s]=e}):void(t[s]=i);return n&&n.then?n.then(e):e()})},Promise.resolve({}))).then(function(u){return Promise.resolve(r.exact.reduce(function(e,t,n){try{var i=r.exact.length===n+1,o=t.pluginName,a=f[o];return Promise.resolve(e).then(function(n){var e,r=u[o]||{};return Ne(r=s?n:r,o)?(Pe({data:r,method:g,instance:l,pluginName:o,store:c}),Promise.resolve(n)):Ne(n,o)?(i&&Pe({data:n,method:g,instance:l,store:c}),Promise.resolve(n)):h.hasOwnProperty(o)&&!0===h[o]?(c.dispatch({type:"queue",plugin:o,payload:r,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(n)):(e=y(u[o],f[o]),Promise.resolve(a[g]({abort:e.abort,payload:r,instance:l,config:Oe(o,d,f),plugins:d})).then(function(e){var e=q(e)?e:{},e=L({},n,e),t=u[o];return Ne(t,o)?Pe({data:t,method:g,instance:l,pluginName:o,store:c}):((t=g+":"+o).match(/:/g)||[]).length<2&&!g.match(Se)&&!g.match(Ee)&&l.dispatch(L({},s?e:r,{type:t,_:{called:t,from:"submethod"}})),Promise.resolve(e)}))})}catch(e){return Promise.reject(e)}},Promise.resolve(i))).then(function(e){if(!(g.match(I)||g.match(/^registerPlugin/)||g.match(Ee)||g.match(Se)||g.match(/^params/)||g.match(/^userIdChanged/))){if(o.plugins.includes(g),e._&&e._.originalAction===g)return e;var t=L({},e,{_:{originalAction:e.type,called:e.type,from:"engineEnd"}});_e(e,r.exact.length)&&!g.match(/End$/)&&(t=L({},t,{type:e.type+"Aborted"})),c.dispatch(t)}return e})})}catch(e){return Promise.reject(e)}},I=/Start$/,Se=/^bootstrap/,Ee=/^ready/;function Pe(e){var t=e.pluginName,t=e.method+"Aborted"+(t?":"+t:"");e.store.dispatch(L({},e.data,{type:t,_:{called:t,from:"abort"}}))}function Oe(e,t,n){t=t[e]||n[e];return t&&t.config?t.config:{}}function xe(n,e){return e.reduce(function(e,t){return t[n]?e.concat({methodName:n,pluginName:t.name,method:t[n]}):e},[])}function je(e,t){var n=e.replace(I,""),t=t?":"+t:"";return[e+t,n+t,n+"End"+t]}function Ne(e,t){e=e.abort;return e&&(!0===e||Ae(e,t)||e&&Ae(e.plugins,t))}function _e(e,t){var n,e=e.abort;return e&&(!0===e||U(e)||(n=e.plugins,v(e)&&e.length===t)||v(n)&&n.length===t)}function v(e){return Array.isArray(e)}function Ae(e,t){return!(!e||!v(e))&&e.includes(t)}function ke(e){e=e.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Te(y,h,v){var b={};return function(g){return function(m){return function(e){try{var t,n,r,i,o,a,u,c,s=function(e){return t?e:m(d)},l=e.type,f=e.plugins,d=e;if(e.abort)return Promise.resolve(m(e));l===Q.enablePlugin&&g.dispatch({type:Q.initializeStart,plugins:f,disabled:[],fromEnable:!0,meta:e.meta}),l===Q.disablePlugin&&setTimeout(function(){return be(e.meta.rid,{payload:e})},0),l===Q.initializeEnd&&(n=h(),i=(r=Object.keys(n)).filter(function(e){return f.includes(e)}).map(function(e){return n[e]}),o=[],a=[],u=e.disabled,c=i.map(function(t){var e=t.loaded,n=t.name,r=t.config;return function r(i,o,a){return new Promise(function(t,n){return o()?t(i):a<1?n(L({},i,{queue:!0})):new Promise(function(e){return setTimeout(e,10)}).then(function(e){return r(i,o,a-10).then(t,n)})})}(t,function(){return e({config:r})},1e4).then(function(e){return b[n]||(g.dispatch({type:Q.pluginReadyType(n),name:n,events:Object.keys(t).filter(function(e){return!pe.includes(e)})}),b[n]=!0),o=o.concat(n),t}).catch(function(e){if(e instanceof Error)throw new Error(e);return a=a.concat(e.name),e})}),Promise.all(c).then(function(e){var t={plugins:o,failed:a,disabled:u};setTimeout(function(){r.length===c.length+u.length&&g.dispatch(L({},{type:Q.ready},t))},0)}));var p=(()=>{if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){var u,c,n,s,l,e,f,d,p;u=g,c=y,s={},l=h(),e=u.getState(),f=e.plugins,d=e.queue,p=e.user,!e.context.offline&&d&&d.actions&&d.actions.length&&(n=d.actions.reduce(function(e,t,n){return(f[t.plugin].loaded?(e.process.push(t),e.processIndex):(e.requeue.push(t),e.requeueIndex)).push(n),e},{processIndex:[],process:[],requeue:[],requeueIndex:[]})).processIndex&&n.processIndex.length&&(n.processIndex.forEach(function(e){var t,n,r,e=d.actions[e],i=e.plugin,o=e.payload.type,a=l[i][o];a&&C(a)&&(void 0===(n=e.payload)&&(n={}),void 0===(r=p)&&(r={}),e=[G,K].reduce(function(e,t){return n.hasOwnProperty(t)&&r[t]&&r[t]!==n[t]&&(e[t]=r[t]),e},n),!(t=s[e.meta.rid])&&(a=a({payload:e,config:f[i].config,instance:c,abort:Ie}))&&q(a)&&a.abort?s[e.meta.rid]=!0:t||u.dispatch(L({},e,{type:a=o+":"+i,_:{called:a,from:"queueDrain"}})))}),e=d.actions.filter(function(e,t){return!~n.processIndex.indexOf(t)}),d.actions=e)},0),Promise.resolve(((n,e,i,o,a)=>{try{var u,t,c,s,l=C(e)?e():e,f=n.type,d=f.replace(I,"");return n._&&n._.called?Promise.resolve(n):(u=i.getState(),g=l,void 0===(y=u.plugins)&&(y={}),void 0===(h=n.options)&&(h={}),t=Object.keys(g).filter(function(e){var t=h.plugins||{};return k(t[e])?t[e]:!1!==t.all&&(!y[e]||!1!==y[e].enabled)}).map(function(e){return g[e]}),c=(t=f===Q.initializeStart&&n.fromEnable?Object.keys(u.plugins).filter(function(e){var t=u.plugins[e];return n.plugins.includes(e)&&!t.initialized}).map(function(e){return l[e]}):t).map(function(e){return e.name}),m=t,r=je(p=f).map(function(e){return xe(e,m)}),s=m.reduce(function(e,t){var t=t.name,n=je(p,t).map(function(e){return xe(e,m)}),r=n[0],i=n[1],n=n[2];return r.length&&(e.beforeNS[t]=r),i.length&&(e.duringNS[t]=i),n.length&&(e.afterNS[t]=n),e},{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}}),Promise.resolve(we({action:n,data:{exact:s.before,namespaced:s.beforeNS},state:u,allPlugins:l,allMatches:s,instance:i,store:o,EVENTS:a})).then(function(t){function e(){var e=(()=>{if(f.match(I))return Promise.resolve(we({action:L({},n,{type:d+"End"}),data:{exact:s.after,namespaced:s.afterNS},state:u,allPlugins:l,allMatches:s,instance:i,store:o,EVENTS:a})).then(function(e){e.meta&&e.meta.hasCallback&&be(e.meta.rid,{payload:e})})})();return e&&e.then?e.then(function(){return t}):t}var n,r;return _e(t,c.length)?t:(r=f!==d?Promise.resolve(we({action:L({},t,{type:d}),data:{exact:s.during,namespaced:s.duringNS},state:u,allPlugins:l,allMatches:s,instance:i,store:o,EVENTS:a})).then(function(e){n=e}):void(n=t))&&r.then?r.then(e):e()}))}catch(n){return Promise.reject(n)}var p,m,r,g,y,h})(e,h,y,g,v)).then(function(e){e=m(e);return t=1,e})})();return Promise.resolve(p&&p.then?p.then(s):s(p))}catch(e){return Promise.reject(e)}}}}}var Me=function(){var a=this;this.before=[],this.after=[],this.addMiddleware=function(e,t){a[t]=a[t].concat(e)},this.removeMiddleware=function(t,e){var n=a[e].findIndex(function(e){return e===t});-1!==n&&(a[e]=[].concat(a[e].slice(0,n),a[e].slice(n+1)))},this.dynamicMiddlewares=function(o){return function(i){return function(r){return function(e){var t={getState:i.getState,dispatch:function(e){return i.dispatch(e)}},n=a[o].map(function(e){return e(t)});return F.apply(void 0,n)(r)(e)}}}}};function ze(e,t){return e.substring(t.length+1,e.length)}function De(e,n,r){return e.reduce(function(e,t){return e[t]=L({},r[t],{enabled:n}),e},r)}function Ce(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var Ue={last:{},history:[]};function qe(e,t){void 0===e&&(e=Ue);var n=t.options,r=t.meta;return t.type===Q.track?(t=Ce(L({event:t.event,properties:t.properties},Object.keys(n).length&&{options:n},{meta:r})),L({},e,{last:t,history:e.history.concat(t)})):e}var Re={actions:[]};function Ve(e,t){void 0===e&&(e=Re);var n=t.payload;switch(t.type){case"queue":var r=n&&n.type&&n.type===Q.identify?[t].concat(e.actions):e.actions.concat(t);return L({},e,{actions:r});case"dequeue":return[];default:return e}}var Le=/#.*$/,$e=function(e){var t,n,r,i,o,a,u;return void 0===e&&(e={}),D?(u=(t=document).title,t=t.referrer,o=(r=window).location,n=r.innerWidth,r=r.innerHeight,i=o.hash,a=o=o.search,u={title:u,url:u=(u=(()=>{if(D)for(var e,t=document.getElementsByTagName("link"),n=0;e=t[n];n++)if("canonical"===e.getAttribute("rel"))return e.getAttribute("href")})())?u.match(/\?/)?u:u+a:window.location.href.replace(Le,""),path:"/"+((a=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(a=u))&&a[3]?a[3].split("?")[0].replace(Le,""):""),hash:i,search:o,width:n,height:r},t&&""!==t&&(u.referrer=t),L({},u,e)):e},Be={last:{},history:[]};function Je(e,t){void 0===e&&(e=Be);var n=t.options;return t.type===Q.page?(t=Ce(L({properties:t.properties,meta:t.meta},Object.keys(n).length&&{options:n})),L({},e,{last:t,history:e.history.concat(t)})):e}var Fe={},He={initialized:!1,sessionId:ne(),app:null,version:null,debug:!1,offline:!!D&&!navigator.onLine,os:{name:"na"},userAgent:D?navigator.userAgent:"node",library:{name:fe,version:"0.13.1"},timezone:void 0,locale:void 0,campaign:{},referrer:Fe};function Xe(e,t){var n=(e=void 0===e?He:e).initialized,r=t.campaign;switch(t.type){case Q.campaign:return L({},e,{campaign:r});case Q.offline:return L({},e,{offline:!0});case Q.online:return L({},e,{offline:!1});default:return n?e:L({},He,e,{initialized:!0})}}var We=["plugins","reducers","storage"];function Ge(){return V(fe,[]),function(i){return function(e,t,n){var e=i(e,t,n),r=e.dispatch;return Object.assign(e,{dispatch:function(e){return c[o][fe].push(e.action||e),r(e)}})}}}function Ke(){return function(){return F(F.apply(null,arguments),Ge())}}function Qe(e){return e?A(e)===w?e:[e]:[]}function Ye(e,t,n){void 0===e&&(e={});var r,i,o=ne();return t&&(f[o]=(r=t,i=function(e){for(var t,n=e||Array.prototype.slice.call(arguments),r=0;r<n.length;r++)if(C(n[r])){t=n[r];break}return t}(n),function(e){i&&i(e),r(e)})),L({},e,{rid:o,ts:(new Date).getTime()},t?{hasCallback:!0}:{})}function Ze(e){function t(){return h}function u(){throw new Error("Abort disabled inListener")}var r,c,n,s,l,f,d,p,a,i=(e=void 0===e?{}:e).reducers||{},o=e.initialUser||{},m=(e.plugins||[]).reduce(function(e,n){if(C(n))e.middlewares=e.middlewares.concat(n);else{if(n.NAMESPACE&&(n.name=n.NAMESPACE),!n.name)throw new Error("https://lytics.dev/errors/1");n.config||(n.config={});var t=n.EVENTS?Object.keys(n.EVENTS).map(function(e){return n.EVENTS[e]}):[],t=(e.pluginEnabled[n.name]=!(!1===n.enabled||!1===n.config.enabled),delete n.enabled,n.methods&&(e.methods[n.name]=Object.keys(n.methods).reduce(function(e,t){var r;return e[t]=(r=n.methods[t],function(){for(var e=Array.prototype.slice.call(arguments),t=new Array(r.length),n=0;n<e.length;n++)t[n]=e[n];return t[t.length]=N,r.apply({instance:N},t)}),e},{}),delete n.methods),Object.keys(n).concat(t)),t=new Set(e.events.concat(t));if(e.events=Array.from(t),e.pluginsArray=e.pluginsArray.concat(n),e.plugins[n.name])throw new Error(n.name+"AlreadyLoaded");e.plugins[n.name]=n,e.plugins[n.name].loaded||(e.plugins[n.name].loaded=function(){return!0})}return e},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),g=e.storage||{getItem:R,setItem:V,removeItem:re},y=(r=g,function(e,t,n){return t.getState("user")[e]||(n&&q(n)&&n[e]?n[e]:he(r)[e]||R(ve(e))||null)}),h=m.plugins,v=m.events.filter(function(e){return!pe.includes(e)}).sort(),b=new Set(v.concat(de).filter(function(e){return!pe.includes(e)})),b=Array.from(b).sort(),I=new Me,w=I.addMiddleware,S=I.removeMiddleware,I=I.dynamicMiddlewares,E=(e=>{for(var t,n=e?(e=e.match(/\?(.*)/))&&e[1]?e[1].split("#")[0]:"":D&&window.location.search.substring(1),r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;u=i.exec(n);){var o,a=te(u[1]),u=te(u[2]);a&&("[]"===a.substring(a.length-2)?(o=r[a=a.substring(0,a.length-2)]||(r[a]=[]),r[a]=Array.isArray(o)?o:[],r[a].push(u)):r[a]=""===u||u)}for(t in r){var c=t.split("[");if(1<c.length){{s=void 0;l=void 0;f=void 0;d=void 0;p=void 0;m=void 0;var s=r;var l=c.map(function(e){return e.replace(/[?[\]\\ ]/g,"")});var f=r[t];for(var d=l.length-1,p=0;p<d;++p){var m=l[p];if("__proto__"===m||"constructor"===m)break;m in s||(s[m]={}),s=s[m]}s[l[d]]=f}delete r[t]}}return r})(),P=he(g),O=L({},P,o,E.an_uid?{userId:E.an_uid}:{},E.an_aid?{anonymousId:E.an_aid}:{}),x=(O.anonymousId||(O.anonymousId=ne()),L({enable:function(t,n){return new Promise(function(e){T.dispatch({type:Q.enablePlugin,plugins:Qe(t),_:{originalAction:Q.enablePlugin}},e,[n])})},disable:function(t,n){return new Promise(function(e){T.dispatch({type:Q.disablePlugin,plugins:Qe(t),_:{originalAction:Q.disablePlugin}},e,[n])})}},m.methods)),j=!1,N={identify:function(e,t,n,r){try{var i=U(e)?e:null,o=q(e)?e:t,a=n||{},u=N.user(),c=(V(ve(G),i),i||o.userId||y(G,N,o));return Promise.resolve(new Promise(function(e){T.dispatch(L({type:Q.identifyStart,userId:c,traits:o||{},options:a,anonymousId:u.anonymousId},u.id&&u.id!==i&&{previousId:u.id}),e,[t,n,r])}))}catch(e){return Promise.reject(e)}},track:function(e,t,n,r){try{var i,o,a=q(e)?e.event:e;if(a&&U(a))return i=q(e)?e:t||{},o=q(n)?n:{},Promise.resolve(new Promise(function(e){T.dispatch({type:Q.trackStart,event:a,properties:i,options:o,userId:y(G,N,t),anonymousId:y(K,N,t)},e,[t,n,r])}));throw new Error("EventMissing")}catch(e){return Promise.reject(e)}},page:function(t,n,r){try{var i=q(t)?t:{},o=q(n)?n:{};return Promise.resolve(new Promise(function(e){T.dispatch({type:Q.pageStart,properties:$e(i),options:o,userId:y(G,N,i),anonymousId:y(K,N,i)},e,[t,n,r])}))}catch(t){return Promise.reject(t)}},user:function(e){var t;return e===G||"id"===e?y(G,N):e===K||"anonId"===e?y(K,N):(t=N.getState("user"),e?Y(t,e):t)},reset:function(t){return new Promise(function(e){T.dispatch({type:Q.resetStart},e,t)})},ready:function(t){return j&&t({plugins:x,instance:N}),N.on(Q.ready,function(e){t&&t(e),j=!0})},on:function(n,r){if(!n||!C(r))return!1;if(n===Q.bootstrap)throw new Error(".on disabled for "+n);var e,t,i,o,a=/Start$|Start:/;return"*"===n?(t=function(e){return function(t){return function(e){return e.type.match(a)||r({payload:e,instance:N,plugins:h}),t(e)}}},w(e=function(e){return function(t){return function(e){return e.type.match(a)&&r({payload:e,instance:N,plugins:h}),t(e)}}},et),w(t,tt),function(){S(e,et),S(t,tt)}):(i=n.match(a)?et:tt,w(o=function(e){return function(t){return function(e){return e.type===n&&r({payload:e,instance:N,plugins:h,abort:u}),t(e)}}},i),function(){return S(o,i)})},once:function(e,t){if(!e||!C(t))return!1;if(e===Q.bootstrap)throw new Error(".once disabled for "+e);var n=N.on(e,function(e){t({payload:e.payload,instance:N,plugins:h,abort:u}),n()});return n},getState:function(e){var t=T.getState();return e?Y(t,e):Object.assign({},t)},dispatch:function(e){var t=U(e)?{type:e}:e;if(de.includes(t.type))throw new Error("reserved action "+t.type);t=L({},t,{_:L({originalAction:t.type},e._||{})});T.dispatch(t)},enablePlugin:x.enable,disablePlugin:x.disable,plugins:x,storage:{getItem:g.getItem,setItem:function(e,t,n){T.dispatch({type:Q.setItemStart,key:e,value:t,options:n})},removeItem:function(e,t){T.dispatch({type:Q.removeItemStart,key:e,options:t})}},setAnonymousId:function(e,t){N.storage.setItem(H,e,t)},events:{core:de,plugins:v}},v=m.middlewares.concat([function(e){return function(t){return function(e){return e.meta||(e.meta=Ye()),t(e)}}},I(et),Te(N,t,{all:b,plugins:v}),(a=g,function(e){return function(o){return function(e){var t=e.type,n=e.key,r=e.value,i=e.options;if(t===Q.setItem||t===Q.removeItem){if(e.abort)return o(e);t===Q.setItem?a.setItem(n,r,i):a.removeItem(n,i)}return o(e)}}}),(p=(d=N).storage.setItem,function(l){return function(s){return function(e){var r,t,n,i,o,a,u,c;return e.type===Q.bootstrap&&(r=e.params,n=e.initialUser,i=(t=e.persistedUser).userId===(o=e.user).userId,t.anonymousId!==o.anonymousId&&p(H,o.anonymousId),i||p(X,o.userId),n.traits&&p(W,L({},i&&t.traits?t.traits:{},n.traits)),(o=Object.keys(e.params)).length)&&(a=r.an_uid,u=r.an_event,c=o.reduce(function(e,t){var n;return(t.match(me)||t.match(/^(d|g)clid/))&&(n=t.replace(me,""),e.campaign["campaign"===n?"name":n]=r[t]),t.match(ge)&&(e.props[t.replace(ge,"")]=r[t]),t.match(ye)&&(e.traits[t.replace(ye,"")]=r[t]),e},{campaign:{},props:{},traits:{}}),l.dispatch(L({type:Q.params,raw:r},c,a?{userId:a}:{})),a&&setTimeout(function(){return d.identify(a,c.traits)},0),u&&setTimeout(function(){return d.track(u,c.props)},0),Object.keys(c.campaign).length)&&l.dispatch({type:Q.campaign,campaign:c.campaign}),s(e)}}}),(s=(b=(b=N).storage).setItem,l=b.removeItem,f=b.getItem,function(u){return function(a){return function(e){var t,n,r=e.userId,i=e.traits,o=e.options;return e.type===Q.reset&&([X,W,H].forEach(function(e){l(e)}),[G,K,"traits"].forEach(function(e){re(ve(e))})),e.type===Q.identify&&(f(H)||s(H,ne()),t=f(X),n=f(W)||{},t&&t!==r&&u.dispatch({type:Q.userIdChanged,old:{userId:t,traits:n},new:{userId:r,traits:i},options:o}),r&&s(X,r),i)&&s(W,L({},n,i)),a(e)}}}),I(tt)]),b={context:Xe,user:(n=g,function(e,t){if(void 0===e&&(e={}),(t=void 0===t?{}:t).type===Q.setItemEnd){if(t.key===H)return L({},e,{anonymousId:t.value});if(t.key===X)return L({},e,{userId:t.value})}switch(t.type){case Q.identify:return Object.assign({},e,{userId:t.userId,traits:L({},e.traits,t.traits)});case Q.reset:return[X,H,W].forEach(function(e){n.removeItem(e)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}),page:Je,track:qe,plugins:(c=t,function(e,t){void 0===e&&(e={});var n,r,i,o,a={};if("initialize:aborted"===t.type)return e;if(/^registerPlugin:([^:]*)$/.test(t.type))return i=ze(t.type,"registerPlugin"),(n=c()[i])&&i?(o=t.enabled,r=n.config,a[i]={enabled:o,initialized:!!o&&Boolean(!n.initialize),loaded:!!o&&Boolean(n.loaded({config:r})),config:r},L({},e,a)):e;if(/^initialize:([^:]*)$/.test(t.type))return i=ze(t.type,Q.initialize),(o=c()[i])&&i?(a[i]=L({},e[i],{initialized:!0,loaded:Boolean(o.loaded({config:o.config}))}),L({},e,a)):e;if(/^ready:([^:]*)$/.test(t.type))return a[t.name]=L({},e[t.name],{loaded:!0}),L({},e,a);switch(t.type){case Q.disablePlugin:return L({},e,De(t.plugins,!1,e));case Q.enablePlugin:return L({},e,De(t.plugins,!0,e));default:return e}}),queue:Ve},I=F,g=F;D&&e.debug&&((k=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__)&&(I=k({trace:!0,traceLimit:25})),g=function(){return 0===arguments.length?Ge():q(typeof arguments[0])?Ke():Ke().apply(null,arguments)});A=e;var _,A,k=Object.keys(A).reduce(function(e,t){return We.includes(t)||(e[t]=A[t]),e},{}),e={context:k,user:O,plugins:m.pluginsArray.reduce(function(e,t){var n=t.name,r=t.config,i=t.loaded,o=m.pluginEnabled[n];return e[n]={enabled:o,initialized:!!o&&Boolean(!t.initialize),loaded:Boolean(i({config:r})),config:r},e},{})},T=le((e=>{for(var t=Object.keys(e),l={},n=0;n<t.length;n++){var r=t[n];typeof e[r]===$&&(l[r]=e[r])}var f,i,d=Object.keys(l);try{i=l,Object.keys(i).forEach(function(e){var t=i[e];if(typeof t(void 0,{type:ae})===B||typeof t(void 0,{type:ue})===B)throw new Error(J+" "+e+" "+B)})}catch(e){f=e}return function(e,t){if(void 0===e&&(e={}),f)throw f;for(var n,r=!1,i={},o=0;o<d.length;o++){var a,u=d[o],c=e[u],s=(0,l[u])(c,t);if(typeof s===B)throw n=u,a="action "+((a=(a=t)&&a.type)&&a.toString()||"?")+J+" "+n+" returns "+B,new Error(a);i[u]=s,r=r||s!==c}return r?i:e}})(L({},b,i)),e,g(I(function(){var a=arguments;return function(o){return function(e,t,n){var e=o(e,t,n),r=e.dispatch,i={getState:e.getState,dispatch:function(e){return r(e)}},t=[].slice.call(a).map(function(e){return e(i)});return L({},e,{dispatch:r=F.apply(void 0,t)(e.dispatch)})}}}.apply(void 0,v)))),b=(T.dispatch=(_=T.dispatch,function(e,t,n){e=L({},e,{meta:Ye(e.meta,t,Qe(n))});return _.apply(null,[e])}),Object.keys(h)),M=(T.dispatch({type:Q.bootstrap,plugins:b,config:k,params:E,user:O,initialUser:o,persistedUser:P}),b.filter(function(e){return m.pluginEnabled[e]})),z=b.filter(function(e){return!m.pluginEnabled[e]});return T.dispatch({type:Q.registerPlugins,plugins:b,enabled:m.pluginEnabled}),m.pluginsArray.map(function(e,t){var n=e.bootstrap,r=e.config,i=e.name;n&&C(n)&&n({instance:N,config:r,payload:e}),T.dispatch({type:Q.registerPluginType(i),name:i,enabled:m.pluginEnabled[i],plugin:e}),m.pluginsArray.length===t+1&&T.dispatch({type:Q.initializeStart,plugins:M,disabled:z})}),N}var et="before",tt="after",d="cookie",p=ot(),nt=at,rt=at;function it(e){p?at(e,"",-1):re(e)}function ot(){if(void 0===p){var e=d+d;try{at(e,e),p=-1!==document.cookie.indexOf(e),it(e)}catch(e){p=!1}}return p}function at(e,t,n,r,i,o){var a;if("undefined"!=typeof window)return a=1<arguments.length,!1===p&&(a?V(e,t):R(e)),a?document.cookie=e+"="+encodeURIComponent(t)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}var m="localStorage",Fe=oe.bind(null,m),g=(s(m,"getItem"),s(m,"setItem"),s(m,"removeItem"),"sessionStorage"),ut=oe.bind(null,g);function y(e){var t=e;try{if("true"===(t=JSON.parse(e)))return!0;if("false"===t)return!1;if(q(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}s(g,"getItem"),s(g,"setItem"),s(g,"removeItem");var ct=Fe(),st=ut(),lt=ot();function ft(e,t){var n,r,i;if(e)return n=!yt(t=dt(t)),r=pt(t)?y(localStorage.getItem(e)):void 0,n&&!a(r)?r:(i=mt(t)?y(nt(e)):void 0,n&&i?i:(t=gt(t)?y(sessionStorage.getItem(e)):void 0,n&&t?t:(e=R(e),n?e:{localStorage:r,sessionStorage:t,cookie:i,global:e})))}function dt(e){return e?U(e)?e:e.storage:P}function pt(e){return ct&&ht(e,m)}function mt(e){return lt&&ht(e,d)}function gt(e){return st&&ht(e,g)}function yt(e){return e===O||"all"===e}function ht(e,t){return e===P||e===t||yt(e)}function vt(e,t,n){return{location:e,current:t,previous:n}}var bt={setItem:function(e,t,n){var r,i,o;if(e&&!a(t))return r={},n=dt(n),i=JSON.stringify(t),o=!yt(n),pt(n)&&(r[m]=vt(m,t,y(localStorage.getItem(e))),localStorage.setItem(e,i),o)?r[m]:mt(n)&&(r[d]=vt(d,t,y(nt(e))),rt(e,i),o)?r[d]:gt(n)&&(r[g]=vt(g,t,y(sessionStorage.getItem(e))),sessionStorage.setItem(e,i),o)?r[g]:(r[u]=vt(u,t,R(e)),V(e,t),o?r[u]:r)},getItem:ft,removeItem:function(e,t){var n,r;if(e)return t=dt(t),n=ft(e,O),r={},!a(n.localStorage)&&pt(t)&&(localStorage.removeItem(e),r[m]=n.localStorage),!a(n.cookie)&&mt(t)&&(it(e),r[d]=n.cookie),!a(n.sessionStorage)&>(t)&&(sessionStorage.removeItem(e),r[g]=n.sessionStorage),!a(n.global)&&ht(t,u)&&(re(e),r[u]=n.global),r}};function It(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};return Ze(b(b({},{storage:bt}),e))}return e.Analytics=It,e.CONSTANTS=l,e.EVENTS=Q,e.default=It,e.init=It,Object.defineProperty(e,"__esModule",{value:!0}),e})({});