!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("IMUID",[],e):"object"==typeof exports?exports.IMUID=e():t.IMUID=e()}(this,function(){return function(){var t={225:function(t,e){!function(){"use strict";var t={};!function(){var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.imUlid=void 0;var o="0123456789ABCDEFGHJKMNPQRSTVWXYZ";e.imUlid=function(){for(var t,e=Date.now(),n="",i=10;i--;)n=o[t=e%32]+n,e=(e-t)/32;i=16;var r=new Uint8Array(i);("crypto"in window?crypto:msCrypto).getRandomValues(r);for(;i--;)n+=o[31&r[i]];return n}}();var o=e;for(var n in t)o[n]=t[n];t.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})}()}},e={};function o(n){var i=e[n];if(i!==undefined)return i.exports;var r=e[n]={exports:{}};return t[n](r,r.exports,o),r.exports}o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};var n={};return function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function i(t){var o=function(t,o){if("object"!=e(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,o||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(t)}(t,"string");return"symbol"==e(o)?o:o+""}function r(t,e){for(var o=0;o=200&&t<300&&4===o?u&&u(n):(a&&a(n),s&&s(n))}),h.addEventListener("error",function(t){s&&s(t),c&&c(t)}),h.addEventListener("timeout",function(t){s&&s(t),d&&d(t)}),h.send(r),h}function y(t,e,o){return void 0===o&&(o={}),m(v(v({url:t,method:"GET",responseType:"json",onLoadSuccess:function(t){var o=t.response;e(o)}},o),{requestHeaders:v(v({},o.requestHeaders),{Accept:"application/json"})}))}var h=function(t){return t.READY="ready",t.LOADING="loading",t.DONE="done",t.EXPIRED="expired",t.LOADING_IN_BACKGROUND="loadingInBackground",t}(h||{}),b="none",D="optout",I="https",g="timeout",E="_im_vid",S="_im_uid_expire",k="_im_uid_status",w="_im_uid",O=function(t){var e=location.hostname,o=location.protocol===I;!function(t,e){void 0===e&&(e={}),d(t,"",{maxAge:0,path:e.path,domain:e.domain,secure:e.secure,sameSite:e.sameSite})}(t,{domain:e,path:"/",secure:o,sameSite:o?b:"lax"})},x=function(){function e(){t(this,e),a(this,"processorMap",{})}return u(e,[{key:"run",value:function(t){"customerId"in t&&"callback"in t?this.processIMUIDRequest(t):"optout"in t&&this.processOptoutRequest(t)}},{key:"processIMUIDRequest",value:function(t){var e=t.customerId;e in this.processorMap||(this.processorMap[e]=new R({cid:e})),this.processorMap[e].processIMUIDRequest(t)}},{key:"processOptoutRequest",value:function(t){var o=t.optout,n=t.cookieDomain,i=t.setVisitor;o?e.setVid(D,n,i):e.vid===D&&(O(E),e.setVid((0,s.imUlid)(),n,i))}},{key:"get",value:function(t){var e;return(null===(e=this.processorMap[t])||void 0===e?void 0:e.uid)||""}}],[{key:"vid",get:function(){return c(E)}},{key:"setVid",value:function(t,e,o){!1!==o&&t&&function(t,e){var o,n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},i=n.cookieDomain,r=n.expireSeconds,u=i||location.hostname,a=location.protocol===I;r&&(o=new Date).setTime(o.getTime()+1e3*r),d(t,e,{domain:u,path:"/",secure:a,sameSite:a?b:"lax",expires:o})}(E,t,{cookieDomain:e,expireSeconds:3456e4})}}])}(),R=function(){return u(function e(o){t(this,e),a(this,"cid",void 0),this.cid=o.cid},[{key:"uidExpireTime",get:function(){var t=this.cid,e=p("".concat(S,".").concat(t));return"string"==typeof e?parseInt(e||"0"):null},set:function(t){var e=this.cid,o="".concat(S,".").concat(e);"number"==typeof t?l(o,t+""):f(o)}},{key:"uidLoadStatus",get:function(){var t=this.cid,e=p("".concat(k,".").concat(t));return null===e?h.READY:e},set:function(t){var e=this.cid;l("".concat(k,".").concat(e),t)}},{key:"uid",get:function(){var t=this.cid;return p("".concat(w,".").concat(t))},set:function(t){var e=this.cid,o="".concat(w,".").concat(e);t?l(o,t):f(o)}},{key:"processIMUIDRequest",value:function(t,e){var o=this;e||(e=Date.now());var n=t.callbackTimeout,i=void 0===n?1e3:n,r=t.callback,u=t.loopbacks,a=t.cookieDomain,c=t.setVisitor;x.vid?x.setVid(x.vid,a,c):x.setVid((0,s.imUlid)(),a,c);var d=x.vid,p=d===D;if(p)r({uid:"",vid:"",optouted:p,status:h.DONE,loopbacks:u});else{var l=this.uidExpireTime,f=this.cid,v=this.uidLoadStatus,m=Date.now();"number"==typeof l&&m>=l&&(v=h.EXPIRED);var b=t.SYNC_URL||"https://audiencedata.im-apps.net/imuid/get",I="&";switch(!1===t.setCidQuery?I="?":b+="?cid="+f,d&&(b+="".concat(I,"vid=")+d),v){default:case h.READY:this.uidLoadStatus=h.LOADING,this.uidExpireTime=m+18e5,y(b,function(t){var e,n=null!==(e=null==t?void 0:t.uid)&&void 0!==e?e:"";o.uid=n,o.uidLoadStatus=h.DONE,r({uid:n,vid:d,optouted:!1,status:h.DONE,loopbacks:u})},{withCredentials:!0,timeout:i,onFailure:function(){o.uidLoadStatus=h.READY,r({uid:"",vid:"",optouted:!1,status:g,loopbacks:u})}});break;case h.LOADING:if(m>=e+i)return this.uidLoadStatus=h.READY,void r({uid:"",vid:"",optouted:!1,status:g,loopbacks:u});setTimeout(function(){o.processIMUIDRequest(t,e)},9);break;case h.DONE:r({uid:this.uid||"",vid:d,optouted:p,status:h.DONE,loopbacks:u});break;case h.EXPIRED:this.uidLoadStatus=h.LOADING_IN_BACKGROUND,this.uidExpireTime=m+18e5,y(b,function(t){var e=null==t?void 0:t.uid;e&&(o.uid=e,o.uidLoadStatus=h.DONE)},{withCredentials:!0}),r({uid:this.uid||"",vid:d,optouted:!1,status:h.DONE,loopbacks:u});break;case h.LOADING_IN_BACKGROUND:r({uid:this.uid||"",vid:d,optouted:!1,status:h.DONE,loopbacks:u})}}}}])}(),_=window.IMUID;_||(_=new x);var M=window.IMUIDRequest;(M instanceof Array||!M)&&(window.IMUIDRequest={push:function(t){_.run(t)}}),M instanceof Array&&M.forEach(function(t){_.run(t)});var N=_;window.IMUIDRequest}(),n=n.IMUID}()});