humanbehavior-js 0.0.7 → 0.0.8

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/index.min.js CHANGED
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function we(e,t,n,o){return new(n||(n=Promise))((function(t,r){function s(e){try{a(o.next(e))}catch(e){r(e)}}function i(e){try{a(o.throw(e))}catch(e){r(e)}}function a(e){var o;e.done?t(e.value):(o=e.value,o instanceof n?o:new n((function(e){e(o)}))).then(s,i)}a((o=o.apply(e,[])).next())}))}for(var ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Me="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Te=0;Te<64;Te++)Me[ke.charCodeAt(Te)]=Te;const Ee=new Map;const Re=(e,t,n)=>{if(!e||!xe(e,t)&&"object"!=typeof e)return;const o=function(e,t){let n=Ee.get(e);return n||(n=new Map,Ee.set(e,n)),n.has(t)||n.set(t,[]),n.get(t)}(n,e.constructor.name);let r=o.indexOf(e);return-1===r&&(r=o.length,o.push(e)),r};function Ne(e,t,n){if(e instanceof Array)return e.map((e=>Ne(e,t,n)));if(null===e)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray){return{rr_type:e.constructor.name,args:[Object.values(e)]}}if(e instanceof ArrayBuffer){const t=e.constructor.name,n=function(e){var t,n=new Uint8Array(e),o=n.length,r="";for(t=0;t<o;t+=3)r+=ke[n[t]>>2],r+=ke[(3&n[t])<<4|n[t+1]>>4],r+=ke[(15&n[t+1])<<2|n[t+2]>>6],r+=ke[63&n[t+2]];return o%3==2?r=r.substring(0,r.length-1)+"=":o%3==1&&(r=r.substring(0,r.length-2)+"=="),r}(e);return{rr_type:t,base64:n}}if(e instanceof DataView){return{rr_type:e.constructor.name,args:[Ne(e.buffer,t,n),e.byteOffset,e.byteLength]}}if(e instanceof HTMLImageElement){const t=e.constructor.name,{src:n}=e;return{rr_type:t,src:n}}if(e instanceof HTMLCanvasElement){return{rr_type:"HTMLImageElement",src:e.toDataURL()}}if(e instanceof ImageData){return{rr_type:e.constructor.name,args:[Ne(e.data,t,n),e.width,e.height]}}if(xe(e,t)||"object"==typeof e){return{rr_type:e.constructor.name,index:Re(e,t,n)}}return e}const Oe=(e,t,n)=>[...e].map((e=>Ne(e,t,n))),xe=(e,t)=>{const n=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter((e=>"function"==typeof t[e]));return Boolean(n.find((n=>e instanceof t[n])))};function Fe(e,t,n){const o=[];try{const r=D(e.HTMLCanvasElement.prototype,"getContext",(function(e){return function(o,...r){return W(this,t,n,!0)||"__context"in this||(this.__context=o),e.apply(this,[o,...r])}}));o.push(r)}catch(e){console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{o.forEach((e=>e()))}}function Le(e,t,n,o,r,s,i){const a=[],c=Object.getOwnPropertyNames(e);for(const s of c)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(s))try{if("function"!=typeof e[s])continue;const c=D(e,s,(function(e){return function(...a){const c=e.apply(this,a);if(Re(c,i,this),!W(this.canvas,o,r,!0)){const e=Oe([...a],i,this),o={type:t,property:s,args:e};n(this.canvas,o)}return c}}));a.push(c)}catch(o){const r=L(e,s,{set(e){n(this.canvas,{type:t,property:s,args:[e],setter:!0})}});a.push(r)}return a}var De=null;try{var Ue="undefined"!=typeof module&&"function"==typeof module.require&&module.require("worker_threads")||"function"==typeof __non_webpack_require__&&__non_webpack_require__("worker_threads")||"function"==typeof require&&require("worker_threads");De=Ue.Worker}catch(e){}function Be(e,t,n){var o=function(e){return Buffer.from(e,"base64").toString("utf8")}(e),r=o.indexOf("\n",10)+1,s=o.substring(r)+"";return function(e){return new De(s,Object.assign({},e,{eval:!0}))}}function We(e,t,n){var o=function(e){return atob(e)}(e),r=o.indexOf("\n",10)+1,s=o.substring(r)+"",i=new Blob([s],{type:"application/javascript"});return URL.createObjectURL(i)}var Ze="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);var Ve,Ke=(Ve="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=",Ze?Be(Ve):function(e){var t;return function(n){return t=t||We(e),new Worker(t,n)}}(Ve));class Ge{constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=(e,t)=>{!(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId)&&this.rafStamps.invokeId||(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(e)||this.pendingCanvasMutations.set(e,[]),this.pendingCanvasMutations.get(e).push(t)};const{sampling:t="all",win:n,blockClass:o,blockSelector:r,recordCanvas:s,dataURLOptions:i}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,s&&"all"===t&&this.initCanvasMutationObserver(n,o,r),s&&"number"==typeof t&&this.initCanvasFPSObserver(t,n,o,r,{dataURLOptions:i})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(e,t,n,o,r){const s=Fe(t,n,o),i=new Map,a=new Ke;a.onmessage=e=>{const{id:t}=e.data;if(i.set(t,!1),!("base64"in e.data))return;const{base64:n,type:o,width:r,height:s}=e.data;this.mutationCb({id:t,type:H["2D"],commands:[{property:"clearRect",args:[0,0,r,s]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:n}],type:o}]},0,0]}]})};const c=1e3/e;let d,l=0;const u=e=>{l&&e-l<c||(l=e,(()=>{const e=[];return t.document.querySelectorAll("canvas").forEach((t=>{W(t,n,o,!0)||e.push(t)})),e})().forEach((e=>we(this,0,void 0,(function*(){var t;const n=this.mirror.getId(e);if(i.get(n))return;if(i.set(n,!0),["webgl","webgl2"].includes(e.__context)){const n=e.getContext(e.__context);!1===(null===(t=null==n?void 0:n.getContextAttributes())||void 0===t?void 0:t.preserveDrawingBuffer)&&(null==n||n.clear(n.COLOR_BUFFER_BIT))}const o=yield createImageBitmap(e);a.postMessage({id:n,bitmap:o,width:e.width,height:e.height,dataURLOptions:r.dataURLOptions},[o])}))))),d=requestAnimationFrame(u)};d=requestAnimationFrame(u),this.resetObservers=()=>{s(),cancelAnimationFrame(d)}}initCanvasMutationObserver(e,t,n){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const o=Fe(e,t,n),r=function(e,t,n,o){const r=[],s=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(const i of s)try{if("function"!=typeof t.CanvasRenderingContext2D.prototype[i])continue;const s=D(t.CanvasRenderingContext2D.prototype,i,(function(r){return function(...s){return W(this.canvas,n,o,!0)||setTimeout((()=>{const n=Oe([...s],t,this);e(this.canvas,{type:H["2D"],property:i,args:n})}),0),r.apply(this,s)}}));r.push(s)}catch(n){const o=L(t.CanvasRenderingContext2D.prototype,i,{set(t){e(this.canvas,{type:H["2D"],property:i,args:[t],setter:!0})}});r.push(o)}return()=>{r.forEach((e=>e()))}}(this.processMutation.bind(this),e,t,n),s=function(e,t,n,o){const r=[];return r.push(...Le(t.WebGLRenderingContext.prototype,H.WebGL,e,n,o,0,t)),void 0!==t.WebGL2RenderingContext&&r.push(...Le(t.WebGL2RenderingContext.prototype,H.WebGL2,e,n,o,0,t)),()=>{r.forEach((e=>e()))}}(this.processMutation.bind(this),e,t,n,this.mirror);this.resetObservers=()=>{o(),r(),s()}}startPendingCanvasMutationFlusher(){requestAnimationFrame((()=>this.flushPendingCanvasMutations()))}startRAFTimestamping(){const e=t=>{this.rafStamps.latestId=t,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach(((e,t)=>{const n=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,n)})),requestAnimationFrame((()=>this.flushPendingCanvasMutations()))}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;const n=this.pendingCanvasMutations.get(e);if(!n||-1===t)return;const o=n.map((e=>{const t=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(e,["type"]);return t})),{type:r}=n[0];this.mutationCb({id:t,type:r,commands:o}),this.pendingCanvasMutations.delete(e)}}class _e{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new P,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,t){"_cssText"in t.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:t.id,attributes:t.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,t){if(0===e.length)return;const n={id:t,styleIds:[]},o=[];for(const t of e){let e;if(this.styleMirror.has(t))e=this.styleMirror.getId(t);else{e=this.styleMirror.add(t);const n=Array.from(t.rules||CSSRule);o.push({styleId:e,rules:n.map(((e,t)=>({rule:i(e),index:t})))})}n.styleIds.push(e)}o.length>0&&(n.styles=o),this.adoptedStyleSheetCb(n)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}function ze(e){return Object.assign(Object.assign({},e),{timestamp:Date.now()})}let Pe,Je,je,Ye=!1;const He=new a;function Qe(e={}){const{emit:t,checkoutEveryNms:n,checkoutEveryNth:o,blockClass:r="rr-block",blockSelector:s=null,ignoreClass:i="rr-ignore",maskTextClass:c="rr-mask",maskTextSelector:d=null,inlineStylesheet:l=!0,maskAllInputs:u,maskInputOptions:h,slimDOMOptions:p,maskInputFn:g,maskTextFn:m,hooks:I,packFn:f,sampling:y={},dataURLOptions:C={},mousemoveWait:v,recordCanvas:S=!1,recordCrossOriginIframes:b=!1,userTriggeredOnInput:A=!1,collectFonts:w=!1,inlineImages:k=!1,plugins:M,keepIframeSrcFn:T=()=>!1,ignoreCSSAttributes:E=new Set([])}=e,O=!b||window.parent===window;let x=!1;if(!O)try{window.parent.document,x=!1}catch(e){x=!0}if(O&&!t)throw new Error("emit function is required");void 0!==v&&void 0===y.mousemove&&(y.mousemove=v),He.reset();const F=!0===u?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:void 0!==h?h:{password:!0},L=!0===p||"all"===p?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:"all"===p,headMetaDescKeywords:"all"===p}:p||{};let D;!function(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...e)=>{let t=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do{if(this===t)return!0}while(t=t&&t.parentNode);return!1})}();let W=0;const Z=e=>{for(const t of M||[])t.eventProcessor&&(e=t.eventProcessor(e));return f&&(e=f(e)),e};Pe=(e,r)=>{var s;if(!(null===(s=se[0])||void 0===s?void 0:s.isFrozen())||e.type===J.FullSnapshot||e.type===J.IncrementalSnapshot&&e.data.source===j.Mutation||se.forEach((e=>e.unfreeze())),O)null==t||t(Z(e),r);else if(x){const t={type:"rrweb",event:Z(e),isCheckout:r};window.parent.postMessage(t,"*")}if(e.type===J.FullSnapshot)D=e,W=0;else if(e.type===J.IncrementalSnapshot){if(e.data.source===j.Mutation&&e.data.isAttachIframe)return;W++;const t=o&&W>=o,r=n&&e.timestamp-D.timestamp>n;(t||r)&&Je(!0)}};const V=e=>{Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Mutation},e)}))},K=e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Scroll},e)})),P=e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.CanvasMutation},e)})),Y=new _e({mutationCb:V,adoptedStyleSheetCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.AdoptedStyleSheet},e)}))}),H=new be({mirror:He,mutationCb:V,stylesheetManager:Y,recordCrossOriginIframes:b,wrappedEmit:Pe});for(const e of M||[])e.getMirror&&e.getMirror({nodeMirror:He,crossOriginIframeMirror:H.crossOriginIframeMirror,crossOriginIframeStyleMirror:H.crossOriginIframeStyleMirror});je=new Ge({recordCanvas:S,mutationCb:P,win:window,blockClass:r,blockSelector:s,mirror:He,sampling:y.canvas,dataURLOptions:C});const Q=new Ae({mutationCb:V,scrollCb:K,bypassOptions:{blockClass:r,blockSelector:s,maskTextClass:c,maskTextSelector:d,inlineStylesheet:l,maskInputOptions:F,dataURLOptions:C,maskTextFn:m,maskInputFn:g,recordCanvas:S,inlineImages:k,sampling:y,slimDOMOptions:L,iframeManager:H,stylesheetManager:Y,canvasManager:je,keepIframeSrcFn:T},mirror:He});Je=(e=!1)=>{var t,n,o,i,u,h;Pe(ze({type:J.Meta,data:{href:window.location.href,width:B(),height:U()}}),e),Y.reset(),se.forEach((e=>e.lock()));const p=function(e,t){var n=t||{},o=n.mirror,r=void 0===o?new a:o,s=n.blockClass,i=void 0===s?"rr-block":s,c=n.blockSelector,d=void 0===c?null:c,l=n.maskTextClass,u=void 0===l?"rr-mask":l,h=n.maskTextSelector,p=void 0===h?null:h,g=n.inlineStylesheet,m=void 0===g||g,I=n.inlineImages,f=void 0!==I&&I,y=n.recordCanvas,C=void 0!==y&&y,v=n.maskAllInputs,S=void 0!==v&&v,b=n.maskTextFn,A=n.maskInputFn,w=n.slimDOM,k=void 0!==w&&w,M=n.dataURLOptions,T=n.preserveWhiteSpace,E=n.onSerialize,N=n.onIframeLoad,O=n.iframeLoadTimeout,x=n.onStylesheetLoad,F=n.stylesheetLoadTimeout,L=n.keepIframeSrcFn;return R(e,{doc:e,mirror:r,blockClass:i,blockSelector:d,maskTextClass:u,maskTextSelector:p,skipChild:!1,inlineStylesheet:m,maskInputOptions:!0===S?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:!1===S?{password:!0}:S,maskTextFn:b,maskInputFn:A,slimDOMOptions:!0===k||"all"===k?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:"all"===k,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:!1===k?{}:k,dataURLOptions:M,inlineImages:f,recordCanvas:C,preserveWhiteSpace:T,onSerialize:E,onIframeLoad:N,iframeLoadTimeout:O,onStylesheetLoad:x,stylesheetLoadTimeout:F,keepIframeSrcFn:void 0===L?function(){return!1}:L,newlyAddedElement:!1})}(document,{mirror:He,blockClass:r,blockSelector:s,maskTextClass:c,maskTextSelector:d,inlineStylesheet:l,maskAllInputs:F,maskTextFn:m,slimDOM:L,dataURLOptions:C,recordCanvas:S,inlineImages:k,onSerialize:e=>{G(e,He)&&H.addIframe(e),_(e,He)&&Y.trackLinkElement(e),z(e)&&Q.addShadowRoot(e.shadowRoot,document)},onIframeLoad:(e,t)=>{H.attachIframe(e,t),Q.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{Y.attachLinkElement(e,t)},keepIframeSrcFn:T});if(!p)return console.warn("Failed to snapshot the document");Pe(ze({type:J.FullSnapshot,data:{node:p,initialOffset:{left:void 0!==window.pageXOffset?window.pageXOffset:(null===document||void 0===document?void 0:document.documentElement.scrollLeft)||(null===(n=null===(t=null===document||void 0===document?void 0:document.body)||void 0===t?void 0:t.parentElement)||void 0===n?void 0:n.scrollLeft)||(null===(o=null===document||void 0===document?void 0:document.body)||void 0===o?void 0:o.scrollLeft)||0,top:void 0!==window.pageYOffset?window.pageYOffset:(null===document||void 0===document?void 0:document.documentElement.scrollTop)||(null===(u=null===(i=null===document||void 0===document?void 0:document.body)||void 0===i?void 0:i.parentElement)||void 0===u?void 0:u.scrollTop)||(null===(h=null===document||void 0===document?void 0:document.body)||void 0===h?void 0:h.scrollTop)||0}}})),se.forEach((e=>e.unlock())),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Y.adoptStyleSheets(document.adoptedStyleSheets,He.getId(document))};try{const e=[];e.push(N("DOMContentLoaded",(()=>{Pe(ze({type:J.DomContentLoaded,data:{}}))})));const t=e=>{var t;return ve({mutationCb:V,mousemoveCb:(e,t)=>Pe(ze({type:J.IncrementalSnapshot,data:{source:t,positions:e}})),mouseInteractionCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.MouseInteraction},e)})),scrollCb:K,viewportResizeCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.ViewportResize},e)})),inputCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Input},e)})),mediaInteractionCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.MediaInteraction},e)})),styleSheetRuleCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.StyleSheetRule},e)})),styleDeclarationCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.StyleDeclaration},e)})),canvasMutationCb:P,fontCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Font},e)})),selectionCb:e=>{Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Selection},e)}))},blockClass:r,ignoreClass:i,maskTextClass:c,maskTextSelector:d,maskInputOptions:F,inlineStylesheet:l,sampling:y,recordCanvas:S,inlineImages:k,userTriggeredOnInput:A,collectFonts:w,doc:e,maskInputFn:g,maskTextFn:m,keepIframeSrcFn:T,blockSelector:s,slimDOMOptions:L,dataURLOptions:C,mirror:He,iframeManager:H,stylesheetManager:Y,shadowDomManager:Q,canvasManager:je,ignoreCSSAttributes:E,plugins:(null===(t=null==M?void 0:M.filter((e=>e.observer)))||void 0===t?void 0:t.map((e=>({observer:e.observer,options:e.options,callback:t=>Pe(ze({type:J.Plugin,data:{plugin:e.name,payload:t}}))}))))||[]},I)};H.addLoadListener((n=>{e.push(t(n.contentDocument))}));const n=()=>{Je(),e.push(t(document)),Ye=!0};return"interactive"===document.readyState||"complete"===document.readyState?n():e.push(N("load",(()=>{Pe(ze({type:J.Load,data:{}})),n()}),window)),()=>{e.forEach((e=>e())),Ye=!1}}catch(e){console.warn(e)}}Qe.addCustomEvent=(e,t)=>{if(!Ye)throw new Error("please add custom event after start recording");Pe(ze({type:J.Custom,data:{tag:e,payload:t}}))},Qe.freezePage=()=>{se.forEach((e=>e.freeze()))},Qe.takeFullSnapshot=e=>{if(!Ye)throw new Error("please take full snapshot after start recording");Je(e)},Qe.mirror=He;const qe=[];for(let e=0;e<256;++e)qe.push((e+256).toString(16).slice(1));let Xe;const $e=new Uint8Array(16);const et={};function tt(e,t,n){let o;{const e=Date.now(),r=function(){if(!Xe){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Xe=crypto.getRandomValues.bind(crypto)}return Xe($e)}();!function(e,t,n){e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0);e.node||(e.node=n.slice(10,16),e.node[0]|=1,e.clockseq=16383&(n[8]<<8|n[9]));e.msecs=t}(et,e,r),o=function(e,t,n,o,r,s,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(s){if(i<0||i+16>s.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`)}else s=new Uint8Array(16),i=0;t??=Date.now(),n??=0,o??=16383&(e[8]<<8|e[9]),r??=e.slice(10,16);const a=(1e4*(268435455&(t+=122192928e5))+n)%4294967296;s[i++]=a>>>24&255,s[i++]=a>>>16&255,s[i++]=a>>>8&255,s[i++]=255&a;const c=t/4294967296*1e4&268435455;s[i++]=c>>>8&255,s[i++]=255&c,s[i++]=c>>>24&15|16,s[i++]=c>>>16&255,s[i++]=o>>>8|128,s[i++]=255&o;for(let e=0;e<6;++e)s[i++]=r[e];return s}(r,et.msecs,et.nsecs,et.clockseq,et.node,t,n)}return t??function(e,t=0){return(qe[e[t+0]]+qe[e[t+1]]+qe[e[t+2]]+qe[e[t+3]]+"-"+qe[e[t+4]]+qe[e[t+5]]+"-"+qe[e[t+6]]+qe[e[t+7]]+"-"+qe[e[t+8]]+qe[e[t+9]]+"-"+qe[e[t+10]]+qe[e[t+11]]+qe[e[t+12]]+qe[e[t+13]]+qe[e[t+14]]+qe[e[t+15]]).toLowerCase()}(o)}const nt=10485760;function ot(e,t,n){return(new TextEncoder).encode(JSON.stringify({sessionId:n,events:[...e,t]})).length>nt}function rt(e,t){const n=(new TextEncoder).encode(JSON.stringify({sessionId:t,events:[e]})).length;if(n>nt)throw new Error(`Single event size (${n} bytes) exceeds maximum chunk size (10485760 bytes)`)}class st{constructor({apiKey:e,ingestionUrl:t}){this.apiKey=e,this.baseUrl=t}init(e,n){return t(this,void 0,void 0,(function*(){const t=yield fetch(`${this.baseUrl}/api/ingestion/init`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:e,endUserId:n})});if(!t.ok)throw new Error(`Failed to initialize ingestion: ${t.statusText}`);const o=yield t.json();return{sessionId:o.sessionId,endUserId:o.endUserId}}))}sendEvents(e,n,o){return t(this,void 0,void 0,(function*(){const t=yield fetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:n,events:e,endUserId:o})});if(!t.ok)throw new Error(`Failed to send events: ${t.statusText}`)}))}sendEventsChunked(e,n){return t(this,void 0,void 0,(function*(){try{const t=[];let o=[];for(const r of e)if(ot(o,r,n)){if(o.length>0){const e=yield fetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:n,events:o})});if(!e.ok)throw new Error(`Failed to send events: ${e.statusText}`);t.push(yield e.json()),o=[]}rt(r,n),o=[r]}else o.push(r);if(o.length>0){const e=yield fetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:n,events:o})});if(!e.ok)throw new Error(`Failed to send events: ${e.statusText}`);t.push(yield e.json())}return t.flat()}catch(e){throw console.error("Error sending events:",e),e}}))}sendUserData(e,n,o){return t(this,void 0,void 0,(function*(){try{const t=yield fetch(`${this.baseUrl}/api/ingestion/user`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({userId:e,userAttributes:n,sessionId:o})});if(!t.ok)throw new Error(`Failed to send user data: ${t.statusText} with API key: ${this.apiKey}`);return yield t.json()}catch(e){throw console.error("Error sending user data:",e),e}}))}sendUserAuth(e,n,o,r){return t(this,void 0,void 0,(function*(){try{const t=yield fetch(`${this.baseUrl}/api/ingestion/user/auth`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({userId:e,userAttributes:n,sessionId:o,authFields:r})});if(!t.ok)throw new Error(`Failed to authenticate user: ${t.statusText} with API key: ${this.apiKey}`);return yield t.json()}catch(e){throw console.error("Error authenticating user:",e),e}}))}sendSessionComplete(e){return t(this,void 0,void 0,(function*(){const t=yield fetch(`${this.baseUrl}/api/ingestion/sessionComplete`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:e})});if(!t.ok)throw new Error(`Failed to send session complete: ${t.statusText}`)}))}sendCustomEvent(e,n,o){return t(this,void 0,void 0,(function*(){let t=0;for(;t<3;)try{const t=yield fetch(`${this.baseUrl}/api/ingestion/customEvent`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({name:e,properties:n,sessionId:o,timestamp:(new Date).toISOString()})});if(!t.ok)throw new Error(`Failed to send custom event: ${t.statusText}`);return yield t.json()}catch(e){if(t++,3===t)throw console.error("Error sending custom event after max retries:",e),e;yield new Promise((e=>setTimeout(e,1e3*Math.pow(2,t))))}}))}sendCustomEvents(e,n){return t(this,void 0,void 0,(function*(){let t=0;for(;t<3;)try{const t=yield fetch(`${this.baseUrl}/api/ingestion/customEvent/batch`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({events:e.map((e=>Object.assign(Object.assign({},e),{sessionId:n})))})});if(!t.ok)throw new Error(`Failed to send custom events: ${t.statusText}`);return yield t.json()}catch(e){if(t++,3===t)throw console.error("Error sending custom events after max retries:",e),e;yield new Promise((e=>setTimeout(e,1e3*Math.pow(2,t))))}}))}sendBeaconEvents(e,t,n=!1){const o=new URLSearchParams;o.append("events",encodeURIComponent(JSON.stringify(e))),o.append("sessionId",encodeURIComponent(t)),o.append("timestamp",encodeURIComponent(Date.now().toString())),o.append("apiKey",encodeURIComponent(this.apiKey)),n&&(console.log("Session complete beacon sending"),localStorage.setItem("koalaware_session_complete",Date.now().toString()),o.append("sessionComplete",encodeURIComponent("true"))),navigator.sendBeacon(`${this.baseUrl}/api/ingestion/events`,o)}sendBeaconSessionComplete(e){const t=new URLSearchParams;t.append("sessionId",e),t.append("apiKey",this.apiKey),t.append("sessionComplete","true"),navigator.sendBeacon(`${this.baseUrl}/api/ingestion/sessionComplete`,t)}sendBeaconCustomEvent(e,t,n){const o=new URLSearchParams;return o.append("name",encodeURIComponent(e)),o.append("properties",encodeURIComponent(JSON.stringify(t))),o.append("sessionId",encodeURIComponent(n)),o.append("timestamp",encodeURIComponent((new Date).toISOString())),o.append("apiKey",encodeURIComponent(this.apiKey)),navigator.sendBeacon(`${this.baseUrl}/api/ingestion/customEvent`,o)}sendBeaconCustomEvents(e,t){const n=new URLSearchParams;return n.append("events",encodeURIComponent(JSON.stringify(e.map((e=>Object.assign(Object.assign({},e),{sessionId:t})))))),n.append("apiKey",encodeURIComponent(this.apiKey)),navigator.sendBeacon(`${this.baseUrl}/api/ingestion/customEvent/batch`,n)}}const it="undefined"!=typeof window;class at{constructor(e){this.redactedText="[REDACTED]",this.userSelectedFields=new Set,this.excludeSelectors=['[data-no-redact="true"]',".human-behavior-no-redact"],(null==e?void 0:e.redactedText)&&(this.redactedText=e.redactedText),(null==e?void 0:e.excludeSelectors)&&(this.excludeSelectors=[...this.excludeSelectors,...e.excludeSelectors]),(null==e?void 0:e.userFields)&&this.setFieldsToRedact(e.userFields)}setFieldsToRedact(e){this.userSelectedFields.clear(),e.forEach((e=>this.userSelectedFields.add(e))),e.length>0?(console.log(`Redaction: Active for ${e.length} field(s):`,e),e.forEach((e=>{const t=document.querySelectorAll(e);console.log(`Redaction: Found ${t.length} element(s) for selector '${e}'`),t.forEach(((t,n)=>{console.log(`Redaction: Element ${n} for '${e}':`,t)}))}))):console.log("Redaction: Disabled - no fields selected")}isActive(){return this.userSelectedFields.size>0}getSelectedFields(){return Array.from(this.userSelectedFields)}processEvent(e){if(0===this.userSelectedFields.size)return e;const t=JSON.parse(JSON.stringify(e));if(3===t.type)if(5===t.data.source){this.isFieldSelected(t.data)&&(console.log("Redaction: Processing input event for redaction"),this.redactInputEvent(t.data))}else 0===t.data.source?this.redactDOMEvent(t.data):2===t.data.source&&this.redactMouseEvent(t.data);else 2===t.type&&this.redactFullSnapshot(t.data);return t}redactInputEvent(e){if(!this.isFieldSelected(e))return;console.log("Redaction: Redacting input event with text:",e.text);["text","value","content","data","input","textContent"].forEach((t=>{void 0!==e[t]&&"string"==typeof e[t]&&(e[t]=this.redactedText,console.log(`Redaction: Redacted property '${t}'`))})),Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].length>0&&(e[t]=this.redactedText,console.log(`Redaction: Redacted additional property '${t}'`))})),e.attributes&&"object"==typeof e.attributes&&e.attributes.value&&"string"==typeof e.attributes.value&&(e.attributes.value=this.redactedText,console.log("Redaction: Redacted nested value attribute")),console.log("Redaction: Input event redaction complete")}redactDOMEvent(e){e.texts&&Array.isArray(e.texts)&&e.texts.forEach((e=>{e.text&&"string"==typeof e.text&&this.shouldRedactDOMChange(e)&&(e.text=this.redactedText)})),e.attributes&&Array.isArray(e.attributes)&&e.attributes.forEach((e=>{e.attributes&&e.attributes.value&&"string"==typeof e.attributes.value&&this.shouldRedactDOMChange(e)&&(e.attributes.value=this.redactedText)})),e.adds&&Array.isArray(e.adds)&&e.adds.forEach((e=>{e.node&&e.node.textContent&&"string"==typeof e.node.textContent&&this.shouldRedactDOMChange(e)&&(e.node.textContent=this.redactedText)}))}shouldRedactDOMChange(e){if(!it)return!1;try{const t=e.id;if(void 0!==t){let e=document.querySelector(`[data-rrweb-id="${t}"]`);if(e)return this.shouldRedactElement(e)}const n=e.nodeId;if(void 0!==n){const e=document.querySelector(`[data-rrweb-id="${n}"]`);if(e)return this.shouldRedactElement(e)}return!1}catch(e){return console.warn("Error checking if DOM change should be redacted:",e),!1}}redactMouseEvent(e){e.text&&"string"==typeof e.text&&this.isFieldSelected(e)&&(e.text=this.redactedText)}redactFullSnapshot(e){e.node&&2===e.node.type&&this.redactNode(e.node)}redactNode(e){e&&(2!==e.type||!e.tagName||"input"!==e.tagName.toLowerCase()&&"textarea"!==e.tagName.toLowerCase()||this.shouldRedactNode(e)&&(e.attributes&&e.attributes.value&&(e.attributes.value=this.redactedText),e.textContent&&(e.textContent=this.redactedText)),e.childNodes&&Array.isArray(e.childNodes)&&e.childNodes.forEach((e=>{this.redactNode(e)})))}shouldRedactNode(e){if(!e.attributes)return!1;for(const t of this.userSelectedFields)if(this.selectorMatchesNode(t,e))return!0;return!1}selectorMatchesNode(e,t){if(!t.attributes)return!1;try{const n=document.createElement(t.tagName||"div");return t.attributes&&Object.keys(t.attributes).forEach((e=>{n.setAttribute(e,t.attributes[e])})),n.matches(e)}catch(n){return this.basicSelectorMatch(e,t)}}basicSelectorMatch(e,t){if(!t.attributes)return!1;if(e.includes("input[type=")){const n=e.match(/input\[type="([^"]+)"\]/);if(n&&"input"===t.tagName&&t.attributes.type===n[1])return!0}if(e.startsWith("#")){const n=e.substring(1);return t.attributes.id===n}if(e.startsWith(".")){const n=e.substring(1);return t.attributes.class&&t.attributes.class.includes(n)}return!e.includes("[")&&!e.includes(".")&&(t.tagName&&t.tagName.toLowerCase()===e.toLowerCase())}isFieldSelected(e){if(!it)return!1;try{if(5===e.source){const t=e.id;if(void 0!==t){let n=document.querySelector(`[data-rrweb-id="${t}"]`);if(n)return this.shouldRedactElement(n);if(void 0!==e.nodeId&&(n=document.querySelector(`[data-rrweb-id="${e.nodeId}"]`),n))return this.shouldRedactElement(n);for(const e of this.userSelectedFields){const t=document.querySelectorAll(e);if(t.length>0)for(const n of t)if(n===document.activeElement)return console.log("Redaction: Found focused element matching selector:",e),!0}const o=document.activeElement;return!(!o||!this.shouldRedactElement(o))&&(console.log("Redaction: Active element should be redacted"),!0)}}const t=e.id;if(void 0!==t){let e=document.querySelector(`[data-rrweb-id="${t}"]`);if(e)return this.shouldRedactElement(e)}const n=e.nodeId;if(void 0!==n){const e=document.querySelector(`[data-rrweb-id="${n}"]`);if(e)return this.shouldRedactElement(e)}if(e.target&&e.target.id){const t=document.querySelector(`[data-rrweb-id="${e.target.id}"]`);if(t)return this.shouldRedactElement(t)}return!1}catch(e){return console.warn("Error checking if field should be redacted:",e),!1}}shouldRedactElement(e){for(const t of this.excludeSelectors)if(e.matches(t)||e.closest(t))return!1;for(const t of this.userSelectedFields)if(e.matches(t))return!0;return!1}getOriginalValue(e){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)return e.value}isElementRedacted(e){return this.shouldRedactElement(e)}}const ct=new at,dt="undefined"!=typeof window;class lt{constructor(e,t){if(this.eventIngestionQueue=[],this.queueSizeBytes=0,this.rejectedEvents=[],this.isProcessingRejectedEvents=!1,this.userProperties={},this.isProcessing=!1,this.flushInterval=null,this.FLUSH_INTERVAL_MS=5e3,this.endUserId=null,this.initialized=!1,this.initializationPromise=null,!e)throw new Error("Human Behavior API Key is required");if(!t)throw new Error("Human Behavior Ingestion URL is required");this.api=new st({apiKey:e,ingestionUrl:t}),this.apiKey=e,this.redactionManager=new at;const n=dt?localStorage.getItem("human_behavior_session_id"):null,o=dt?localStorage.getItem("human_behavior_last_activity"):null,r=Date.now()-18e5,s=o&&parseInt(o)>r;this.sessionId=n&&s?n:tt(),n&&s||!dt||localStorage.setItem("human_behavior_session_id",this.sessionId),this.initializationPromise=this.init()}init(){return t(this,void 0,void 0,(function*(){try{const e=this.getCookie(`human_behavior_end_user_id_${this.apiKey}`),{sessionId:t,endUserId:n}=yield this.api.init(this.sessionId,e);this.sessionId=t,this.endUserId=n,this.setCookie(`human_behavior_end_user_id_${this.apiKey}`,n,365),dt?(this.setupPageUnloadHandler(),this.start(),this.processRejectedEvents()):console.warn("HumanBehaviorTracker initialized in a non-browser environment. Session tracking is disabled."),this.initialized=!0,console.log("HumanBehaviorTracker initialized")}catch(e){throw console.error("Failed to initialize HumanBehaviorTracker:",e),e}}))}ensureInitialized(){return t(this,void 0,void 0,(function*(){if(!this.initializationPromise)throw new Error("HumanBehaviorTracker initialization failed");yield this.initializationPromise}))}static logToStorage(e){try{const t=JSON.parse(localStorage.getItem("human_behavior_logs")||"[]");t.push(`${(new Date).toISOString()}: ${e}`),localStorage.setItem("human_behavior_logs",JSON.stringify(t))}catch(e){console.error("Failed to log to storage:",e)}}setupPageUnloadHandler(){dt&&(console.log("Setting up page unload handler"),window.addEventListener("visibilitychange",(()=>{"hidden"===document.visibilityState&&(console.log("Page hidden - sending pending events"),this.api.sendBeaconEvents(this.eventIngestionQueue,this.sessionId))})),window.addEventListener("beforeunload",(()=>{localStorage.setItem("human_behavior_last_activity",Date.now().toString()),this.api.sendBeaconEvents(this.eventIngestionQueue,this.sessionId)})),setInterval((()=>{localStorage.setItem("human_behavior_last_activity",Date.now().toString())}),6e4))}viewLogs(){try{const e=JSON.parse(localStorage.getItem("human_behavior_logs")||"[]");console.log("HumanBehavior Logs:",e),localStorage.removeItem("human_behavior_logs")}catch(e){console.error("Failed to read logs:",e)}}addUserInfo(e){return t(this,void 0,void 0,(function*(){if(yield this.ensureInitialized(),!this.endUserId)throw new Error("Cannot add user info before tracker initialization");this.userProperties=e,yield this.api.sendUserData(this.endUserId,e,this.sessionId)}))}auth(e){return t(this,void 0,void 0,(function*(){if(yield this.ensureInitialized(),!this.endUserId)throw new Error("Cannot authenticate before tracker initialization");if(!this.userProperties||0===Object.keys(this.userProperties).length)throw new Error("No user info available. Call addUserInfo() first.");yield this.api.sendUserAuth(this.endUserId,this.userProperties,this.sessionId,e)}))}customEvent(e){return t(this,arguments,void 0,(function*(e,t={}){yield this.ensureInitialized(),this.api.sendBeaconCustomEvent(e,t,this.sessionId)}))}start(){return t(this,void 0,void 0,(function*(){yield this.ensureInitialized(),dt&&(this.flushInterval=window.setInterval((()=>{this.flush()}),this.FLUSH_INTERVAL_MS),Qe({emit:e=>{this.addEvent(e)},inlineStylesheet:!0,recordCanvas:!0,collectFonts:!0,blockClass:"rr-block",ignoreClass:"rr-ignore",maskTextClass:"rr-ignore"}))}))}stop(){return t(this,void 0,void 0,(function*(){yield this.ensureInitialized(),dt&&this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null)}))}addEvent(e){return t(this,void 0,void 0,(function*(){yield this.ensureInitialized();const t=this.redactionManager.processEvent(e),n=(new TextEncoder).encode(JSON.stringify(t)).length;this.eventIngestionQueue.push(t),this.queueSizeBytes+=n}))}processRejectedEvents(){return t(this,void 0,void 0,(function*(){if(!this.isProcessingRejectedEvents&&0!==this.rejectedEvents.length){this.isProcessingRejectedEvents=!0;try{const e=tt();dt&&localStorage.setItem("human_behavior_session_id",e),this.api.sendBeaconEvents(this.rejectedEvents,e),this.rejectedEvents=[],this.sessionId=e}catch(e){console.error("Failed to process rejected events:",e)}finally{this.isProcessingRejectedEvents=!1}}}))}flush(){return t(this,void 0,void 0,(function*(){var e;if(!this.isProcessing&&this.initialized){this.isProcessing=!0;try{const t=this.eventIngestionQueue;if(this.eventIngestionQueue=[],this.queueSizeBytes=0,t.length>0){console.log("Flushing events:",t);try{yield this.api.sendEvents(t,this.sessionId,this.endUserId)}catch(n){if(!(null===(e=n.message)||void 0===e?void 0:e.includes("ERROR: Session already completed")))throw n;console.log("Session expired, storing events for retry"),this.rejectedEvents.push(...t),this.processRejectedEvents()}}}finally{this.isProcessing=!1}}}))}setCookie(e,t,n){if(!dt)return;const o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3);const r=`expires=${o.toUTCString()}`;document.cookie=`${e}=${t};${r};path=/;SameSite=Lax`}getCookie(e){if(!dt)return null;const t=e+"=",n=document.cookie.split(";");for(let e=0;e<n.length;e++){let o=n[e];for(;" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null}redact(e){return t(this,void 0,void 0,(function*(){yield this.ensureInitialized(),dt?this.redactionManager=new at(e):console.warn("Redaction is only available in browser environments")}))}setRedactedFields(e){dt?this.redactionManager.setFieldsToRedact(e):console.warn("Redaction is only available in browser environments")}isRedactionActive(){return this.redactionManager.isActive()}getRedactedFields(){return this.redactionManager.getSelectedFields()}}dt&&(window.HumanBehaviorTracker=lt),"undefined"!=typeof window&&(window.HumanBehaviorTracker=lt),e.HumanBehaviorAPI=st,e.HumanBehaviorTracker=lt,e.MAX_CHUNK_SIZE_BYTES=nt,e.RedactionManager=at,e.default=lt,e.isChunkSizeExceeded=ot,e.redactionManager=ct,e.validateSingleEventSize=rt,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */function we(e,t,n,o){return new(n||(n=Promise))((function(t,r){function s(e){try{a(o.next(e))}catch(e){r(e)}}function i(e){try{a(o.throw(e))}catch(e){r(e)}}function a(e){var o;e.done?t(e.value):(o=e.value,o instanceof n?o:new n((function(e){e(o)}))).then(s,i)}a((o=o.apply(e,[])).next())}))}for(var ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Me="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Te=0;Te<64;Te++)Me[ke.charCodeAt(Te)]=Te;const Ee=new Map;const Re=(e,t,n)=>{if(!e||!xe(e,t)&&"object"!=typeof e)return;const o=function(e,t){let n=Ee.get(e);return n||(n=new Map,Ee.set(e,n)),n.has(t)||n.set(t,[]),n.get(t)}(n,e.constructor.name);let r=o.indexOf(e);return-1===r&&(r=o.length,o.push(e)),r};function Ne(e,t,n){if(e instanceof Array)return e.map((e=>Ne(e,t,n)));if(null===e)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray){return{rr_type:e.constructor.name,args:[Object.values(e)]}}if(e instanceof ArrayBuffer){const t=e.constructor.name,n=function(e){var t,n=new Uint8Array(e),o=n.length,r="";for(t=0;t<o;t+=3)r+=ke[n[t]>>2],r+=ke[(3&n[t])<<4|n[t+1]>>4],r+=ke[(15&n[t+1])<<2|n[t+2]>>6],r+=ke[63&n[t+2]];return o%3==2?r=r.substring(0,r.length-1)+"=":o%3==1&&(r=r.substring(0,r.length-2)+"=="),r}(e);return{rr_type:t,base64:n}}if(e instanceof DataView){return{rr_type:e.constructor.name,args:[Ne(e.buffer,t,n),e.byteOffset,e.byteLength]}}if(e instanceof HTMLImageElement){const t=e.constructor.name,{src:n}=e;return{rr_type:t,src:n}}if(e instanceof HTMLCanvasElement){return{rr_type:"HTMLImageElement",src:e.toDataURL()}}if(e instanceof ImageData){return{rr_type:e.constructor.name,args:[Ne(e.data,t,n),e.width,e.height]}}if(xe(e,t)||"object"==typeof e){return{rr_type:e.constructor.name,index:Re(e,t,n)}}return e}const Oe=(e,t,n)=>[...e].map((e=>Ne(e,t,n))),xe=(e,t)=>{const n=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter((e=>"function"==typeof t[e]));return Boolean(n.find((n=>e instanceof t[n])))};function Fe(e,t,n){const o=[];try{const r=D(e.HTMLCanvasElement.prototype,"getContext",(function(e){return function(o,...r){return W(this,t,n,!0)||"__context"in this||(this.__context=o),e.apply(this,[o,...r])}}));o.push(r)}catch(e){console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{o.forEach((e=>e()))}}function Le(e,t,n,o,r,s,i){const a=[],c=Object.getOwnPropertyNames(e);for(const s of c)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(s))try{if("function"!=typeof e[s])continue;const c=D(e,s,(function(e){return function(...a){const c=e.apply(this,a);if(Re(c,i,this),!W(this.canvas,o,r,!0)){const e=Oe([...a],i,this),o={type:t,property:s,args:e};n(this.canvas,o)}return c}}));a.push(c)}catch(o){const r=L(e,s,{set(e){n(this.canvas,{type:t,property:s,args:[e],setter:!0})}});a.push(r)}return a}var De=null;try{var Ue="undefined"!=typeof module&&"function"==typeof module.require&&module.require("worker_threads")||"function"==typeof __non_webpack_require__&&__non_webpack_require__("worker_threads")||"function"==typeof require&&require("worker_threads");De=Ue.Worker}catch(e){}function Be(e,t,n){var o=function(e){return Buffer.from(e,"base64").toString("utf8")}(e),r=o.indexOf("\n",10)+1,s=o.substring(r)+"";return function(e){return new De(s,Object.assign({},e,{eval:!0}))}}function We(e,t,n){var o=function(e){return atob(e)}(e),r=o.indexOf("\n",10)+1,s=o.substring(r)+"",i=new Blob([s],{type:"application/javascript"});return URL.createObjectURL(i)}var Ze="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);var Ve,Ke=(Ve="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=",Ze?Be(Ve):function(e){var t;return function(n){return t=t||We(e),new Worker(t,n)}}(Ve));class Ge{constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=(e,t)=>{!(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId)&&this.rafStamps.invokeId||(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(e)||this.pendingCanvasMutations.set(e,[]),this.pendingCanvasMutations.get(e).push(t)};const{sampling:t="all",win:n,blockClass:o,blockSelector:r,recordCanvas:s,dataURLOptions:i}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,s&&"all"===t&&this.initCanvasMutationObserver(n,o,r),s&&"number"==typeof t&&this.initCanvasFPSObserver(t,n,o,r,{dataURLOptions:i})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(e,t,n,o,r){const s=Fe(t,n,o),i=new Map,a=new Ke;a.onmessage=e=>{const{id:t}=e.data;if(i.set(t,!1),!("base64"in e.data))return;const{base64:n,type:o,width:r,height:s}=e.data;this.mutationCb({id:t,type:H["2D"],commands:[{property:"clearRect",args:[0,0,r,s]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:n}],type:o}]},0,0]}]})};const c=1e3/e;let d,l=0;const u=e=>{l&&e-l<c||(l=e,(()=>{const e=[];return t.document.querySelectorAll("canvas").forEach((t=>{W(t,n,o,!0)||e.push(t)})),e})().forEach((e=>we(this,0,void 0,(function*(){var t;const n=this.mirror.getId(e);if(i.get(n))return;if(i.set(n,!0),["webgl","webgl2"].includes(e.__context)){const n=e.getContext(e.__context);!1===(null===(t=null==n?void 0:n.getContextAttributes())||void 0===t?void 0:t.preserveDrawingBuffer)&&(null==n||n.clear(n.COLOR_BUFFER_BIT))}const o=yield createImageBitmap(e);a.postMessage({id:n,bitmap:o,width:e.width,height:e.height,dataURLOptions:r.dataURLOptions},[o])}))))),d=requestAnimationFrame(u)};d=requestAnimationFrame(u),this.resetObservers=()=>{s(),cancelAnimationFrame(d)}}initCanvasMutationObserver(e,t,n){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const o=Fe(e,t,n),r=function(e,t,n,o){const r=[],s=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(const i of s)try{if("function"!=typeof t.CanvasRenderingContext2D.prototype[i])continue;const s=D(t.CanvasRenderingContext2D.prototype,i,(function(r){return function(...s){return W(this.canvas,n,o,!0)||setTimeout((()=>{const n=Oe([...s],t,this);e(this.canvas,{type:H["2D"],property:i,args:n})}),0),r.apply(this,s)}}));r.push(s)}catch(n){const o=L(t.CanvasRenderingContext2D.prototype,i,{set(t){e(this.canvas,{type:H["2D"],property:i,args:[t],setter:!0})}});r.push(o)}return()=>{r.forEach((e=>e()))}}(this.processMutation.bind(this),e,t,n),s=function(e,t,n,o){const r=[];return r.push(...Le(t.WebGLRenderingContext.prototype,H.WebGL,e,n,o,0,t)),void 0!==t.WebGL2RenderingContext&&r.push(...Le(t.WebGL2RenderingContext.prototype,H.WebGL2,e,n,o,0,t)),()=>{r.forEach((e=>e()))}}(this.processMutation.bind(this),e,t,n,this.mirror);this.resetObservers=()=>{o(),r(),s()}}startPendingCanvasMutationFlusher(){requestAnimationFrame((()=>this.flushPendingCanvasMutations()))}startRAFTimestamping(){const e=t=>{this.rafStamps.latestId=t,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach(((e,t)=>{const n=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,n)})),requestAnimationFrame((()=>this.flushPendingCanvasMutations()))}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;const n=this.pendingCanvasMutations.get(e);if(!n||-1===t)return;const o=n.map((e=>{const t=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(e,["type"]);return t})),{type:r}=n[0];this.mutationCb({id:t,type:r,commands:o}),this.pendingCanvasMutations.delete(e)}}class _e{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new P,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,t){"_cssText"in t.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:t.id,attributes:t.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,t){if(0===e.length)return;const n={id:t,styleIds:[]},o=[];for(const t of e){let e;if(this.styleMirror.has(t))e=this.styleMirror.getId(t);else{e=this.styleMirror.add(t);const n=Array.from(t.rules||CSSRule);o.push({styleId:e,rules:n.map(((e,t)=>({rule:i(e),index:t})))})}n.styleIds.push(e)}o.length>0&&(n.styles=o),this.adoptedStyleSheetCb(n)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}function ze(e){return Object.assign(Object.assign({},e),{timestamp:Date.now()})}let Pe,Je,je,Ye=!1;const He=new a;function Qe(e={}){const{emit:t,checkoutEveryNms:n,checkoutEveryNth:o,blockClass:r="rr-block",blockSelector:s=null,ignoreClass:i="rr-ignore",maskTextClass:c="rr-mask",maskTextSelector:d=null,inlineStylesheet:l=!0,maskAllInputs:u,maskInputOptions:h,slimDOMOptions:p,maskInputFn:g,maskTextFn:m,hooks:I,packFn:f,sampling:y={},dataURLOptions:C={},mousemoveWait:v,recordCanvas:S=!1,recordCrossOriginIframes:b=!1,userTriggeredOnInput:A=!1,collectFonts:w=!1,inlineImages:k=!1,plugins:M,keepIframeSrcFn:T=()=>!1,ignoreCSSAttributes:E=new Set([])}=e,O=!b||window.parent===window;let x=!1;if(!O)try{window.parent.document,x=!1}catch(e){x=!0}if(O&&!t)throw new Error("emit function is required");void 0!==v&&void 0===y.mousemove&&(y.mousemove=v),He.reset();const F=!0===u?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:void 0!==h?h:{password:!0},L=!0===p||"all"===p?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:"all"===p,headMetaDescKeywords:"all"===p}:p||{};let D;!function(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...e)=>{let t=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do{if(this===t)return!0}while(t=t&&t.parentNode);return!1})}();let W=0;const Z=e=>{for(const t of M||[])t.eventProcessor&&(e=t.eventProcessor(e));return f&&(e=f(e)),e};Pe=(e,r)=>{var s;if(!(null===(s=se[0])||void 0===s?void 0:s.isFrozen())||e.type===J.FullSnapshot||e.type===J.IncrementalSnapshot&&e.data.source===j.Mutation||se.forEach((e=>e.unfreeze())),O)null==t||t(Z(e),r);else if(x){const t={type:"rrweb",event:Z(e),isCheckout:r};window.parent.postMessage(t,"*")}if(e.type===J.FullSnapshot)D=e,W=0;else if(e.type===J.IncrementalSnapshot){if(e.data.source===j.Mutation&&e.data.isAttachIframe)return;W++;const t=o&&W>=o,r=n&&e.timestamp-D.timestamp>n;(t||r)&&Je(!0)}};const V=e=>{Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Mutation},e)}))},K=e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Scroll},e)})),P=e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.CanvasMutation},e)})),Y=new _e({mutationCb:V,adoptedStyleSheetCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.AdoptedStyleSheet},e)}))}),H=new be({mirror:He,mutationCb:V,stylesheetManager:Y,recordCrossOriginIframes:b,wrappedEmit:Pe});for(const e of M||[])e.getMirror&&e.getMirror({nodeMirror:He,crossOriginIframeMirror:H.crossOriginIframeMirror,crossOriginIframeStyleMirror:H.crossOriginIframeStyleMirror});je=new Ge({recordCanvas:S,mutationCb:P,win:window,blockClass:r,blockSelector:s,mirror:He,sampling:y.canvas,dataURLOptions:C});const Q=new Ae({mutationCb:V,scrollCb:K,bypassOptions:{blockClass:r,blockSelector:s,maskTextClass:c,maskTextSelector:d,inlineStylesheet:l,maskInputOptions:F,dataURLOptions:C,maskTextFn:m,maskInputFn:g,recordCanvas:S,inlineImages:k,sampling:y,slimDOMOptions:L,iframeManager:H,stylesheetManager:Y,canvasManager:je,keepIframeSrcFn:T},mirror:He});Je=(e=!1)=>{var t,n,o,i,u,h;Pe(ze({type:J.Meta,data:{href:window.location.href,width:B(),height:U()}}),e),Y.reset(),se.forEach((e=>e.lock()));const p=function(e,t){var n=t||{},o=n.mirror,r=void 0===o?new a:o,s=n.blockClass,i=void 0===s?"rr-block":s,c=n.blockSelector,d=void 0===c?null:c,l=n.maskTextClass,u=void 0===l?"rr-mask":l,h=n.maskTextSelector,p=void 0===h?null:h,g=n.inlineStylesheet,m=void 0===g||g,I=n.inlineImages,f=void 0!==I&&I,y=n.recordCanvas,C=void 0!==y&&y,v=n.maskAllInputs,S=void 0!==v&&v,b=n.maskTextFn,A=n.maskInputFn,w=n.slimDOM,k=void 0!==w&&w,M=n.dataURLOptions,T=n.preserveWhiteSpace,E=n.onSerialize,N=n.onIframeLoad,O=n.iframeLoadTimeout,x=n.onStylesheetLoad,F=n.stylesheetLoadTimeout,L=n.keepIframeSrcFn;return R(e,{doc:e,mirror:r,blockClass:i,blockSelector:d,maskTextClass:u,maskTextSelector:p,skipChild:!1,inlineStylesheet:m,maskInputOptions:!0===S?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:!1===S?{password:!0}:S,maskTextFn:b,maskInputFn:A,slimDOMOptions:!0===k||"all"===k?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:"all"===k,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:!1===k?{}:k,dataURLOptions:M,inlineImages:f,recordCanvas:C,preserveWhiteSpace:T,onSerialize:E,onIframeLoad:N,iframeLoadTimeout:O,onStylesheetLoad:x,stylesheetLoadTimeout:F,keepIframeSrcFn:void 0===L?function(){return!1}:L,newlyAddedElement:!1})}(document,{mirror:He,blockClass:r,blockSelector:s,maskTextClass:c,maskTextSelector:d,inlineStylesheet:l,maskAllInputs:F,maskTextFn:m,slimDOM:L,dataURLOptions:C,recordCanvas:S,inlineImages:k,onSerialize:e=>{G(e,He)&&H.addIframe(e),_(e,He)&&Y.trackLinkElement(e),z(e)&&Q.addShadowRoot(e.shadowRoot,document)},onIframeLoad:(e,t)=>{H.attachIframe(e,t),Q.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{Y.attachLinkElement(e,t)},keepIframeSrcFn:T});if(!p)return console.warn("Failed to snapshot the document");Pe(ze({type:J.FullSnapshot,data:{node:p,initialOffset:{left:void 0!==window.pageXOffset?window.pageXOffset:(null===document||void 0===document?void 0:document.documentElement.scrollLeft)||(null===(n=null===(t=null===document||void 0===document?void 0:document.body)||void 0===t?void 0:t.parentElement)||void 0===n?void 0:n.scrollLeft)||(null===(o=null===document||void 0===document?void 0:document.body)||void 0===o?void 0:o.scrollLeft)||0,top:void 0!==window.pageYOffset?window.pageYOffset:(null===document||void 0===document?void 0:document.documentElement.scrollTop)||(null===(u=null===(i=null===document||void 0===document?void 0:document.body)||void 0===i?void 0:i.parentElement)||void 0===u?void 0:u.scrollTop)||(null===(h=null===document||void 0===document?void 0:document.body)||void 0===h?void 0:h.scrollTop)||0}}})),se.forEach((e=>e.unlock())),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Y.adoptStyleSheets(document.adoptedStyleSheets,He.getId(document))};try{const e=[];e.push(N("DOMContentLoaded",(()=>{Pe(ze({type:J.DomContentLoaded,data:{}}))})));const t=e=>{var t;return ve({mutationCb:V,mousemoveCb:(e,t)=>Pe(ze({type:J.IncrementalSnapshot,data:{source:t,positions:e}})),mouseInteractionCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.MouseInteraction},e)})),scrollCb:K,viewportResizeCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.ViewportResize},e)})),inputCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Input},e)})),mediaInteractionCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.MediaInteraction},e)})),styleSheetRuleCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.StyleSheetRule},e)})),styleDeclarationCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.StyleDeclaration},e)})),canvasMutationCb:P,fontCb:e=>Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Font},e)})),selectionCb:e=>{Pe(ze({type:J.IncrementalSnapshot,data:Object.assign({source:j.Selection},e)}))},blockClass:r,ignoreClass:i,maskTextClass:c,maskTextSelector:d,maskInputOptions:F,inlineStylesheet:l,sampling:y,recordCanvas:S,inlineImages:k,userTriggeredOnInput:A,collectFonts:w,doc:e,maskInputFn:g,maskTextFn:m,keepIframeSrcFn:T,blockSelector:s,slimDOMOptions:L,dataURLOptions:C,mirror:He,iframeManager:H,stylesheetManager:Y,shadowDomManager:Q,canvasManager:je,ignoreCSSAttributes:E,plugins:(null===(t=null==M?void 0:M.filter((e=>e.observer)))||void 0===t?void 0:t.map((e=>({observer:e.observer,options:e.options,callback:t=>Pe(ze({type:J.Plugin,data:{plugin:e.name,payload:t}}))}))))||[]},I)};H.addLoadListener((n=>{e.push(t(n.contentDocument))}));const n=()=>{Je(),e.push(t(document)),Ye=!0};return"interactive"===document.readyState||"complete"===document.readyState?n():e.push(N("load",(()=>{Pe(ze({type:J.Load,data:{}})),n()}),window)),()=>{e.forEach((e=>e())),Ye=!1}}catch(e){console.warn(e)}}Qe.addCustomEvent=(e,t)=>{if(!Ye)throw new Error("please add custom event after start recording");Pe(ze({type:J.Custom,data:{tag:e,payload:t}}))},Qe.freezePage=()=>{se.forEach((e=>e.freeze()))},Qe.takeFullSnapshot=e=>{if(!Ye)throw new Error("please take full snapshot after start recording");Je(e)},Qe.mirror=He;const qe=[];for(let e=0;e<256;++e)qe.push((e+256).toString(16).slice(1));let Xe;const $e=new Uint8Array(16);const et={};function tt(e,t,n){let o;{const e=Date.now(),r=function(){if(!Xe){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Xe=crypto.getRandomValues.bind(crypto)}return Xe($e)}();!function(e,t,n){e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0);e.node||(e.node=n.slice(10,16),e.node[0]|=1,e.clockseq=16383&(n[8]<<8|n[9]));e.msecs=t}(et,e,r),o=function(e,t,n,o,r,s,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(s){if(i<0||i+16>s.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`)}else s=new Uint8Array(16),i=0;t??=Date.now(),n??=0,o??=16383&(e[8]<<8|e[9]),r??=e.slice(10,16);const a=(1e4*(268435455&(t+=122192928e5))+n)%4294967296;s[i++]=a>>>24&255,s[i++]=a>>>16&255,s[i++]=a>>>8&255,s[i++]=255&a;const c=t/4294967296*1e4&268435455;s[i++]=c>>>8&255,s[i++]=255&c,s[i++]=c>>>24&15|16,s[i++]=c>>>16&255,s[i++]=o>>>8|128,s[i++]=255&o;for(let e=0;e<6;++e)s[i++]=r[e];return s}(r,et.msecs,et.nsecs,et.clockseq,et.node,t,n)}return t??function(e,t=0){return(qe[e[t+0]]+qe[e[t+1]]+qe[e[t+2]]+qe[e[t+3]]+"-"+qe[e[t+4]]+qe[e[t+5]]+"-"+qe[e[t+6]]+qe[e[t+7]]+"-"+qe[e[t+8]]+qe[e[t+9]]+"-"+qe[e[t+10]]+qe[e[t+11]]+qe[e[t+12]]+qe[e[t+13]]+qe[e[t+14]]+qe[e[t+15]]).toLowerCase()}(o)}const nt=10485760;function ot(e,t,n){return(new TextEncoder).encode(JSON.stringify({sessionId:n,events:[...e,t]})).length>nt}function rt(e,t){const n=(new TextEncoder).encode(JSON.stringify({sessionId:t,events:[e]})).length;if(n>nt)throw new Error(`Single event size (${n} bytes) exceeds maximum chunk size (10485760 bytes)`)}class st{constructor({apiKey:e,ingestionUrl:t}){this.apiKey=e,this.baseUrl=t}init(e,n){return t(this,void 0,void 0,(function*(){let t=null,o=null;"undefined"!=typeof window&&(t=window.location.href,o=document.referrer);const r=yield fetch(`${this.baseUrl}/api/ingestion/init`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,Referer:o||""},body:JSON.stringify({sessionId:e,endUserId:n,entryURL:t,referrer:o})});if(!r.ok)throw new Error(`Failed to initialize ingestion: ${r.statusText}`);const s=yield r.json();return{sessionId:s.sessionId,endUserId:s.endUserId}}))}sendEvents(e,n,o){return t(this,void 0,void 0,(function*(){const t=yield fetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:n,events:e,endUserId:o})});if(!t.ok)throw new Error(`Failed to send events: ${t.statusText}`)}))}sendEventsChunked(e,n){return t(this,void 0,void 0,(function*(){try{const t=[];let o=[];for(const r of e)if(ot(o,r,n)){if(o.length>0){const e=yield fetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:n,events:o})});if(!e.ok)throw new Error(`Failed to send events: ${e.statusText}`);t.push(yield e.json()),o=[]}rt(r,n),o=[r]}else o.push(r);if(o.length>0){const e=yield fetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:n,events:o})});if(!e.ok)throw new Error(`Failed to send events: ${e.statusText}`);t.push(yield e.json())}return t.flat()}catch(e){throw console.error("Error sending events:",e),e}}))}sendUserData(e,n,o){return t(this,void 0,void 0,(function*(){try{const t=yield fetch(`${this.baseUrl}/api/ingestion/user`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({userId:e,userAttributes:n,sessionId:o})});if(!t.ok)throw new Error(`Failed to send user data: ${t.statusText} with API key: ${this.apiKey}`);return yield t.json()}catch(e){throw console.error("Error sending user data:",e),e}}))}sendUserAuth(e,n,o,r){return t(this,void 0,void 0,(function*(){try{const t=yield fetch(`${this.baseUrl}/api/ingestion/user/auth`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({userId:e,userAttributes:n,sessionId:o,authFields:r})});if(!t.ok)throw new Error(`Failed to authenticate user: ${t.statusText} with API key: ${this.apiKey}`);return yield t.json()}catch(e){throw console.error("Error authenticating user:",e),e}}))}sendSessionComplete(e){return t(this,void 0,void 0,(function*(){const t=yield fetch(`${this.baseUrl}/api/ingestion/sessionComplete`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({sessionId:e})});if(!t.ok)throw new Error(`Failed to send session complete: ${t.statusText}`)}))}sendCustomEvent(e,n,o){return t(this,void 0,void 0,(function*(){let t=0;for(;t<3;)try{const t=yield fetch(`${this.baseUrl}/api/ingestion/customEvent`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({name:e,properties:n,sessionId:o,timestamp:(new Date).toISOString()})});if(!t.ok)throw new Error(`Failed to send custom event: ${t.statusText}`);return yield t.json()}catch(e){if(t++,3===t)throw console.error("Error sending custom event after max retries:",e),e;yield new Promise((e=>setTimeout(e,1e3*Math.pow(2,t))))}}))}sendCustomEvents(e,n){return t(this,void 0,void 0,(function*(){let t=0;for(;t<3;)try{const t=yield fetch(`${this.baseUrl}/api/ingestion/customEvent/batch`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({events:e.map((e=>Object.assign(Object.assign({},e),{sessionId:n})))})});if(!t.ok)throw new Error(`Failed to send custom events: ${t.statusText}`);return yield t.json()}catch(e){if(t++,3===t)throw console.error("Error sending custom events after max retries:",e),e;yield new Promise((e=>setTimeout(e,1e3*Math.pow(2,t))))}}))}sendBeaconEvents(e,t,n=!1){const o=new URLSearchParams;o.append("events",encodeURIComponent(JSON.stringify(e))),o.append("sessionId",encodeURIComponent(t)),o.append("timestamp",encodeURIComponent(Date.now().toString())),o.append("apiKey",encodeURIComponent(this.apiKey)),n&&(console.log("Session complete beacon sending"),localStorage.setItem("koalaware_session_complete",Date.now().toString()),o.append("sessionComplete",encodeURIComponent("true"))),navigator.sendBeacon(`${this.baseUrl}/api/ingestion/events`,o)}sendBeaconSessionComplete(e){const t=new URLSearchParams;t.append("sessionId",e),t.append("apiKey",this.apiKey),t.append("sessionComplete","true"),navigator.sendBeacon(`${this.baseUrl}/api/ingestion/sessionComplete`,t)}sendBeaconCustomEvent(e,t,n){const o=new URLSearchParams;return o.append("name",encodeURIComponent(e)),o.append("properties",encodeURIComponent(JSON.stringify(t))),o.append("sessionId",encodeURIComponent(n)),o.append("timestamp",encodeURIComponent((new Date).toISOString())),o.append("apiKey",encodeURIComponent(this.apiKey)),navigator.sendBeacon(`${this.baseUrl}/api/ingestion/customEvent`,o)}sendBeaconCustomEvents(e,t){const n=new URLSearchParams;return n.append("events",encodeURIComponent(JSON.stringify(e.map((e=>Object.assign(Object.assign({},e),{sessionId:t})))))),n.append("apiKey",encodeURIComponent(this.apiKey)),navigator.sendBeacon(`${this.baseUrl}/api/ingestion/customEvent/batch`,n)}}const it="undefined"!=typeof window;class at{constructor(e){this.redactedText="[REDACTED]",this.userSelectedFields=new Set,this.excludeSelectors=['[data-no-redact="true"]',".human-behavior-no-redact"],(null==e?void 0:e.redactedText)&&(this.redactedText=e.redactedText),(null==e?void 0:e.excludeSelectors)&&(this.excludeSelectors=[...this.excludeSelectors,...e.excludeSelectors]),(null==e?void 0:e.userFields)&&this.setFieldsToRedact(e.userFields)}setFieldsToRedact(e){this.userSelectedFields.clear(),e.forEach((e=>this.userSelectedFields.add(e))),e.length>0?(console.log(`Redaction: Active for ${e.length} field(s):`,e),e.forEach((e=>{const t=document.querySelectorAll(e);console.log(`Redaction: Found ${t.length} element(s) for selector '${e}'`),t.forEach(((t,n)=>{console.log(`Redaction: Element ${n} for '${e}':`,t)}))}))):console.log("Redaction: Disabled - no fields selected")}isActive(){return this.userSelectedFields.size>0}getSelectedFields(){return Array.from(this.userSelectedFields)}processEvent(e){if(0===this.userSelectedFields.size)return e;const t=JSON.parse(JSON.stringify(e));if(3===t.type)if(5===t.data.source){this.isFieldSelected(t.data)&&(console.log("Redaction: Processing input event for redaction"),this.redactInputEvent(t.data))}else 0===t.data.source?this.redactDOMEvent(t.data):2===t.data.source&&this.redactMouseEvent(t.data);else 2===t.type&&this.redactFullSnapshot(t.data);return t}redactInputEvent(e){if(!this.isFieldSelected(e))return;console.log("Redaction: Redacting input event with text:",e.text);["text","value","content","data","input","textContent"].forEach((t=>{void 0!==e[t]&&"string"==typeof e[t]&&(e[t]=this.redactedText,console.log(`Redaction: Redacted property '${t}'`))})),Object.keys(e).forEach((t=>{"string"==typeof e[t]&&e[t].length>0&&(e[t]=this.redactedText,console.log(`Redaction: Redacted additional property '${t}'`))})),e.attributes&&"object"==typeof e.attributes&&e.attributes.value&&"string"==typeof e.attributes.value&&(e.attributes.value=this.redactedText,console.log("Redaction: Redacted nested value attribute")),console.log("Redaction: Input event redaction complete")}redactDOMEvent(e){e.texts&&Array.isArray(e.texts)&&e.texts.forEach((e=>{e.text&&"string"==typeof e.text&&this.shouldRedactDOMChange(e)&&(e.text=this.redactedText)})),e.attributes&&Array.isArray(e.attributes)&&e.attributes.forEach((e=>{e.attributes&&e.attributes.value&&"string"==typeof e.attributes.value&&this.shouldRedactDOMChange(e)&&(e.attributes.value=this.redactedText)})),e.adds&&Array.isArray(e.adds)&&e.adds.forEach((e=>{e.node&&e.node.textContent&&"string"==typeof e.node.textContent&&this.shouldRedactDOMChange(e)&&(e.node.textContent=this.redactedText)}))}shouldRedactDOMChange(e){if(!it)return!1;try{const t=e.id;if(void 0!==t){let e=document.querySelector(`[data-rrweb-id="${t}"]`);if(e)return this.shouldRedactElement(e)}const n=e.nodeId;if(void 0!==n){const e=document.querySelector(`[data-rrweb-id="${n}"]`);if(e)return this.shouldRedactElement(e)}return!1}catch(e){return console.warn("Error checking if DOM change should be redacted:",e),!1}}redactMouseEvent(e){e.text&&"string"==typeof e.text&&this.isFieldSelected(e)&&(e.text=this.redactedText)}redactFullSnapshot(e){e.node&&2===e.node.type&&this.redactNode(e.node)}redactNode(e){e&&(2!==e.type||!e.tagName||"input"!==e.tagName.toLowerCase()&&"textarea"!==e.tagName.toLowerCase()||this.shouldRedactNode(e)&&(e.attributes&&e.attributes.value&&(e.attributes.value=this.redactedText),e.textContent&&(e.textContent=this.redactedText)),e.childNodes&&Array.isArray(e.childNodes)&&e.childNodes.forEach((e=>{this.redactNode(e)})))}shouldRedactNode(e){if(!e.attributes)return!1;for(const t of this.userSelectedFields)if(this.selectorMatchesNode(t,e))return!0;return!1}selectorMatchesNode(e,t){if(!t.attributes)return!1;try{const n=document.createElement(t.tagName||"div");return t.attributes&&Object.keys(t.attributes).forEach((e=>{n.setAttribute(e,t.attributes[e])})),n.matches(e)}catch(n){return this.basicSelectorMatch(e,t)}}basicSelectorMatch(e,t){if(!t.attributes)return!1;if(e.includes("input[type=")){const n=e.match(/input\[type="([^"]+)"\]/);if(n&&"input"===t.tagName&&t.attributes.type===n[1])return!0}if(e.startsWith("#")){const n=e.substring(1);return t.attributes.id===n}if(e.startsWith(".")){const n=e.substring(1);return t.attributes.class&&t.attributes.class.includes(n)}return!e.includes("[")&&!e.includes(".")&&(t.tagName&&t.tagName.toLowerCase()===e.toLowerCase())}isFieldSelected(e){if(!it)return!1;try{if(5===e.source){const t=e.id;if(void 0!==t){let n=document.querySelector(`[data-rrweb-id="${t}"]`);if(n)return this.shouldRedactElement(n);if(void 0!==e.nodeId&&(n=document.querySelector(`[data-rrweb-id="${e.nodeId}"]`),n))return this.shouldRedactElement(n);for(const e of this.userSelectedFields){const t=document.querySelectorAll(e);if(t.length>0)for(const n of t)if(n===document.activeElement)return console.log("Redaction: Found focused element matching selector:",e),!0}const o=document.activeElement;return!(!o||!this.shouldRedactElement(o))&&(console.log("Redaction: Active element should be redacted"),!0)}}const t=e.id;if(void 0!==t){let e=document.querySelector(`[data-rrweb-id="${t}"]`);if(e)return this.shouldRedactElement(e)}const n=e.nodeId;if(void 0!==n){const e=document.querySelector(`[data-rrweb-id="${n}"]`);if(e)return this.shouldRedactElement(e)}if(e.target&&e.target.id){const t=document.querySelector(`[data-rrweb-id="${e.target.id}"]`);if(t)return this.shouldRedactElement(t)}return!1}catch(e){return console.warn("Error checking if field should be redacted:",e),!1}}shouldRedactElement(e){for(const t of this.excludeSelectors)if(e.matches(t)||e.closest(t))return!1;for(const t of this.userSelectedFields)if(e.matches(t))return!0;return!1}getOriginalValue(e){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)return e.value}isElementRedacted(e){return this.shouldRedactElement(e)}}const ct=new at,dt="undefined"!=typeof window;class lt{constructor(e,t){if(this.eventIngestionQueue=[],this.queueSizeBytes=0,this.rejectedEvents=[],this.isProcessingRejectedEvents=!1,this.userProperties={},this.isProcessing=!1,this.flushInterval=null,this.FLUSH_INTERVAL_MS=5e3,this.endUserId=null,this.initialized=!1,this.initializationPromise=null,!e)throw new Error("Human Behavior API Key is required");this.api=new st({apiKey:e,ingestionUrl:t||"http://3.137.217.33:3000"}),this.apiKey=e,this.redactionManager=new at;const n=dt?localStorage.getItem("human_behavior_session_id"):null,o=dt?localStorage.getItem("human_behavior_last_activity"):null,r=Date.now()-18e5,s=o&&parseInt(o)>r;this.sessionId=n&&s?n:tt(),n&&s||!dt||localStorage.setItem("human_behavior_session_id",this.sessionId),this.initializationPromise=this.init()}init(){return t(this,void 0,void 0,(function*(){try{const e=this.getCookie(`human_behavior_end_user_id_${this.apiKey}`),{sessionId:t,endUserId:n}=yield this.api.init(this.sessionId,e);this.sessionId=t,this.endUserId=n,this.setCookie(`human_behavior_end_user_id_${this.apiKey}`,n,365),dt?(this.setupPageUnloadHandler(),this.start(),this.processRejectedEvents()):console.warn("HumanBehaviorTracker initialized in a non-browser environment. Session tracking is disabled."),this.initialized=!0,console.log("HumanBehaviorTracker initialized")}catch(e){throw console.error("Failed to initialize HumanBehaviorTracker:",e),e}}))}ensureInitialized(){return t(this,void 0,void 0,(function*(){if(!this.initializationPromise)throw new Error("HumanBehaviorTracker initialization failed");yield this.initializationPromise}))}static logToStorage(e){try{const t=JSON.parse(localStorage.getItem("human_behavior_logs")||"[]");t.push(`${(new Date).toISOString()}: ${e}`),localStorage.setItem("human_behavior_logs",JSON.stringify(t))}catch(e){console.error("Failed to log to storage:",e)}}setupPageUnloadHandler(){dt&&(console.log("Setting up page unload handler"),window.addEventListener("visibilitychange",(()=>{"hidden"===document.visibilityState&&(console.log("Page hidden - sending pending events"),this.api.sendBeaconEvents(this.eventIngestionQueue,this.sessionId))})),window.addEventListener("beforeunload",(()=>{localStorage.setItem("human_behavior_last_activity",Date.now().toString()),this.api.sendBeaconEvents(this.eventIngestionQueue,this.sessionId)})),setInterval((()=>{localStorage.setItem("human_behavior_last_activity",Date.now().toString())}),6e4))}viewLogs(){try{const e=JSON.parse(localStorage.getItem("human_behavior_logs")||"[]");console.log("HumanBehavior Logs:",e),localStorage.removeItem("human_behavior_logs")}catch(e){console.error("Failed to read logs:",e)}}addUserInfo(e){return t(this,void 0,void 0,(function*(){if(yield this.ensureInitialized(),!this.endUserId)throw new Error("Cannot add user info before tracker initialization");this.userProperties=e,yield this.api.sendUserData(this.endUserId,e,this.sessionId)}))}auth(e){return t(this,void 0,void 0,(function*(){if(yield this.ensureInitialized(),!this.endUserId)throw new Error("Cannot authenticate before tracker initialization");if(!this.userProperties||0===Object.keys(this.userProperties).length)throw new Error("No user info available. Call addUserInfo() first.");yield this.api.sendUserAuth(this.endUserId,this.userProperties,this.sessionId,e)}))}customEvent(e){return t(this,arguments,void 0,(function*(e,t={}){yield this.ensureInitialized(),this.api.sendBeaconCustomEvent(e,t,this.sessionId)}))}start(){return t(this,void 0,void 0,(function*(){yield this.ensureInitialized(),dt&&(this.flushInterval=window.setInterval((()=>{this.flush()}),this.FLUSH_INTERVAL_MS),Qe({emit:e=>{this.addEvent(e)},inlineStylesheet:!0,recordCanvas:!0,collectFonts:!0,blockClass:"rr-block",ignoreClass:"rr-ignore",maskTextClass:"rr-ignore"}))}))}stop(){return t(this,void 0,void 0,(function*(){yield this.ensureInitialized(),dt&&this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null)}))}addEvent(e){return t(this,void 0,void 0,(function*(){yield this.ensureInitialized();const t=this.redactionManager.processEvent(e),n=(new TextEncoder).encode(JSON.stringify(t)).length;this.eventIngestionQueue.push(t),this.queueSizeBytes+=n}))}processRejectedEvents(){return t(this,void 0,void 0,(function*(){if(!this.isProcessingRejectedEvents&&0!==this.rejectedEvents.length){this.isProcessingRejectedEvents=!0;try{const e=tt();dt&&localStorage.setItem("human_behavior_session_id",e),this.api.sendBeaconEvents(this.rejectedEvents,e),this.rejectedEvents=[],this.sessionId=e}catch(e){console.error("Failed to process rejected events:",e)}finally{this.isProcessingRejectedEvents=!1}}}))}flush(){return t(this,void 0,void 0,(function*(){var e;if(!this.isProcessing&&this.initialized){this.isProcessing=!0;try{const t=this.eventIngestionQueue;if(this.eventIngestionQueue=[],this.queueSizeBytes=0,t.length>0){console.log("Flushing events:",t);try{yield this.api.sendEvents(t,this.sessionId,this.endUserId)}catch(n){if(!(null===(e=n.message)||void 0===e?void 0:e.includes("ERROR: Session already completed")))throw n;console.log("Session expired, storing events for retry"),this.rejectedEvents.push(...t),this.processRejectedEvents()}}}finally{this.isProcessing=!1}}}))}setCookie(e,t,n){if(!dt)return;const o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3);const r=`expires=${o.toUTCString()}`;document.cookie=`${e}=${t};${r};path=/;SameSite=Lax`}getCookie(e){if(!dt)return null;const t=e+"=",n=document.cookie.split(";");for(let e=0;e<n.length;e++){let o=n[e];for(;" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null}redact(e){return t(this,void 0,void 0,(function*(){yield this.ensureInitialized(),dt?this.redactionManager=new at(e):console.warn("Redaction is only available in browser environments")}))}setRedactedFields(e){dt?this.redactionManager.setFieldsToRedact(e):console.warn("Redaction is only available in browser environments")}isRedactionActive(){return this.redactionManager.isActive()}getRedactedFields(){return this.redactionManager.getSelectedFields()}}dt&&(window.HumanBehaviorTracker=lt),"undefined"!=typeof window&&(window.HumanBehaviorTracker=lt),e.HumanBehaviorAPI=st,e.HumanBehaviorTracker=lt,e.MAX_CHUNK_SIZE_BYTES=nt,e.RedactionManager=at,e.default=lt,e.isChunkSizeExceeded=ot,e.redactionManager=ct,e.validateSingleEventSize=rt,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=index.min.js.map