zar 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/zar.es.js +202 -1303
- package/dist/zar.es.js.map +1 -1
- package/dist/zar.iife.js +1 -2
- package/dist/zar.iife.js.map +1 -1
- package/dist/zar.umd.js +1 -2
- package/dist/zar.umd.js.map +1 -1
- package/package.json +9 -7
package/dist/zar.umd.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
var ee=(Q,ie,te)=>new Promise((qe,Ne)=>{var Be=U=>{try{ae(te.next(U))}catch(ve){Ne(ve)}},re=U=>{try{ae(te.throw(U))}catch(ve){Ne(ve)}},ae=U=>U.done?qe(U.value):Promise.resolve(U.value).then(Be,re);ae((te=te.apply(Q,ie)).next())});(function(Q,ie){typeof exports=="object"&&typeof module!="undefined"?ie(exports):typeof define=="function"&&define.amd?define(["exports"],ie):(Q=typeof globalThis!="undefined"?globalThis:Q||self,ie(Q.zar={}))})(this,function(Q){"use strict";function ie(e,t,r,n,i){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:i;return e===i?r:e}var te="undefined",qe="object",Ne="any",Be="*",re="__",ae=typeof process!="undefined"?process:{};ae.env&&ae.env.NODE_ENV;var U=typeof window!="undefined";ae.versions!=null&&ae.versions.node!=null,typeof Deno!="undefined"&&Deno.core,U&&window.name==="nodejs"||typeof navigator!="undefined"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function ve(e,t){return t.charAt(0)[e]()+t.slice(1)}var xr=ve.bind(null,"toUpperCase"),Or=ve.bind(null,"toLowerCase");function Er(e){return Pt(e)?xr("null"):typeof e=="object"?zr(e):Object.prototype.toString.call(e).slice(8,-1)}function Ve(e,t){t===void 0&&(t=!0);var r=Er(e);return t?Or(r):r}function je(e,t){return typeof t===e}var K=je.bind(null,"function"),me=je.bind(null,"string"),he=je.bind(null,"undefined"),kr=je.bind(null,"boolean");je.bind(null,"symbol");function Pt(e){return e===null}function _r(e){return Ve(e)==="number"&&!isNaN(e)}function Nr(e){return Ve(e)==="array"}function F(e){if(!jr(e))return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function jr(e){return e&&(typeof e=="object"||e!==null)}function zr(e){return K(e.constructor)?e.constructor.name:null}function Tr(e){return e instanceof Error||me(e.message)&&e.constructor&&_r(e.constructor.stackTraceLimit)}function St(e,t){if(typeof t!="object"||Pt(t))return!1;if(t instanceof e)return!0;var r=Ve(new e(""));if(Tr(t))for(;t;){if(Ve(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}St.bind(null,TypeError),St.bind(null,SyntaxError);function Je(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?Dr(e,t):r}function Dr(e,t){return t===void 0&&(t=""),e&&e.nodeName===t.toUpperCase()}function Fe(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}Fe(Je,"form"),Fe(Je,"button"),Fe(Je,"input"),Fe(Je,"select");function xt(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return null}}function Ar(){if(U){var e=navigator,t=e.languages;return e.userLanguage||(t&&t.length?t[0]:e.language)}}function Lr(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){}}function Mr(e){return function(t){for(var r,n=Object.create(null),i=/([^&=]+)=?([^&]*)/g;r=i.exec(t);){var a=xt(r[1]),o=xt(r[2]);a.substring(a.length-2)==="[]"?(n[a=a.substring(0,a.length-2)]||(n[a]=[])).push(o):n[a]=o===""||o}for(var s in n){var p=s.split("[");p.length>1&&($r(n,p.map(function(g){return g.replace(/[?[\]\\ ]/g,"")}),n[s]),delete n[s])}return n}(function(t){if(t){var r=t.match(/\?(.*)/);return r&&r[1]?r[1].split("#")[0]:""}return U&&window.location.search.substring(1)}(e))}function $r(e,t,r){for(var n=t.length-1,i=0;i<n;++i){var a=t[i];if(a==="__proto__"||a==="constructor")break;a in e||(e[a]={}),e=e[a]}e[t[n]]=r}function He(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],i=15&r;e+=n=="-"||n=="4"?n:(n=="x"?i:3&i|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}var ze="global",ye=re+"global"+re,be=typeof self===qe&&self.self===self&&self||typeof global===qe&&global.global===global&&global||void 0;function se(e){return be[ye][e]}function le(e,t){return be[ye][e]=t}function we(e){delete be[ye][e]}function Ie(e,t,r){var n;try{if(it(e)){var i=window[e];n=i[t].bind(i)}}catch(a){}return n||r}be[ye]||(be[ye]={});var Ge={};function it(e){if(typeof Ge[e]!==te)return Ge[e];try{var t=window[e];t.setItem(te,te),t.removeItem(te)}catch(r){return Ge[e]=!1}return Ge[e]=!0}function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},v.apply(this,arguments)}var oe="function",ne="undefined",Cr="@@redux/"+Math.random().toString(36),Ot=function(){return typeof Symbol===oe&&Symbol.observable||"@@observable"}(),We=" != "+oe;function Et(e,t,r){var n;if(typeof t===oe&&typeof r===ne&&(r=t,t=void 0),typeof r!==ne){if(typeof r!==oe)throw new Error("enhancer"+We);return r(Et)(e,t)}if(typeof e!==oe)throw new Error("reducer"+We);var i=e,a=t,o=[],s=o,p=!1;function g(){s===o&&(s=o.slice())}function x(){return a}function d(h){if(typeof h!==oe)throw new Error("Listener"+We);var T=!0;return g(),s.push(h),function(){if(T){T=!1,g();var I=s.indexOf(h);s.splice(I,1)}}}function N(h){if(!F(h))throw new Error("Act != obj");if(typeof h.type===ne)throw new Error("ActType "+ne);if(p)throw new Error("Dispatch in reducer");try{p=!0,a=i(a,h)}finally{p=!1}for(var T=o=s,I=0;I<T.length;I++)(0,T[I])();return h}return N({type:"@@redux/INIT"}),(n={dispatch:N,subscribe:d,getState:x,replaceReducer:function(h){if(typeof h!==oe)throw new Error("next reducer"+We);i=h,N({type:"@@redux/INIT"})}})[Ot]=function(){var h,T=d;return(h={subscribe:function(I){if(typeof I!="object")throw new TypeError("Observer != obj");function y(){I.next&&I.next(x())}return y(),{unsubscribe:T(y)}}})[Ot]=function(){return this},h},n}function Ur(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+ne}function Pe(){var e=[].slice.call(arguments);return e.length===0?function(t){return t}:e.length===1?e[0]:e.reduce(function(t,r){return function(){return t(r.apply(void 0,[].slice.call(arguments)))}})}function Rr(){var e=arguments;return function(t){return function(r,n,i){var a,o=t(r,n,i),s=o.dispatch,p={getState:o.getState,dispatch:function(g){return s(g)}};return a=[].slice.call(e).map(function(g){return g(p)}),v({},o,{dispatch:s=Pe.apply(void 0,a)(o.dispatch)})}}}var ue=re+"anon_id",fe=re+"user_id",Se=re+"user_traits",ce="userId",xe="anonymousId",Xe=["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"],at=["name","EVENTS","config","loaded"],m=Xe.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),kt=/^utm_/,_t=/^an_prop_/,Nt=/^an_trait_/;function qr(e){var t=e.storage.setItem;return function(r){return function(n){return function(i){if(i.type===m.bootstrap){var a=i.params,o=i.user,s=i.persistedUser,p=i.initialUser,g=s.userId===o.userId;s.anonymousId!==o.anonymousId&&t(ue,o.anonymousId),g||t(fe,o.userId),p.traits&&t(Se,v({},g&&s.traits?s.traits:{},p.traits));var x=Object.keys(i.params);if(x.length){var d=a.an_uid,N=a.an_event,h=x.reduce(function(T,I){if(I.match(kt)||I.match(/^(d|g)clid/)){var y=I.replace(kt,"");T.campaign[y==="campaign"?"name":y]=a[I]}return I.match(_t)&&(T.props[I.replace(_t,"")]=a[I]),I.match(Nt)&&(T.traits[I.replace(Nt,"")]=a[I]),T},{campaign:{},props:{},traits:{}});r.dispatch(v({type:m.params,raw:a},h,d?{userId:d}:{})),d&&setTimeout(function(){return e.identify(d,h.traits)},0),N&&setTimeout(function(){return e.track(N,h.props)},0),Object.keys(h.campaign).length&&r.dispatch({type:m.campaign,campaign:h.campaign})}}return n(i)}}}}function Br(e){return function(t,r){if(t===void 0&&(t={}),r===void 0&&(r={}),r.type===m.setItemEnd){if(r.key===ue)return v({},t,{anonymousId:r.value});if(r.key===fe)return v({},t,{userId:r.value})}switch(r.type){case m.identify:return Object.assign({},t,{userId:r.userId,traits:v({},t.traits,r.traits)});case m.reset:return[fe,ue,Se].forEach(function(n){e.removeItem(n)}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function jt(e){return{userId:e.getItem(fe),anonymousId:e.getItem(ue),traits:e.getItem(Se)}}var ot=function(e){return re+"TEMP"+re+e};function Vr(e){var t=e.storage,r=t.setItem,n=t.removeItem,i=t.getItem;return function(a){return function(o){return function(s){var p=s.userId,g=s.traits,x=s.options;if(s.type===m.reset&&([fe,Se,ue].forEach(function(h){n(h)}),[ce,xe,"traits"].forEach(function(h){we(ot(h))})),s.type===m.identify){i(ue)||r(ue,He());var d=i(fe),N=i(Se)||{};d&&d!==p&&a.dispatch({type:m.userIdChanged,old:{userId:d,traits:N},new:{userId:p,traits:g},options:x}),p&&r(fe,p),g&&r(Se,v({},N,g))}return o(s)}}}}var Te={};function zt(e,t){Te[e]&&K(Te[e])&&(Te[e](t),delete Te[e])}function Tt(e,t,r){return new Promise(function(n,i){return t()?n(e):r<1?i(v({},e,{queue:!0})):new Promise(function(a){return setTimeout(a,10)}).then(function(a){return Tt(e,t,r-10).then(n,i)})})}function Dt(e,t,r){var n=t(),i=e.getState(),a=i.plugins,o=i.queue,s=i.user;if(!i.context.offline&&o&&o.actions&&o.actions.length){var p=o.actions.reduce(function(x,d,N){return a[d.plugin].loaded?(x.process.push(d),x.processIndex.push(N)):(x.requeue.push(d),x.requeueIndex.push(N)),x},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(p.processIndex&&p.processIndex.length){p.processIndex.forEach(function(x){var d=o.actions[x],N=d.plugin,h=d.payload.type,T=n[N][h];if(T&&K(T)){var I=function(E,j){return E===void 0&&(E={}),j===void 0&&(j={}),[ce,xe].reduce(function(D,l){return E.hasOwnProperty(l)&&j[l]&&j[l]!==E[l]&&(D[l]=j[l]),D},E)}(d.payload,s);T({payload:I,config:a[N].config,instance:r});var y=h+":"+N;e.dispatch(v({},I,{type:y,_:{called:y,from:"queueDrain"}}))}});var g=o.actions.filter(function(x,d){return!~p.processIndex.indexOf(d)});o.actions=g}}}var ut=function(e){var t=e.data,r=e.action,n=e.instance,i=e.state,a=e.allPlugins,o=e.allMatches,s=e.store,p=e.EVENTS;try{var g=i.plugins,x=i.context,d=r.type,N=d.match(Oe),h=t.exact.map(function(y){return y.pluginName});N&&(h=o.during.map(function(y){return y.pluginName}));var T=function(y,E){return function(j,D,l){var b=D.config,M=D.name,A=M+"."+j.type;l&&(A=l.event);var L=j.type.match(Oe)?function(B,$,H,R,G){return function(P,z){var X=R?R.name:B,J=z&&De(z)?z:H;if(R&&(!(J=z&&De(z)?z:[B]).includes(B)||J.length!==1))throw new Error("Method "+$+" can only abort "+B+" plugin. "+JSON.stringify(J)+" input valid");return v({},G,{abort:{reason:P,plugins:J,caller:$,_:X}})}}(M,A,E,l,j):function(B,$){return function(){throw new Error(B.type+" action not cancellable. Remove abort in "+$)}}(j,A);return{payload:Jr(j),instance:y,config:b||{},abort:L}}}(n,h),I=t.exact.reduce(function(y,E){var j=E.pluginName,D=E.methodName,l=!1;return D.match(/^initialize/)||D.match(/^reset/)||(l=!g[j].loaded),x.offline&&D.match(/^(page|track|identify)/)&&(l=!0),y[""+j]=l,y},{});return Promise.resolve(t.exact.reduce(function(y,E,j){var D=E.pluginName;return Promise.resolve(y).then(function(l){function b(){return Promise.resolve(l)}var M=function(){if(t.namespaced&&t.namespaced[D])return Promise.resolve(t.namespaced[D].reduce(function(A,L,B){return Promise.resolve(A).then(function($){return L.method&&K(L.method)?(function(P,z){var X=qt(P);if(X&&X.name===z){var J=qt(X.method);throw new Error([z+" plugin is calling method "+P,"Plugins cant call self","Use "+X.method+" "+(J?"or "+J.method:"")+" in "+z+" plugin insteadof "+P].join(`
|
|
2
|
-
`))}}(L.methodName,L.pluginName),Promise.resolve(L.method({payload:$,instance:n,abort:(H=$,R=D,G=L.pluginName,function(P,z){return v({},H,{abort:{reason:P,plugins:z||[R],caller:d,from:G||R}})}),config:Mt(L.pluginName,g,a),plugins:g})).then(function(P){var z=F(P)?P:{};return Promise.resolve(v({},$,z))})):$;var H,R,G})},Promise.resolve(r))).then(function(A){l[D]=A});l[D]=r}();return M&&M.then?M.then(b):b()})},Promise.resolve({}))).then(function(y){return Promise.resolve(t.exact.reduce(function(E,j,D){try{var l=t.exact.length===D+1,b=j.pluginName,M=a[b];return Promise.resolve(E).then(function(A){var L=y[b]?y[b]:{};if(N&&(L=A),st(L,b))return ct({data:L,method:d,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(st(A,b))return l&&ct({data:A,method:d,instance:n,store:s}),Promise.resolve(A);if(I.hasOwnProperty(b)&&I[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:L,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var B=T(y[b],a[b]);return Promise.resolve(M[d]({abort:B.abort,payload:L,instance:n,config:Mt(b,g,a),plugins:g})).then(function($){var H=F($)?$:{},R=v({},A,H),G=y[b];if(st(G,b))ct({data:G,method:d,instance:n,pluginName:b,store:s});else{var P=d+":"+b;(P.match(/:/g)||[]).length<2&&!d.match(At)&&!d.match(Lt)&&n.dispatch(v({},N?R:L,{type:P,_:{called:P,from:"submethod"}}))}return Promise.resolve(R)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(E){if(!(d.match(Oe)||d.match(/^registerPlugin/)||d.match(Lt)||d.match(At)||d.match(/^params/)||d.match(/^userIdChanged/))){if(p.plugins.includes(d),E._&&E._.originalAction===d)return E;var j=v({},E,{_:{originalAction:E.type,called:E.type,from:"engineEnd"}});Ut(E,t.exact.length)&&!d.match(/End$/)&&(j=v({},j,{type:E.type+"Aborted"})),s.dispatch(j)}return E})})}catch(y){return Promise.reject(y)}},Oe=/Start$/,At=/^bootstrap/,Lt=/^ready/;function ct(e){var t=e.pluginName,r=e.method+"Aborted"+(t?":"+t:"");e.store.dispatch(v({},e.data,{type:r,_:{called:r,from:"abort"}}))}function Mt(e,t,r){var n=t[e]||r[e];return n&&n.config?n.config:{}}function $t(e,t){return t.reduce(function(r,n){return n[e]?r.concat({methodName:e,pluginName:n.name,method:n[e]}):r},[])}function Ct(e,t){var r=e.replace(Oe,""),n=t?":"+t:"";return[""+e+n,""+r+n,r+"End"+n]}function st(e,t){var r=e.abort;return!!r&&(r===!0||Rt(r,t)||r&&Rt(r.plugins,t))}function Ut(e,t){var r=e.abort;if(!r)return!1;if(r===!0||me(r))return!0;var n=r.plugins;return De(r)&&r.length===t||De(n)&&n.length===t}function De(e){return Array.isArray(e)}function Rt(e,t){return!(!e||!De(e))&&e.includes(t)}function qt(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function Jr(e){return Object.keys(e).reduce(function(t,r){return r==="type"||(t[r]=F(e[r])?Object.assign({},e[r]):e[r]),t},{})}function Fr(e,t,r){var n={};return function(i){return function(a){return function(o){try{var s,p=function(l){return s?l:a(d)},g=o.type,x=o.plugins,d=o;if(o.abort)return Promise.resolve(a(o));if(g===m.enablePlugin&&i.dispatch({type:m.initializeStart,plugins:x,disabled:[],fromEnable:!0,meta:o.meta}),g===m.disablePlugin&&setTimeout(function(){return zt(o.meta.rid,{payload:o})},0),g===m.initializeEnd){var N=t(),h=Object.keys(N),T=h.filter(function(l){return x.includes(l)}).map(function(l){return N[l]}),I=[],y=[],E=o.disabled,j=T.map(function(l){var b=l.name;return Tt(l,l.loaded,1e4).then(function(M){return n[b]||(i.dispatch({type:m.pluginReadyType(b),name:b,events:Object.keys(l).filter(function(A){return!at.includes(A)})}),n[b]=!0),I=I.concat(b),l}).catch(function(M){if(M instanceof Error)throw new Error(M);return y=y.concat(M.name),M})});Promise.all(j).then(function(l){var b={plugins:I,failed:y,disabled:E};setTimeout(function(){h.length===j.length+E.length&&i.dispatch(v({},{type:m.ready},b))},0)})}var D=function(){if(g!==m.bootstrap)return/^ready:([^:]*)$/.test(g)&&setTimeout(function(){return Dt(i,t,e)},0),Promise.resolve(function(l,b,M,A,L){try{var B=K(b)?b():b,$=l.type,H=$.replace(Oe,"");if(l._&&l._.called)return Promise.resolve(l);var R=M.getState(),G=(X=B,(J=R.plugins)===void 0&&(J={}),(c=l.options)===void 0&&(c={}),Object.keys(X).filter(function(u){var f=c.plugins||{};return kr(f[u])?f[u]:f.all!==!1&&(!J[u]||J[u].enabled!==!1)}).map(function(u){return X[u]}));$===m.initializeStart&&l.fromEnable&&(G=Object.keys(R.plugins).filter(function(u){var f=R.plugins[u];return l.plugins.includes(u)&&!f.initialized}).map(function(u){return B[u]}));var P=G.map(function(u){return u.name}),z=function(u,f,S){var O=Ct(u).map(function(w){return $t(w,f)});return f.reduce(function(w,q){var k=q.name,C=Ct(u,k).map(function(_e){return $t(_e,f)}),_=C[0],Z=C[1],ke=C[2];return _.length&&(w.beforeNS[k]=_),Z.length&&(w.duringNS[k]=Z),ke.length&&(w.afterNS[k]=ke),w},{before:O[0],beforeNS:{},during:O[1],duringNS:{},after:O[2],afterNS:{}})}($,G);return Promise.resolve(ut({action:l,data:{exact:z.before,namespaced:z.beforeNS},state:R,allPlugins:B,allMatches:z,instance:M,store:A,EVENTS:L})).then(function(u){function f(){var w=function(){if($.match(Oe))return Promise.resolve(ut({action:v({},S,{type:H+"End"}),data:{exact:z.after,namespaced:z.afterNS},state:R,allPlugins:B,allMatches:z,instance:M,store:A,EVENTS:L})).then(function(q){q.meta&&q.meta.hasCallback&&zt(q.meta.rid,{payload:q})})}();return w&&w.then?w.then(function(){return u}):u}if(Ut(u,P.length))return u;var S,O=function(){if($!==H)return Promise.resolve(ut({action:v({},u,{type:H}),data:{exact:z.during,namespaced:z.duringNS},state:R,allPlugins:B,allMatches:z,instance:M,store:A,EVENTS:L})).then(function(w){S=w});S=u}();return O&&O.then?O.then(f):f()})}catch(u){return Promise.reject(u)}var X,J,c}(o,t,e,i,r)).then(function(l){var b=a(l);return s=1,b})}();return Promise.resolve(D&&D.then?D.then(p):p(D))}catch(l){return Promise.reject(l)}}}}}function Hr(e){return function(t){return function(r){return function(n){var i=n.type,a=n.key,o=n.value,s=n.options;if(i===m.setItem||i===m.removeItem){if(n.abort)return r(n);i===m.setItem?e.setItem(a,o,s):e.removeItem(a,s)}return r(n)}}}}var Gr=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(t,r){e[r]=e[r].concat(t)},this.removeMiddleware=function(t,r){var n=e[r].findIndex(function(i){return i===t});n!==-1&&(e[r]=[].concat(e[r].slice(0,n),e[r].slice(n+1)))},this.dynamicMiddlewares=function(t){return function(r){return function(n){return function(i){var a={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=e[t].map(function(s){return s(a)});return Pe.apply(void 0,o)(n)(i)}}}}};function Wr(e){return function(t,r){t===void 0&&(t={});var n={};if(r.type==="initialize:aborted")return t;if(/^registerPlugin:([^:]*)$/.test(r.type)){var i=Bt(r.type,"registerPlugin"),a=e()[i];if(!a||!i)return t;var o=r.enabled;return n[i]={enabled:o,initialized:!!o&&Boolean(!a.initialize),loaded:!!o&&Boolean(a.loaded()),config:a.config||{}},v({},t,n)}if(/^initialize:([^:]*)$/.test(r.type)){var s=Bt(r.type,m.initialize),p=e()[s];return p&&s?(n[s]=v({},t[s],{initialized:!0,loaded:Boolean(p.loaded())}),v({},t,n)):t}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=v({},t[r.name],{loaded:!0}),v({},t,n);switch(r.type){case m.disablePlugin:return v({},t,Vt(r.plugins,!1,t));case m.enablePlugin:return v({},t,Vt(r.plugins,!0,t));default:return t}}}function Bt(e,t){return e.substring(t.length+1,e.length)}function Vt(e,t,r){return e.reduce(function(n,i){return n[i]=v({},r[i],{enabled:t}),n},r)}function Jt(e){try{return JSON.parse(JSON.stringify(e))}catch(t){}return e}var Xr={last:{},history:[]};function Qr(e,t){e===void 0&&(e=Xr);var r=t.options,n=t.meta;if(t.type===m.track){var i=Jt(v({event:t.event,properties:t.properties},Object.keys(r).length&&{options:r},{meta:n}));return v({},e,{last:i,history:e.history.concat(i)})}return e}var Kr={actions:[]};function Yr(e,t){e===void 0&&(e=Kr);var r=t.payload;switch(t.type){case"queue":var n;return n=r&&r.type&&r.type===m.identify?[t].concat(e.actions):e.actions.concat(t),v({},e,{actions:n});case"dequeue":return[];default:return e}}var Ft=/#.*$/;function Zr(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(Ft,""):"")}var Ht,Gt,Wt,Xt,en=function(e){if(e===void 0&&(e={}),!U)return e;var t=document,r=t.title,n=t.referrer,i=window,a=i.location,o=i.innerWidth,s=i.innerHeight,p=a.hash,g=a.search,x=function(N){var h=function(){if(U){for(var T,I=document.getElementsByTagName("link"),y=0;T=I[y];y++)if(T.getAttribute("rel")==="canonical")return T.getAttribute("href")}}();return h?h.match(/\?/)?h:h+N:window.location.href.replace(Ft,"")}(g),d={title:r,url:x,path:Zr(x),hash:p,search:g,width:o,height:s};return n&&n!==""&&(d.referrer=n),v({},d,e)},tn={last:{},history:[]};function rn(e,t){e===void 0&&(e=tn);var r=t.options;if(t.type===m.page){var n=Jt(v({properties:t.properties,meta:t.meta},Object.keys(r).length&&{options:r}));return v({},e,{last:n,history:e.history.concat(n)})}return e}Ht=function(){if(!U)return!1;var e=navigator.appVersion;return~e.indexOf("Win")?"Windows":~e.indexOf("Mac")?"MacOS":~e.indexOf("X11")?"UNIX":~e.indexOf("Linux")?"Linux":"Unknown OS"}(),Gt=U?document.referrer:null,Wt=Ar(),Xt=Lr();var Qt={initialized:!1,sessionId:He(),app:null,version:null,debug:!1,offline:!!U&&!navigator.onLine,os:{name:Ht},userAgent:U?navigator.userAgent:"node",library:{name:"analytics",version:"0.11.0"},timezone:Xt,locale:Wt,campaign:{},referrer:Gt};function nn(e,t){e===void 0&&(e=Qt);var r=e.initialized,n=t.campaign;switch(t.type){case m.campaign:return v({},e,{campaign:n});case m.offline:return v({},e,{offline:!0});case m.online:return v({},e,{offline:!1});default:return r?e:v({},Qt,e,{initialized:!0})}}var an=["plugins","reducers","storage"];function on(e,t,r){if(U){var n=window[(r?"add":"remove")+"EventListener"];e.split(" ").forEach(function(i){n(i,t)})}}function un(e){var t=on.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(e)});return t(!0),function(r){return t(!1)}}function Kt(){return le("analytics",[]),function(e){return function(t,r,n){var i=e(t,r,n),a=i.dispatch;return Object.assign(i,{dispatch:function(o){return be[ye].analytics.push(o.action||o),a(o)}})}}}function Yt(e){return function(){return Pe(Pe.apply(null,arguments),Kt())}}function lt(e){return e?Nr(e)?e:[e]:[]}function Zt(e,t,r){e===void 0&&(e={});var n,i,a=He();return t&&(Te[a]=(n=t,i=function(o){for(var s,p=o||Array.prototype.slice.call(arguments),g=0;g<p.length;g++)if(K(p[g])){s=p[g];break}return s}(r),function(o){i&&i(o),n(o)})),v({},e,{rid:a,ts:new Date().getTime()},t?{hasCallback:!0}:{})}function cn(e){e===void 0&&(e={});var t=e.reducers||{},r=e.initialUser||{},n=(e.plugins||[]).reduce(function(c,u){if(K(u))return c.middlewares=c.middlewares.concat(u),c;if(u.NAMESPACE&&(u.name=u.NAMESPACE),!u.name)throw new Error("https://lytics.dev/errors/1");var f=u.EVENTS?Object.keys(u.EVENTS).map(function(w){return u.EVENTS[w]}):[];c.pluginEnabled[u.name]=!(u.enabled===!1||u.config&&u.config.enabled===!1),delete u.enabled,u.methods&&(c.methods[u.name]=Object.keys(u.methods).reduce(function(w,q){var k;return w[q]=(k=u.methods[q],function(){for(var C=Array.prototype.slice.call(arguments),_=new Array(k.length),Z=0;Z<C.length;Z++)_[Z]=C[Z];return _[_.length]=l,k.apply({instance:l},_)}),w},{}),delete u.methods);var S=Object.keys(u).concat(f),O=new Set(c.events.concat(S));if(c.events=Array.from(O),c.pluginsArray=c.pluginsArray.concat(u),c.plugins[u.name])throw new Error(u.name+"AlreadyLoaded");return c.plugins[u.name]=u,c.plugins[u.name].loaded||(c.plugins[u.name].loaded=function(){return!0}),c},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=e.storage?e.storage:{getItem:se,setItem:le,removeItem:we},a=function(c){return function(u,f,S){return f.getState("user")[u]||(S&&F(S)&&S[u]?S[u]:jt(c)[u]||se(ot(u))||null)}}(i),o=n.plugins,s=n.events.filter(function(c){return!at.includes(c)}).sort(),p=new Set(s.concat(Xe).filter(function(c){return!at.includes(c)})),g=Array.from(p).sort(),x=function(){return o},d=new Gr,N=d.addMiddleware,h=d.removeMiddleware,T=d.dynamicMiddlewares,I=function(){throw new Error("Abort disabled inListener")},y=Mr(),E=jt(i),j=v({},E,r,y.an_uid?{userId:y.an_uid}:{},y.an_aid?{anonymousId:y.an_aid}:{});j.anonymousId||(j.anonymousId=He());var D=v({enable:function(c,u){return new Promise(function(f){P.dispatch({type:m.enablePlugin,plugins:lt(c),_:{originalAction:m.enablePlugin}},f,[u])})},disable:function(c,u){return new Promise(function(f){P.dispatch({type:m.disablePlugin,plugins:lt(c),_:{originalAction:m.disablePlugin}},f,[u])})}},n.methods),l={identify:function(c,u,f,S){try{var O=me(c)?c:null,w=F(c)?c:u,q=f||{},k=l.user();le(ot(ce),O);var C=O||w.userId||a(ce,l,w);return Promise.resolve(new Promise(function(_){P.dispatch(v({type:m.identifyStart,userId:C,traits:w||{},options:q,anonymousId:k.anonymousId},k.id&&k.id!==O&&{previousId:k.id}),_,[u,f,S])}))}catch(_){return Promise.reject(_)}},track:function(c,u,f,S){try{var O=F(c)?c.event:c;if(!O||!me(O))throw new Error("EventMissing");var w=F(c)?c:u||{},q=F(f)?f:{};return Promise.resolve(new Promise(function(k){P.dispatch({type:m.trackStart,event:O,properties:w,options:q,userId:a(ce,l,u),anonymousId:a(xe,l,u)},k,[u,f,S])}))}catch(k){return Promise.reject(k)}},page:function(c,u,f){try{var S=F(c)?c:{},O=F(u)?u:{};return Promise.resolve(new Promise(function(w){P.dispatch({type:m.pageStart,properties:en(S),options:O,userId:a(ce,l,S),anonymousId:a(xe,l,S)},w,[c,u,f])}))}catch(w){return Promise.reject(w)}},user:function(c){if(c===ce||c==="id")return a(ce,l);if(c===xe||c==="anonId")return a(xe,l);var u=l.getState("user");return c?ie(u,c):u},reset:function(c){return new Promise(function(u){P.dispatch({type:m.resetStart},u,c)})},ready:function(c){return l.on(m.ready,c)},on:function(c,u){if(!c||!K(u))return!1;if(c===m.bootstrap)throw new Error(".on disabled for "+c);var f=/Start$|Start:/;if(c==="*"){var S=function(k){return function(C){return function(_){return _.type.match(f)&&u({payload:_,instance:l,plugins:o}),C(_)}}},O=function(k){return function(C){return function(_){return _.type.match(f)||u({payload:_,instance:l,plugins:o}),C(_)}}};return N(S,Qe),N(O,Ke),function(){h(S,Qe),h(O,Ke)}}var w=c.match(f)?Qe:Ke,q=function(k){return function(C){return function(_){return _.type===c&&u({payload:_,instance:l,plugins:o,abort:I}),C(_)}}};return N(q,w),function(){return h(q,w)}},once:function(c,u){if(!c||!K(u))return!1;if(c===m.bootstrap)throw new Error(".once disabled for "+c);var f=l.on(c,function(S){u({payload:S.payload,instance:l,plugins:o,abort:I}),f()});return f},getState:function(c){var u=P.getState();return c?ie(u,c):Object.assign({},u)},dispatch:function(c){var u=me(c)?{type:c}:c;if(Xe.includes(u.type))throw new Error("reserved action "+u.type);var f=v({},u,{_:v({originalAction:u.type},c._||{})});P.dispatch(f)},enablePlugin:D.enable,disablePlugin:D.disable,plugins:D,storage:{getItem:i.getItem,setItem:function(c,u,f){P.dispatch({type:m.setItemStart,key:c,value:u,options:f})},removeItem:function(c,u){P.dispatch({type:m.removeItemStart,key:c,options:u})}},setAnonymousId:function(c,u){l.storage.setItem(ue,c,u)},events:{core:Xe,plugins:s}},b=n.middlewares.concat([function(c){return function(u){return function(f){return f.meta||(f.meta=Zt()),u(f)}}},T(Qe),Fr(l,x,{all:g,plugins:s}),Hr(i),qr(l),Vr(l),T(Ke)]),M={context:nn,user:Br(i),page:rn,track:Qr,plugins:Wr(x),queue:Yr},A=Pe,L=Pe;if(U&&e.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(A=B({trace:!0,traceLimit:25})),L=function(){return arguments.length===0?Kt():F(typeof arguments[0])?Yt():Yt().apply(null,arguments)}}var $,H=function(c){return Object.keys(c).reduce(function(u,f){return an.includes(f)||(u[f]=c[f]),u},{})}(e),R=n.pluginsArray.reduce(function(c,u){var f=u.name,S=u.config,O=u.loaded,w=n.pluginEnabled[f];return c[f]={enabled:w,initialized:!!w&&Boolean(!u.initialize),loaded:Boolean(O()),config:S||{}},c},{}),G={context:H,user:j,plugins:R},P=Et(function(c){for(var u=Object.keys(c),f={},S=0;S<u.length;S++){var O=u[S];typeof c[O]===oe&&(f[O]=c[O])}var w,q=Object.keys(f);try{(function(k){Object.keys(k).forEach(function(C){var _=k[C];if(typeof _(void 0,{type:"@@redux/INIT"})===ne||typeof _(void 0,{type:Cr})===ne)throw new Error("reducer "+C+" "+ne)})})(f)}catch(k){w=k}return function(k,C){if(k===void 0&&(k={}),w)throw w;for(var _=!1,Z={},ke=0;ke<q.length;ke++){var _e=q[ke],Sr=k[_e],It=(0,f[_e])(Sr,C);if(typeof It===ne){var Vn=Ur(_e,C);throw new Error(Vn)}Z[_e]=It,_=_||It!==Sr}return _?Z:k}}(v({},M,t)),G,L(A(Rr.apply(void 0,b))));P.dispatch=($=P.dispatch,function(c,u,f){var S=v({},c,{meta:Zt(c.meta,u,lt(f))});return $.apply(null,[S])});var z=Object.keys(o);P.dispatch({type:m.bootstrap,plugins:z,config:H,params:y,user:j,initialUser:r,persistedUser:E});var X=z.filter(function(c){return n.pluginEnabled[c]}),J=z.filter(function(c){return!n.pluginEnabled[c]});return P.dispatch({type:m.registerPlugins,plugins:z,enabled:n.pluginEnabled}),n.pluginsArray.map(function(c,u){var f=c.bootstrap,S=c.config,O=c.name;f&&K(f)&&f({instance:l,config:S,payload:c}),P.dispatch({type:m.registerPluginType(O),name:O,enabled:n.pluginEnabled[O],plugin:c}),n.pluginsArray.length===u+1&&P.dispatch({type:m.initializeStart,plugins:X,disabled:J})}),un(function(c){P.dispatch({type:c?m.offline:m.online})}),function(c,u,f){setInterval(function(){return Dt(c,u,f)},3e3)}(P,x,l),l}var Qe="before",Ke="after",Ae="cookie",de=rr(),er=Ye,sn=Ye;function tr(e){return de?Ye(e,"",-1):we(e)}function rr(){if(de!==void 0)return de;var e="cookiecookie";try{Ye(e,e),de=document.cookie.indexOf(e)!==-1,tr(e)}catch(t){de=!1}return de}function Ye(e,t,r,n,i,a){if(typeof window!="undefined"){var o=arguments.length>1;return de===!1&&(o?le(e,t):se(e)),o?document.cookie=e+"="+encodeURIComponent(t)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(i?"; domain="+i:"")+(a?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}}var Le="localStorage",ln=it.bind(null,"localStorage");Ie("localStorage","getItem",se),Ie("localStorage","setItem",le),Ie("localStorage","removeItem",we);var Me="sessionStorage",fn=it.bind(null,"sessionStorage");Ie("sessionStorage","getItem",se),Ie("sessionStorage","setItem",le),Ie("sessionStorage","removeItem",we);function Ee(e){var t=e;try{if((t=JSON.parse(e))==="true")return!0;if(t==="false")return!1;if(F(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(r){}if(t!==null&&t!=="")return t}var dn=ln(),pn=fn(),gn=rr();function nr(e,t){if(e){var r=ft(t),n=!vt(r),i=dt(r)?Ee(localStorage.getItem(e)):void 0;if(n&&!he(i))return i;var a=pt(r)?Ee(er(e)):void 0;if(n&&a)return a;var o=gt(r)?Ee(sessionStorage.getItem(e)):void 0;if(n&&o)return o;var s=se(e);return n?s:{localStorage:i,sessionStorage:o,cookie:a,global:s}}}function vn(e,t,r){if(e&&!he(t)){var n={},i=ft(r),a=JSON.stringify(t),o=!vt(i);return dt(i)&&(n[Le]=et(Le,t,Ee(localStorage.getItem(e))),localStorage.setItem(e,a),o)?n[Le]:pt(i)&&(n[Ae]=et(Ae,t,Ee(er(e))),sn(e,a),o)?n[Ae]:gt(i)&&(n[Me]=et(Me,t,Ee(sessionStorage.getItem(e))),sessionStorage.setItem(e,a),o)?n[Me]:(n[ze]=et(ze,t,se(e)),le(e,t),o?n[ze]:n)}}function mn(e,t){if(e){var r=ft(t),n=nr(e,Be),i={};return!he(n.localStorage)&&dt(r)&&(localStorage.removeItem(e),i[Le]=n.localStorage),!he(n.cookie)&&pt(r)&&(tr(e),i[Ae]=n.cookie),!he(n.sessionStorage)&>(r)&&(sessionStorage.removeItem(e),i[Me]=n.sessionStorage),!he(n.global)&&Ze(r,ze)&&(we(e),i[ze]=n.global),i}}function ft(e){return e?me(e)?e:e.storage:Ne}function dt(e){return dn&&Ze(e,Le)}function pt(e){return gn&&Ze(e,Ae)}function gt(e){return pn&&Ze(e,Me)}function vt(e){return e===Be||e==="all"}function Ze(e,t){return e===Ne||e===t||vt(e)}function et(e,t,r){return{location:e,current:t,previous:r}}var hn={setItem:vn,getItem:nr,removeItem:mn};function yn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ir(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ar(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ir(Object(r),!0).forEach(function(n){yn(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ir(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function or(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t={storage:hn};return cn(ar(ar({},t),e))}function bn(e,t,r,n,i,a,o){e.fbq||(i=e.fbq=function(){i.callMethod?i.callMethod.apply(i,arguments):i.queue.push(arguments)},e._fbq||(e._fbq=i),i.push=i,i.loaded=!0,i.version="2.0",i.queue=[],a=t.createElement(r),a.async=!0,a.src=n,o=t.getElementsByTagName(r)[0],o.parentNode.insertBefore(a,o))}function wn({trackingId:e}){bn(window,document,"script","https://connect.facebook.net/en_US/fbevents.js"),window.fbq("init",e)}function In(e={}){return{name:"facebook",config:e,initialize:function({config:t,instance:r}){if(!t.trackingId)throw new Error("No Facebook trackingId defined");wn({trackingId:t.trackingId})},page:function({payload:t,config:r,instance:n}){window.fbq("track","PageView")},track:function({payload:t,config:r,instance:n}){window.fbq("trackCustom",t.event,t.properties)},identify:function({payload:t,config:r}){},loaded:function(){return!!window.fbq}}}function $e(){window.dataLayer.push(arguments)}window.gtag=$e;function Pn({trackingId:e,configParams:t={},setParams:r={}}){var n="ga-gtag";if(!document.getElementById(n)){var i=document.head,a=document.createElement("script");a.id=n,a.type="text/javascript",a.async=!0,a.src="https://www.googletagmanager.com/gtag/js?id="+e,i.insertBefore(a,i.firstChild),window.dataLayer=window.dataLayer||[],$e("js",new Date),r&&$e("set",r),$e("config",e,t)}}function Sn(e={}){return{name:"google-analytics-4",config:e,initialize:function({config:t,instance:r}){if(!t.trackingId)throw new Error("No GA trackingId defined");var n={},i={};if(t.customDimensions){for(var a={},o=0;o<t.customDimensions.length;o++){var s=t.customDimensions[o];n[s.name]=s.callback(r,t),a["dimension"+(o+1)]=s.name}i.custom_map=a}Pn({trackingId:t.trackingId,configParams:n,setParams:i})},page:function({payload:t,config:r,instance:n}){},track:function({payload:t,config:r,instance:n}){$e("event",t.event,t.properties)},identify:function({payload:t,config:r}){},loaded:function(){return!!window.gtag}}}var xn=new URLSearchParams(window.location.search),On=xn.get("zdbg"),ur={};const tt="undefined";function Y(){On==1&&console.debug(...arguments)}function V(e){console.warn(e),window.Rollbar&&window.Rollbar.warning(e)}function En(e){return e&&(Object.prototype.toString.call(e)==="[object Function]"||typeof e=="function"||e instanceof Function)}function cr(){try{var e=navigator.userAgent||"",t=new RegExp([/bot/,/spider/,/crawl/,/mediapartners/,/Google-Read-Aloud/,/semrush/].map(r=>r.source).join("|"),"i");return t.test(e)}catch(r){return!1}}function kn(e){document.readyState==="complete"||document.readyState==="loaded"||document.readyState==="interactive"?e():window.addEventListener("DOMContentLoaded",e)}var pe=_n();function _n(){if(typeof pe!==tt)return pe;pe=!0;try{sessionStorage.setItem(tt,tt),sessionStorage.removeItem(tt)}catch(e){pe=!1}return pe}function sr(e){var t,r=ur[e];return pe?(t=sessionStorage.getItem(e),!t&&r&&(t=r,sessionStorage.setItem(e,t))):t=r,t?JSON.parse(t):void 0}function Nn(e,t){var r=JSON.stringify(t);pe&&sessionStorage.setItem(e,r),ur[e]=r}function jn(){var e=document.createElement("div");e.innerHTML=" ",e.className="pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links",e.setAttribute("style","width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;");try{if(document.body.appendChild(e),document.body.getAttribute("abp")!==null||e.offsetHeight===0||e.clientHeight===0)return!0;if(typeof getComputedStyle!="undefined"){var t=window.getComputedStyle(e,null);if(t&&(t.getPropertyValue("display")==="none"||t.getPropertyValue("visibility")==="hidden"))return!0}document.body.removeChild(e)}catch(r){}return!1}function lr({method:e,url:t,data:r,json:n=!0}){return new Promise(function(i,a){var o=new XMLHttpRequest;o.open(e,t),o.withCredentials=!0,n&&(o.setRequestHeader("Accept","application/json"),o.setRequestHeader("Content-Type","application/json")),o.onload=function(){this.status>=200&&this.status<300?i(n?JSON.parse(o.response):o.response):a({status:this.status,message:o.statusText})},o.onerror=function(){a({status:this.status,message:"Network Error"})},r?o.send(r):o.send()})}function zn(e){return"?"+Object.keys(e).map(function(t){return t+"="+encodeURIComponent(e[t])}).join("&")}function Tn(r){return ee(this,arguments,function*({url:e,data:t}){if(window&&window.navigator&&typeof window.navigator.sendBeacon=="function"&&typeof window.Blob=="function")try{const n=new Blob([JSON.stringify(t)],{type:"text/plain; charset=UTF-8"});return!!window.navigator.sendBeacon(e,n)}catch(n){return V("postBeacon:"),!1}return!1})}function Dn(n){return ee(this,arguments,function*({url:e,params:t=null,json:r=!0}){var i=e;return t&&(i=i+zn(t)),yield lr({method:"GET",url:i,json:r})})}function rt(i){return ee(this,arguments,function*({url:e,data:t,json:r=!0,beacon:n=!1}){var a=t;if(r&&(a=JSON.stringify(a)),n){var o=yield Tn({url:e,data:t});if(o)return;Y("Beacon failed")}return yield lr({method:"POST",url:e,data:a,json:r})})}var nt="__zar_vid",fr="success",Ce="error",An=30*1e3,dr=0,Ln=3,W={};window.zarPoolData=window.zarPoolData||null,window.zarPoolDLObserverDone=window.zarPoolDLObserverDone||!1,window.zarPoolDataLayer=window.zarPoolDataLayer||[];var ge=new Map;function Mn(){return Date.now().toString(36)+"."+Math.random().toString(36).substring(2)}function $n(e,t,r,n){var i,a=!1,o=null,s=r(e);!s||!s.id?(i=t(),o=document.referrer,a=!0,Y("new ID for",e,"-",i)):(i=s.id,o=s.origReferrer);var p={id:i,t:Date.now(),origReferrer:o,isNew:a};return n(e,p),p}function pr(){var e=$n(nt,Mn,sr,Nn);return{vid:e}}function gr(){return window.location.protocol+"://"+window.location.host+"/api/v2"}function vr(e){return sr(e)}function mr(e){var t=vr(e);return t?t.id:null}function Ue(){return{vid:vr(nt)}}function Cn(){return{vid:mr(nt)}}function hr({elem:e}){var t=null,r=null,n=null,i=new RegExp("\\+?\\(?\\d*\\)? ?\\(?\\d+\\)?\\d*([\\s./-]?\\d{2,})+","g");e.href&&e.href.startsWith("tel:")&&(n=e.href);var a=e.innerText,o=e.innerHTML,s=i.exec(a);return s&&(t=s[0].trim(),r=t.replace("+","").replace(/-/g,"").replace(/ /g,"").replace("(","").replace(")","").replace(/^1/,"")),{text:a,html:o,numberText:t,href:n,number:r}}function mt({elems:e,number:t,force:r=!1}){var n,i=t;t.startsWith("+1")||(i="+1"+t);for(var a=0;a<e.length;a++){if(ge.has(e[a]))if(r)n=ge.get(e[a]);else{Y("element already in overlay map:",e[a]);continue}var o=hr({elem:e[a]});if(n?!r&&o.number&&n.number&&n.number!==o.number&&V("overlaying multiple numbers with a single number",n.number,o.number):n=o,Y("overlaying",i,"on",e[a]),ge.has(e[a])||ge.set(e[a],o),o.href&&(e[a].href="tel:"+i),o.numberText)if(e[a].innerHTML="",o.text){var s=i;if(o.numberText.indexOf("-")>-1&&(s=i.slice(2,5)+"-"+i.slice(5,8)+"-"+i.slice(8,12)),o.html.indexOf("<img")>-1){var p=o.html.replace(o.numberText,s);e[a].innerHTML=p}else{var g=o.text.replace(o.numberText,s);e[a].appendChild(document.createTextNode(g))}}else e[a].appendChild(document.createTextNode(i));else Y("no number text found:",e[a])}}function ht({elems:e}){for(var t=0;t<e.length;t++)if(ge.has(e[t])){var r=e[t].innerHTML,n=ge.get(e[t]);Y("orig:",n);var i=n.html;Y("reverting",r,"to",i),e[t].innerHTML=i,n.href&&(e[t].href=n.href),ge.delete(e[t])}else Y("element not in map:",e[t])}function yr(e){clearInterval(W[e]),delete W[e]}function br(){for(var e in W)yr(e)}function wr(i){return ee(this,arguments,function*({poolId:e,apiUrl:t,number:r=null,context:n=null}){var a={pool_id:e,number:r,context:n,properties:{zar:Ue()}},o=yield rt({url:`${t}/number_pool`,data:a});return o})}function yt(){return window.zarPoolData&&window.zarPoolData.status===fr&&window.zarPoolData.number}function Re(){if(!window.zarPoolDataLayer||!Array.isArray(window.zarPoolDataLayer)||window.zarPoolDataLayer.length===0)return null;for(var e={},t=0;t<window.zarPoolDataLayer.length;t++){var r=window.zarPoolDataLayer[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return window.zarPoolDataLayer.length=0,e}function bt(i){return ee(this,arguments,function*({apiUrl:e,poolId:t,number:r,context:n}){if(!yt()){V("no valid pool data, not updating context");return}var a={pool_id:t,number:r,context:n,properties:{zar:Ue()}},o=yield rt({url:`${e}/update_number`,data:a});return o})}function Un(n){return ee(this,arguments,function*({apiUrl:e,key:t=null,with_contexts:r=!1}){var i={key:t,with_contexts:r},a=yield Dn({url:`${e}/number_pool_stats`,params:i});return a})}function Rn(){return ee(this,arguments,function*({overlayElements:e,apiUrl:t=gr(),contextCallback:r=null}={}){var n=Re()||{};r&&(n=r(n)||{});const i=window.zarPoolData.pool_id,a=window.zarPoolData.number;try{var o=yield wr({poolId:i,apiUrl:t,number:a,context:n})}catch(g){var s="error getting number: "+JSON.stringify(g);return V(s),dr++,dr>=Ln&&(V("max failures, stopping pool"),br(),e&&ht({elems:e})),{status:Ce,msg:s}}if(o.status===fr&&o.number){var p=!1;o.number!==window.zarPoolData.number&&(V("number changed from "+window.zarPoolData.number+" to "+o.number),window.zarPoolData.number=o.number,p=!0),e&&mt({elems:e,number:o.number,force:p})}else e&&ht({elems:e}),W[i]&&(clearInterval(W[i]),delete W[i]);return o})}function wt(e){return En(e)?e():e}function qn(e){if(!window.zarPoolDLObserverDone&&!!yt()){var t=window.zarPoolDataLayer.push;window.zarPoolDataLayer.push=function(...n){var i=t.apply(this,n),a=Re();return a&&bt({apiUrl:e,poolId:window.zarPoolData.pool_id,number:window.zarPoolData.number,context:a}),i};var r=Re();r&&bt({apiUrl:e,poolId:window.zarPoolData.pool_id,number:window.zarPoolData.number,context:r}),window.zarPoolDLObserverDone=!0}}function Ir(){return ee(this,arguments,function*({poolData:e,poolConfig:t,apiUrl:r}={}){var n;if(!t||!t.poolId||!t.overlayQuerySelector||!r)return n="missing pool config: "+JSON.stringify(t),V(n),t.initCallback&&t.initCallback({status:Ce,msg:n}),W;var i=wt(t.poolId);if(!i)return n="no pool ID",V(n),t.initCallback&&t.initCallback({status:Ce,msg:n}),W;if(!e){var a=Re()||{};t.contextCallback&&(a=t.contextCallback(a)||{});try{e=yield wr({poolId:i,apiUrl:r,number:null,context:a})}catch(o){return n="error getting number on init: "+JSON.stringify(o),V(n),t.initCallback&&t.initCallback({status:Ce,msg:n}),W}}if(window.zarPoolData=e,yt()){try{qn(r)}catch(o){V("data layer observer error: "+JSON.stringify(o))}kn(function(){var o=document.querySelectorAll(t.overlayQuerySelector);if(!o){var s="No elems found for:"+t.overlayQuerySelector;V(s),t.initCallback&&t.initCallback({status:Ce,msg:s});return}mt({elems:o,number:e.number});var p=setInterval(function(){try{Rn({overlayElements:o,apiUrl:r,contextCallback:t.contextCallback})}catch(x){var g="error on interval: "+JSON.stringify(x);V(g)}},t.renewalInterval||An);W[e.pool_id]=p,t.initCallback&&t.initCallback(e)})}return W})}function Pr({apiUrl:e,poolConfig:t}){return pr(),{name:"zar",config:{apiUrl:e,poolConfig:t},initialize:function({config:r}){},loaded:function(){return!0},pageStart:function({payload:r,config:n,instance:i}){r.properties.zar=Ue(),r.properties.referrer=document.referrer,r.properties.is_bot=cr(),"hash"in r.properties&&delete r.properties.hash,"path"in r.properties&&delete r.properties.path,"search"in r.properties&&delete r.properties.search;try{var a=n.poolConfig;if(a&&a.poolId){r.properties.pool_id=wt(a.poolId);var o=Re()||{};a.contextCallback&&(r.properties.pool_context=a.contextCallback(o)||{})}}catch(s){V("error getting pool id: "+JSON.stringify(s))}return r},page:function(o){return ee(this,arguments,function*({payload:r,options:n,instance:i,config:a}){Y("page",r,n,a);for(var s=0,p=3,g;s<p;)try{g=yield rt({url:`${a.apiUrl}/page`,data:r});break}catch(x){if(s++,s>=p)throw V("error posting page: "+JSON.stringify(x)),x;yield new Promise(d=>setTimeout(d,1e3))}g&&g.pool_data&&Ir({poolData:g.pool_data,poolConfig:a.poolConfig,apiUrl:a.apiUrl})})},trackStart:function({payload:r,config:n,instance:i}){return r.properties.zar=Ue(),r.properties.url=window.location.href,r.properties.referrer=document.referrer,r},track:function({payload:r,options:n,instance:i,config:a}){Y("track",r),rt({url:`${a.apiUrl}/track`,data:r,beacon:!0})},methods:{apiUrl(){return e},poolConfig(){return t},initIDs(){return pr()},getIDs(){return Cn()},getStorage(){return Ue()},getVID(){return mr(nt)},hasAdBlock(){return jn()},isBot(){return cr()},initTrackingPool({poolConfig:r}){var n=this.instance.plugins.zar;return Ir({poolData:null,poolConfig:Object.assign(n.poolConfig(),r||{}),apiUrl:n.apiUrl()})},updateTrackingNumberContext({number:r,context:n}){var i=this.instance.plugins.zar,a=i.poolConfig();return bt({apiUrl:this.instance.plugins.zar.apiUrl(),poolId:wt(a.poolId),number:r,context:n})},getPoolIntervals(){return W},clearPoolInterval({poolId:r}){yr(r)},clearPoolIntervals(){br()},extractPhoneNumbers({elems:r}){for(var n=[],i=0;i<r.length;i++){var a=hr({elem:r[i]});n.push(a)}return n},overlayPhoneNumber({overlayElements:r,number:n}){mt({elems:r,number:n})},revertOverlayNumbers({overlayElements:r}){ht({elems:r})},getPoolStats({key:r=null,with_contexts:n=!1}){return Un({apiUrl:this.instance.plugins.zar.apiUrl(),key:r,with_contexts:n})}}}}function Bn({app:e,ga4Config:t=null,facebookConfig:r=null,apiUrl:n=null,poolConfig:i=null}){n||(n=gr());var a=[Pr({apiUrl:n,poolConfig:i})];return t&&a.push(Sn(t)),r&&a.push(In(r)),or({app:e,plugins:a})}Q.Analytics=or,Q.init=Bn,Q.zar=Pr,Object.defineProperties(Q,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
var l=(w,p,m)=>new Promise((j,P)=>{var E=v=>{try{S(m.next(v))}catch(_){P(_)}},B=v=>{try{S(m.throw(v))}catch(_){P(_)}},S=v=>v.done?j(v.value):Promise.resolve(v.value).then(E,B);S((m=m.apply(w,p)).next())});(function(w,p){typeof exports=="object"&&typeof module!="undefined"?p(exports):typeof define=="function"&&define.amd?define(["exports"],p):(w=typeof globalThis!="undefined"?globalThis:w||self,p(w.zar={}))})(this,function(w){"use strict";function p({app:t,plugins:e=[]}={}){const n={app:t,plugins:{},page:(r={})=>E(n,r),track:(r,a={},i)=>B(n,i?{event:r,properties:a,options:i}:{event:r,properties:a}),reset:(...r)=>l(this,null,function*(){return S(n,...r)})};return e.forEach(r=>{!r||!r.name||(r.instance=n,r.methods&&Object.keys(r.methods).forEach(a=>{const i=r.methods[a];if(typeof i=="function"){const o=i.bind(r);r.methods[a]=o,r[a]=o}}),n.plugins[r.name]=r)}),e.forEach(r=>{try{r.initialize&&r.initialize({config:r.config,instance:n})}catch(a){}}),n}const m=/#.*$/;function j(){return typeof window=="undefined"?"":window.location.href.replace(m,"")}function P(t={}){if(typeof window=="undefined"||typeof document=="undefined")return t;const{title:e,referrer:n}=document,{innerWidth:r,innerHeight:a}=window,i=j(),o={title:e,url:i,width:r,height:a};return n&&n!==""&&(o.referrer=n),Object.assign({},o,t)}function E(n){return l(this,arguments,function*(t,e={}){e.type||(e.type="page"),e.properties=P(e.properties||{}),Object.values(t.plugins).forEach(r=>{if(typeof r.pageStart=="function")try{const a=r.pageStart({payload:e,config:r.config,instance:t});a&&(e=a)}catch(a){}});for(const r of Object.values(t.plugins))if(typeof r.page=="function")try{yield r.page({payload:e,options:{},instance:t,config:r.config})}catch(a){}return e})}function B(n){return l(this,arguments,function*(t,e={}){e.type||(e.type="track");const r=P(),a=e.properties||{};a.url===void 0&&(a.url=r.url),a.referrer===void 0&&r.referrer!==void 0&&(a.referrer=r.referrer),e.properties=a;const i=e.options||{},o=i&&typeof i.plugins=="object"?i.plugins:null,u=c=>o&&o[c.name]===!1;Object.values(t.plugins).forEach(c=>{if(!u(c)&&typeof c.trackStart=="function")try{const s=c.trackStart({payload:e,options:i,config:c.config,instance:t});s&&(e=s)}catch(s){}});for(const c of Object.values(t.plugins))if(!u(c)&&typeof c.track=="function")try{yield c.track({payload:e,options:i,instance:t,config:c.config})}catch(s){}return e})}function S(t,...e){return l(this,null,function*(){for(const n of Object.values(t.plugins))if(typeof n.reset=="function")try{yield n.reset(...e)}catch(r){}})}function v(t,e,n,r,a,i,o){t.fbq||(a=t.fbq=function(){a.callMethod?a.callMethod.apply(a,arguments):a.queue.push(arguments)},t._fbq||(t._fbq=a),a.push=a,a.loaded=!0,a.version="2.0",a.queue=[],i=e.createElement(n),i.async=!0,i.src=r,o=e.getElementsByTagName(n)[0],o.parentNode.insertBefore(i,o))}function _({trackingId:t}){v(window,document,"script","https://connect.facebook.net/en_US/fbevents.js"),window.fbq("init",t)}function et(t={}){return{name:"facebook",config:t,initialize:function({config:e,instance:n}){if(!e.trackingId)throw new Error("No Facebook trackingId defined");_({trackingId:e.trackingId})},page:function({payload:e,config:n,instance:r}){window.fbq("track","PageView")},track:function({payload:e,config:n,instance:r}){window.fbq("trackCustom",e.event,e.properties)},identify:function({payload:e,config:n}){},loaded:function(){return!!window.fbq}}}function I(){window.dataLayer.push(arguments)}window.gtag=I;function rt({trackingId:t,configParams:e={},setParams:n={}}){var r="ga-gtag";if(!document.getElementById(r)){var a=document.head,i=document.createElement("script");i.id=r,i.type="text/javascript",i.async=!0,i.src="https://www.googletagmanager.com/gtag/js?id="+t,a.insertBefore(i,a.firstChild),window.dataLayer=window.dataLayer||[],I("js",new Date),n&&I("set",n),I("config",t,e)}}function nt(t={}){return{name:"google-analytics-4",config:t,initialize:function({config:e,instance:n}){if(!e.trackingId)throw new Error("No GA trackingId defined");var r={},a={};if(e.customDimensions){for(var i={},o=0;o<e.customDimensions.length;o++){var u=e.customDimensions[o];r[u.name]=u.callback(n,e),i["dimension"+(o+1)]=u.name}a.custom_map=i}rt({trackingId:e.trackingId,configParams:r,setParams:a})},page:function({payload:e,config:n,instance:r}){},track:function({payload:e,config:n,instance:r}){I("event",e.event,e.properties)},identify:function({payload:e,config:n}){},loaded:function(){return!!window.gtag}}}var at=new URLSearchParams(window.location.search),it=at.get("zdbg"),A={};const D="undefined";function g(){it==1&&console.debug(...arguments)}function f(t){console.warn(t),window.Rollbar&&window.Rollbar.warning(t)}function ot(t){return t&&(Object.prototype.toString.call(t)==="[object Function]"||typeof t=="function"||t instanceof Function)}function q(){try{var t=navigator.userAgent||"",e=new RegExp([/bot/,/spider/,/crawl/,/mediapartners/,/Google-Read-Aloud/,/semrush/].map(n=>n.source).join("|"),"i");return e.test(t)}catch(n){return!1}}function ut(t){document.readyState==="complete"||document.readyState==="loaded"||document.readyState==="interactive"?t():window.addEventListener("DOMContentLoaded",t)}var b=ct();function ct(){if(typeof b!==D)return b;b=!0;try{sessionStorage.setItem(D,D),sessionStorage.removeItem(D)}catch(t){b=!1}return b}function J(t){var e,n=A[t];return b?(e=sessionStorage.getItem(t),!e&&n&&(e=n,sessionStorage.setItem(t,e))):e=n,e?JSON.parse(e):void 0}function st(t,e){var n=JSON.stringify(e);b&&sessionStorage.setItem(t,n),A[t]=n}function F({method:t,url:e,data:n,json:r=!0}){return new Promise(function(a,i){var o=new XMLHttpRequest;o.open(t,e),o.withCredentials=!0,r&&(o.setRequestHeader("Accept","application/json"),o.setRequestHeader("Content-Type","application/json")),o.onload=function(){this.status>=200&&this.status<300?a(r?JSON.parse(o.response):o.response):i({status:this.status,message:o.statusText})},o.onerror=function(){i({status:this.status,message:"Network Error"})},n?o.send(n):o.send()})}function ft(t){return"?"+Object.keys(t).map(function(e){return e+"="+encodeURIComponent(t[e])}).join("&")}function lt(n){return l(this,arguments,function*({url:t,data:e}){if(window&&window.navigator&&typeof window.navigator.sendBeacon=="function"&&typeof window.Blob=="function")try{const r=new Blob([JSON.stringify(e)],{type:"text/plain; charset=UTF-8"});return!!window.navigator.sendBeacon(t,r)}catch(r){return f("postBeacon:"),!1}return!1})}function dt(r){return l(this,arguments,function*({url:t,params:e=null,json:n=!0}){var a=t;return e&&(a=a+ft(e)),yield F({method:"GET",url:a,json:n})})}function x(a){return l(this,arguments,function*({url:t,data:e,json:n=!0,beacon:r=!1}){var i=e;if(n&&(i=JSON.stringify(i)),r){var o=yield lt({url:t,data:e});if(o)return;g("Beacon failed")}return yield F({method:"POST",url:t,data:i,json:n})})}var k="__zar_vid",G="success",z="error",wt=30*1e3,$=0,gt=3,d={};window.zarPoolData=window.zarPoolData||null,window.zarPoolDLObserverDone=window.zarPoolDLObserverDone||!1,window.zarPoolDataLayer=window.zarPoolDataLayer||[];var h=new Map;function vt(){return Date.now().toString(36)+"."+Math.random().toString(36).substring(2)}function pt(t,e,n,r){var a,i=!1,o=null,u=n(t);!u||!u.id?(a=e(),o=document.referrer,i=!0,g("new ID for",t,"-",a)):(a=u.id,o=u.origReferrer);var c={id:a,t:Date.now(),origReferrer:o,isNew:i};return r(t,c),c}function H(){var t=pt(k,vt,J,st);return{vid:t}}function V(){return window.location.protocol+"://"+window.location.host+"/api/v2"}function W(t){return J(t)}function Q(t){var e=W(t);return e?e.id:null}function O(){return{vid:W(k)}}function bt(){return{vid:Q(k)}}function U({elem:t}){var e=null,n=null,r=null,a=new RegExp("\\+?\\(?\\d*\\)? ?\\(?\\d+\\)?\\d*([\\s./-]?\\d{2,})+","g");t.href&&t.href.startsWith("tel:")&&(r=t.href);var i=t.innerText,o=t.innerHTML,u=a.exec(i);return u&&(e=u[0].trim(),n=e.replace("+","").replace(/-/g,"").replace(/ /g,"").replace("(","").replace(")","").replace(/^1/,"")),{text:i,html:o,numberText:e,href:r,number:n}}function L({elems:t,number:e,force:n=!1}){var r,a=e;e.startsWith("+1")||(a="+1"+e);for(var i=0;i<t.length;i++){if(h.has(t[i]))if(n)r=h.get(t[i]);else{g("element already in overlay map:",t[i]);continue}var o=U({elem:t[i]});if(r?!n&&o.number&&r.number&&r.number!==o.number&&f("overlaying multiple numbers with a single number",r.number,o.number):r=o,g("overlaying",a,"on",t[i]),h.has(t[i])||h.set(t[i],o),o.href&&(t[i].href="tel:"+a),o.numberText)if(t[i].innerHTML="",o.text){var u=a;if(o.numberText.indexOf("-")>-1&&(u=a.slice(2,5)+"-"+a.slice(5,8)+"-"+a.slice(8,12)),o.html.indexOf("<img")>-1){var c=o.html.replace(o.numberText,u);t[i].innerHTML=c}else{var s=o.text.replace(o.numberText,u);t[i].appendChild(document.createTextNode(s))}}else t[i].appendChild(document.createTextNode(a));else g("no number text found:",t[i])}}function T({elems:t}){for(var e=0;e<t.length;e++)if(h.has(t[e])){var n=t[e].innerHTML,r=h.get(t[e]);g("orig:",r);var a=r.html;g("reverting",n,"to",a),a!=null&&a!==""?t[e].innerHTML=a:r.text!==void 0&&r.text!==null?t[e].textContent=r.text:t[e].textContent="",r.href&&t[e].setAttribute("href",r.href),h.delete(t[e])}else g("element not in map:",t[e])}function X(t){clearInterval(d[t]),delete d[t]}function K(){for(var t in d)X(t)}function Y(a){return l(this,arguments,function*({poolId:t,apiUrl:e,number:n=null,context:r=null}){var i={pool_id:t,number:n,context:r,properties:{zar:O()}},o=yield x({url:`${e}/number_pool`,data:i});return o})}function C(){return window.zarPoolData&&window.zarPoolData.status===G&&window.zarPoolData.number}function y(){if(!window.zarPoolDataLayer||!Array.isArray(window.zarPoolDataLayer)||window.zarPoolDataLayer.length===0)return null;for(var t={},e=0;e<window.zarPoolDataLayer.length;e++){var n=window.zarPoolDataLayer[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return window.zarPoolDataLayer.length=0,t}function M(a){return l(this,arguments,function*({apiUrl:t,poolId:e,number:n,context:r}){if(!C()){f("no valid pool data, not updating context");return}var i={pool_id:e,number:n,context:r,properties:{zar:O()}},o=yield x({url:`${t}/update_number`,data:i});return o})}function ht(r){return l(this,arguments,function*({apiUrl:t,key:e=null,with_contexts:n=!1}){var a={key:e,with_contexts:n},i=yield dt({url:`${t}/number_pool_stats`,params:a});return i})}function mt(){return l(this,arguments,function*({overlayElements:t,apiUrl:e=V(),contextCallback:n=null}={}){var r=y()||{};n&&(r=n(r)||{});const a=window.zarPoolData.pool_id,i=window.zarPoolData.number;try{var o=yield Y({poolId:a,apiUrl:e,number:i,context:r})}catch(s){var u="error getting number: "+JSON.stringify(s);return f(u),$++,$>=gt&&(f("max failures, stopping pool"),K(),t&&T({elems:t})),{status:z,msg:u}}if(o.status===G&&o.number){var c=!1;o.number!==window.zarPoolData.number&&(f("number changed from "+window.zarPoolData.number+" to "+o.number),window.zarPoolData.number=o.number,c=!0),t&&L({elems:t,number:o.number,force:c})}else t&&T({elems:t}),d[a]&&(clearInterval(d[a]),delete d[a]);return o})}function N(t){return ot(t)?t():t}function yt(t){if(!window.zarPoolDLObserverDone&&!!C()){var e=window.zarPoolDataLayer.push;window.zarPoolDataLayer.push=function(...r){var a=e.apply(this,r),i=y();return i&&M({apiUrl:t,poolId:window.zarPoolData.pool_id,number:window.zarPoolData.number,context:i}),a};var n=y();n&&M({apiUrl:t,poolId:window.zarPoolData.pool_id,number:window.zarPoolData.number,context:n}),window.zarPoolDLObserverDone=!0}}function Z(){return l(this,arguments,function*({poolData:t,poolConfig:e,apiUrl:n}={}){var r;if(!e||!e.poolId||!e.overlayQuerySelector||!n)return r="missing pool config: "+JSON.stringify(e),f(r),e.initCallback&&e.initCallback({status:z,msg:r}),d;var a=N(e.poolId);if(!a)return r="no pool ID",f(r),e.initCallback&&e.initCallback({status:z,msg:r}),d;if(!t){var i=y()||{};e.contextCallback&&(i=e.contextCallback(i)||{});try{t=yield Y({poolId:a,apiUrl:n,number:null,context:i})}catch(o){return r="error getting number on init: "+JSON.stringify(o),f(r),e.initCallback&&e.initCallback({status:z,msg:r}),d}}if(window.zarPoolData=t,C()){try{yt(n)}catch(o){f("data layer observer error: "+JSON.stringify(o))}ut(function(){var o=document.querySelectorAll(e.overlayQuerySelector);if(!o){var u="No elems found for:"+e.overlayQuerySelector;f(u),e.initCallback&&e.initCallback({status:z,msg:u});return}L({elems:o,number:t.number});var c=setInterval(function(){try{mt({overlayElements:o,apiUrl:n,contextCallback:e.contextCallback})}catch(R){var s="error on interval: "+JSON.stringify(R);f(s)}},e.renewalInterval||wt);d[t.pool_id]=c,e.initCallback&&e.initCallback(t)})}return d})}function tt({apiUrl:t,poolConfig:e}){return H(),{name:"zar",config:{apiUrl:t,poolConfig:e},initialize:function({config:n}){},loaded:function(){return!0},pageStart:function({payload:n,config:r,instance:a}){n.properties.zar=O(),n.properties.referrer=document.referrer,n.properties.is_bot=q();try{var i=r.poolConfig;if(i&&i.poolId){n.properties.pool_id=N(i.poolId);var o=y()||{};i.contextCallback&&(n.properties.pool_context=i.contextCallback(o)||{})}}catch(u){f("error getting pool id: "+JSON.stringify(u))}return n},page:function(o){return l(this,arguments,function*({payload:n,options:r,instance:a,config:i}){g("page",n,r,i);for(var u=0,c=3,s;u<c;)try{s=yield x({url:`${i.apiUrl}/page`,data:n});break}catch(R){if(u++,u>=c)throw f("error posting page: "+JSON.stringify(R)),R;yield new Promise(_t=>setTimeout(_t,1e3))}s&&s.pool_data&&Z({poolData:s.pool_data,poolConfig:i.poolConfig,apiUrl:i.apiUrl})})},trackStart:function({payload:n,config:r,instance:a}){return n.properties.zar=O(),n.properties.url=window.location.href,n.properties.referrer=document.referrer,n},track:function({payload:n,options:r,instance:a,config:i}){g("track",n),x({url:`${i.apiUrl}/track`,data:n,beacon:!0})},methods:{apiUrl(){return t},poolConfig(){return e},initIDs(){return H()},getIDs(){return bt()},getStorage(){return O()},getVID(){return Q(k)},isBot(){return q()},initTrackingPool({poolConfig:n}){var r=this.instance.plugins.zar;return Z({poolData:null,poolConfig:Object.assign(r.poolConfig(),n||{}),apiUrl:r.apiUrl()})},updateTrackingNumberContext({number:n,context:r}){var a=this.instance.plugins.zar,i=a.poolConfig();return M({apiUrl:this.instance.plugins.zar.apiUrl(),poolId:N(i.poolId),number:n,context:r})},getPoolIntervals(){return d},clearPoolInterval({poolId:n}){X(n)},clearPoolIntervals(){K()},extractPhoneNumbers({elems:n}){for(var r=[],a=0;a<n.length;a++){var i=U({elem:n[a]});r.push(i)}return r},overlayPhoneNumber({overlayElements:n,number:r}){L({elems:n,number:r})},revertOverlayNumbers({overlayElements:n}){T({elems:n})},getPoolStats({key:n=null,with_contexts:r=!1}){return ht({apiUrl:this.instance.plugins.zar.apiUrl(),key:n,with_contexts:r})}}}}function Pt({app:t,ga4Config:e=null,facebookConfig:n=null,apiUrl:r=null,poolConfig:a=null}){r||(r=V());var i=[tt({apiUrl:r,poolConfig:a})];return e&&i.push(nt(e)),n&&i.push(et(n)),p({app:t,plugins:i})}const St={extractPhoneNumber:U,overlayPhoneNumber:L,revertOverlayNumbers:T,drainPoolDataLayer:y,getPoolId:N};w.Analytics=p,w.__test__=St,w.init=Pt,w.zar=tt,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
3
2
|
//# sourceMappingURL=zar.umd.js.map
|
package/dist/zar.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zar.umd.js","sources":["../node_modules/dlv/dist/dlv.es.js","../node_modules/@analytics/type-utils/dist/analytics-util-types.module.js","../node_modules/analytics-utils/dist/analytics-utils.module.js","../node_modules/@analytics/global-storage-utils/dist/analytics-util-global-storage.module.js","../node_modules/@analytics/core/dist/client/analytics-core.module.js","../node_modules/@analytics/cookie-utils/dist/analytics-util-cookie.module.js","../node_modules/@analytics/localstorage-utils/dist/analytics-util-localstorage.module.js","../node_modules/@analytics/session-storage-utils/dist/analytics-util-session-storage.module.js","../node_modules/@analytics/storage-utils/dist/analytics-util-storage.module.js","../node_modules/analytics/lib/analytics.browser.es.js","../src/facebook.js","../src/googleAnalytics4.js","../src/utils.js","../src/zar.js"],"sourcesContent":["export default function(t,e,l,n,r){for(e=e.split?e.split(\".\"):e,n=0;n<e.length;n++)t=t?t[e[n]]:r;return t===r?l:t}\n//# sourceMappingURL=dlv.es.js.map\n","var n=\"function\",t=\"string\",e=\"undefined\",r=\"boolean\",o=\"object\",u=\"array\",i=\"number\",c=\"symbol\",f=\"null\",a=\"error\",s=\"typeError\",l=\"syntaxError\",d=\"asyncFunction\",p=\"generatorFunction\",y=\"asyncGeneratorFunction\",b=function(){},g=\"any\",m=\"*\",v=\"none\",h=\"hidden\",j=\"__\",O=\"form\",S=\"input\",w=\"button\",A=\"select\",E=\"change\",N=\"submit\",D=/^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)$/,z=/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Z=/^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/,F=\"undefined\"!=typeof process?process:{},P=F.env&&F.env.NODE_ENV||\"\",x=\"production\"===P,C=\"staging\"===P,L=\"development\"===P,$=\"undefined\"!=typeof window,T=$&&\"localhost\"===window.location.hostname,_=null!=F.versions&&null!=F.versions.node,k=\"undefined\"!=typeof Deno&&void 0!==Deno.core,B=\"object\"==typeof self&&self.constructor&&\"DedicatedWorkerGlobalScope\"===self.constructor.name,G=$&&\"nodejs\"===window.name||\"undefined\"!=typeof navigator&&(navigator.userAgent.includes(\"Node.js\")||navigator.userAgent.includes(\"jsdom\"));function M(n,t){return t.charAt(0)[n]()+t.slice(1)}var U=M.bind(null,\"toUpperCase\"),H=M.bind(null,\"toLowerCase\");function J(n){return Y(n)?U(\"null\"):\"object\"==typeof n?yn(n):Object.prototype.toString.call(n).slice(8,-1)}function R(n,t){void 0===t&&(t=!0);var e=J(n);return t?H(e):e}function V(n,t){return typeof t===n}var W=V.bind(null,\"function\"),q=V.bind(null,\"string\"),I=V.bind(null,\"undefined\");function K(n){return!I(n)}var Q=V.bind(null,\"boolean\"),X=V.bind(null,\"symbol\");function Y(n){return null===n}function nn(n){return\"number\"===R(n)&&!isNaN(n)}function tn(n){return!isNaN(parseFloat(n))}function en(n){return!!W(n)&&/^class /.test(Function.prototype.toString.call(n))}function rn(n){return\"array\"===R(n)}function on(n){if(!un(n))return!1;for(var t=n;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t}function un(n){return n&&(\"object\"==typeof n||null!==n)}function cn(n){if(!q(n)||!Z.test(n))return!1;try{JSON.parse(n)}catch(n){return!1}return!0}function fn(n){if(Y(n))return!0;switch(typeof n){case\"string\":case\"number\":case\"symbol\":case\"undefined\":case\"boolean\":return!0;default:return!1}}function an(n,t){return on(n)&&W(n[t])}function sn(n){return!!n&&!!(!I(Promise)&&n instanceof Promise||n.then&&W(n.then))}function ln(n){return un(n)&&W(n.throw)&&W(n.return)&&W(n.next)}function dn(n){return\"generatorFunction\"===R(n)}function pn(n){return\"asyncFunction\"===R(n)}function yn(n){return W(n.constructor)?n.constructor.name:null}function bn(n){return n instanceof Set}function gn(n){return n instanceof Map}function mn(n){return n instanceof RegExp}function vn(n){return!(!n.constructor||!W(n.constructor.isBuffer))&&n.constructor.isBuffer(n)}function hn(n){return n instanceof Error||q(n.message)&&n.constructor&&nn(n.constructor.stackTraceLimit)}function jn(n){return un(n)&&q(n.message)&&q(n.name)}function On(n,t){if(\"object\"!=typeof t||Y(t))return!1;if(t instanceof n)return!0;var e=R(new n(\"\"));if(hn(t))for(;t;){if(R(t)===e)return!0;t=Object.getPrototypeOf(t)}return!1}var Sn=On.bind(null,TypeError),wn=On.bind(null,SyntaxError);function An(n){if(!W(n))return!1;var t=/{(\\r|\\n|\\s)*}/gm,e=b+\"\";return e===(n.toString().match(t)||[\"\"])[0].replace(t,e)}function En(n){try{if(nn(n.length)&&W(n.callee))return!0}catch(n){if(-1!==n.message.indexOf(\"callee\"))return!0}return!1}function Nn(n){return!(q(n)&&\"false\"===n.toLowerCase()||!n)}function Dn(n){return!n}function zn(n){return!0===n}function Zn(n){return!1===n}function Fn(n){return!(n.length>320)&&z.test(n)}function Pn(n){return n instanceof Date||W(n.toDateString)&&W(n.getDate)&&W(n.setDate)}function xn(n){return D.test(n)}function Cn(n){return!(!Y(n)&&(rn(n)?n.length:bn(n)||gn(n)?n.size:on(n)&&Object.keys(n).length))}function Ln(n){return NodeList.prototype.isPrototypeOf(n)}function $n(n,t){var e=n instanceof Element||n instanceof HTMLDocument;return e&&t?Tn(n,t):e}function Tn(n,t){return void 0===t&&(t=\"\"),n&&n.nodeName===t.toUpperCase()}function _n(n){var t=[].slice.call(arguments,1);return function(){return n.apply(void 0,[].slice.call(arguments).concat(t))}}var kn=_n($n,\"form\"),Bn=_n($n,\"button\"),Gn=_n($n,\"input\"),Mn=_n($n,\"select\");function Un(n,t){if(!n||\"hidden\"===getComputedStyle(n).visibility)return!0;for(;n;){if(null!=t&&n===t)return!1;if(\"none\"===getComputedStyle(n).display)return!0;n=n.parentElement}return!1}function Hn(n){return n?rn(n)?n:[n]:[]}export{m as ALL,g as ANY,u as ARRAY,d as ASYNC_FUNCTION,y as ASYNC_GENERATOR_FUNCTION,r as BOOLEAN,w as BUTTON,E as CHANGE,P as ENV,a as ERROR,O as FORM,n as FUNCTION,p as GENERATOR_FUNCTION,h as HIDDEN,S as INPUT,v as NONE,f as NULL,i as NUMBER,o as OBJECT,j as PREFIX,z as REGEX_EMAIL,D as REGEX_ISO,Z as REGEX_JSON,A as SELECT,t as STRING,N as SUBMIT,c as SYMBOL,l as SYNTAX_ERROR,s as TYPE_ERROR,e as UNDEFINED,yn as ctorName,Hn as ensureArray,R as getType,J as getTypeName,En as isArguments,rn as isArray,pn as isAsyncFunction,Q as isBoolean,$ as isBrowser,vn as isBuffer,Bn as isButton,en as isClass,Pn as isDate,K as isDefined,k as isDeno,L as isDev,$n as isElement,Fn as isEmail,Cn as isEmpty,hn as isError,jn as isErrorLike,Zn as isFalse,Dn as isFalsy,kn as isForm,W as isFunction,ln as isGenerator,dn as isGeneratorFunction,Un as isHidden,Gn as isInput,xn as isIsoDate,G as isJsDom,cn as isJson,T as isLocalHost,gn as isMap,an as isMethod,An as isNoOp,_ as isNode,Ln as isNodeList,Tn as isNodeType,Y as isNull,nn as isNumber,tn as isNumberLike,on as isObject,un as isObjectLike,fn as isPrimitive,x as isProd,sn as isPromise,mn as isRegex,Mn as isSelect,bn as isSet,C as isStaging,q as isString,X as isSymbol,wn as isSyntaxError,zn as isTrue,Nn as isTruthy,Sn as isTypeError,I as isUndefined,B as isWebWorker,b as noOp};\n//# sourceMappingURL=analytics-util-types.module.js.map\n","export{default as dotProp}from\"dlv\";import{isBrowser as e,isString as r,isRegex as t}from\"@analytics/type-utils\";function n(e){try{return decodeURIComponent(e.replace(/\\+/g,\" \"))}catch(e){return null}}function o(){if(e){var r=navigator,t=r.languages;return r.userLanguage||(t&&t.length?t[0]:r.language)}}function a(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){}}function i(r){if(!e)return!1;var t=r||document.referrer;if(t){var n=window.document.location.port,o=t.split(\"/\")[2];return n&&(o=o.replace(\":\"+n,\"\")),o!==window.location.hostname}return!1}function u(n){if(!e)return!0;var o=document.getElementsByTagName(\"script\");return!!Object.keys(o).filter(function(e){var a=o[e].src;return r(n)?-1!==a.indexOf(n):!!t(n)&&a.match(n)}).length}function c(e,r){var t=(e.split(\"?\")||[,])[1];if(!t||-1===t.indexOf(r))return e;var n=new RegExp(\"(\\\\&|\\\\?)\"+r+'([_A-Za-z0-9\"+=.\\\\/\\\\-@%]+)',\"g\"),o=(\"?\"+t).replace(n,\"\").replace(/^&/,\"?\");return e.replace(\"?\"+t,o)}function l(e,r){return n((RegExp(e+\"=(.+?)(&|$)\").exec(r)||[,\"\"])[1])}function s(r){return function(e){for(var r,t=Object.create(null),o=/([^&=]+)=?([^&]*)/g;r=o.exec(e);){var a=n(r[1]),i=n(r[2]);\"[]\"===a.substring(a.length-2)?(t[a=a.substring(0,a.length-2)]||(t[a]=[])).push(i):t[a]=\"\"===i||i}for(var u in t){var c=u.split(\"[\");c.length>1&&(m(t,c.map(function(e){return e.replace(/[?[\\]\\\\ ]/g,\"\")}),t[u]),delete t[u])}return t}(function(r){if(r){var t=r.match(/\\?(.*)/);return t&&t[1]?t[1].split(\"#\")[0]:\"\"}return e&&window.location.search.substring(1)}(r))}function m(e,r,t){for(var n=r.length-1,o=0;o<n;++o){var a=r[o];if(\"__proto__\"===a||\"constructor\"===a)break;a in e||(e[a]={}),e=e[a]}e[r[n]]=t}function f(r,t){return e?new Promise(function(e,n){if(window.history&&window.history.replaceState){var o=window.location.href,a=c(o,r);o!==a&&history.replaceState({},\"\",a)}return t&&t(),e()}):Promise.resolve()}function g(r){if(!e)return null;var t=document.createElement(\"a\");return t.setAttribute(\"href\",r),t.hostname}function p(e){return(g(e)||\"\").split(\".\").slice(-2).join(\".\")}function x(e){var r=e.split(\".\");return r.length>1?r.slice(0,-1).join(\".\"):e}var d={trimTld:x,getDomainBase:p,getDomainHost:g};function v(r,t){if(!e)return!1;var n={source:\"(direct)\",medium:\"(none)\",campaign:\"(not set)\"};r&&i(r)&&(n.referrer=r);var o=function(r){if(!r||!e)return!1;var t=p(r),n=document.createElement(\"a\");if(n.href=r,n.hostname.indexOf(\"google\")>-1&&(t=\"google\"),w[t]){var o=w[t],a=new RegExp((\"string\"==typeof o?o:o.p)+\"=.*?([^&#]*|$)\",\"gi\"),u=n.search.match(a);return{source:o.n||x(t),medium:\"organic\",term:(u?u[0].split(\"=\")[1]:\"\")||\"(not provided)\"}}var c=i(r)?\"referral\":\"internal\";return{source:n.hostname,medium:c}}(r);o&&Object.keys(o).length&&(n=Object.assign({},n,o));var a=s(t),u=Object.keys(a);if(!u.length)return n;var c=u.reduce(function(e,r){return r.match(/^utm_/)&&(e[\"\"+r.replace(/^utm_/,\"\")]=a[r]),r.match(/^(d|g)clid/)&&(e.source=\"google\",e.medium=a.gclid?\"cpc\":\"cpm\",e[r]=a[r]),e},{});return Object.assign({},n,c)}var h=\"q\",w={\"daum.net\":h,\"eniro.se\":\"search_word\",\"naver.com\":\"query\",\"yahoo.com\":\"p\",\"msn.com\":h,\"aol.com\":h,\"ask.com\":h,\"baidu.com\":\"wd\",\"yandex.com\":\"text\",\"rambler.ru\":\"words\",google:h,\"bing.com\":{p:h,n:\"live\"}};function y(){for(var e=\"\",r=0,t=4294967295*Math.random()|0;r++<36;){var n=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"[r-1],o=15&t;e+=\"-\"==n||\"4\"==n?n:(\"x\"==n?o:3&o|8).toString(16),t=r%8==0?4294967295*Math.random()|0:t>>4}return e}function b(e,r){var t,n,o,a=null,i=0,u=function(){i=new Date,a=null,o=e.apply(t,n)};return function(){var c=new Date;i||(i=c);var l=r-(c-i);return t=this,n=arguments,l<=0?(clearTimeout(a),a=null,i=c,o=e.apply(t,n)):a||(a=setTimeout(u,l)),o}}export{n as decodeUri,o as getBrowserLocale,a as getTimeZone,i as isExternalReferrer,u as isScriptLoaded,c as paramsClean,l as paramsGet,s as paramsParse,f as paramsRemove,v as parseReferrer,b as throttle,d as url,y as uuid};\n//# sourceMappingURL=analytics-utils.module.js.map\n","import{PREFIX as t,OBJECT as e,UNDEFINED as r}from\"@analytics/type-utils\";var l=\"global\",o=t+\"global\"+t,n=typeof self===e&&self.self===self&&self||typeof global===e&&global.global===global&&global||void 0;function a(t){return n[o][t]}function f(t,e){return n[o][t]=e}function i(t){delete n[o][t]}function u(t,e,r){var l;try{if(b(t)){var o=window[t];l=o[e].bind(o)}}catch(t){}return l||r}n[o]||(n[o]={});var c={};function b(t){if(typeof c[t]!==r)return c[t];try{var e=window[t];e.setItem(r,r),e.removeItem(r)}catch(e){return c[t]=!1}return c[t]=!0}export{l as GLOBAL,o as KEY,a as get,n as globalContext,b as hasSupport,i as remove,f as set,u as wrap};\n//# sourceMappingURL=analytics-util-global-storage.module.js.map\n","import{uuid as e,getBrowserLocale as n,getTimeZone as t,paramsParse as r,dotProp as i}from\"analytics-utils\";import{get as a,remove as o,set as u,globalContext as c,KEY as s}from\"@analytics/global-storage-utils\";import{isObject as l,PREFIX as f,isFunction as d,isBoolean as p,isString as m,isBrowser as g,isArray as h}from\"@analytics/type-utils\";function v(){return v=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},v.apply(this,arguments)}var y=\"function\",b=\"undefined\",I=\"@@redux/\"+Math.random().toString(36),w=/* #__PURE__ */function(){return typeof Symbol===y&&Symbol.observable||\"@@observable\"}(),E=\" != \"+y;function P(e,n,t){var r;if(typeof n===y&&typeof t===b&&(t=n,n=void 0),typeof t!==b){if(typeof t!==y)throw new Error(\"enhancer\"+E);return t(P)(e,n)}if(typeof e!==y)throw new Error(\"reducer\"+E);var i=e,a=n,o=[],u=o,c=!1;function s(){u===o&&(u=o.slice())}function f(){return a}function d(e){if(typeof e!==y)throw new Error(\"Listener\"+E);var n=!0;return s(),u.push(e),function(){if(n){n=!1,s();var t=u.indexOf(e);u.splice(t,1)}}}function p(e){if(!l(e))throw new Error(\"Act != obj\");if(typeof e.type===b)throw new Error(\"ActType \"+b);if(c)throw new Error(\"Dispatch in reducer\");try{c=!0,a=i(a,e)}finally{c=!1}for(var n=o=u,t=0;t<n.length;t++)(0,n[t])();return e}return p({type:\"@@redux/INIT\"}),(r={dispatch:p,subscribe:d,getState:f,replaceReducer:function(e){if(typeof e!==y)throw new Error(\"next reducer\"+E);i=e,p({type:\"@@redux/INIT\"})}})[w]=function(){var e,n=d;return(e={subscribe:function(e){if(\"object\"!=typeof e)throw new TypeError(\"Observer != obj\");function t(){e.next&&e.next(f())}return t(),{unsubscribe:n(t)}}})[w]=function(){return this},e},r}function S(e,n){var t=n&&n.type;return\"action \"+(t&&t.toString()||\"?\")+\"reducer \"+e+\" returns \"+b}function N(){var e=[].slice.call(arguments);return 0===e.length?function(e){return e}:1===e.length?e[0]:e.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function O(){var e=arguments;return function(n){return function(t,r,i){var a,o=n(t,r,i),u=o.dispatch,c={getState:o.getState,dispatch:function(e){return u(e)}};return a=[].slice.call(e).map(function(e){return e(c)}),v({},o,{dispatch:u=N.apply(void 0,a)(o.dispatch)})}}}var A=f+\"anon_id\",_=f+\"user_id\",x=f+\"user_traits\",k={__proto__:null,ANON_ID:A,USER_ID:_,USER_TRAITS:x},j=\"userId\",T=\"anonymousId\",z=[\"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\"],M=[\"name\",\"EVENTS\",\"config\",\"loaded\"],q=z.reduce(function(e,n){return e[n]=n,e},{registerPluginType:function(e){return\"registerPlugin:\"+e},pluginReadyType:function(e){return\"ready:\"+e}}),U=/^utm_/,V=/^an_prop_/,L=/^an_trait_/;function C(e){var n=e.storage.setItem;return function(t){return function(r){return function(i){if(i.type===q.bootstrap){var a=i.params,o=i.user,u=i.persistedUser,c=i.initialUser,s=u.userId===o.userId;u.anonymousId!==o.anonymousId&&n(A,o.anonymousId),s||n(_,o.userId),c.traits&&n(x,v({},s&&u.traits?u.traits:{},c.traits));var l=Object.keys(i.params);if(l.length){var f=a.an_uid,d=a.an_event,p=l.reduce(function(e,n){if(n.match(U)||n.match(/^(d|g)clid/)){var t=n.replace(U,\"\");e.campaign[\"campaign\"===t?\"name\":t]=a[n]}return n.match(V)&&(e.props[n.replace(V,\"\")]=a[n]),n.match(L)&&(e.traits[n.replace(L,\"\")]=a[n]),e},{campaign:{},props:{},traits:{}});t.dispatch(v({type:q.params,raw:a},p,f?{userId:f}:{})),f&&setTimeout(function(){return e.identify(f,p.traits)},0),d&&setTimeout(function(){return e.track(d,p.props)},0),Object.keys(p.campaign).length&&t.dispatch({type:q.campaign,campaign:p.campaign})}}return r(i)}}}}function R(e){return function(n,t){if(void 0===n&&(n={}),void 0===t&&(t={}),t.type===q.setItemEnd){if(t.key===A)return v({},n,{anonymousId:t.value});if(t.key===_)return v({},n,{userId:t.value})}switch(t.type){case q.identify:return Object.assign({},n,{userId:t.userId,traits:v({},n.traits,t.traits)});case q.reset:return[_,A,x].forEach(function(n){e.removeItem(n)}),Object.assign({},n,{userId:null,anonymousId:null,traits:{}});default:return n}}}function $(e){return{userId:e.getItem(_),anonymousId:e.getItem(A),traits:e.getItem(x)}}var D=function(e){return f+\"TEMP\"+f+e};function B(n){var t=n.storage,r=t.setItem,i=t.removeItem,a=t.getItem;return function(n){return function(t){return function(u){var c=u.userId,s=u.traits,l=u.options;if(u.type===q.reset&&([_,x,A].forEach(function(e){i(e)}),[j,T,\"traits\"].forEach(function(e){o(D(e))})),u.type===q.identify){a(A)||r(A,e());var f=a(_),d=a(x)||{};f&&f!==c&&n.dispatch({type:q.userIdChanged,old:{userId:f,traits:d},new:{userId:c,traits:s},options:l}),c&&r(_,c),s&&r(x,v({},d,s))}return t(u)}}}}var X={};function J(e,n){X[e]&&d(X[e])&&(X[e](n),delete X[e])}function W(e,n,t){return new Promise(function(r,i){return n()?r(e):t<1?i(v({},e,{queue:!0})):new Promise(function(e){return setTimeout(e,10)}).then(function(a){return W(e,n,t-10).then(r,i)})})}function H(e,n,t){var r=n(),i=e.getState(),a=i.plugins,o=i.queue,u=i.user;if(!i.context.offline&&o&&o.actions&&o.actions.length){var c=o.actions.reduce(function(e,n,t){return a[n.plugin].loaded?(e.process.push(n),e.processIndex.push(t)):(e.requeue.push(n),e.requeueIndex.push(t)),e},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(c.processIndex&&c.processIndex.length){c.processIndex.forEach(function(n){var i=o.actions[n],c=i.plugin,s=i.payload.type,l=r[c][s];if(l&&d(l)){var f=function(e,n){return void 0===e&&(e={}),void 0===n&&(n={}),[j,T].reduce(function(t,r){return e.hasOwnProperty(r)&&n[r]&&n[r]!==e[r]&&(t[r]=n[r]),t},e)}(i.payload,u);l({payload:f,config:a[c].config,instance:t});var p=s+\":\"+c;e.dispatch(v({},f,{type:p,_:{called:p,from:\"queueDrain\"}}))}});var s=o.actions.filter(function(e,n){return!~c.processIndex.indexOf(n)});o.actions=s}}}var F=function(e){var n=e.data,t=e.action,r=e.instance,i=e.state,a=e.allPlugins,o=e.allMatches,u=e.store,c=e.EVENTS;try{var s=i.plugins,f=i.context,p=t.type,m=p.match(G),g=n.exact.map(function(e){return e.pluginName});m&&(g=o.during.map(function(e){return e.pluginName}));var h=function(e,n){return function(t,r,i){var a=r.config,o=r.name,u=o+\".\"+t.type;i&&(u=i.event);var c=t.type.match(G)?function(e,n,t,r,i){return function(a,o){var u=r?r.name:e,c=o&&ie(o)?o:t;if(r&&(!(c=o&&ie(o)?o:[e]).includes(e)||1!==c.length))throw new Error(\"Method \"+n+\" can only abort \"+e+\" plugin. \"+JSON.stringify(c)+\" input valid\");return v({},i,{abort:{reason:a,plugins:c,caller:n,_:u}})}}(o,u,n,i,t):function(e,n){return function(){throw new Error(e.type+\" action not cancellable. Remove abort in \"+n)}}(t,u);return{payload:ue(t),instance:e,config:a||{},abort:c}}}(r,g),y=n.exact.reduce(function(e,n){var t=n.pluginName,r=n.methodName,i=!1;return r.match(/^initialize/)||r.match(/^reset/)||(i=!s[t].loaded),f.offline&&r.match(/^(page|track|identify)/)&&(i=!0),e[\"\"+t]=i,e},{});return Promise.resolve(n.exact.reduce(function(e,i,o){var u=i.pluginName;return Promise.resolve(e).then(function(e){function i(){return Promise.resolve(e)}var o=function(){if(n.namespaced&&n.namespaced[u])return Promise.resolve(n.namespaced[u].reduce(function(e,n,t){return Promise.resolve(e).then(function(e){return n.method&&d(n.method)?(function(e,n){var t=oe(e);if(t&&t.name===n){var r=oe(t.method);throw new Error([n+\" plugin is calling method \"+e,\"Plugins cant call self\",\"Use \"+t.method+\" \"+(r?\"or \"+r.method:\"\")+\" in \"+n+\" plugin insteadof \"+e].join(\"\\n\"))}}(n.methodName,n.pluginName),Promise.resolve(n.method({payload:e,instance:r,abort:(t=e,i=u,o=n.pluginName,function(e,n){return v({},t,{abort:{reason:e,plugins:n||[i],caller:p,from:o||i}})}),config:Z(n.pluginName,s,a),plugins:s})).then(function(n){var t=l(n)?n:{};return Promise.resolve(v({},e,t))})):e;var t,i,o})},Promise.resolve(t))).then(function(n){e[u]=n});e[u]=t}();return o&&o.then?o.then(i):i()})},Promise.resolve({}))).then(function(e){return Promise.resolve(n.exact.reduce(function(t,i,o){try{var c=n.exact.length===o+1,f=i.pluginName,d=a[f];return Promise.resolve(t).then(function(n){var t=e[f]?e[f]:{};if(m&&(t=n),te(t,f))return Y({data:t,method:p,instance:r,pluginName:f,store:u}),Promise.resolve(n);if(te(n,f))return c&&Y({data:n,method:p,instance:r,store:u}),Promise.resolve(n);if(y.hasOwnProperty(f)&&!0===y[f])return u.dispatch({type:\"queue\",plugin:f,payload:t,_:{called:\"queue\",from:\"queueMechanism\"}}),Promise.resolve(n);var i=h(e[f],a[f]);return Promise.resolve(d[p]({abort:i.abort,payload:t,instance:r,config:Z(f,s,a),plugins:s})).then(function(i){var a=l(i)?i:{},o=v({},n,a),c=e[f];if(te(c,f))Y({data:c,method:p,instance:r,pluginName:f,store:u});else{var s=p+\":\"+f;(s.match(/:/g)||[]).length<2&&!p.match(K)&&!p.match(Q)&&r.dispatch(v({},m?o:t,{type:s,_:{called:s,from:\"submethod\"}}))}return Promise.resolve(o)})})}catch(e){return Promise.reject(e)}},Promise.resolve(t))).then(function(e){if(!(p.match(G)||p.match(/^registerPlugin/)||p.match(Q)||p.match(K)||p.match(/^params/)||p.match(/^userIdChanged/))){if(c.plugins.includes(p),e._&&e._.originalAction===p)return e;var t=v({},e,{_:{originalAction:e.type,called:e.type,from:\"engineEnd\"}});re(e,n.exact.length)&&!p.match(/End$/)&&(t=v({},t,{type:e.type+\"Aborted\"})),u.dispatch(t)}return e})})}catch(e){return Promise.reject(e)}},G=/Start$/,K=/^bootstrap/,Q=/^ready/;function Y(e){var n=e.pluginName,t=e.method+\"Aborted\"+(n?\":\"+n:\"\");e.store.dispatch(v({},e.data,{type:t,_:{called:t,from:\"abort\"}}))}function Z(e,n,t){var r=n[e]||t[e];return r&&r.config?r.config:{}}function ee(e,n){return n.reduce(function(n,t){return t[e]?n.concat({methodName:e,pluginName:t.name,method:t[e]}):n},[])}function ne(e,n){var t=e.replace(G,\"\"),r=n?\":\"+n:\"\";return[\"\"+e+r,\"\"+t+r,t+\"End\"+r]}function te(e,n){var t=e.abort;return!!t&&(!0===t||ae(t,n)||t&&ae(t.plugins,n))}function re(e,n){var t=e.abort;if(!t)return!1;if(!0===t||m(t))return!0;var r=t.plugins;return ie(t)&&t.length===n||ie(r)&&r.length===n}function ie(e){return Array.isArray(e)}function ae(e,n){return!(!e||!ie(e))&&e.includes(n)}function oe(e){var n=e.match(/(.*):(.*)/);return!!n&&{method:n[1],name:n[2]}}function ue(e){return Object.keys(e).reduce(function(n,t){return\"type\"===t||(n[t]=l(e[t])?Object.assign({},e[t]):e[t]),n},{})}function ce(e,n,t){var r={};return function(i){return function(a){return function(o){try{var u,c=function(e){return u?e:a(f)},s=o.type,l=o.plugins,f=o;if(o.abort)return Promise.resolve(a(o));if(s===q.enablePlugin&&i.dispatch({type:q.initializeStart,plugins:l,disabled:[],fromEnable:!0,meta:o.meta}),s===q.disablePlugin&&setTimeout(function(){return J(o.meta.rid,{payload:o})},0),s===q.initializeEnd){var m=n(),g=Object.keys(m),h=g.filter(function(e){return l.includes(e)}).map(function(e){return m[e]}),y=[],b=[],I=o.disabled,w=h.map(function(e){var n=e.name;return W(e,e.loaded,1e4).then(function(t){return r[n]||(i.dispatch({type:q.pluginReadyType(n),name:n,events:Object.keys(e).filter(function(e){return!M.includes(e)})}),r[n]=!0),y=y.concat(n),e}).catch(function(e){if(e instanceof Error)throw new Error(e);return b=b.concat(e.name),e})});Promise.all(w).then(function(e){var n={plugins:y,failed:b,disabled:I};setTimeout(function(){g.length===w.length+I.length&&i.dispatch(v({},{type:q.ready},n))},0)})}var E=function(){if(s!==q.bootstrap)return/^ready:([^:]*)$/.test(s)&&setTimeout(function(){return H(i,n,e)},0),Promise.resolve(function(e,n,t,r,i){try{var a=d(n)?n():n,o=e.type,u=o.replace(G,\"\");if(e._&&e._.called)return Promise.resolve(e);var c=t.getState(),s=(m=a,void 0===(g=c.plugins)&&(g={}),void 0===(h=e.options)&&(h={}),Object.keys(m).filter(function(e){var n=h.plugins||{};return p(n[e])?n[e]:!1!==n.all&&(!g[e]||!1!==g[e].enabled)}).map(function(e){return m[e]}));o===q.initializeStart&&e.fromEnable&&(s=Object.keys(c.plugins).filter(function(n){var t=c.plugins[n];return e.plugins.includes(n)&&!t.initialized}).map(function(e){return a[e]}));var l=s.map(function(e){return e.name}),f=function(e,n,t){var r=ne(e).map(function(e){return ee(e,n)});return n.reduce(function(t,r){var i=r.name,a=ne(e,i).map(function(e){return ee(e,n)}),o=a[0],u=a[1],c=a[2];return o.length&&(t.beforeNS[i]=o),u.length&&(t.duringNS[i]=u),c.length&&(t.afterNS[i]=c),t},{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}})}(o,s);return Promise.resolve(F({action:e,data:{exact:f.before,namespaced:f.beforeNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){function n(){var n=function(){if(o.match(G))return Promise.resolve(F({action:v({},s,{type:u+\"End\"}),data:{exact:f.after,namespaced:f.afterNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){e.meta&&e.meta.hasCallback&&J(e.meta.rid,{payload:e})})}();return n&&n.then?n.then(function(){return e}):e}if(re(e,l.length))return e;var s,d=function(){if(o!==u)return Promise.resolve(F({action:v({},e,{type:u}),data:{exact:f.during,namespaced:f.duringNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){s=e});s=e}();return d&&d.then?d.then(n):n()})}catch(e){return Promise.reject(e)}var m,g,h}(o,n,e,i,t)).then(function(e){var n=a(e);return u=1,n})}();return Promise.resolve(E&&E.then?E.then(c):c(E))}catch(e){return Promise.reject(e)}}}}}function se(e){return function(n){return function(n){return function(t){var r=t.type,i=t.key,a=t.value,o=t.options;if(r===q.setItem||r===q.removeItem){if(t.abort)return n(t);r===q.setItem?e.setItem(i,a,o):e.removeItem(i,o)}return n(t)}}}}var le=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(n,t){e[t]=e[t].concat(n)},this.removeMiddleware=function(n,t){var r=e[t].findIndex(function(e){return e===n});-1!==r&&(e[t]=[].concat(e[t].slice(0,r),e[t].slice(r+1)))},this.dynamicMiddlewares=function(n){return function(t){return function(r){return function(i){var a={getState:t.getState,dispatch:function(e){return t.dispatch(e)}},o=e[n].map(function(e){return e(a)});return N.apply(void 0,o)(r)(i)}}}}};function fe(e){return function(n,t){void 0===n&&(n={});var r={};if(\"initialize:aborted\"===t.type)return n;if(/^registerPlugin:([^:]*)$/.test(t.type)){var i=de(t.type,\"registerPlugin\"),a=e()[i];if(!a||!i)return n;var o=t.enabled;return r[i]={enabled:o,initialized:!!o&&Boolean(!a.initialize),loaded:!!o&&Boolean(a.loaded()),config:a.config||{}},v({},n,r)}if(/^initialize:([^:]*)$/.test(t.type)){var u=de(t.type,q.initialize),c=e()[u];return c&&u?(r[u]=v({},n[u],{initialized:!0,loaded:Boolean(c.loaded())}),v({},n,r)):n}if(/^ready:([^:]*)$/.test(t.type))return r[t.name]=v({},n[t.name],{loaded:!0}),v({},n,r);switch(t.type){case q.disablePlugin:return v({},n,pe(t.plugins,!1,n));case q.enablePlugin:return v({},n,pe(t.plugins,!0,n));default:return n}}}function de(e,n){return e.substring(n.length+1,e.length)}function pe(e,n,t){return e.reduce(function(e,r){return e[r]=v({},t[r],{enabled:n}),e},t)}function me(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var ge={last:{},history:[]};function he(e,n){void 0===e&&(e=ge);var t=n.options,r=n.meta;if(n.type===q.track){var i=me(v({event:n.event,properties:n.properties},Object.keys(t).length&&{options:t},{meta:r}));return v({},e,{last:i,history:e.history.concat(i)})}return e}var ve={actions:[]};function ye(e,n){void 0===e&&(e=ve);var t=n.payload;switch(n.type){case\"queue\":var r;return r=t&&t.type&&t.type===q.identify?[n].concat(e.actions):e.actions.concat(n),v({},e,{actions:r});case\"dequeue\":return[];default:return e}}var be=/#.*$/;function Ie(e){var n=/(http[s]?:\\/\\/)?([^\\/\\s]+\\/)(.*)/g.exec(e);return\"/\"+(n&&n[3]?n[3].split(\"?\")[0].replace(be,\"\"):\"\")}var we,Ee,Pe,Se,Ne=function(e){if(void 0===e&&(e={}),!g)return e;var n=document,t=n.title,r=n.referrer,i=window,a=i.location,o=i.innerWidth,u=i.innerHeight,c=a.hash,s=a.search,l=function(e){var n=function(){if(g)for(var e,n=document.getElementsByTagName(\"link\"),t=0;e=n[t];t++)if(\"canonical\"===e.getAttribute(\"rel\"))return e.getAttribute(\"href\")}();return n?n.match(/\\?/)?n:n+e:window.location.href.replace(be,\"\")}(s),f={title:t,url:l,path:Ie(l),hash:c,search:s,width:o,height:u};return r&&\"\"!==r&&(f.referrer=r),v({},f,e)},Oe={last:{},history:[]};function Ae(e,n){void 0===e&&(e=Oe);var t=n.options;if(n.type===q.page){var r=me(v({properties:n.properties,meta:n.meta},Object.keys(t).length&&{options:t}));return v({},e,{last:r,history:e.history.concat(r)})}return e}we=function(){if(!g)return!1;var e=navigator.appVersion;return~e.indexOf(\"Win\")?\"Windows\":~e.indexOf(\"Mac\")?\"MacOS\":~e.indexOf(\"X11\")?\"UNIX\":~e.indexOf(\"Linux\")?\"Linux\":\"Unknown OS\"}(),Ee=g?document.referrer:null,Pe=n(),Se=t();var _e={initialized:!1,sessionId:e(),app:null,version:null,debug:!1,offline:!!g&&!navigator.onLine,os:{name:we},userAgent:g?navigator.userAgent:\"node\",library:{name:\"analytics\",version:\"0.11.0\"},timezone:Se,locale:Pe,campaign:{},referrer:Ee};function xe(e,n){void 0===e&&(e=_e);var t=e.initialized,r=n.campaign;switch(n.type){case q.campaign:return v({},e,{campaign:r});case q.offline:return v({},e,{offline:!0});case q.online:return v({},e,{offline:!1});default:return t?e:v({},_e,e,{initialized:!0})}}var ke=[\"plugins\",\"reducers\",\"storage\"];function je(e,n,t){if(g){var r=window[(t?\"add\":\"remove\")+\"EventListener\"];e.split(\" \").forEach(function(e){r(e,n)})}}function Te(e){var n=je.bind(null,\"online offline\",function(n){return Promise.resolve(!navigator.onLine).then(e)});return n(!0),function(e){return n(!1)}}function ze(){return u(\"analytics\",[]),function(e){return function(n,t,r){var i=e(n,t,r),a=i.dispatch;return Object.assign(i,{dispatch:function(e){return c[s].analytics.push(e.action||e),a(e)}})}}}function Me(e){return function(){return N(N.apply(null,arguments),ze())}}function qe(e){return e?h(e)?e:[e]:[]}function Ue(n,t,r){void 0===n&&(n={});var i,a,o=e();return t&&(X[o]=(i=t,a=function(e){for(var n,t=e||Array.prototype.slice.call(arguments),r=0;r<t.length;r++)if(d(t[r])){n=t[r];break}return n}(r),function(e){a&&a(e),i(e)})),v({},n,{rid:o,ts:(new Date).getTime()},t?{hasCallback:!0}:{})}function Ve(n){void 0===n&&(n={});var t=n.reducers||{},c=n.initialUser||{},s=(n.plugins||[]).reduce(function(e,n){if(d(n))return e.middlewares=e.middlewares.concat(n),e;if(n.NAMESPACE&&(n.name=n.NAMESPACE),!n.name)throw new Error(\"https://lytics.dev/errors/1\");var t=n.EVENTS?Object.keys(n.EVENTS).map(function(e){return n.EVENTS[e]}):[];e.pluginEnabled[n.name]=!(!1===n.enabled||n.config&&!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),n=new Array(r.length),t=0;t<e.length;t++)n[t]=e[t];return n[n.length]=K,r.apply({instance:K},n)}),e},{}),delete n.methods);var r=Object.keys(n).concat(t),i=new Set(e.events.concat(r));if(e.events=Array.from(i),e.pluginsArray=e.pluginsArray.concat(n),e.plugins[n.name])throw new Error(n.name+\"AlreadyLoaded\");return e.plugins[n.name]=n,e.plugins[n.name].loaded||(e.plugins[n.name].loaded=function(){return!0}),e},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),f=n.storage?n.storage:{getItem:a,setItem:u,removeItem:o},p=function(e){return function(n,t,r){return t.getState(\"user\")[n]||(r&&l(r)&&r[n]?r[n]:$(e)[n]||a(D(n))||null)}}(f),h=s.plugins,w=s.events.filter(function(e){return!M.includes(e)}).sort(),E=new Set(w.concat(z).filter(function(e){return!M.includes(e)})),_=Array.from(E).sort(),x=function(){return h},k=new le,U=k.addMiddleware,V=k.removeMiddleware,L=k.dynamicMiddlewares,X=function(){throw new Error(\"Abort disabled inListener\")},J=r(),W=$(f),F=v({},W,c,J.an_uid?{userId:J.an_uid}:{},J.an_aid?{anonymousId:J.an_aid}:{});F.anonymousId||(F.anonymousId=e());var G=v({enable:function(e,n){return new Promise(function(t){oe.dispatch({type:q.enablePlugin,plugins:qe(e),_:{originalAction:q.enablePlugin}},t,[n])})},disable:function(e,n){return new Promise(function(t){oe.dispatch({type:q.disablePlugin,plugins:qe(e),_:{originalAction:q.disablePlugin}},t,[n])})}},s.methods),K={identify:function(e,n,t,r){try{var i=m(e)?e:null,a=l(e)?e:n,o=t||{},c=K.user();u(D(j),i);var s=i||a.userId||p(j,K,a);return Promise.resolve(new Promise(function(e){oe.dispatch(v({type:q.identifyStart,userId:s,traits:a||{},options:o,anonymousId:c.anonymousId},c.id&&c.id!==i&&{previousId:c.id}),e,[n,t,r])}))}catch(e){return Promise.reject(e)}},track:function(e,n,t,r){try{var i=l(e)?e.event:e;if(!i||!m(i))throw new Error(\"EventMissing\");var a=l(e)?e:n||{},o=l(t)?t:{};return Promise.resolve(new Promise(function(e){oe.dispatch({type:q.trackStart,event:i,properties:a,options:o,userId:p(j,K,n),anonymousId:p(T,K,n)},e,[n,t,r])}))}catch(e){return Promise.reject(e)}},page:function(e,n,t){try{var r=l(e)?e:{},i=l(n)?n:{};return Promise.resolve(new Promise(function(a){oe.dispatch({type:q.pageStart,properties:Ne(r),options:i,userId:p(j,K,r),anonymousId:p(T,K,r)},a,[e,n,t])}))}catch(e){return Promise.reject(e)}},user:function(e){if(e===j||\"id\"===e)return p(j,K);if(e===T||\"anonId\"===e)return p(T,K);var n=K.getState(\"user\");return e?i(n,e):n},reset:function(e){return new Promise(function(n){oe.dispatch({type:q.resetStart},n,e)})},ready:function(e){return K.on(q.ready,e)},on:function(e,n){if(!e||!d(n))return!1;if(e===q.bootstrap)throw new Error(\".on disabled for \"+e);var t=/Start$|Start:/;if(\"*\"===e){var r=function(e){return function(e){return function(r){return r.type.match(t)&&n({payload:r,instance:K,plugins:h}),e(r)}}},i=function(e){return function(e){return function(r){return r.type.match(t)||n({payload:r,instance:K,plugins:h}),e(r)}}};return U(r,Le),U(i,Ce),function(){V(r,Le),V(i,Ce)}}var a=e.match(t)?Le:Ce,o=function(t){return function(t){return function(r){return r.type===e&&n({payload:r,instance:K,plugins:h,abort:X}),t(r)}}};return U(o,a),function(){return V(o,a)}},once:function(e,n){if(!e||!d(n))return!1;if(e===q.bootstrap)throw new Error(\".once disabled for \"+e);var t=K.on(e,function(e){n({payload:e.payload,instance:K,plugins:h,abort:X}),t()});return t},getState:function(e){var n=oe.getState();return e?i(n,e):Object.assign({},n)},dispatch:function(e){var n=m(e)?{type:e}:e;if(z.includes(n.type))throw new Error(\"reserved action \"+n.type);var t=v({},n,{_:v({originalAction:n.type},e._||{})});oe.dispatch(t)},enablePlugin:G.enable,disablePlugin:G.disable,plugins:G,storage:{getItem:f.getItem,setItem:function(e,n,t){oe.dispatch({type:q.setItemStart,key:e,value:n,options:t})},removeItem:function(e,n){oe.dispatch({type:q.removeItemStart,key:e,options:n})}},setAnonymousId:function(e,n){K.storage.setItem(A,e,n)},events:{core:z,plugins:w}},Q=s.middlewares.concat([function(e){return function(e){return function(n){return n.meta||(n.meta=Ue()),e(n)}}},L(Le),ce(K,x,{all:_,plugins:w}),se(f),C(K),B(K),L(Ce)]),Y={context:xe,user:R(f),page:Ae,track:he,plugins:fe(x),queue:ye},Z=N,ee=N;if(g&&n.debug){var ne=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;ne&&(Z=ne({trace:!0,traceLimit:25})),ee=function(){return 0===arguments.length?ze():l(typeof arguments[0])?Me():Me().apply(null,arguments)}}var te,re=function(e){return Object.keys(e).reduce(function(n,t){return ke.includes(t)||(n[t]=e[t]),n},{})}(n),ie=s.pluginsArray.reduce(function(e,n){var t=n.name,r=n.config,i=n.loaded,a=s.pluginEnabled[t];return e[t]={enabled:a,initialized:!!a&&Boolean(!n.initialize),loaded:Boolean(i()),config:r||{}},e},{}),ae={context:re,user:F,plugins:ie},oe=P(function(e){for(var n=Object.keys(e),t={},r=0;r<n.length;r++){var i=n[r];typeof e[i]===y&&(t[i]=e[i])}var a,o=Object.keys(t);try{!function(e){Object.keys(e).forEach(function(n){var t=e[n];if(typeof t(void 0,{type:\"@@redux/INIT\"})===b||typeof t(void 0,{type:I})===b)throw new Error(\"reducer \"+n+\" \"+b)})}(t)}catch(e){a=e}return function(e,n){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},u=0;u<o.length;u++){var c=o[u],s=e[c],l=(0,t[c])(s,n);if(typeof l===b){var f=S(c,n);throw new Error(f)}i[c]=l,r=r||l!==s}return r?i:e}}(v({},Y,t)),ae,ee(Z(O.apply(void 0,Q))));oe.dispatch=(te=oe.dispatch,function(e,n,t){var r=v({},e,{meta:Ue(e.meta,n,qe(t))});return te.apply(null,[r])});var ue=Object.keys(h);oe.dispatch({type:q.bootstrap,plugins:ue,config:re,params:J,user:F,initialUser:c,persistedUser:W});var de=ue.filter(function(e){return s.pluginEnabled[e]}),pe=ue.filter(function(e){return!s.pluginEnabled[e]});return oe.dispatch({type:q.registerPlugins,plugins:ue,enabled:s.pluginEnabled}),s.pluginsArray.map(function(e,n){var t=e.bootstrap,r=e.config,i=e.name;t&&d(t)&&t({instance:K,config:r,payload:e}),oe.dispatch({type:q.registerPluginType(i),name:i,enabled:s.pluginEnabled[i],plugin:e}),s.pluginsArray.length===n+1&&oe.dispatch({type:q.initializeStart,plugins:de,disabled:pe})}),Te(function(e){oe.dispatch({type:e?q.offline:q.online})}),function(e,n,t){setInterval(function(){return H(e,n,t)},3e3)}(oe,x,K),K}var Le=\"before\",Ce=\"after\";export{Ve as Analytics,k as CONSTANTS,q as EVENTS,Ve as default,Ve as init};\n//# sourceMappingURL=analytics-core.module.js.map\n","import{remove as e,set as o,get as n}from\"@analytics/global-storage-utils\";var t=\"cookie\",i=a(),r=d,c=d;function u(o){return i?d(o,\"\",-1):e(o)}function a(){if(void 0!==i)return i;var e=\"cookiecookie\";try{d(e,e),i=-1!==document.cookie.indexOf(e),u(e)}catch(e){i=!1}return i}function d(e,t,r,c,u,a){if(\"undefined\"!=typeof window){var d=arguments.length>1;return!1===i&&(d?o(e,t):n(e)),d?document.cookie=e+\"=\"+encodeURIComponent(t)+(r?\"; expires=\"+new Date(+new Date+1e3*r).toUTCString()+(c?\"; path=\"+c:\"\")+(u?\"; domain=\"+u:\"\")+(a?\"; secure\":\"\"):\"\"):decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+e+\"=\")[1]||\"\").split(\";\")[0])}}export{t as COOKIE,r as getCookie,a as hasCookies,u as removeCookie,c as setCookie};\n//# sourceMappingURL=analytics-util-cookie.module.js.map\n","import{hasSupport as l,wrap as o,get as a,set as t,remove as e}from\"@analytics/global-storage-utils\";var r=\"localStorage\",g=l.bind(null,\"localStorage\"),c=o(\"localStorage\",\"getItem\",a),m=o(\"localStorage\",\"setItem\",t),S=o(\"localStorage\",\"removeItem\",e);export{r as LOCAL_STORAGE,c as getItem,g as hasLocalStorage,S as removeItem,m as setItem};\n//# sourceMappingURL=analytics-util-localstorage.module.js.map\n","import{hasSupport as e,wrap as s,get as o,set as t,remove as r}from\"@analytics/global-storage-utils\";var a=\"sessionStorage\",i=e.bind(null,\"sessionStorage\"),g=s(\"sessionStorage\",\"getItem\",o),n=s(\"sessionStorage\",\"setItem\",t),l=s(\"sessionStorage\",\"removeItem\",r);export{a as SESSION_STORAGE,g as getSessionItem,i as hasSessionStorage,l as removeSessionItem,n as setSessionItem};\n//# sourceMappingURL=analytics-util-session-storage.module.js.map\n","import{get as t,GLOBAL as o,set as e,remove as r}from\"@analytics/global-storage-utils\";export{GLOBAL,globalContext}from\"@analytics/global-storage-utils\";import{hasCookies as a,COOKIE as i,getCookie as s,setCookie as n,removeCookie as l}from\"@analytics/cookie-utils\";export{COOKIE,getCookie,hasCookies,removeCookie,setCookie}from\"@analytics/cookie-utils\";import{hasLocalStorage as u,LOCAL_STORAGE as c}from\"@analytics/localstorage-utils\";export{LOCAL_STORAGE,hasLocalStorage}from\"@analytics/localstorage-utils\";import{hasSessionStorage as g,SESSION_STORAGE as f}from\"@analytics/session-storage-utils\";export{SESSION_STORAGE,hasSessionStorage}from\"@analytics/session-storage-utils\";import{isObject as m,ANY as S,ALL as p,isUndefined as v,isString as y}from\"@analytics/type-utils\";export{ALL,ANY}from\"@analytics/type-utils\";function I(t){var o=t;try{if(\"true\"===(o=JSON.parse(t)))return!0;if(\"false\"===o)return!1;if(m(o))return o;parseFloat(o)===o&&(o=parseFloat(o))}catch(t){}if(null!==o&&\"\"!==o)return o}var k=u(),O=g(),x=a();function C(o,e){if(o){var r=A(e),a=!N(r),i=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!v(i))return i;var n=h(r)?I(s(o)):void 0;if(a&&n)return n;var l=E(r)?I(sessionStorage.getItem(o)):void 0;if(a&&l)return l;var u=t(o);return a?u:{localStorage:i,sessionStorage:l,cookie:n,global:u}}}function L(r,a,l){if(r&&!v(a)){var u={},g=A(l),m=JSON.stringify(a),S=!N(g);return d(g)&&(u[c]=F(c,a,I(localStorage.getItem(r))),localStorage.setItem(r,m),S)?u[c]:h(g)&&(u[i]=F(i,a,I(s(r))),n(r,m),S)?u[i]:E(g)&&(u[f]=F(f,a,I(sessionStorage.getItem(r))),sessionStorage.setItem(r,m),S)?u[f]:(u[o]=F(o,a,t(r)),e(r,a),S?u[o]:u)}}function b(t,e){if(t){var a=A(e),s=C(t,p),n={};return!v(s.localStorage)&&d(a)&&(localStorage.removeItem(t),n[c]=s.localStorage),!v(s.cookie)&&h(a)&&(l(t),n[i]=s.cookie),!v(s.sessionStorage)&&E(a)&&(sessionStorage.removeItem(t),n[f]=s.sessionStorage),!v(s.global)&&G(a,o)&&(r(t),n[o]=s.global),n}}function A(t){return t?y(t)?t:t.storage:S}function d(t){return k&&G(t,c)}function h(t){return x&&G(t,i)}function E(t){return O&&G(t,f)}function N(t){return t===p||\"all\"===t}function G(t,o){return t===S||t===o||N(t)}function F(t,o,e){return{location:t,current:o,previous:e}}var J={setItem:L,getItem:C,removeItem:b};export{J as default,C as getItem,b as removeItem,L as setItem};\n//# sourceMappingURL=analytics-util-storage.module.js.map\n","import { Analytics } from '@analytics/core';\nexport { CONSTANTS, EVENTS } from '@analytics/core';\nimport storage from '@analytics/storage-utils';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction analyticsLib() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSettings = {\n storage: storage\n };\n return Analytics(_objectSpread2(_objectSpread2({}, defaultSettings), opts));\n}\n\nexport { analyticsLib as Analytics, analyticsLib as default, analyticsLib as init };\n","function facebookScriptInit(f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = \"2.0\";\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n}\n\nfunction facebookInit({ trackingId }) {\n facebookScriptInit(\n window,\n document,\n \"script\",\n \"https://connect.facebook.net/en_US/fbevents.js\"\n );\n window.fbq(\"init\", trackingId);\n}\n\nfunction facebook(pluginConfig = {}) {\n return {\n name: \"facebook\",\n config: pluginConfig,\n initialize: function ({ config, instance }) {\n if (!config.trackingId) throw new Error(\"No Facebook trackingId defined\");\n facebookInit({ trackingId: config.trackingId });\n },\n page: function ({ payload, config, instance }) {\n window.fbq(\"track\", \"PageView\");\n },\n track: function ({ payload, config, instance }) {\n window.fbq(\"trackCustom\", payload.event, payload.properties);\n },\n identify: function ({ payload, config }) {\n // not supported yet\n },\n loaded: function () {\n return !!window.fbq;\n }\n };\n}\n\nexport { facebookInit, facebook };\n","function gtag() {\n window.dataLayer.push(arguments);\n}\n\nwindow.gtag = gtag;\n\n// https://github.com/idmadj/ga-gtag/blob/master/src/index.js\nfunction gtagInit({ trackingId, configParams = {}, setParams = {} }) {\n var scriptId = 'ga-gtag';\n\n if (document.getElementById(scriptId)) return;\n\n var head = document.head;\n var script = document.createElement('script');\n script.id = scriptId;\n script.type = 'text/javascript';\n script.async = true;\n script.src = 'https://www.googletagmanager.com/gtag/js?id=' + trackingId;\n head.insertBefore(script, head.firstChild);\n\n window.dataLayer = window.dataLayer || [];\n\n gtag('js', new Date());\n if (setParams) {\n gtag('set', setParams);\n }\n gtag('config', trackingId, configParams);\n}\n\nfunction googleAnalytics4(pluginConfig = {}) {\n return {\n name: 'google-analytics-4',\n config: pluginConfig,\n initialize: function ({ config, instance }) {\n if (!config.trackingId) throw new Error('No GA trackingId defined');\n\n var configParams = {};\n var setParams = {};\n if (config.customDimensions) {\n var customMap = {};\n for (var i = 0; i < config.customDimensions.length; i++) {\n var customDim = config.customDimensions[i];\n configParams[customDim.name] = customDim.callback(instance, config);\n customMap['dimension' + (i + 1)] = customDim.name;\n }\n setParams['custom_map'] = customMap;\n }\n\n gtagInit({ trackingId: config.trackingId, configParams, setParams });\n },\n page: function ({ payload, config, instance }) {\n // no-op: GA4 sends page on init and page is just another \"event\"\n },\n track: function ({ payload, config, instance }) {\n gtag('event', payload.event, payload.properties);\n },\n identify: function ({ payload, config }) {\n // not supported yet\n },\n loaded: function () {\n return !!window.gtag;\n }\n };\n}\n\nexport { gtag, googleAnalytics4 };","export var urlParams = new URLSearchParams(window.location.search);\nvar DEBUG = urlParams.get('zdbg');\nvar zarGlobal = {};\nconst undef = 'undefined';\n\nexport function dbg() {\n if (DEBUG != 1) return;\n console.debug(...arguments);\n}\n\nexport function warn(msg) {\n console.warn(msg)\n if (window.Rollbar) {\n window.Rollbar.warning(msg);\n }\n}\n\nexport function isFunc(value) {\n return value && (Object.prototype.toString.call(value) === \"[object Function]\" || \"function\" === typeof value || value instanceof Function);\n}\n\nexport function isBot() {\n try {\n var ua = navigator.userAgent || ''\n var bots = new RegExp([\n /bot/, /spider/, /crawl/, /mediapartners/, /Google-Read-Aloud/, /semrush/\n ].map((r) => r.source).join(\"|\"), \"i\")\n return bots.test(ua)\n } catch (e) {\n return false\n }\n}\n\nexport function afterDOMContentLoaded(func) {\n if (document.readyState === \"complete\"\n || document.readyState === \"loaded\"\n || document.readyState === \"interactive\") {\n func()\n } else {\n window.addEventListener('DOMContentLoaded', func);\n }\n}\n\n// Copied from analytics-utils to keep bundle size down\n\nvar supportsSessionStorage = hasSessionStorage();\n\nfunction hasSessionStorage() {\n if (typeof supportsSessionStorage !== undef) {\n return supportsSessionStorage;\n }\n supportsSessionStorage = true;\n try {\n sessionStorage.setItem(undef, undef);\n sessionStorage.removeItem(undef);\n } catch (e) {\n supportsSessionStorage = false;\n }\n return supportsSessionStorage;\n}\n\nexport function getSessionStorage(key) {\n // Get from SS if supported, fall back to global\n var value;\n var globalValue = zarGlobal[key];\n if (supportsSessionStorage) {\n value = sessionStorage.getItem(key);\n if ((!value) && globalValue) {\n value = globalValue;\n // Restore session storage\n sessionStorage.setItem(key, value);\n }\n } else {\n value = globalValue;\n }\n return value ? JSON.parse(value) : undefined;\n}\n\nexport function setSessionStorage(key, value) {\n // Set both SS (if supported) and global\n var value_str = JSON.stringify(value);\n if (supportsSessionStorage) {\n sessionStorage.setItem(key, value_str);\n }\n zarGlobal[key] = value_str;\n}\n\nexport function removeSessionStorage(key) {\n // Remove both SS (if supported) and global\n if (supportsSessionStorage) {\n sessionStorage.removeItem(key);\n }\n delete zarGlobal[key];\n}\n\nexport function hasAdBlock() {\n // Create fake ad\n var fakeAd = document.createElement('div');\n fakeAd.innerHTML = ' ';\n fakeAd.className = 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links';\n fakeAd.setAttribute('style', 'width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;');\n try {\n // insert into page\n document.body.appendChild(fakeAd);\n if (\n document.body.getAttribute('abp') !== null ||\n fakeAd.offsetHeight === 0 ||\n fakeAd.clientHeight === 0\n ) {\n return true;\n }\n if (typeof getComputedStyle !== 'undefined') {\n var css = window.getComputedStyle(fakeAd, null);\n if (css && (css.getPropertyValue('display') === 'none' || css.getPropertyValue('visibility') === 'hidden')) {\n return true;\n }\n }\n // remove from page\n document.body.removeChild(fakeAd);\n } catch (e) {\n // swallow errors\n }\n return false;\n}\n\nfunction makeRequest({ method, url, data, json = true }) {\n return new Promise(function (resolve, reject) {\n var xhr = new XMLHttpRequest();\n xhr.open(method, url);\n xhr.withCredentials = true;\n\n if (json) {\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n }\n\n xhr.onload = function () {\n if (this.status >= 200 && this.status < 300) {\n if (json) {\n resolve(JSON.parse(xhr.response));\n } else {\n resolve(xhr.response);\n }\n } else {\n reject({\n status: this.status,\n message: xhr.statusText\n });\n }\n };\n xhr.onerror = function () {\n reject({\n status: this.status,\n message: \"Network Error\"\n });\n };\n if (data) {\n xhr.send(data);\n } else {\n xhr.send();\n }\n });\n}\n\nfunction formatParams(params) {\n return \"?\" + Object\n .keys(params)\n .map(function (key) {\n return key + \"=\" + encodeURIComponent(params[key]);\n })\n .join(\"&\");\n}\n\nasync function postBeacon({ url, data }) {\n if (window &&\n window.navigator &&\n typeof window.navigator.sendBeacon === \"function\" &&\n typeof window.Blob === \"function\") {\n try {\n const blob = new Blob([JSON.stringify(data)], { type: 'text/plain; charset=UTF-8' });\n if (window.navigator.sendBeacon(url, blob)) {\n return true;\n }\n return false;\n } catch (e) {\n warn(\"postBeacon:\", e)\n return false;\n }\n }\n return false;\n}\n\nexport async function httpGet({ url, params = null, json = true }) {\n var finalUrl = url;\n if (params) {\n finalUrl = finalUrl + formatParams(params);\n }\n return await makeRequest({ method: \"GET\", url: finalUrl, json });\n}\n\nexport async function httpPost({ url, data, json = true, beacon = false }) {\n var finalData = data;\n if (json) {\n finalData = JSON.stringify(finalData);\n }\n if (beacon) {\n var res = await postBeacon({ url, data });\n if (res) {\n return;\n }\n dbg('Beacon failed')\n }\n return await makeRequest({ method: \"POST\", url, data: finalData, json });\n}\n\n","import { Analytics } from \"analytics\";\nimport { facebook } from \"./facebook\";\nimport { googleAnalytics4 } from \"./googleAnalytics4\";\nimport {\n dbg,\n getSessionStorage,\n setSessionStorage,\n hasAdBlock,\n isBot,\n httpGet,\n httpPost,\n warn,\n afterDOMContentLoaded,\n isFunc\n} from \"./utils\";\n\nvar VID_KEY = \"__zar_vid\";\nvar NUMBER_POOL_SUCCESS = \"success\";\nvar NUMBER_POOL_ERROR = \"error\";\nvar NUMBER_POOL_RENEWAL_TIME_MS = 30 * 1000;\nvar getNumberFailureCount = 0;\nvar MAX_GET_NUMBER_FAILURES = 3;\nvar poolIntervals = {};\n\nwindow.zarPoolData = window.zarPoolData || null;\nwindow.zarPoolDLObserverDone = window.zarPoolDLObserverDone || false;\nwindow.zarPoolDataLayer = window.zarPoolDataLayer || [];\n\n// Tracks original phone numbers that have been replaced so\n// we can revert if necessary.\nvar numberOverlayMap = new Map();\n\nfunction generateVisitId() {\n return (\n Date.now().toString(36) + \".\" + Math.random().toString(36).substring(2)\n );\n}\n\nfunction initId(key, generator, getter, setter) {\n var id;\n var isNew = false;\n var origReferrer = null;\n var idObj = getter(key);\n\n if (!idObj || !idObj.id) {\n id = generator();\n origReferrer = document.referrer;\n isNew = true;\n dbg(\"new ID for\", key, \"-\", id);\n } else {\n id = idObj.id;\n origReferrer = idObj.origReferrer;\n }\n\n var result = { id, t: Date.now(), origReferrer, isNew };\n setter(key, result);\n return result;\n}\n\nfunction initIDs() {\n var vidResult = initId(\n VID_KEY,\n generateVisitId,\n getSessionStorage,\n setSessionStorage\n );\n return { vid: vidResult };\n}\n\nfunction getDefaultApiUrl() {\n return window.location.protocol + \"://\" + window.location.host + \"/api/v2\";\n}\n\nfunction getIDObj(key) {\n return getSessionStorage(key);\n}\n\nfunction getID(key) {\n var obj = getIDObj(key);\n return obj ? obj.id : null;\n}\n\nfunction getStorage() {\n return {\n vid: getIDObj(VID_KEY)\n };\n}\n\nfunction getIDs() {\n return {\n vid: getID(VID_KEY)\n };\n}\n\nfunction extractPhoneNumber({ elem }) {\n // NOTE: only tested for US numbers!\n var numberText = null;\n var number = null;\n var href = null;\n var regex = new RegExp(\n \"\\\\+?\\\\(?\\\\d*\\\\)? ?\\\\(?\\\\d+\\\\)?\\\\d*([\\\\s./-]?\\\\d{2,})+\",\n \"g\"\n );\n\n if (elem.href && elem.href.startsWith(\"tel:\")) {\n href = elem.href;\n }\n var text = elem.innerText;\n var html = elem.innerHTML;\n var match = regex.exec(text);\n if (match) {\n numberText = match[0].trim();\n number = numberText\n .replace(\"+\", \"\")\n .replace(/-/g, \"\")\n .replace(/ /g, \"\")\n .replace(\"(\", \"\")\n .replace(\")\", \"\")\n .replace(/^1/, \"\");\n }\n return { text, html, numberText, href, number };\n}\n\nfunction overlayPhoneNumber({ elems, number, force = false }) {\n var origNum;\n var overlayNum = number;\n if (!number.startsWith(\"+1\")) {\n overlayNum = \"+1\" + number; // NOTE: expects 10-digit US numbers\n }\n\n for (var i = 0; i < elems.length; i++) {\n if (numberOverlayMap.has(elems[i])) {\n if (force) {\n origNum = numberOverlayMap.get(elems[i]);\n } else {\n dbg(\"element already in overlay map:\", elems[i]);\n continue;\n }\n }\n\n var elemNum = extractPhoneNumber({ elem: elems[i] });\n\n if (!origNum) {\n origNum = elemNum;\n } else if (\n !force &&\n elemNum.number &&\n origNum.number &&\n origNum.number !== elemNum.number\n ) {\n warn(\n \"overlaying multiple numbers with a single number\",\n origNum.number,\n elemNum.number\n );\n }\n\n dbg(\"overlaying\", overlayNum, \"on\", elems[i]);\n\n // Store the original values if this is the first time overlaying\n if (!numberOverlayMap.has(elems[i])) {\n numberOverlayMap.set(elems[i], elemNum);\n }\n\n if (elemNum.href) {\n elems[i].href = \"tel:\" + overlayNum;\n }\n\n if (elemNum.numberText) {\n // If there is a phone number present in the text...\n elems[i].innerHTML = \"\";\n if (elemNum.text) {\n var overlay = overlayNum;\n if (elemNum.numberText.indexOf(\"-\") > -1) {\n overlay =\n overlayNum.slice(2, 5) +\n \"-\" +\n overlayNum.slice(5, 8) +\n \"-\" +\n overlayNum.slice(8, 12);\n }\n if (elemNum.html.indexOf(\"<img\") > -1) {\n var numberHtml = elemNum.html.replace(elemNum.numberText, overlay);\n elems[i].innerHTML = numberHtml;\n } else {\n var numberText = elemNum.text.replace(elemNum.numberText, overlay);\n elems[i].appendChild(document.createTextNode(numberText));\n }\n } else {\n elems[i].appendChild(document.createTextNode(overlayNum));\n }\n } else {\n dbg(\"no number text found:\", elems[i]);\n }\n }\n}\n\nfunction revertOverlayNumbers({ elems }) {\n for (var i = 0; i < elems.length; i++) {\n if (numberOverlayMap.has(elems[i])) {\n var currentHTML = elems[i].innerHTML;\n var origElemData = numberOverlayMap.get(elems[i]);\n dbg(\"orig:\", origElemData);\n var origHTML = origElemData.html;\n dbg(\"reverting\", currentHTML, \"to\", origHTML);\n elems[i].innerHTML = origHTML;\n if (origElemData.href) {\n elems[i].href = origElemData.href;\n }\n numberOverlayMap.delete(elems[i]);\n } else {\n dbg(\"element not in map:\", elems[i]);\n }\n }\n}\n\nfunction clearPoolInterval(poolId) {\n clearInterval(poolIntervals[poolId]);\n delete poolIntervals[poolId];\n}\n\nfunction clearPoolIntervals() {\n for (var poolId in poolIntervals) {\n clearPoolInterval(poolId);\n }\n}\n\nasync function getPoolNumber({\n poolId,\n apiUrl,\n number = null,\n context = null\n}) {\n var payload = {\n pool_id: poolId,\n number: number,\n context: context,\n properties: {\n zar: getStorage()\n }\n };\n var resp = await httpPost({ url: `${apiUrl}/number_pool`, data: payload });\n return resp;\n}\n\nfunction poolActive() {\n return (\n window.zarPoolData &&\n window.zarPoolData.status === NUMBER_POOL_SUCCESS &&\n window.zarPoolData.number\n );\n}\n\nfunction drainPoolDataLayer() {\n if (\n !window.zarPoolDataLayer ||\n !Array.isArray(window.zarPoolDataLayer) ||\n window.zarPoolDataLayer.length === 0\n ) {\n return null;\n }\n\n var mergedObject = {};\n for (var i = 0; i < window.zarPoolDataLayer.length; i++) {\n var obj = window.zarPoolDataLayer[i];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n mergedObject[key] = obj[key];\n }\n }\n }\n\n window.zarPoolDataLayer.length = 0;\n return mergedObject;\n}\n\nasync function updateTrackingNumberContext({\n apiUrl,\n poolId,\n number,\n context\n}) {\n if (!poolActive()) {\n warn(\"no valid pool data, not updating context\");\n return;\n }\n\n var payload = {\n pool_id: poolId,\n number: number,\n context: context,\n properties: {\n zar: getStorage()\n }\n };\n var resp = await httpPost({ url: `${apiUrl}/update_number`, data: payload });\n return resp;\n}\n\nasync function getPoolStats({ apiUrl, key = null, with_contexts = false }) {\n var params = {\n key,\n with_contexts\n };\n var resp = await httpGet({\n url: `${apiUrl}/number_pool_stats`,\n params: params\n });\n return resp;\n}\n\nasync function renewTrackingPool({\n overlayElements,\n apiUrl = getDefaultApiUrl(),\n contextCallback = null\n} = {}) {\n var context = drainPoolDataLayer() || {};\n if (contextCallback) {\n context = contextCallback(context) || {};\n }\n\n const poolId = window.zarPoolData.pool_id;\n const number = window.zarPoolData.number;\n\n try {\n var resp = await getPoolNumber({ poolId, apiUrl, number, context });\n } catch (e) {\n var msg = \"error getting number: \" + JSON.stringify(e);\n warn(msg);\n getNumberFailureCount++;\n if (getNumberFailureCount >= MAX_GET_NUMBER_FAILURES) {\n warn(\"max failures, stopping pool\");\n clearPoolIntervals();\n if (overlayElements) {\n revertOverlayNumbers({ elems: overlayElements });\n }\n }\n return { status: NUMBER_POOL_ERROR, msg };\n }\n\n if (resp.status === NUMBER_POOL_SUCCESS && resp.number) {\n var force = false;\n if (resp.number !== window.zarPoolData.number) {\n warn(\n \"number changed from \" +\n window.zarPoolData.number +\n \" to \" +\n resp.number\n );\n window.zarPoolData.number = resp.number;\n force = true;\n }\n if (overlayElements) {\n overlayPhoneNumber({\n elems: overlayElements,\n number: resp.number,\n force\n });\n }\n } else {\n if (overlayElements) {\n revertOverlayNumbers({ elems: overlayElements });\n }\n if (poolIntervals[poolId]) {\n clearInterval(poolIntervals[poolId]);\n delete poolIntervals[poolId];\n }\n }\n\n return resp;\n}\n\nfunction getPoolId(poolId) {\n if (isFunc(poolId)) return poolId();\n return poolId;\n}\n\nfunction initPoolDataLayerObserver(apiUrl) {\n if (window.zarPoolDLObserverDone) {\n return;\n }\n\n if (!poolActive()) {\n return;\n }\n\n var originalPush = window.zarPoolDataLayer.push;\n window.zarPoolDataLayer.push = function (...args) {\n var result = originalPush.apply(this, args);\n var context = drainPoolDataLayer();\n if (!context) {\n return result;\n }\n updateTrackingNumberContext({\n apiUrl,\n poolId: window.zarPoolData.pool_id,\n number: window.zarPoolData.number,\n context\n });\n return result;\n };\n\n // Do an initial drain in case data was added between contextCallback\n // and the observer being set up.\n var context = drainPoolDataLayer();\n if (context) {\n updateTrackingNumberContext({\n apiUrl,\n poolId: window.zarPoolData.pool_id,\n number: window.zarPoolData.number,\n context\n });\n }\n\n window.zarPoolDLObserverDone = true;\n}\n\nasync function initTrackingPool({ poolData, poolConfig, apiUrl } = {}) {\n var msg;\n\n if (\n !poolConfig ||\n !poolConfig.poolId ||\n !poolConfig.overlayQuerySelector ||\n !apiUrl\n ) {\n msg = \"missing pool config: \" + JSON.stringify(poolConfig);\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n\n var poolId = getPoolId(poolConfig.poolId);\n if (!poolId) {\n msg = \"no pool ID\";\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n\n if (!poolData) {\n var context = drainPoolDataLayer() || {};\n if (poolConfig.contextCallback) {\n context = poolConfig.contextCallback(context) || {};\n }\n\n try {\n poolData = await getPoolNumber({ poolId, apiUrl, number: null, context });\n } catch (e) {\n msg = \"error getting number on init: \" + JSON.stringify(e);\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n }\n\n window.zarPoolData = poolData;\n\n if (poolActive()) {\n try {\n initPoolDataLayerObserver(apiUrl);\n } catch (e) {\n warn(\"data layer observer error: \" + JSON.stringify(e));\n }\n\n afterDOMContentLoaded(function () {\n var overlayElements = document.querySelectorAll(\n poolConfig.overlayQuerySelector\n );\n if (!overlayElements) {\n var msg = \"No elems found for:\" + poolConfig.overlayQuerySelector;\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return;\n }\n\n overlayPhoneNumber({ elems: overlayElements, number: poolData.number });\n\n var interval = setInterval(function () {\n try {\n renewTrackingPool({\n overlayElements,\n apiUrl,\n contextCallback: poolConfig.contextCallback\n });\n } catch (e) {\n var msg = \"error on interval: \" + JSON.stringify(e);\n warn(msg);\n }\n }, poolConfig.renewalInterval || NUMBER_POOL_RENEWAL_TIME_MS);\n\n poolIntervals[poolData.pool_id] = interval;\n if (poolConfig.initCallback) {\n poolConfig.initCallback(poolData);\n }\n });\n }\n\n return poolIntervals;\n}\n\nfunction zar({ apiUrl, poolConfig }) {\n initIDs();\n\n return {\n name: \"zar\",\n config: { apiUrl, poolConfig },\n initialize: function ({ config }) {},\n loaded: function () {\n return true;\n },\n pageStart: function ({ payload, config, instance }) {\n payload.properties.zar = getStorage();\n payload.properties.referrer = document.referrer;\n payload.properties.is_bot = isBot();\n // Remove redundant values since url has all of this\n if (\"hash\" in payload.properties) {\n delete payload.properties[\"hash\"];\n }\n if (\"path\" in payload.properties) {\n delete payload.properties[\"path\"];\n }\n if (\"search\" in payload.properties) {\n delete payload.properties[\"search\"];\n }\n\n try {\n var pcfg = config.poolConfig;\n if (pcfg && pcfg.poolId) {\n payload.properties.pool_id = getPoolId(pcfg.poolId);\n var context = drainPoolDataLayer() || {};\n if (pcfg.contextCallback) {\n payload.properties.pool_context =\n pcfg.contextCallback(context) || {};\n }\n }\n } catch (e) {\n warn(\"error getting pool id: \" + JSON.stringify(e));\n }\n return payload;\n },\n page: async function ({ payload, options, instance, config }) {\n dbg(\"page\", payload, options, config);\n var tries = 0;\n var maxTries = 3;\n var res;\n while (tries < maxTries) {\n try {\n res = await httpPost({ url: `${config.apiUrl}/page`, data: payload });\n break;\n } catch (e) {\n tries++;\n if (tries >= maxTries) {\n warn(\"error posting page: \" + JSON.stringify(e));\n throw e;\n }\n await new Promise((r) => setTimeout(r, 1000));\n }\n }\n if (res && res.pool_data) {\n initTrackingPool({\n poolData: res.pool_data,\n poolConfig: config.poolConfig,\n apiUrl: config.apiUrl\n });\n }\n },\n trackStart: function ({ payload, config, instance }) {\n payload.properties.zar = getStorage();\n payload.properties.url = window.location.href;\n payload.properties.referrer = document.referrer;\n return payload;\n },\n track: function ({ payload, options, instance, config }) {\n dbg(\"track\", payload);\n httpPost({ url: `${config.apiUrl}/track`, data: payload, beacon: true });\n },\n methods: {\n apiUrl() {\n return apiUrl;\n },\n poolConfig() {\n return poolConfig;\n },\n initIDs() {\n return initIDs();\n },\n getIDs() {\n return getIDs();\n },\n getStorage() {\n return getStorage();\n },\n getVID() {\n return getID(VID_KEY);\n },\n hasAdBlock() {\n return hasAdBlock();\n },\n isBot() {\n return isBot();\n },\n initTrackingPool({ poolConfig }) {\n var plugin = this.instance.plugins.zar;\n return initTrackingPool({\n poolData: null,\n poolConfig: Object.assign(plugin.poolConfig(), poolConfig || {}),\n apiUrl: plugin.apiUrl()\n });\n },\n updateTrackingNumberContext({ number, context }) {\n var plugin = this.instance.plugins.zar;\n var poolConfig = plugin.poolConfig();\n return updateTrackingNumberContext({\n apiUrl: this.instance.plugins.zar.apiUrl(),\n poolId: getPoolId(poolConfig.poolId),\n number,\n context\n });\n },\n getPoolIntervals() {\n return poolIntervals;\n },\n clearPoolInterval({ poolId }) {\n clearPoolInterval(poolId);\n },\n clearPoolIntervals() {\n clearPoolIntervals();\n },\n extractPhoneNumbers({ elems }) {\n var res = [];\n for (var i = 0; i < elems.length; i++) {\n var elemRes = extractPhoneNumber({ elem: elems[i] });\n res.push(elemRes);\n }\n return res;\n },\n overlayPhoneNumber({ overlayElements, number }) {\n overlayPhoneNumber({ elems: overlayElements, number });\n },\n revertOverlayNumbers({ overlayElements }) {\n revertOverlayNumbers({ elems: overlayElements });\n },\n getPoolStats({ key = null, with_contexts = false }) {\n return getPoolStats({\n apiUrl: this.instance.plugins.zar.apiUrl(),\n key,\n with_contexts\n });\n }\n }\n };\n}\n\nfunction init({\n app,\n ga4Config = null,\n facebookConfig = null,\n apiUrl = null,\n poolConfig = null\n}) {\n // Opinionated init of Analytics\n if (!apiUrl) {\n apiUrl = getDefaultApiUrl();\n }\n\n var plugins = [zar({ apiUrl, poolConfig })];\n if (ga4Config) {\n plugins.push(googleAnalytics4(ga4Config));\n }\n if (facebookConfig) {\n plugins.push(facebook(facebookConfig));\n }\n\n return Analytics({ app, plugins });\n}\n\nexport { init, zar, Analytics };\n"],"names":["o","g","m","j","F","$","U","M","H","Y","J","W","V","q","I","Q","R","e","n","t","b","c","r","E","l","N","A","f","x","L","d","G","p","u","s","h","a","i","C","O","v","y","S","storage","Analytics"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zar.umd.js","sources":["../src/analyticsLite.js","../src/facebook.js","../src/googleAnalytics4.js","../src/utils.js","../src/zar.js"],"sourcesContent":["/* eslint-disable no-empty */\nexport function Analytics({ app, plugins = [] } = {}) {\n const instance = {\n app,\n plugins: {},\n page: (payload = {}) => runPage(instance, payload),\n track: (event, properties = {}, options) =>\n runTrack(\n instance,\n options ? { event, properties, options } : { event, properties }\n ),\n reset: async (...args) => runReset(instance, ...args)\n };\n\n // Register plugins and bind/hoist methods to plugin object\n plugins.forEach((p) => {\n if (!p || !p.name) return;\n p.instance = instance;\n if (p.methods) {\n Object.keys(p.methods).forEach((k) => {\n const fn = p.methods[k];\n if (typeof fn === \"function\") {\n const bound = fn.bind(p);\n p.methods[k] = bound;\n p[k] = bound;\n }\n });\n }\n instance.plugins[p.name] = p;\n });\n\n // Initialize plugins\n plugins.forEach((p) => {\n try {\n p.initialize && p.initialize({ config: p.config, instance });\n } catch (_) {}\n });\n\n return instance;\n}\n\nconst hashRegex = /#.*$/;\n\nfunction currentUrl() {\n if (typeof window === \"undefined\") return \"\";\n return window.location.href.replace(hashRegex, \"\");\n}\n\nfunction getPageData(pageData = {}) {\n if (typeof window === \"undefined\" || typeof document === \"undefined\") {\n return pageData;\n }\n const { title, referrer } = document;\n const { innerWidth, innerHeight } = window;\n const url = currentUrl();\n const page = {\n title: title,\n url: url,\n width: innerWidth,\n height: innerHeight\n };\n if (referrer && referrer !== \"\") {\n page.referrer = referrer;\n }\n return Object.assign({}, page, pageData);\n}\n\nasync function runPage(instance, payload = {}) {\n if (!payload.type) payload.type = \"page\";\n payload.properties = getPageData(payload.properties || {});\n\n Object.values(instance.plugins).forEach((p) => {\n if (typeof p.pageStart === \"function\") {\n try {\n const next = p.pageStart({ payload, config: p.config, instance });\n if (next) payload = next;\n } catch (_) {}\n }\n });\n\n for (const p of Object.values(instance.plugins)) {\n if (typeof p.page === \"function\") {\n try {\n await p.page({ payload, options: {}, instance, config: p.config });\n } catch (_) {}\n }\n }\n return payload;\n}\n\nasync function runTrack(instance, payload = {}) {\n if (!payload.type) payload.type = \"track\";\n const base = getPageData();\n const props = payload.properties || {};\n if (props.url === undefined) props.url = base.url;\n if (props.referrer === undefined && base.referrer !== undefined) {\n props.referrer = base.referrer;\n }\n payload.properties = props;\n\n const options = payload.options || {};\n const perCallPlugins =\n options && typeof options.plugins === \"object\" ? options.plugins : null;\n const isDisabled = (p) => perCallPlugins && perCallPlugins[p.name] === false;\n\n Object.values(instance.plugins).forEach((p) => {\n if (isDisabled(p)) return;\n if (typeof p.trackStart === \"function\") {\n try {\n const next = p.trackStart({\n payload,\n options,\n config: p.config,\n instance\n });\n if (next) payload = next;\n } catch (_) {}\n }\n });\n\n for (const p of Object.values(instance.plugins)) {\n if (isDisabled(p)) continue;\n if (typeof p.track === \"function\") {\n try {\n await p.track({ payload, options, instance, config: p.config });\n } catch (_) {}\n }\n }\n return payload;\n}\n\nasync function runReset(instance, ...args) {\n for (const p of Object.values(instance.plugins)) {\n if (typeof p.reset === \"function\") {\n try {\n await p.reset(...args);\n } catch (_) {}\n }\n }\n}\n","function facebookScriptInit(f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = \"2.0\";\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n}\n\nfunction facebookInit({ trackingId }) {\n facebookScriptInit(\n window,\n document,\n \"script\",\n \"https://connect.facebook.net/en_US/fbevents.js\"\n );\n window.fbq(\"init\", trackingId);\n}\n\nfunction facebook(pluginConfig = {}) {\n return {\n name: \"facebook\",\n config: pluginConfig,\n initialize: function ({ config, instance }) {\n if (!config.trackingId) throw new Error(\"No Facebook trackingId defined\");\n facebookInit({ trackingId: config.trackingId });\n },\n page: function ({ payload, config, instance }) {\n window.fbq(\"track\", \"PageView\");\n },\n track: function ({ payload, config, instance }) {\n window.fbq(\"trackCustom\", payload.event, payload.properties);\n },\n identify: function ({ payload, config }) {\n // not supported yet\n },\n loaded: function () {\n return !!window.fbq;\n }\n };\n}\n\nexport { facebookInit, facebook };\n","function gtag() {\n window.dataLayer.push(arguments);\n}\n\nwindow.gtag = gtag;\n\n// https://github.com/idmadj/ga-gtag/blob/master/src/index.js\nfunction gtagInit({ trackingId, configParams = {}, setParams = {} }) {\n var scriptId = 'ga-gtag';\n\n if (document.getElementById(scriptId)) return;\n\n var head = document.head;\n var script = document.createElement('script');\n script.id = scriptId;\n script.type = 'text/javascript';\n script.async = true;\n script.src = 'https://www.googletagmanager.com/gtag/js?id=' + trackingId;\n head.insertBefore(script, head.firstChild);\n\n window.dataLayer = window.dataLayer || [];\n\n gtag('js', new Date());\n if (setParams) {\n gtag('set', setParams);\n }\n gtag('config', trackingId, configParams);\n}\n\nfunction googleAnalytics4(pluginConfig = {}) {\n return {\n name: 'google-analytics-4',\n config: pluginConfig,\n initialize: function ({ config, instance }) {\n if (!config.trackingId) throw new Error('No GA trackingId defined');\n\n var configParams = {};\n var setParams = {};\n if (config.customDimensions) {\n var customMap = {};\n for (var i = 0; i < config.customDimensions.length; i++) {\n var customDim = config.customDimensions[i];\n configParams[customDim.name] = customDim.callback(instance, config);\n customMap['dimension' + (i + 1)] = customDim.name;\n }\n setParams['custom_map'] = customMap;\n }\n\n gtagInit({ trackingId: config.trackingId, configParams, setParams });\n },\n page: function ({ payload, config, instance }) {\n // no-op: GA4 sends page on init and page is just another \"event\"\n },\n track: function ({ payload, config, instance }) {\n gtag('event', payload.event, payload.properties);\n },\n identify: function ({ payload, config }) {\n // not supported yet\n },\n loaded: function () {\n return !!window.gtag;\n }\n };\n}\n\nexport { gtag, googleAnalytics4 };","export var urlParams = new URLSearchParams(window.location.search);\nvar DEBUG = urlParams.get(\"zdbg\");\nvar zarGlobal = {};\nconst undef = \"undefined\";\n\nexport function dbg() {\n if (DEBUG != 1) return;\n console.debug(...arguments);\n}\n\nexport function warn(msg) {\n console.warn(msg);\n if (window.Rollbar) {\n window.Rollbar.warning(msg);\n }\n}\n\nexport function isFunc(value) {\n return (\n value &&\n (Object.prototype.toString.call(value) === \"[object Function]\" ||\n \"function\" === typeof value ||\n value instanceof Function)\n );\n}\n\nexport function isBot() {\n try {\n var ua = navigator.userAgent || \"\";\n var bots = new RegExp(\n [\n /bot/,\n /spider/,\n /crawl/,\n /mediapartners/,\n /Google-Read-Aloud/,\n /semrush/\n ]\n .map((r) => r.source)\n .join(\"|\"),\n \"i\"\n );\n return bots.test(ua);\n } catch (e) {\n return false;\n }\n}\n\nexport function afterDOMContentLoaded(func) {\n if (\n document.readyState === \"complete\" ||\n document.readyState === \"loaded\" ||\n document.readyState === \"interactive\"\n ) {\n func();\n } else {\n window.addEventListener(\"DOMContentLoaded\", func);\n }\n}\n\n// Copied from analytics-utils to keep bundle size down\n\nvar supportsSessionStorage = hasSessionStorage();\n\nfunction hasSessionStorage() {\n if (typeof supportsSessionStorage !== undef) {\n return supportsSessionStorage;\n }\n supportsSessionStorage = true;\n try {\n sessionStorage.setItem(undef, undef);\n sessionStorage.removeItem(undef);\n } catch (e) {\n supportsSessionStorage = false;\n }\n return supportsSessionStorage;\n}\n\nexport function getSessionStorage(key) {\n // Get from SS if supported, fall back to global\n var value;\n var globalValue = zarGlobal[key];\n if (supportsSessionStorage) {\n value = sessionStorage.getItem(key);\n if (!value && globalValue) {\n value = globalValue;\n // Restore session storage\n sessionStorage.setItem(key, value);\n }\n } else {\n value = globalValue;\n }\n return value ? JSON.parse(value) : undefined;\n}\n\nexport function setSessionStorage(key, value) {\n // Set both SS (if supported) and global\n var value_str = JSON.stringify(value);\n if (supportsSessionStorage) {\n sessionStorage.setItem(key, value_str);\n }\n zarGlobal[key] = value_str;\n}\n\nexport function removeSessionStorage(key) {\n // Remove both SS (if supported) and global\n if (supportsSessionStorage) {\n sessionStorage.removeItem(key);\n }\n delete zarGlobal[key];\n}\n\nfunction makeRequest({ method, url, data, json = true }) {\n return new Promise(function (resolve, reject) {\n var xhr = new XMLHttpRequest();\n xhr.open(method, url);\n xhr.withCredentials = true;\n\n if (json) {\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n }\n\n xhr.onload = function () {\n if (this.status >= 200 && this.status < 300) {\n if (json) {\n resolve(JSON.parse(xhr.response));\n } else {\n resolve(xhr.response);\n }\n } else {\n reject({\n status: this.status,\n message: xhr.statusText\n });\n }\n };\n xhr.onerror = function () {\n reject({\n status: this.status,\n message: \"Network Error\"\n });\n };\n if (data) {\n xhr.send(data);\n } else {\n xhr.send();\n }\n });\n}\n\nfunction formatParams(params) {\n return (\n \"?\" +\n Object.keys(params)\n .map(function (key) {\n return key + \"=\" + encodeURIComponent(params[key]);\n })\n .join(\"&\")\n );\n}\n\nasync function postBeacon({ url, data }) {\n if (\n window &&\n window.navigator &&\n typeof window.navigator.sendBeacon === \"function\" &&\n typeof window.Blob === \"function\"\n ) {\n try {\n const blob = new Blob([JSON.stringify(data)], {\n type: \"text/plain; charset=UTF-8\"\n });\n if (window.navigator.sendBeacon(url, blob)) {\n return true;\n }\n return false;\n } catch (e) {\n warn(\"postBeacon:\", e);\n return false;\n }\n }\n return false;\n}\n\nexport async function httpGet({ url, params = null, json = true }) {\n var finalUrl = url;\n if (params) {\n finalUrl = finalUrl + formatParams(params);\n }\n return await makeRequest({ method: \"GET\", url: finalUrl, json });\n}\n\nexport async function httpPost({ url, data, json = true, beacon = false }) {\n var finalData = data;\n if (json) {\n finalData = JSON.stringify(finalData);\n }\n if (beacon) {\n var res = await postBeacon({ url, data });\n if (res) {\n return;\n }\n dbg(\"Beacon failed\");\n }\n return await makeRequest({ method: \"POST\", url, data: finalData, json });\n}\n","import { Analytics } from \"./analyticsLite\";\nimport { facebook } from \"./facebook\";\nimport { googleAnalytics4 } from \"./googleAnalytics4\";\nimport {\n dbg,\n getSessionStorage,\n setSessionStorage,\n isBot,\n httpGet,\n httpPost,\n warn,\n afterDOMContentLoaded,\n isFunc\n} from \"./utils\";\n\nvar VID_KEY = \"__zar_vid\";\nvar NUMBER_POOL_SUCCESS = \"success\";\nvar NUMBER_POOL_ERROR = \"error\";\nvar NUMBER_POOL_RENEWAL_TIME_MS = 30 * 1000;\nvar getNumberFailureCount = 0;\nvar MAX_GET_NUMBER_FAILURES = 3;\nvar poolIntervals = {};\n\nwindow.zarPoolData = window.zarPoolData || null;\nwindow.zarPoolDLObserverDone = window.zarPoolDLObserverDone || false;\nwindow.zarPoolDataLayer = window.zarPoolDataLayer || [];\n\n// Tracks original phone numbers that have been replaced so\n// we can revert if necessary.\nvar numberOverlayMap = new Map();\n\nfunction generateVisitId() {\n return (\n Date.now().toString(36) + \".\" + Math.random().toString(36).substring(2)\n );\n}\n\nfunction initId(key, generator, getter, setter) {\n var id;\n var isNew = false;\n var origReferrer = null;\n var idObj = getter(key);\n\n if (!idObj || !idObj.id) {\n id = generator();\n origReferrer = document.referrer;\n isNew = true;\n dbg(\"new ID for\", key, \"-\", id);\n } else {\n id = idObj.id;\n origReferrer = idObj.origReferrer;\n }\n\n var result = { id, t: Date.now(), origReferrer, isNew };\n setter(key, result);\n return result;\n}\n\nfunction initIDs() {\n var vidResult = initId(\n VID_KEY,\n generateVisitId,\n getSessionStorage,\n setSessionStorage\n );\n return { vid: vidResult };\n}\n\nfunction getDefaultApiUrl() {\n return window.location.protocol + \"://\" + window.location.host + \"/api/v2\";\n}\n\nfunction getIDObj(key) {\n return getSessionStorage(key);\n}\n\nfunction getID(key) {\n var obj = getIDObj(key);\n return obj ? obj.id : null;\n}\n\nfunction getStorage() {\n return {\n vid: getIDObj(VID_KEY)\n };\n}\n\nfunction getIDs() {\n return {\n vid: getID(VID_KEY)\n };\n}\n\nfunction extractPhoneNumber({ elem }) {\n // NOTE: only tested for US numbers!\n var numberText = null;\n var number = null;\n var href = null;\n var regex = new RegExp(\n \"\\\\+?\\\\(?\\\\d*\\\\)? ?\\\\(?\\\\d+\\\\)?\\\\d*([\\\\s./-]?\\\\d{2,})+\",\n \"g\"\n );\n\n if (elem.href && elem.href.startsWith(\"tel:\")) {\n href = elem.href;\n }\n var text = elem.innerText;\n var html = elem.innerHTML;\n var match = regex.exec(text);\n if (match) {\n numberText = match[0].trim();\n number = numberText\n .replace(\"+\", \"\")\n .replace(/-/g, \"\")\n .replace(/ /g, \"\")\n .replace(\"(\", \"\")\n .replace(\")\", \"\")\n .replace(/^1/, \"\");\n }\n return { text, html, numberText, href, number };\n}\n\nfunction overlayPhoneNumber({ elems, number, force = false }) {\n var origNum;\n var overlayNum = number;\n if (!number.startsWith(\"+1\")) {\n overlayNum = \"+1\" + number; // NOTE: expects 10-digit US numbers\n }\n\n for (var i = 0; i < elems.length; i++) {\n if (numberOverlayMap.has(elems[i])) {\n if (force) {\n origNum = numberOverlayMap.get(elems[i]);\n } else {\n dbg(\"element already in overlay map:\", elems[i]);\n continue;\n }\n }\n\n var elemNum = extractPhoneNumber({ elem: elems[i] });\n\n if (!origNum) {\n origNum = elemNum;\n } else if (\n !force &&\n elemNum.number &&\n origNum.number &&\n origNum.number !== elemNum.number\n ) {\n warn(\n \"overlaying multiple numbers with a single number\",\n origNum.number,\n elemNum.number\n );\n }\n\n dbg(\"overlaying\", overlayNum, \"on\", elems[i]);\n\n // Store the original values if this is the first time overlaying\n if (!numberOverlayMap.has(elems[i])) {\n numberOverlayMap.set(elems[i], elemNum);\n }\n\n if (elemNum.href) {\n elems[i].href = \"tel:\" + overlayNum;\n }\n\n if (elemNum.numberText) {\n // If there is a phone number present in the text...\n elems[i].innerHTML = \"\";\n if (elemNum.text) {\n var overlay = overlayNum;\n if (elemNum.numberText.indexOf(\"-\") > -1) {\n overlay =\n overlayNum.slice(2, 5) +\n \"-\" +\n overlayNum.slice(5, 8) +\n \"-\" +\n overlayNum.slice(8, 12);\n }\n if (elemNum.html.indexOf(\"<img\") > -1) {\n var numberHtml = elemNum.html.replace(elemNum.numberText, overlay);\n elems[i].innerHTML = numberHtml;\n } else {\n var numberText = elemNum.text.replace(elemNum.numberText, overlay);\n elems[i].appendChild(document.createTextNode(numberText));\n }\n } else {\n elems[i].appendChild(document.createTextNode(overlayNum));\n }\n } else {\n dbg(\"no number text found:\", elems[i]);\n }\n }\n}\n\nfunction revertOverlayNumbers({ elems }) {\n for (var i = 0; i < elems.length; i++) {\n if (numberOverlayMap.has(elems[i])) {\n var currentHTML = elems[i].innerHTML;\n var origElemData = numberOverlayMap.get(elems[i]);\n dbg(\"orig:\", origElemData);\n var origHTML = origElemData.html;\n dbg(\"reverting\", currentHTML, \"to\", origHTML);\n // Prefer restoring original HTML; fall back to original text if HTML is empty/null\n if (origHTML !== undefined && origHTML !== null && origHTML !== \"\") {\n elems[i].innerHTML = origHTML;\n } else if (\n origElemData.text !== undefined &&\n origElemData.text !== null\n ) {\n elems[i].textContent = origElemData.text;\n } else {\n // As a last resort, clear contents\n elems[i].textContent = \"\";\n }\n if (origElemData.href) {\n elems[i].setAttribute(\"href\", origElemData.href);\n }\n numberOverlayMap.delete(elems[i]);\n } else {\n dbg(\"element not in map:\", elems[i]);\n }\n }\n}\n\nfunction clearPoolInterval(poolId) {\n clearInterval(poolIntervals[poolId]);\n delete poolIntervals[poolId];\n}\n\nfunction clearPoolIntervals() {\n for (var poolId in poolIntervals) {\n clearPoolInterval(poolId);\n }\n}\n\nasync function getPoolNumber({\n poolId,\n apiUrl,\n number = null,\n context = null\n}) {\n var payload = {\n pool_id: poolId,\n number: number,\n context: context,\n properties: {\n zar: getStorage()\n }\n };\n var resp = await httpPost({ url: `${apiUrl}/number_pool`, data: payload });\n return resp;\n}\n\nfunction poolActive() {\n return (\n window.zarPoolData &&\n window.zarPoolData.status === NUMBER_POOL_SUCCESS &&\n window.zarPoolData.number\n );\n}\n\nfunction drainPoolDataLayer() {\n if (\n !window.zarPoolDataLayer ||\n !Array.isArray(window.zarPoolDataLayer) ||\n window.zarPoolDataLayer.length === 0\n ) {\n return null;\n }\n\n var mergedObject = {};\n for (var i = 0; i < window.zarPoolDataLayer.length; i++) {\n var obj = window.zarPoolDataLayer[i];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n mergedObject[key] = obj[key];\n }\n }\n }\n\n window.zarPoolDataLayer.length = 0;\n return mergedObject;\n}\n\nasync function updateTrackingNumberContext({\n apiUrl,\n poolId,\n number,\n context\n}) {\n if (!poolActive()) {\n warn(\"no valid pool data, not updating context\");\n return;\n }\n\n var payload = {\n pool_id: poolId,\n number: number,\n context: context,\n properties: {\n zar: getStorage()\n }\n };\n var resp = await httpPost({ url: `${apiUrl}/update_number`, data: payload });\n return resp;\n}\n\nasync function getPoolStats({ apiUrl, key = null, with_contexts = false }) {\n var params = {\n key,\n with_contexts\n };\n var resp = await httpGet({\n url: `${apiUrl}/number_pool_stats`,\n params: params\n });\n return resp;\n}\n\nasync function renewTrackingPool({\n overlayElements,\n apiUrl = getDefaultApiUrl(),\n contextCallback = null\n} = {}) {\n var context = drainPoolDataLayer() || {};\n if (contextCallback) {\n context = contextCallback(context) || {};\n }\n\n const poolId = window.zarPoolData.pool_id;\n const number = window.zarPoolData.number;\n\n try {\n var resp = await getPoolNumber({ poolId, apiUrl, number, context });\n } catch (e) {\n var msg = \"error getting number: \" + JSON.stringify(e);\n warn(msg);\n getNumberFailureCount++;\n if (getNumberFailureCount >= MAX_GET_NUMBER_FAILURES) {\n warn(\"max failures, stopping pool\");\n clearPoolIntervals();\n if (overlayElements) {\n revertOverlayNumbers({ elems: overlayElements });\n }\n }\n return { status: NUMBER_POOL_ERROR, msg };\n }\n\n if (resp.status === NUMBER_POOL_SUCCESS && resp.number) {\n var force = false;\n if (resp.number !== window.zarPoolData.number) {\n warn(\n \"number changed from \" +\n window.zarPoolData.number +\n \" to \" +\n resp.number\n );\n window.zarPoolData.number = resp.number;\n force = true;\n }\n if (overlayElements) {\n overlayPhoneNumber({\n elems: overlayElements,\n number: resp.number,\n force\n });\n }\n } else {\n if (overlayElements) {\n revertOverlayNumbers({ elems: overlayElements });\n }\n if (poolIntervals[poolId]) {\n clearInterval(poolIntervals[poolId]);\n delete poolIntervals[poolId];\n }\n }\n\n return resp;\n}\n\nfunction getPoolId(poolId) {\n if (isFunc(poolId)) return poolId();\n return poolId;\n}\n\nfunction initPoolDataLayerObserver(apiUrl) {\n if (window.zarPoolDLObserverDone) {\n return;\n }\n\n if (!poolActive()) {\n return;\n }\n\n var originalPush = window.zarPoolDataLayer.push;\n window.zarPoolDataLayer.push = function (...args) {\n var result = originalPush.apply(this, args);\n var context = drainPoolDataLayer();\n if (!context) {\n return result;\n }\n updateTrackingNumberContext({\n apiUrl,\n poolId: window.zarPoolData.pool_id,\n number: window.zarPoolData.number,\n context\n });\n return result;\n };\n\n // Do an initial drain in case data was added between contextCallback\n // and the observer being set up.\n var context = drainPoolDataLayer();\n if (context) {\n updateTrackingNumberContext({\n apiUrl,\n poolId: window.zarPoolData.pool_id,\n number: window.zarPoolData.number,\n context\n });\n }\n\n window.zarPoolDLObserverDone = true;\n}\n\nasync function initTrackingPool({ poolData, poolConfig, apiUrl } = {}) {\n var msg;\n\n if (\n !poolConfig ||\n !poolConfig.poolId ||\n !poolConfig.overlayQuerySelector ||\n !apiUrl\n ) {\n msg = \"missing pool config: \" + JSON.stringify(poolConfig);\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n\n var poolId = getPoolId(poolConfig.poolId);\n if (!poolId) {\n msg = \"no pool ID\";\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n\n if (!poolData) {\n var context = drainPoolDataLayer() || {};\n if (poolConfig.contextCallback) {\n context = poolConfig.contextCallback(context) || {};\n }\n\n try {\n poolData = await getPoolNumber({ poolId, apiUrl, number: null, context });\n } catch (e) {\n msg = \"error getting number on init: \" + JSON.stringify(e);\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n }\n\n window.zarPoolData = poolData;\n\n if (poolActive()) {\n try {\n initPoolDataLayerObserver(apiUrl);\n } catch (e) {\n warn(\"data layer observer error: \" + JSON.stringify(e));\n }\n\n afterDOMContentLoaded(function () {\n var overlayElements = document.querySelectorAll(\n poolConfig.overlayQuerySelector\n );\n if (!overlayElements) {\n var msg = \"No elems found for:\" + poolConfig.overlayQuerySelector;\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return;\n }\n\n overlayPhoneNumber({ elems: overlayElements, number: poolData.number });\n\n var interval = setInterval(function () {\n try {\n renewTrackingPool({\n overlayElements,\n apiUrl,\n contextCallback: poolConfig.contextCallback\n });\n } catch (e) {\n var msg = \"error on interval: \" + JSON.stringify(e);\n warn(msg);\n }\n }, poolConfig.renewalInterval || NUMBER_POOL_RENEWAL_TIME_MS);\n\n poolIntervals[poolData.pool_id] = interval;\n if (poolConfig.initCallback) {\n poolConfig.initCallback(poolData);\n }\n });\n }\n\n return poolIntervals;\n}\n\nfunction zar({ apiUrl, poolConfig }) {\n initIDs();\n\n return {\n name: \"zar\",\n config: { apiUrl, poolConfig },\n initialize: function ({ config }) {},\n loaded: function () {\n return true;\n },\n pageStart: function ({ payload, config, instance }) {\n payload.properties.zar = getStorage();\n payload.properties.referrer = document.referrer;\n payload.properties.is_bot = isBot();\n\n try {\n var pcfg = config.poolConfig;\n if (pcfg && pcfg.poolId) {\n payload.properties.pool_id = getPoolId(pcfg.poolId);\n var context = drainPoolDataLayer() || {};\n if (pcfg.contextCallback) {\n payload.properties.pool_context =\n pcfg.contextCallback(context) || {};\n }\n }\n } catch (e) {\n warn(\"error getting pool id: \" + JSON.stringify(e));\n }\n return payload;\n },\n page: async function ({ payload, options, instance, config }) {\n dbg(\"page\", payload, options, config);\n var tries = 0;\n var maxTries = 3;\n var res;\n while (tries < maxTries) {\n try {\n res = await httpPost({ url: `${config.apiUrl}/page`, data: payload });\n break;\n } catch (e) {\n tries++;\n if (tries >= maxTries) {\n warn(\"error posting page: \" + JSON.stringify(e));\n throw e;\n }\n await new Promise((r) => setTimeout(r, 1000));\n }\n }\n if (res && res.pool_data) {\n initTrackingPool({\n poolData: res.pool_data,\n poolConfig: config.poolConfig,\n apiUrl: config.apiUrl\n });\n }\n },\n trackStart: function ({ payload, config, instance }) {\n payload.properties.zar = getStorage();\n payload.properties.url = window.location.href;\n payload.properties.referrer = document.referrer;\n return payload;\n },\n track: function ({ payload, options, instance, config }) {\n dbg(\"track\", payload);\n httpPost({ url: `${config.apiUrl}/track`, data: payload, beacon: true });\n },\n methods: {\n apiUrl() {\n return apiUrl;\n },\n poolConfig() {\n return poolConfig;\n },\n initIDs() {\n return initIDs();\n },\n getIDs() {\n return getIDs();\n },\n getStorage() {\n return getStorage();\n },\n getVID() {\n return getID(VID_KEY);\n },\n isBot() {\n return isBot();\n },\n initTrackingPool({ poolConfig }) {\n var plugin = this.instance.plugins.zar;\n return initTrackingPool({\n poolData: null,\n poolConfig: Object.assign(plugin.poolConfig(), poolConfig || {}),\n apiUrl: plugin.apiUrl()\n });\n },\n updateTrackingNumberContext({ number, context }) {\n var plugin = this.instance.plugins.zar;\n var poolConfig = plugin.poolConfig();\n return updateTrackingNumberContext({\n apiUrl: this.instance.plugins.zar.apiUrl(),\n poolId: getPoolId(poolConfig.poolId),\n number,\n context\n });\n },\n getPoolIntervals() {\n return poolIntervals;\n },\n clearPoolInterval({ poolId }) {\n clearPoolInterval(poolId);\n },\n clearPoolIntervals() {\n clearPoolIntervals();\n },\n extractPhoneNumbers({ elems }) {\n var res = [];\n for (var i = 0; i < elems.length; i++) {\n var elemRes = extractPhoneNumber({ elem: elems[i] });\n res.push(elemRes);\n }\n return res;\n },\n overlayPhoneNumber({ overlayElements, number }) {\n overlayPhoneNumber({ elems: overlayElements, number });\n },\n revertOverlayNumbers({ overlayElements }) {\n revertOverlayNumbers({ elems: overlayElements });\n },\n getPoolStats({ key = null, with_contexts = false }) {\n return getPoolStats({\n apiUrl: this.instance.plugins.zar.apiUrl(),\n key,\n with_contexts\n });\n }\n }\n };\n}\n\nfunction init({\n app,\n ga4Config = null,\n facebookConfig = null,\n apiUrl = null,\n poolConfig = null\n}) {\n if (!apiUrl) {\n apiUrl = getDefaultApiUrl();\n }\n\n var plugins = [zar({ apiUrl, poolConfig })];\n if (ga4Config) {\n plugins.push(googleAnalytics4(ga4Config));\n }\n if (facebookConfig) {\n plugins.push(facebook(facebookConfig));\n }\n\n return Analytics({ app, plugins });\n}\n\n// Internal test helpers export\nexport const __test__ = {\n extractPhoneNumber,\n overlayPhoneNumber,\n revertOverlayNumbers,\n drainPoolDataLayer,\n getPoolId\n};\n\nexport { init, zar, Analytics };\n"],"names":[],"mappings":"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"}
|