@tengence/track-sdk-web 1.2.2 → 1.2.3

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.
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==r.return||r.return()}finally{if(u)throw a}}}}function i(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var u=function(e,t){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},u(e,t)};var l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function p(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var h=function(e){function t(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),m=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,u=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),u&&(a.timeout=u),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},y=function(e,t,n){if(!n)return fetch(e,t);var r=new AbortController,o=setTimeout((function(){return r.abort()}),n);return fetch(e,l(l({},t),{signal:r.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(o)}))},g=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return m({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():y(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new h(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof h)throw e;if(e&&e.status)throw e;return i()}))},b=new Int32Array(4),w=function(){function e(){Object.defineProperty(this,"_dataLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_bufferLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_state",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array(4)}),Object.defineProperty(this,"_buffer",{enumerable:!0,configurable:!0,writable:!0,value:new ArrayBuffer(68)}),Object.defineProperty(this,"_buffer8",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_buffer32",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}return Object.defineProperty(e,"selfTest",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(!e.selfTested&&(e.selfTested=!0,"5d41402abc4b2a76b9719d911017c592"!==e.hashStr("hello")))throw new Error("Md5 self test failed.")}}),Object.defineProperty(e,"hashStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return void 0===n&&(n=!1),e.selfTest(),this.onePassHasher.start().appendStr(t).end(n)}}),Object.defineProperty(e,"hashAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t=!1),this.onePassHasher.start().appendAsciiStr(e).end(t)}}),Object.defineProperty(e,"_hex",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o,i,a=e.hexChars,c=e.hexOut;for(i=0;i<4;i+=1)for(r=8*i,n=t[i],o=0;o<8;o+=2)c[r+1+o]=a.charAt(15&n),n>>>=4,c[r+0+o]=a.charAt(15&n),n>>>=4;return c.join("")}}),Object.defineProperty(e,"_md5cycle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var n=e[0],r=e[1],o=e[2],i=e[3];r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[0]-680876936|0)<<7|n>>>25)+r|0)&r|~n&o)+t[1]-389564586|0)<<12|i>>>20)+n|0)&n|~i&r)+t[2]+606105819|0)<<17|o>>>15)+i|0)&i|~o&n)+t[3]-1044525330|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[4]-176418897|0)<<7|n>>>25)+r|0)&r|~n&o)+t[5]+1200080426|0)<<12|i>>>20)+n|0)&n|~i&r)+t[6]-1473231341|0)<<17|o>>>15)+i|0)&i|~o&n)+t[7]-45705983|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[8]+1770035416|0)<<7|n>>>25)+r|0)&r|~n&o)+t[9]-1958414417|0)<<12|i>>>20)+n|0)&n|~i&r)+t[10]-42063|0)<<17|o>>>15)+i|0)&i|~o&n)+t[11]-1990404162|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[12]+1804603682|0)<<7|n>>>25)+r|0)&r|~n&o)+t[13]-40341101|0)<<12|i>>>20)+n|0)&n|~i&r)+t[14]-1502002290|0)<<17|o>>>15)+i|0)&i|~o&n)+t[15]+1236535329|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[1]-165796510|0)<<5|n>>>27)+r|0)&o|r&~o)+t[6]-1069501632|0)<<9|i>>>23)+n|0)&r|n&~r)+t[11]+643717713|0)<<14|o>>>18)+i|0)&n|i&~n)+t[0]-373897302|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[5]-701558691|0)<<5|n>>>27)+r|0)&o|r&~o)+t[10]+38016083|0)<<9|i>>>23)+n|0)&r|n&~r)+t[15]-660478335|0)<<14|o>>>18)+i|0)&n|i&~n)+t[4]-405537848|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[9]+568446438|0)<<5|n>>>27)+r|0)&o|r&~o)+t[14]-1019803690|0)<<9|i>>>23)+n|0)&r|n&~r)+t[3]-187363961|0)<<14|o>>>18)+i|0)&n|i&~n)+t[8]+1163531501|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[13]-1444681467|0)<<5|n>>>27)+r|0)&o|r&~o)+t[2]-51403784|0)<<9|i>>>23)+n|0)&r|n&~r)+t[7]+1735328473|0)<<14|o>>>18)+i|0)&n|i&~n)+t[12]-1926607734|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[5]-378558|0)<<4|n>>>28)+r|0)^r^o)+t[8]-2022574463|0)<<11|i>>>21)+n|0)^n^r)+t[11]+1839030562|0)<<16|o>>>16)+i|0)^i^n)+t[14]-35309556|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[1]-1530992060|0)<<4|n>>>28)+r|0)^r^o)+t[4]+1272893353|0)<<11|i>>>21)+n|0)^n^r)+t[7]-155497632|0)<<16|o>>>16)+i|0)^i^n)+t[10]-1094730640|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[13]+681279174|0)<<4|n>>>28)+r|0)^r^o)+t[0]-358537222|0)<<11|i>>>21)+n|0)^n^r)+t[3]-722521979|0)<<16|o>>>16)+i|0)^i^n)+t[6]+76029189|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[9]-640364487|0)<<4|n>>>28)+r|0)^r^o)+t[12]-421815835|0)<<11|i>>>21)+n|0)^n^r)+t[15]+530742520|0)<<16|o>>>16)+i|0)^i^n)+t[2]-995338651|0)<<23|r>>>9)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[0]-198630844|0)<<6|n>>>26)+r|0)|~o))+t[7]+1126891415|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[14]-1416354905|0)<<15|o>>>17)+i|0)|~n))+t[5]-57434055|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[12]+1700485571|0)<<6|n>>>26)+r|0)|~o))+t[3]-1894986606|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[10]-1051523|0)<<15|o>>>17)+i|0)|~n))+t[1]-2054922799|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[8]+1873313359|0)<<6|n>>>26)+r|0)|~o))+t[15]-30611744|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[6]-1560198380|0)<<15|o>>>17)+i|0)|~n))+t[13]+1309151649|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[4]-145523070|0)<<6|n>>>26)+r|0)|~o))+t[11]-1120210379|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[2]+718787259|0)<<15|o>>>17)+i|0)|~n))+t[9]-343485551|0)<<21|r>>>11)+o|0,e[0]=n+e[0]|0,e[1]=r+e[1]|0,e[2]=o+e[2]|0,e[3]=i+e[3]|0}}),Object.defineProperty(e.prototype,"start",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._dataLength=0,this._bufferLength=0,this._state.set(e.stateIdentity),this}}),Object.defineProperty(e.prototype,"appendStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o=this._buffer8,i=this._buffer32,a=this._bufferLength;for(r=0;r<t.length;r+=1){if((n=t.charCodeAt(r))<128)o[a++]=n;else if(n<2048)o[a++]=192+(n>>>6),o[a++]=63&n|128;else if(n<55296||n>56319)o[a++]=224+(n>>>12),o[a++]=n>>>6&63|128,o[a++]=63&n|128;else{if((n=1024*(n-55296)+(t.charCodeAt(++r)-56320)+65536)>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");o[a++]=240+(n>>>18),o[a++]=n>>>12&63|128,o[a++]=n>>>6&63|128,o[a++]=63&n|128}a>=64&&(this._dataLength+=64,e._md5cycle(this._state,i),a-=64,i[0]=i[16])}return this._bufferLength=a,this}}),Object.defineProperty(e.prototype,"appendAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t.charCodeAt(a++);if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"appendByteArray",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t[a++];if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"getState",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[e[0],e[1],e[2],e[3]]}}}),Object.defineProperty(e.prototype,"setState",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,n=e.buffer,r=e.state,o=this._state;for(this._dataLength=e.length,this._bufferLength=e.buflen,o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],t=0;t<n.length;t+=1)this._buffer8[t]=n.charCodeAt(t)}}),Object.defineProperty(e.prototype,"end",{enumerable:!1,configurable:!0,writable:!0,value:function(t){void 0===t&&(t=!1);var n=this._bufferLength,r=this._buffer8,o=this._buffer32,i=1+(n>>2);this._dataLength+=n;var a=8*this._dataLength;if(r[n]=128,r[n+1]=r[n+2]=r[n+3]=0,o.set(e.buffer32Identity.subarray(i),i),n>55&&(e._md5cycle(this._state,o),o.set(e.buffer32Identity)),a<=4294967295)o[14]=a;else{var c=a.toString(16).match(/(.*?)(.{0,8})$/);if(null===c)return t?b:"";var u=parseInt(c[2],16),l=parseInt(c[1],16)||0;o[14]=u,o[15]=l}return e._md5cycle(this._state,o),t?this._state:e._hex(this._state)}}),Object.defineProperty(e,"selfTested",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"stateIdentity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([1732584193,-271733879,-1732584194,271733878])}),Object.defineProperty(e,"buffer32Identity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}),Object.defineProperty(e,"hexChars",{enumerable:!0,configurable:!0,writable:!0,value:"0123456789abcdef"}),Object.defineProperty(e,"hexOut",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"onePassHasher",{enumerable:!0,configurable:!0,writable:!0,value:new e}),e}(),T=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function _(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}var S=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}};function E(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):E(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var k=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},x=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return x(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return x(e)}),!0):setTimeout(e)};function A(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var L=Array(32);function M(e){return function(){for(var t=0;t<2*e;t++)L[t]=Math.floor(16*Math.random())+48,L[t]>=58&&(L[t]+=39);return String.fromCharCode.apply(null,L.slice(0,2*e))}}function O(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():M(16)()}var P=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},C=function(e){return w.hashStr(e)};var I,j={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},R={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},q={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},N=function(e,t){t.forEach((function(t,n){var r=t.event_type||"unknown",o=t.data_type||"common",i=function(e){return j[e]||j.default}(r),a=function(e){return q[e]||q.default}(o),c=function(e){return R[e]||R.default}(r),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(c," [TM-").concat(e,"] %c").concat(o.toUpperCase(),"%c → %c").concat(r.toUpperCase(),"%c #").concat(n+1),"color: #6b7280; font-weight: bold;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(i,"; font-weight: bold; background: ").concat(i,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=l(l({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},U=void 0,B="TRACK_MONITOR_DATA",D="MONITOR_REAL_TIME_DATA",z="TRACK_MONITOR_USER",H="tengence_device_id",F="tengence_register_properties",K="TRACK_MONITOR_LOGGER",J="tengence_tracking_enabled",W=2e3,X="tengence_access_token",G=null,Q=null,$=function(e){return(t=e,n={},r=null==U?void 0:U.requestTimeout,o={"Content-Type":"application/json"},i=function(){return m({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():y(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){G={token:e,expAt:t};try{localStorage.setItem(X,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},Y=function(e){var t,n=function(){if(G)return G;try{var e=localStorage.getItem(X);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return G={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(Q||(Q=$(e).catch((function(e){throw e})).finally((function(){Q=null}))),Q)},V={timer:null,promise:null},Z={timer:null,promise:null},ee=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},te=function(){try{var e=localStorage.getItem(F);return e?JSON.parse(e):{}}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},ne=function(e){try{localStorage.setItem(F,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},re=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=l(l({},te()),e),n=Object.keys(t);if(n.length>50){var r={};return n.slice(0,50).forEach((function(e){r[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void ne(r)}ne(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},oe=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},ie=function(e){document.cookie="".concat(H,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},ae=function(){try{var e=localStorage.getItem(H);if(e)return oe(H)||ie(e),e;var t=oe(H);if(t){try{localStorage.setItem(H,t)}catch(e){}return t}e=O();try{localStorage.setItem(H,e)}catch(e){}return ie(e),e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ce="tengence_session_id",ue=function(){try{var e=sessionStorage.getItem(ce),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:O(),lastActiveAt:n},sessionStorage.setItem(ce,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ce,JSON.stringify(t))),t.id}catch(e){return}},le=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var i=[];try{for(var a=f(t),c=a.next();!c.done;c=a.next()){var u=c.value,l=o.searchParams.get(u);null!==l&&i.push("".concat(u,"=").concat(encodeURIComponent(l)))}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}o.search=i.length?"?".concat(i.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},se=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return se(e,t,n)}));if(e&&"object"==typeof e){var i={};try{for(var a=f(Object.keys(e)),c=a.next();!c.done;c=a.next()){var u=c.value,l=e[u];"string"==typeof l&&/(^|_)url$|href|^referrer$/i.test(u)&&/^https?:\/\//i.test(l)?i[u]=le(l,n):i[u]=se(l,t,n)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return i}return e},de=function(e){var t={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(z)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.13",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},n=null==U?void 0:U.sanitize;return l(l({session_id:e.session_id||((null==U?void 0:U.enableAutoSessionId)?ue():void 0),request_id:e.request_id,event_id:e.event_id||O(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:"string"==typeof e.event_detail?e.event_detail:JSON.stringify(n&&n.maxTextLength>0?se(e.event_detail,n.maxTextLength,n.preserveQueryKeys):e.event_detail)},t),{page_url:n&&n.stripQuery?le(t.page_url,n.preserveQueryKeys):t.page_url,device_id:ae(),register_properties:JSON.stringify(te()),platform:I})},fe=function(){try{return"true"===localStorage.getItem(K)}catch(e){return!1}},ve=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},pe=function(e,t){var n;try{null===(n=null==U?void 0:U.onDrop)||void 0===n||n.call(U,e,t)}catch(e){}},he=function(e,t,n){var r;(null==U?void 0:U.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==U?void 0:U.onError)||void 0===r||r.call(U,{code:e,message:t,context:n})}catch(e){}},me=function(){try{var e=localStorage.getItem(J);return null===e||"1"===e}catch(e){return!0}},ye=function(e){var t,n,r,o,i,a,c,u,v,p,m,y=e.apiKey,b=void 0,w=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);I=e.platform||(w?"h5":"web");var _=(U={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:ve(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:ve(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:ve(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:ve(e.maxCacheSize,57344,1024,1/0,"maxCacheSize"),maxRetries:ve(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:fe(),errorTraceRate:ve(e.errorTraceRate,.5,0,1,"errorTraceRate"),traceBehavior:null===(n=e.traceBehavior)||void 0===n||n,tracePerformance:null===(r=e.tracePerformance)||void 0===r||r,traceError:null===(o=e.traceError)||void 0===o||o,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(a=null===(i=e.sanitize)||void 0===i?void 0:i.stripQuery)&&void 0!==a&&a,maxTextLength:ve(null===(c=e.sanitize)||void 0===c?void 0:c.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(u=e.sanitize)||void 0===u?void 0:u.preserveQueryKeys)||[]},enableAutoSessionId:null!==(v=e.enableAutoSessionId)&&void 0!==v&&v,enableTracking:null!==(p=e.enableTracking)&&void 0!==p?p:me(),respectGpc:null===(m=e.respectGpc)||void 0===m||m,requestTimeout:ve(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,S=U.authUrl,E=U.realTimeUrl,k=U.cacheNumber,x=U.reportInterval,A=U.realTimeReportInterval,L=U.maxCacheSize,M=U.maxRetries;y||S||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),he("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var O={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},P={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},C=function(e){try{localStorage.setItem(z,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},j=function(){localStorage.removeItem(z)},R={},q={},H=new Set,F=null,Q=function(){null!==F&&(clearTimeout(F),F=null),H.size&&(H.forEach((function(e){try{localStorage.setItem(e,JSON.stringify(R[e]||[]))}catch(t){he("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),本次数据仅保留内存",{key:e,error:t})}})),H.clear())},$=function(e){if(R[e])return R[e];var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){he("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return R[e]=t,q[e]=t.reduce((function(e,t){return e+ee(t)}),0),R[e]},te=function(e,t){H.delete(e),R[e]=t,q[e]=t.reduce((function(e,t){return e+ee(t)}),0);try{localStorage.setItem(e,JSON.stringify(t))}catch(t){he("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){he("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},ne=function(e){b=e},oe=function(e,t,n){return void 0===n&&(n=!1),s(void 0,void 0,void 0,(function(){var r,o,i,a,c,u,l;return d(this,(function(f){switch(f.label){case 0:r=e&&E?E:_,f.label=1;case 1:return f.trys.push([1,6,,7]),(i=y||b)?[3,5]:S?[4,Y(S)]:[3,3];case 2:return a=f.sent(),[3,4];case 3:a=void 0,f.label=4;case 4:i=a,f.label=5;case 5:return o=i,[3,7];case 6:throw c=f.sent(),he("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S,error:c}),c;case 7:if(!o)throw he("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==U?void 0:U.isLogger)&&N(e?"RealTimeFetch":"Fetch",t),u=(null==U?void 0:U.beforeSend)?U.beforeSend(t):t,l=n||null==U?void 0:U.requestTimeout,[2,g(r,{data:u},o,l).catch((function(e){return s(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(o){switch(o.label){case 0:return t=null==e?void 0:e.status,e instanceof h||401===t||403===t?y||b||!S?[3,2]:(function(){G=null;try{localStorage.removeItem(X)}catch(e){}}(),[4,Y(S).catch((function(){}))]):[3,2];case 1:if(n=o.sent())return[2,g(r,{data:u},n,l)];he("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S}),o.label=2;case 2:throw e}}))}))}))]}}))}))},ie=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=$(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&te(e,o)}}},ae=function(e,t,n){void 0===n&&(n=0);var r=(t?A:x)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},ce=function(e,t){var n=ee(t);if(n>=64)return pe([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var r=$(e);if(r.unshift(t),q[e]+=n,r.length>W){var o=r.length-W,i=r.splice(r.length-o,r.length);q[e]=r.reduce((function(e,t){return e+ee(t)}),0),pe(i,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(W,"条),丢弃最旧 ").concat(o," 条"))}!function(e){H.add(e),null===F&&(F=setTimeout((function(){F=null,Q()}),200))}(e),ue(e,q[e]>=L)},ue=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==U?void 0:U.enableTracking){var r=$(e);if(r.length){var o=function(e){return e===D}(e),i=o?Z:V,a=function(e){return e?P:O}(o);if(a.halveBatch&&r.length>1&&(r=r.slice(0,Math.ceil(r.length/2))),!a.retryExhausted)if(Date.now()<a.nextRetryAt)null===i.timer&&(i.timer=setTimeout((function(){i.timer=null,ue(e)}),a.nextRetryAt-Date.now()));else if(0!==a.retryCount||(r.length>=k||t)){if(null!==i.timer&&(clearTimeout(i.timer),i.timer=null),i.promise)return;i.promise=function(e,t,n,r,o){return void 0===o&&(o=!1),s(void 0,void 0,void 0,(function(){var i,a,c,u,l,s,v,p,h,m,y,g,b,w,T,_,S,E;return d(this,(function(k){switch(k.label){case 0:i=[],a=[],c=0;try{for(u=f(t),l=u.next();!l.done;l=u.next())s=l.value,v=1024*ee(s),a.length&&c+v>65536&&(i.push(a),a=[],c=0),a.push(s),c+=v}catch(e){b={error:e}}finally{try{l&&!l.done&&(w=u.return)&&w.call(u)}finally{if(b)throw b.error}}a.length&&i.push(a),p=function(t){var r,i,a,c,u;return d(this,(function(l){switch(l.label){case 0:return[4,oe(n,t,o)];case 1:return r=l.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(ie(e,i),Array.isArray(a)&&a.length&&(c=new Set(a),ie(e,a),u=t.filter((function(e){return e.event_id&&c.has(e.event_id)})),u.length&&pe(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(ie(e,t.map((function(e){return e.event_id}))),(null==U?void 0:U.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},k.label=1;case 1:k.trys.push([1,6,7,8]),h=f(i),m=h.next(),k.label=2;case 2:return m.done?[3,5]:(y=m.value,[5,p(y)]);case 3:k.sent(),k.label=4;case 4:return m=h.next(),[3,2];case 5:return[3,8];case 6:return g=k.sent(),T={error:g},[3,8];case 7:try{m&&!m.done&&(_=h.return)&&_.call(h)}finally{if(T)throw T.error}return[7];case 8:return r.retryCount=0,r.nextRetryAt=0,r.halveBatch=!1,[2]}}))}))}(e,r,o,a,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&he("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&E?E:_,timeoutMs:null==U?void 0:U.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,pe(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>M)return r.retryExhausted=!0,pe(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(M,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+ae(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+ae(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,pe(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,o,a,r)})).finally((function(){i.timer=null,i.promise=null,ue(e)}))}else if(null===i.timer){var c=o?A:x;i.timer=setTimeout((function(){i.timer=null,ue(e,!0)}),c)}}}},le=function(e){var t;if(!(null==U?void 0:U.enableTracking)||(null==U?void 0:U.respectGpc)&&!0===(null==(t="undefined"!=typeof navigator?navigator:void 0)?void 0:t.globalPrivacyControl))(null==U?void 0:U.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false 或 GPC 信号开启),本事件忽略");else if(e&&"object"==typeof e){var n=!0===e.track_real_time,r=de(e);try{ce(n&&E?D:B,r)}catch(e){he("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: track data must be an object")},se=function(e,t,n){le("string"==typeof e?l({event_type:e,event_detail:t},n):e)},ye=function(){ue(B,!0),ue(D,!0);var e=[V.promise,Z.promise].filter((function(e){return!!e}));return Promise.all(e).then((function(){}))},ge=function(){U.isLogger=!0;try{localStorage.setItem(K,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},be=function(){U.isLogger=!1;try{localStorage.setItem(K,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};T((function(){ue(B,!0),ue(D,!0)}));var we=function(e){return"boolean"==typeof e&&(U.enableTracking=e,function(e){try{localStorage.setItem(J,e?"1":"0")}catch(e){}}(e),e?(null==U?void 0:U.isLogger)&&console.warn("[TM]: 恢复采集"):(te(B,[]),te(D,[]),(null==U?void 0:U.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列"))),!0===(null==U?void 0:U.enableTracking)};return window.trackMonitor={track:se,flush:ye,bindUser:C,unBindUser:j,enableLogger:ge,disableLogger:be,setToken:ne,registerGlobalProperties:re,enableTracking:we},{client:{track:se,flush:ye,bindUser:C,unBindUser:j,enableLogger:ge,disableLogger:be,setToken:ne,registerGlobalProperties:re,enableTracking:we},beforeClose:function(){var e=function(){Q(),ue(B,!0,!0),ue(D,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},ge=M(16)(),be=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},we=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},Te=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},_e=[25,50,75,90],Se=function(e){var t,n,r;history.pushState=be("pushState"),history.replaceState=be("replaceState"),t="",r=_(n=function(){var e=window.location.href;if(e!==t){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:k()};window.trackMonitor.track({data_type:"common",event_type:"page_view",event_detail:r}),t=e}},200),n(),Te((function(){r()})),we((function(){r()})),window.addEventListener("popstate",(function(){r()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.track({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=_(o);o(),Te((function(){i()})),we((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),function(){var e=S((function(e){var t,n=function(e){if(e)return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:E(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.track({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)}(),!1!==(null==e?void 0:e.enableScroll)&&function(){var e=new Set,t=S((function(){var n=document.documentElement,r=n.scrollHeight-n.clientHeight;if(!(r<=0)){var o=Math.round((window.scrollY||n.scrollTop)/r*100),i=_e.filter((function(t){return o>=t&&!e.has(t)}));i.length&&(i.forEach((function(t){e.add(t),window.trackMonitor.track({data_type:"common",event_type:"scroll",event_detail:{scroll_depth:t}})})),e.has(90)&&window.removeEventListener("scroll",t))}}),300);window.addEventListener("scroll",t,{passive:!0})}()},Ee=null,ke=null,xe="track-expose",Ae="track-view",Le=function(e){try{ke=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==ke?void 0:ke.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==ke||ke.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==Ee||Ee.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==ke?void 0:ke.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,u=t.hasAttribute("track-real-time"),l=t.hasAttribute(Ae),s=t.hasAttribute(xe);l&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:u}),t.removeAttribute(Ae),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(l&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:u}),t.removeAttribute(Ae),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:u}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==ke?void 0:ke.get(e);t&&(null==Ee||Ee.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==ke||ke.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==ke?void 0:ke.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(Ae)||t.hasAttribute(xe)||r(t)))}))};Ee=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(p(p([],v(document.querySelectorAll("[".concat(xe,"]"))),!1),v(document.querySelectorAll("[".concat(Ae,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(xe)||n.hasAttribute(Ae)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==xe&&o!==Ae||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(xe)||e.hasAttribute(Ae)?t(e):new Set(p(p([],v(e.querySelectorAll("[".concat(xe,"]"))),!1),v(e.querySelectorAll("[".concat(Ae,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==ke?void 0:ke.get(e))?r(e):new Set(p(p([],v(e.querySelectorAll("[".concat(xe,"]"))),!1),v(e.querySelectorAll("[".concat(Ae,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},Me=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Oe(e){var t=e.match(Me);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Pe(e){var t,n,r,o,i;try{var a=e.stack;if(!a)return[];var c=[];try{for(var u=f(a.split("\n").slice(1)),l=u.next();!l.done;l=u.next()){var s=Oe(l.value);!s||(null===(r=s.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=s.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(i=s.filename)||void 0===i?void 0:i.includes("<anonymous>"))||c.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return c.slice(0,10)}catch(e){return[]}}var Ce=new Set,Ie=function(e,t){var n,r;if((r=null!==(n=null==U?void 0:U.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.track(t),Ce.size>=1e3){var o=Ce.values().next().value;void 0!==o&&Ce.delete(o)}Ce.add(e)}},je=function(){window.addEventListener("error",(function(e){!function(e){var t;if(e instanceof ErrorEvent&&"Script error."===e.message){var n=C("js-Script error.");if(Ce.has(n))return;Ie(n,{data_type:"error",event_type:"js",event_detail:{traceId:ge,msg:'Script error.(跨域脚本未加载 crossorigin 属性,无法获取堆栈;建议脚本加 crossorigin="anonymous")',target:"",stack:[],errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno,crossorigin_missing:!0}}})}else if("js"===P(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var r=C("js-".concat(e.message,"-").concat(e.filename));if(!Ce.has(r)){var o=Pe(e.error),i={traceId:ge,msg:e.message,target:o[0]?"".concat(null===(t=o[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(o[0].lineno,":").concat(o[0].colno):"",stack:o,errorUuid:r,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};Ie(r,{data_type:"error",event_type:"js",event_detail:i})}}}(e)}),!0)},Re=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===P(e)){var n=e.target,r=C("resource-".concat(n.src,"-").concat(n.tagName));if(!Ce.has(r)){var o={traceId:ge,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};Ie(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},qe=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=C("".concat("unhandledrejection","-").concat(n));if(!Ce.has(r)){var o={traceId:ge,msg:n,stack:Pe(e.reason),errorUuid:r};Ie(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},Ne=function(){var e=function(e,t,n){if(t){var r=C("http-".concat(t,"-").concat(e.url,"-").concat(n));if(Ce.has(r))return;var o={traceId:ge,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:r,request:e};Ie(r,{data_type:"error",event_type:"http",event_detail:o})}else if(e.status>=400){var i=e.statusText;r=C("http-".concat(t="http_error","-").concat(e.url,"-").concat(i));if(Ce.has(r))return;o={traceId:ge,errorUuid:r,errorType:t,target:e.url.split("?")[0],msg:i,request:e};Ie(r,{data_type:"error",event_type:"http",event_detail:o})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var n=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=n),window.XMLHttpRequest=function(){var e=new n,r=e.open,o=e.send,i={};e.open=function(t,n,o,a,c){void 0===o&&(o=!0),i.method=t,i.url=n,r.call(e,t,n,o,a,c)},e.send=function(t){i.requestTime=(new Date).getTime(),o.call(e,t)};var a=function(n,r){var o=e.status,a=e.statusText,c=(new Date).getTime();i=l(l({},i),{status:o,statusText:a,responseTime:c,duration:c-i.requestTime}),"function"==typeof t&&t(i,n,r)};return e.addEventListener("loadend",(function(){return a()})),e.addEventListener("error",(function(){return a("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return a("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return a("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var n=window.fetch;window.oFetch||(window.oFetch=n),window.fetch=function(e,r){return s(void 0,void 0,void 0,(function(){var o;return d(this,(function(i){return(o={}).method=(null==r?void 0:r.method)||"",o.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",o.requestTime=(new Date).getTime(),[2,n.call(window,e,r).then((function(e){return s(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return"function"==typeof t&&(n=e.clone(),r=(new Date).getTime(),o=l(l({},o),{status:n.status,statusText:n.statusText,responseTime:r,duration:r-o.requestTime}),t(o)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var n=(new Date).getTime();o=l(l({},o),{responseTime:n,duration:n-o.requestTime}),"AbortError"===e.name?t(o,"cannel_request","ERR_CANCELED"):t(o,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var Ue=new WeakSet,Be=function(e){return{form_id:e.id||null,form_class:"string"==typeof e.className?e.className:null,form_name:e.getAttribute("name")||null,form_action:e.getAttribute("action")||null,form_text:(e.textContent||"").trim().slice(0,200)||null}},De=-1,ze=function(e){addEventListener("pageshow",(function(t){t.persisted&&(De=t.timeStamp,e(t))}),!0)},He=function(e,t,n,r){var o,i;return function(a){t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t)))}},Fe=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},Ke=function(){var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Je=function(){var e,t=Ke();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},We=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=Ke(),r="navigate";return De>=0?r="back-forward-cache":n&&(document.prerendering||Je()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},Xe=new WeakMap;function Ge(e,t){return Xe.get(e)||Xe.set(e,new t),Xe.get(e)}var Qe,$e=function(){return r((function e(){n(this,e),i(this,"t",void 0),i(this,"i",0),i(this,"o",[])}),[{key:"h",value:function(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}])}(),Ye=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Ve=function(e){var t=!1;return function(){t||(e(),t=!0)}},Ze=-1,et=new Set,tt=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},nt=function(e){if("hidden"===document.visibilityState){if("visibilitychange"===e.type){var t,n=o(et);try{for(n.s();!(t=n.n()).done;){(0,t.value)()}}catch(e){n.e(e)}finally{n.f()}}isFinite(Ze)||(Ze="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",nt,!0))}},rt=function(){if(Ze<0){var e,t=Je(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((function(e){return"hidden"===e.name&&e.startTime>t}))[0])||void 0===e?void 0:e.startTime;Ze=null!=n?n:tt(),addEventListener("visibilitychange",nt,!0),addEventListener("prerenderingchange",nt,!0),ze((function(){setTimeout((function(){Ze=tt()}))}))}return{get firstHiddenTime(){return Ze},onHidden:function(e){et.add(e)}}},ot=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},it=[1800,3e3],at=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ot((function(){var n,r=rt(),i=We("FCP"),a=Ye("paint",(function(e){var t,c=o(e);try{for(c.s();!(t=c.n()).done;){var u=t.value;"first-contentful-paint"===u.name&&(a.disconnect(),u.startTime<r.firstHiddenTime&&(i.value=Math.max(u.startTime-Je(),0),i.entries.push(u),n(!0)))}}catch(e){c.e(e)}finally{c.f()}}));a&&(n=He(e,i,it,t.reportAllChanges),ze((function(r){i=We("FCP"),n=He(e,i,it,t.reportAllChanges),Fe((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))},ct=[.1,.25],ut=0,lt=1/0,st=0,dt=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.interactionId&&(lt=Math.min(lt,r.interactionId),st=Math.max(st,r.interactionId),ut=st?(st-lt)/7+1:0)}}catch(e){n.e(e)}finally{n.f()}},ft=function(){var e;return Qe?ut:null!==(e=performance.interactionCount)&&void 0!==e?e:0},vt=0,pt=function(){return r((function e(){n(this,e),i(this,"u",[]),i(this,"l",new Map),i(this,"m",void 0),i(this,"p",void 0)}),[{key:"v",value:function(){vt=ft(),this.u.length=0,this.l.clear()}},{key:"L",value:function(){var e=Math.min(this.u.length-1,Math.floor((ft()-vt)/50));return this.u[e]}},{key:"h",value:function(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var i;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort((function(e,t){return t.P-e.P})),this.u.length>10){var a,c=o(this.u.splice(10));try{for(c.s();!(a=c.n()).done;){var u=a.value;this.l.delete(u.id)}}catch(e){c.e(e)}finally{c.f()}}null===(i=this.p)||void 0===i||i.call(this,r)}}}}])}(),ht=function(e){var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Ve(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((function(){e(),removeEventListener("visibilitychange",e,{capture:!0})})))},mt=[200,500],yt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=rt();ot((function(){var r;"interactionCount"in performance||Qe||(Qe=Ye("event",dt,{type:"event",buffered:!0,durationThreshold:0}));var i,a=We("INP"),c=Ge(t,pt),u=function(e){ht((function(){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;c.h(r)}}catch(e){n.e(e)}finally{n.f()}var u=c.L();u&&u.P!==a.value&&(a.value=u.P,a.entries=u.entries,i())}))},l=Ye("event",u,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});i=He(e,a,mt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((function(){u(l.takeRecords()),i(!0)})),ze((function(){c.v(),a=We("INP"),i=He(e,a,mt,t.reportAllChanges)})))}))}},gt=function(){return r((function e(){n(this,e),i(this,"m",void 0)}),[{key:"h",value:function(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}])}(),bt=[2500,4e3],wt=[800,1800],Tt=function(e){document.prerendering?ot((function(){return Tt(e)})):"complete"!==document.readyState?addEventListener("load",(function(){return Tt(e)}),!0):setTimeout(e)};function _t(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ot((function(){var n,r=rt(),i=We("LCP"),a=Ge(t,gt),c=function(e){t.reportAllChanges||(e=e.slice(-1));var c,u=o(e);try{for(u.s();!(c=u.n()).done;){var l=c.value;a.h(l),l.startTime<r.firstHiddenTime&&(i.value=Math.max(l.startTime-Je(),0),i.entries=[l],n())}}catch(e){u.e(e)}finally{u.f()}},u=Ye("largest-contentful-paint",c);if(u){n=He(e,i,bt,t.reportAllChanges);for(var l=Ve((function(){c(u.takeRecords()),u.disconnect(),n(!0)})),s=function(e){e.isTrusted&&(ht(l),removeEventListener(e.type,s,{capture:!0}))},d=0,f=["keydown","click","visibilitychange"];d<f.length;d++)addEventListener(f[d],s,{capture:!0});ze((function(r){i=We("LCP"),n=He(e,i,bt,t.reportAllChanges),Fe((function(){i.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=A(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=rt();at(Ve((function(){var r,i=We("CLS",0),a=Ge(t,$e),c=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var c=t.value;a.h(c)}}catch(e){n.e(e)}finally{n.f()}a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},u=Ye("layout-shift",c);u&&(r=He(e,i,ct,t.reportAllChanges),n.onHidden((function(){c(u.takeRecords()),r(!0)})),ze((function(){a.i=0,i=We("CLS",0),r=He(e,i,ct,t.reportAllChanges),Fe((function(){return r()}))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),yt((function(t){e.inp=A(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=We("TTFB"),r=He(e,n,wt,t.reportAllChanges);Tt((function(){var o=Ke();o&&(n.value=Math.max(o.responseStart-Je(),0),n.entries=[o],r(!0),ze((function(){n=We("TTFB",0),(r=He(e,n,wt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=A(t.value)})),at((function(t){e.fcp=A(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=A(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=A(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=A(i-c)),a>0&&c>0&&(e.loadTime=A(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.track({data_type:"performance",event_type:"metrics",event_detail:{traceId:ge,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var St="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[St])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t,n=ye(e),r=n.client,o=n.beforeClose;return Le(r.track),!1!==e.traceBehavior&&Se({enableScroll:e.enableScroll}),!1!==e.enableFormTrack&&(t=r.track,document.addEventListener("focusin",(function(e){var n=e.target;if((r=n)&&("INPUT"===r.tagName||"SELECT"===r.tagName||"TEXTAREA"===r.tagName)){var r,o=n.closest("form");o&&!Ue.has(o)&&(Ue.add(o),t({data_type:"common",event_type:"form_start",event_detail:Be(o)}))}}),!0),document.addEventListener("submit",(function(e){var n=e.target;if(n&&"FORM"===n.tagName){var r=e.submitter;t({data_type:"common",event_type:"form_submit",event_detail:l(l({},Be(n)),{submitter_id:(null==r?void 0:r.id)||null,submitter_text:((null==r?void 0:r.textContent)||"").trim().slice(0,200)||null})})}}),!0)),!1!==e.traceError&&(je(),Re(),qe(),Ne()),!1!==e.tracePerformance&&x((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&i.getEntriesByType("navigation")&&i.getEntriesByType("navigation")[0],c=null;if(a)c=a;else{var u=i.timing;u&&!(c={startTime:0,domainLookupStart:u.domainLookupStart,domainLookupEnd:u.domainLookupEnd,connectStart:u.connectStart,connectEnd:u.connectEnd,requestStart:u.requestStart,responseStart:u.responseStart,responseEnd:u.responseEnd,domInteractive:u.domInteractive,domComplete:u.domComplete,loadEventEnd:u.loadEventEnd,fetchStart:u.fetchStart}).requestStart&&u.fetchStart&&(c.requestStart=u.fetchStart)}var l={dnsLookupTime:c?A(c.domainLookupEnd-c.domainLookupStart):null,tcpConnectTime:c?A(c.connectEnd-c.connectStart):null,ttfb:c?A(c.responseStart-(null!==(t=null!==(e=c.requestStart)&&void 0!==e?e:c.fetchStart)&&void 0!==t?t:0)):null,transferTime:c?A(c.responseEnd-c.responseStart):null,domParseTime:c?A(c.domInteractive-c.responseEnd):null,domCompleteTime:c?A(c.domComplete-c.domInteractive):null,loadEventTime:c?A(c.loadEventEnd-(null!==(n=c.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:c?A((null!==(r=c.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=c.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.track({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:ge,data:l}})}(),function(){var e=window.performance||window.msPerformance;if(!e)return[];var t=[];if(e.getEntriesByType){var n=(e.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?A(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?A(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?A(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?A(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?A(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?A(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?A(e.duration):null,u="number"==typeof e.startTime?A(e.startTime):null,l="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:u,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:l,encodedBodySize:s,decodedBodySize:d}}));n.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));for(var r=0;r<Math.min(15,n.length);r++)t.push(n[r])}window.trackMonitor.track({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:ge,data:t}})}(),_t()})),x((function(){o()})),window.trackMonitor[St]=!0,window.trackMonitor}}));
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==r.return||r.return()}finally{if(u)throw a}}}}function i(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var u=function(e,t){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},u(e,t)};var l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function p(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var m=function(e){function t(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),h=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,u=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),u&&(a.timeout=u),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},y=function(e,t,n){if(!n)return fetch(e,t);var r=new AbortController,o=setTimeout((function(){return r.abort()}),n);return fetch(e,l(l({},t),{signal:r.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(o)}))},g=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return h({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():y(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new m(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof m)throw e;if(e&&e.status)throw e;return i()}))},w=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function T(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}var b=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}};function _(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):_(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var S=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},E=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return E(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return E(e)}),!0):setTimeout(e)};function k(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var x=Array(32);function A(e){return function(){for(var t=0;t<2*e;t++)x[t]=Math.floor(16*Math.random())+48,x[t]>=58&&(x[t]+=39);return String.fromCharCode.apply(null,x.slice(0,2*e))}}function M(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():A(16)()}var L=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},C=function(e){return function(e){for(var t=5381,n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(16).padStart(8,"0")}(e)};var I,O,R={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},P={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},q={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},N=function(e,t){t.forEach((function(t,n){var r=t.event_type||"unknown",o=t.data_type||"common",i=function(e){return R[e]||R.default}(r),a=function(e){return q[e]||q.default}(o),c=function(e){return P[e]||P.default}(r),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(c," [TM-").concat(e,"] %c").concat(o.toUpperCase(),"%c → %c").concat(r.toUpperCase(),"%c #").concat(n+1),"color: #6b7280; font-weight: bold;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(i,"; font-weight: bold; background: ").concat(i,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=l(l({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},j=void 0,U="TRACK_MONITOR_DATA",D="MONITOR_REAL_TIME_DATA",B="TRACK_MONITOR_USER",z="tengence_device_id",H="tengence_register_properties",F="TRACK_MONITOR_LOGGER",K="tengence_tracking_enabled",J=2e3,W="tengence_access_token",X=null,G=null,Q=function(e){return(t=e,n={},r=null==j?void 0:j.requestTimeout,o={"Content-Type":"application/json"},i=function(){return h({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():y(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){X={token:e,expAt:t};try{localStorage.setItem(W,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},$=function(e){var t,n=function(){if(X)return X;try{var e=localStorage.getItem(W);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return X={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(G||(G=Q(e).catch((function(e){throw e})).finally((function(){G=null}))),G)},Y={timer:null,promise:null},V={timer:null,promise:null},Z=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},ee=function(){try{var e=localStorage.getItem(H);return e?JSON.parse(e):{}}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},te=function(e){try{localStorage.setItem(H,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},ne=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=l(l({},ee()),e),n=Object.keys(t);if(n.length>50){var r={};return n.slice(0,50).forEach((function(e){r[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void te(r)}te(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},re=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},oe=function(e){document.cookie="".concat(z,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},ie=function(){if(I)return I;try{var e=localStorage.getItem(z);if(e)return re(z)||oe(e),I=e;var t=re(z);if(t){try{localStorage.setItem(z,t)}catch(e){}return I=t}e=M();try{localStorage.setItem(z,e)}catch(e){}return oe(e),I=e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ae="tengence_session_id",ce=function(){try{var e=sessionStorage.getItem(ae),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:M(),lastActiveAt:n},sessionStorage.setItem(ae,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ae,JSON.stringify(t))),t.id}catch(e){return}},ue=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var i=[];try{for(var a=f(t),c=a.next();!c.done;c=a.next()){var u=c.value,l=o.searchParams.get(u);null!==l&&i.push("".concat(u,"=").concat(encodeURIComponent(l)))}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}o.search=i.length?"?".concat(i.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},le=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return le(e,t,n)}));if(e&&"object"==typeof e){var i={};try{for(var a=f(Object.keys(e)),c=a.next();!c.done;c=a.next()){var u=c.value,l=e[u];"string"==typeof l&&/(^|_)url$|href|^referrer$/i.test(u)&&/^https?:\/\//i.test(l)?i[u]=ue(l,n):i[u]=le(l,t,n)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return i}return e},se=function(e){var t={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(B)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.14",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},n=null==j?void 0:j.sanitize;return l(l({session_id:e.session_id||((null==j?void 0:j.enableAutoSessionId)?ce():void 0),request_id:e.request_id,event_id:e.event_id||M(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:"string"==typeof e.event_detail?e.event_detail:JSON.stringify(n&&(n.maxTextLength>0||n.stripQuery)?le(e.event_detail,n.maxTextLength,n.preserveQueryKeys):e.event_detail)},t),{page_url:n&&n.stripQuery?ue(t.page_url,n.preserveQueryKeys):t.page_url,device_id:ie(),register_properties:JSON.stringify(ee()),platform:e.platform||O})},de=function(){try{return"true"===localStorage.getItem(F)}catch(e){return!1}},fe=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},ve=function(e,t){var n;try{null===(n=null==j?void 0:j.onDrop)||void 0===n||n.call(j,e,t)}catch(e){}},pe=function(e,t,n){var r;(null==j?void 0:j.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==j?void 0:j.onError)||void 0===r||r.call(j,{code:e,message:t,context:n})}catch(e){}},me=function(){try{var e=localStorage.getItem(K);return null===e||"1"===e}catch(e){return!0}},he=function(e){var t,n,r,o,i,a,c,u,v,p,h,y=e.apiKey,T=void 0,b=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);O=e.platform||(b?"h5":"web");var _=(j={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:fe(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:fe(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:fe(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:fe(e.maxCacheSize,56,1,1/0,"maxCacheSize"),maxRetries:fe(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:de(),errorTraceRate:fe(e.errorTraceRate,.5,0,1,"errorTraceRate"),traceBehavior:null===(n=e.traceBehavior)||void 0===n||n,tracePerformance:null===(r=e.tracePerformance)||void 0===r||r,traceError:null===(o=e.traceError)||void 0===o||o,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(a=null===(i=e.sanitize)||void 0===i?void 0:i.stripQuery)&&void 0!==a&&a,maxTextLength:fe(null===(c=e.sanitize)||void 0===c?void 0:c.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(u=e.sanitize)||void 0===u?void 0:u.preserveQueryKeys)||[]},enableAutoSessionId:null!==(v=e.enableAutoSessionId)&&void 0!==v&&v,enableTracking:null!==(p=e.enableTracking)&&void 0!==p?p:me(),respectGpc:null===(h=e.respectGpc)||void 0===h||h,requestTimeout:fe(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,S=j.authUrl,E=j.realTimeUrl,k=j.cacheNumber,x=j.reportInterval,A=j.realTimeReportInterval,M=j.maxCacheSize,L=j.maxRetries;y||S||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),pe("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var C={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},I={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},R=function(e){try{localStorage.setItem(B,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},P=function(){localStorage.removeItem(B)},q={},z={},H=new Set,G=null,Q=function(){null!==G&&(clearTimeout(G),G=null),H.size&&(H.forEach((function(e){try{localStorage.setItem(e,JSON.stringify(q[e]||[]))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),本次数据仅保留内存",{key:e,error:t})}})),H.clear())},ee=function(e){if(q[e])return q[e];var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){pe("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return q[e]=t,z[e]=t.reduce((function(e,t){return e+Z(t)}),0),q[e]},te=function(e,t){H.delete(e),q[e]=t,z[e]=t.reduce((function(e,t){return e+Z(t)}),0);try{localStorage.setItem(e,JSON.stringify(t))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){pe("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},re=function(e){T=e},oe=function(e,t,n){return void 0===n&&(n=!1),s(void 0,void 0,void 0,(function(){var r,o,i,a,c,u,l;return d(this,(function(f){switch(f.label){case 0:r=e&&E?E:_,f.label=1;case 1:return f.trys.push([1,6,,7]),(i=y||T)?[3,5]:S?[4,$(S)]:[3,3];case 2:return a=f.sent(),[3,4];case 3:a=void 0,f.label=4;case 4:i=a,f.label=5;case 5:return o=i,[3,7];case 6:throw c=f.sent(),pe("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S,error:c}),c;case 7:if(!o)throw pe("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==j?void 0:j.isLogger)&&N(e?"RealTimeFetch":"Fetch",t),u=(null==j?void 0:j.beforeSend)?j.beforeSend(t):t,l=n||null==j?void 0:j.requestTimeout,[2,g(r,{data:u},o,l).catch((function(e){return s(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(o){switch(o.label){case 0:return t=null==e?void 0:e.status,e instanceof m||401===t||403===t?y||T||!S?[3,2]:(function(){X=null;try{localStorage.removeItem(W)}catch(e){}}(),[4,$(S).catch((function(){}))]):[3,2];case 1:if(n=o.sent())return[2,g(r,{data:u},n,l)];pe("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S}),o.label=2;case 2:throw e}}))}))}))]}}))}))},ie=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=ee(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&te(e,o)}}},ae=function(e,t,n){void 0===n&&(n=0);var r=(t?A:x)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},ce=function(e,t){var n=Z(t);if(n>=64)return ve([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var r=ee(e);if(r.unshift(t),z[e]+=n,r.length>J){var o=r.length-J,i=r.splice(r.length-o,r.length);z[e]=r.reduce((function(e,t){return e+Z(t)}),0),ve(i,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(J,"条),丢弃最旧 ").concat(o," 条"))}!function(e){H.add(e),null===G&&(G=setTimeout((function(){G=null,Q()}),200))}(e),ue(e,z[e]>=M)},ue=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==j?void 0:j.enableTracking){var r=ee(e);if(r.length){var o=function(e){return e===D}(e),i=o?V:Y,a=function(e){return e?I:C}(o);if(a.halveBatch&&r.length>1&&(r=r.slice(0,Math.ceil(r.length/2))),!a.retryExhausted)if(Date.now()<a.nextRetryAt)null===i.timer&&(i.timer=setTimeout((function(){i.timer=null,ue(e)}),a.nextRetryAt-Date.now()));else if(0!==a.retryCount||(r.length>=k||t)){if(null!==i.timer&&(clearTimeout(i.timer),i.timer=null),i.promise)return;i.promise=function(e,t,n,r,o){return void 0===o&&(o=!1),s(void 0,void 0,void 0,(function(){var i,a,c,u,l,s,v,p,m,h,y,g,w,T,b,_,S,E;return d(this,(function(k){switch(k.label){case 0:i=[],a=[],c=0;try{for(u=f(t),l=u.next();!l.done;l=u.next())s=l.value,v=1024*Z(s),a.length&&c+v>65536&&(i.push(a),a=[],c=0),a.push(s),c+=v}catch(e){w={error:e}}finally{try{l&&!l.done&&(T=u.return)&&T.call(u)}finally{if(w)throw w.error}}a.length&&i.push(a),p=function(t){var r,i,a,c,u;return d(this,(function(l){switch(l.label){case 0:return[4,oe(n,t,o)];case 1:return r=l.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(ie(e,i),Array.isArray(a)&&a.length&&(c=new Set(a),ie(e,a),u=t.filter((function(e){return e.event_id&&c.has(e.event_id)})),u.length&&ve(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(ie(e,t.map((function(e){return e.event_id}))),(null==j?void 0:j.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},k.label=1;case 1:k.trys.push([1,6,7,8]),m=f(i),h=m.next(),k.label=2;case 2:return h.done?[3,5]:(y=h.value,[5,p(y)]);case 3:k.sent(),k.label=4;case 4:return h=m.next(),[3,2];case 5:return[3,8];case 6:return g=k.sent(),b={error:g},[3,8];case 7:try{h&&!h.done&&(_=m.return)&&_.call(m)}finally{if(b)throw b.error}return[7];case 8:return r.retryCount=0,r.nextRetryAt=0,r.halveBatch=!1,[2]}}))}))}(e,r,o,a,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&pe("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&E?E:_,timeoutMs:null==j?void 0:j.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,ve(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>L)return r.retryExhausted=!0,ve(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(L,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+ae(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+ae(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,ve(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,o,a,r)})).finally((function(){i.timer=null,i.promise=null,ue(e)}))}else if(null===i.timer){var c=o?A:x;i.timer=setTimeout((function(){i.timer=null,ue(e,!0)}),c)}}}},le=function(e){var t;if(!(null==j?void 0:j.enableTracking)||(null==j?void 0:j.respectGpc)&&!0===(null==(t="undefined"!=typeof navigator?navigator:void 0)?void 0:t.globalPrivacyControl))(null==j?void 0:j.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false 或 GPC 信号开启),本事件忽略");else if(e&&"object"==typeof e){var n=!0===e.track_real_time,r=se(e);try{ce(n&&E?D:U,r)}catch(e){pe("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: track data must be an object")},he=function(e,t,n){le("string"==typeof e?l({event_type:e,event_detail:t},n):e)},ye=function(){ue(U,!0),ue(D,!0);var e=[Y.promise,V.promise].filter((function(e){return!!e}));return Promise.all(e).then((function(){}))},ge=function(){j.isLogger=!0;try{localStorage.setItem(F,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},we=function(){j.isLogger=!1;try{localStorage.setItem(F,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};w((function(){ue(U,!0),ue(D,!0)}));var Te=function(e){return"boolean"==typeof e&&(j.enableTracking=e,function(e){try{localStorage.setItem(K,e?"1":"0")}catch(e){}}(e),e?(null==j?void 0:j.isLogger)&&console.warn("[TM]: 恢复采集"):(te(U,[]),te(D,[]),(null==j?void 0:j.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列"))),!0===(null==j?void 0:j.enableTracking)};return window.trackMonitor={track:he,flush:ye,bindUser:R,unBindUser:P,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:ne,enableTracking:Te},{client:{track:he,flush:ye,bindUser:R,unBindUser:P,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:ne,enableTracking:Te},beforeClose:function(){var e=function(){Q(),ue(U,!0,!0),ue(D,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},ye=A(16)(),ge=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},we=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},Te=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},be=[25,50,75,90],_e=function(e){var t,n,r;history.pushState=ge("pushState"),history.replaceState=ge("replaceState"),t="",r=T(n=function(){var e=window.location.href;if(e!==t){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:S()};window.trackMonitor.track({data_type:"common",event_type:"page_view",event_detail:r}),t=e}},200),n(),Te((function(){r()})),we((function(){r()})),window.addEventListener("popstate",(function(){r()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.track({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=T(o);o(),Te((function(){i()})),we((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),function(){var e=b((function(e){var t,n=function(e){if(e)return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:_(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.track({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)}(),!1!==(null==e?void 0:e.enableScroll)&&function(){var e=new Set,t=b((function(){var n=document.documentElement,r=n.scrollHeight-n.clientHeight;if(!(r<=0)){var o=Math.round((window.scrollY||n.scrollTop)/r*100),i=be.filter((function(t){return o>=t&&!e.has(t)}));i.length&&(i.forEach((function(t){e.add(t),window.trackMonitor.track({data_type:"common",event_type:"scroll",event_detail:{scroll_depth:t}})})),e.has(90)&&window.removeEventListener("scroll",t))}}),300);window.addEventListener("scroll",t,{passive:!0})}()},Se=null,Ee=null,ke="track-expose",xe="track-view",Ae=function(e){try{Ee=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==Ee?void 0:Ee.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==Ee||Ee.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==Se||Se.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==Ee?void 0:Ee.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,u=t.hasAttribute("track-real-time"),l=t.hasAttribute(xe),s=t.hasAttribute(ke);l&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:u}),t.removeAttribute(xe),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(l&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:u}),t.removeAttribute(xe),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:u}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==Ee?void 0:Ee.get(e);t&&(null==Se||Se.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==Ee||Ee.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==Ee?void 0:Ee.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(xe)||t.hasAttribute(ke)||r(t)))}))};Se=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(p(p([],v(document.querySelectorAll("[".concat(ke,"]"))),!1),v(document.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(ke)||n.hasAttribute(xe)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==ke&&o!==xe||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(ke)||e.hasAttribute(xe)?t(e):new Set(p(p([],v(e.querySelectorAll("[".concat(ke,"]"))),!1),v(e.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==Ee?void 0:Ee.get(e))?r(e):new Set(p(p([],v(e.querySelectorAll("[".concat(ke,"]"))),!1),v(e.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},Me=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Le(e){var t=e.match(Me);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Ce(e){var t,n,r,o,i;try{var a=e.stack;if(!a)return[];var c=[];try{for(var u=f(a.split("\n").slice(1)),l=u.next();!l.done;l=u.next()){var s=Le(l.value);!s||(null===(r=s.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=s.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(i=s.filename)||void 0===i?void 0:i.includes("<anonymous>"))||c.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return c.slice(0,10)}catch(e){return[]}}var Ie=new Set,Oe=function(e,t){var n,r;if((r=null!==(n=null==j?void 0:j.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.track(t),Ie.size>=1e3){var o=Ie.values().next().value;void 0!==o&&Ie.delete(o)}Ie.add(e)}},Re=function(){window.addEventListener("error",(function(e){!function(e){var t;if(e instanceof ErrorEvent&&"Script error."===e.message){var n=C("js-Script error.");if(Ie.has(n))return;Oe(n,{data_type:"error",event_type:"js",event_detail:{traceId:ye,msg:'Script error.(跨域脚本未加载 crossorigin 属性,无法获取堆栈;建议脚本加 crossorigin="anonymous")',target:"",stack:[],errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno,crossorigin_missing:!0}}})}else if("js"===L(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var r=C("js-".concat(e.message,"-").concat(e.filename));if(!Ie.has(r)){var o=Ce(e.error),i={traceId:ye,msg:e.message,target:o[0]?"".concat(null===(t=o[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(o[0].lineno,":").concat(o[0].colno):"",stack:o,errorUuid:r,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};Oe(r,{data_type:"error",event_type:"js",event_detail:i})}}}(e)}),!0)},Pe=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===L(e)){var n=e.target,r=C("resource-".concat(n.src,"-").concat(n.tagName));if(!Ie.has(r)){var o={traceId:ye,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};Oe(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},qe=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=C("".concat("unhandledrejection","-").concat(n));if(!Ie.has(r)){var o={traceId:ye,msg:n,stack:Ce(e.reason),errorUuid:r};Oe(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},Ne=function(){var e=function(e,t,n){var r;if("string"!=typeof(r=e.url)||![null==j?void 0:j.pushUrl,null==j?void 0:j.authUrl,null==j?void 0:j.realTimeUrl].filter((function(e){return!!e})).some((function(e){return 0===r.indexOf(e)})))if(t){var o=C("http-".concat(t,"-").concat(e.url,"-").concat(n));if(Ie.has(o))return;var i={traceId:ye,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:o,request:e};Oe(o,{data_type:"error",event_type:"http",event_detail:i})}else if(e.status>=400){var a=e.statusText;o=C("http-".concat(t="http_error","-").concat(e.url,"-").concat(a));if(Ie.has(o))return;i={traceId:ye,errorUuid:o,errorType:t,target:e.url.split("?")[0],msg:a,request:e};Oe(o,{data_type:"error",event_type:"http",event_detail:i})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var n=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=n),window.XMLHttpRequest=function(){var e=new n,r=e.open,o=e.send,i={};e.open=function(t,n,o,a,c){void 0===o&&(o=!0),i.method=t,i.url=n,r.call(e,t,n,o,a,c)},e.send=function(t){i.requestTime=(new Date).getTime(),o.call(e,t)};var a=function(n,r){var o=e.status,a=e.statusText,c=(new Date).getTime();i=l(l({},i),{status:o,statusText:a,responseTime:c,duration:c-i.requestTime}),"function"==typeof t&&t(i,n,r)};return e.addEventListener("loadend",(function(){return a()})),e.addEventListener("error",(function(){return a("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return a("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return a("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var n=window.fetch;window.oFetch||(window.oFetch=n),window.fetch=function(e,r){return s(void 0,void 0,void 0,(function(){var o;return d(this,(function(i){return(o={}).method=(null==r?void 0:r.method)||"",o.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",o.requestTime=(new Date).getTime(),[2,n.call(window,e,r).then((function(e){return s(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return"function"==typeof t&&(n=e.clone(),r=(new Date).getTime(),o=l(l({},o),{status:n.status,statusText:n.statusText,responseTime:r,duration:r-o.requestTime}),t(o)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var n=(new Date).getTime();o=l(l({},o),{responseTime:n,duration:n-o.requestTime}),"AbortError"===e.name?t(o,"cannel_request","ERR_CANCELED"):t(o,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var je=new WeakSet,Ue=function(e){return{form_id:e.id||null,form_class:"string"==typeof e.className?e.className:null,form_name:e.getAttribute("name")||null,form_action:e.getAttribute("action")||null,form_text:(e.textContent||"").trim().slice(0,200)||null}},De=-1,Be=function(e){addEventListener("pageshow",(function(t){t.persisted&&(De=t.timeStamp,e(t))}),!0)},ze=function(e,t,n,r){var o,i;return function(a){t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t)))}},He=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},Fe=function(){var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Ke=function(){var e,t=Fe();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},Je=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=Fe(),r="navigate";return De>=0?r="back-forward-cache":n&&(document.prerendering||Ke()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},We=new WeakMap;function Xe(e,t){return We.get(e)||We.set(e,new t),We.get(e)}var Ge,Qe=function(){return r((function e(){n(this,e),i(this,"t",void 0),i(this,"i",0),i(this,"o",[])}),[{key:"h",value:function(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}])}(),$e=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Ye=function(e){var t=!1;return function(){t||(e(),t=!0)}},Ve=-1,Ze=new Set,et=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},tt=function(e){if("hidden"===document.visibilityState){if("visibilitychange"===e.type){var t,n=o(Ze);try{for(n.s();!(t=n.n()).done;){(0,t.value)()}}catch(e){n.e(e)}finally{n.f()}}isFinite(Ve)||(Ve="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",tt,!0))}},nt=function(){if(Ve<0){var e,t=Ke(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((function(e){return"hidden"===e.name&&e.startTime>t}))[0])||void 0===e?void 0:e.startTime;Ve=null!=n?n:et(),addEventListener("visibilitychange",tt,!0),addEventListener("prerenderingchange",tt,!0),Be((function(){setTimeout((function(){Ve=et()}))}))}return{get firstHiddenTime(){return Ve},onHidden:function(e){Ze.add(e)}}},rt=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},ot=[1800,3e3],it=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt((function(){var n,r=nt(),i=Je("FCP"),a=$e("paint",(function(e){var t,c=o(e);try{for(c.s();!(t=c.n()).done;){var u=t.value;"first-contentful-paint"===u.name&&(a.disconnect(),u.startTime<r.firstHiddenTime&&(i.value=Math.max(u.startTime-Ke(),0),i.entries.push(u),n(!0)))}}catch(e){c.e(e)}finally{c.f()}}));a&&(n=ze(e,i,ot,t.reportAllChanges),Be((function(r){i=Je("FCP"),n=ze(e,i,ot,t.reportAllChanges),He((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))},at=[.1,.25],ct=0,ut=1/0,lt=0,st=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.interactionId&&(ut=Math.min(ut,r.interactionId),lt=Math.max(lt,r.interactionId),ct=lt?(lt-ut)/7+1:0)}}catch(e){n.e(e)}finally{n.f()}},dt=function(){var e;return Ge?ct:null!==(e=performance.interactionCount)&&void 0!==e?e:0},ft=0,vt=function(){return r((function e(){n(this,e),i(this,"u",[]),i(this,"l",new Map),i(this,"m",void 0),i(this,"p",void 0)}),[{key:"v",value:function(){ft=dt(),this.u.length=0,this.l.clear()}},{key:"L",value:function(){var e=Math.min(this.u.length-1,Math.floor((dt()-ft)/50));return this.u[e]}},{key:"h",value:function(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var i;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort((function(e,t){return t.P-e.P})),this.u.length>10){var a,c=o(this.u.splice(10));try{for(c.s();!(a=c.n()).done;){var u=a.value;this.l.delete(u.id)}}catch(e){c.e(e)}finally{c.f()}}null===(i=this.p)||void 0===i||i.call(this,r)}}}}])}(),pt=function(e){var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Ye(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((function(){e(),removeEventListener("visibilitychange",e,{capture:!0})})))},mt=[200,500],ht=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=nt();rt((function(){var r;"interactionCount"in performance||Ge||(Ge=$e("event",st,{type:"event",buffered:!0,durationThreshold:0}));var i,a=Je("INP"),c=Xe(t,vt),u=function(e){pt((function(){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;c.h(r)}}catch(e){n.e(e)}finally{n.f()}var u=c.L();u&&u.P!==a.value&&(a.value=u.P,a.entries=u.entries,i())}))},l=$e("event",u,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});i=ze(e,a,mt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((function(){u(l.takeRecords()),i(!0)})),Be((function(){c.v(),a=Je("INP"),i=ze(e,a,mt,t.reportAllChanges)})))}))}},yt=function(){return r((function e(){n(this,e),i(this,"m",void 0)}),[{key:"h",value:function(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}])}(),gt=[2500,4e3],wt=[800,1800],Tt=function(e){document.prerendering?rt((function(){return Tt(e)})):"complete"!==document.readyState?addEventListener("load",(function(){return Tt(e)}),!0):setTimeout(e)};function bt(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt((function(){var n,r=nt(),i=Je("LCP"),a=Xe(t,yt),c=function(e){t.reportAllChanges||(e=e.slice(-1));var c,u=o(e);try{for(u.s();!(c=u.n()).done;){var l=c.value;a.h(l),l.startTime<r.firstHiddenTime&&(i.value=Math.max(l.startTime-Ke(),0),i.entries=[l],n())}}catch(e){u.e(e)}finally{u.f()}},u=$e("largest-contentful-paint",c);if(u){n=ze(e,i,gt,t.reportAllChanges);for(var l=Ye((function(){c(u.takeRecords()),u.disconnect(),n(!0)})),s=function(e){e.isTrusted&&(pt(l),removeEventListener(e.type,s,{capture:!0}))},d=0,f=["keydown","click","visibilitychange"];d<f.length;d++)addEventListener(f[d],s,{capture:!0});Be((function(r){i=Je("LCP"),n=ze(e,i,gt,t.reportAllChanges),He((function(){i.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=k(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=nt();it(Ye((function(){var r,i=Je("CLS",0),a=Xe(t,Qe),c=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var c=t.value;a.h(c)}}catch(e){n.e(e)}finally{n.f()}a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},u=$e("layout-shift",c);u&&(r=ze(e,i,at,t.reportAllChanges),n.onHidden((function(){c(u.takeRecords()),r(!0)})),Be((function(){a.i=0,i=Je("CLS",0),r=ze(e,i,at,t.reportAllChanges),He((function(){return r()}))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),ht((function(t){e.inp=k(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Je("TTFB"),r=ze(e,n,wt,t.reportAllChanges);Tt((function(){var o=Fe();o&&(n.value=Math.max(o.responseStart-Ke(),0),n.entries=[o],r(!0),Be((function(){n=Je("TTFB",0),(r=ze(e,n,wt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=k(t.value)})),it((function(t){e.fcp=k(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=k(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=k(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=k(i-c)),a>0&&c>0&&(e.loadTime=k(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.track({data_type:"performance",event_type:"metrics",event_detail:{traceId:ye,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var _t="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[_t])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t,n=he(e),r=n.client,o=n.beforeClose;return Ae(r.track),!1!==e.traceBehavior&&_e({enableScroll:e.enableScroll}),!1!==e.enableFormTrack&&(t=r.track,document.addEventListener("focusin",(function(e){var n=e.target;if((r=n)&&("INPUT"===r.tagName||"SELECT"===r.tagName||"TEXTAREA"===r.tagName)){var r,o=n.closest("form");o&&!je.has(o)&&(je.add(o),t({data_type:"common",event_type:"form_start",event_detail:Ue(o)}))}}),!0),document.addEventListener("submit",(function(e){var n=e.target;if(n&&"FORM"===n.tagName){var r=e.submitter;t({data_type:"common",event_type:"form_submit",event_detail:l(l({},Ue(n)),{submitter_id:(null==r?void 0:r.id)||null,submitter_text:((null==r?void 0:r.textContent)||"").trim().slice(0,200)||null})})}}),!0)),!1!==e.traceError&&(Re(),Pe(),qe(),Ne()),!1!==e.tracePerformance&&E((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&"function"==typeof i.getEntriesByType?i.getEntriesByType("navigation"):void 0,c=Array.isArray(a)?a[0]:void 0,u=null;if(c)u=c;else{var l=i.timing;l&&!(u={startTime:0,domainLookupStart:l.domainLookupStart,domainLookupEnd:l.domainLookupEnd,connectStart:l.connectStart,connectEnd:l.connectEnd,requestStart:l.requestStart,responseStart:l.responseStart,responseEnd:l.responseEnd,domInteractive:l.domInteractive,domComplete:l.domComplete,loadEventEnd:l.loadEventEnd,fetchStart:l.fetchStart}).requestStart&&l.fetchStart&&(u.requestStart=l.fetchStart)}var s={dnsLookupTime:u?k(u.domainLookupEnd-u.domainLookupStart):null,tcpConnectTime:u?k(u.connectEnd-u.connectStart):null,ttfb:u?k(u.responseStart-(null!==(t=null!==(e=u.requestStart)&&void 0!==e?e:u.fetchStart)&&void 0!==t?t:0)):null,transferTime:u?k(u.responseEnd-u.responseStart):null,domParseTime:u?k(u.domInteractive-u.responseEnd):null,domCompleteTime:u?k(u.domComplete-u.domInteractive):null,loadEventTime:u?k(u.loadEventEnd-(null!==(n=u.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:u?k((null!==(r=u.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=u.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.track({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:ye,data:s}})}(),function(){var e=window.performance||window.msPerformance;if(!e)return[];var t=[];if(e.getEntriesByType){var n=(e.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?k(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?k(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?k(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?k(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?k(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?k(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?k(e.duration):null,u="number"==typeof e.startTime?k(e.startTime):null,l="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:u,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:l,encodedBodySize:s,decodedBodySize:d}}));n.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));for(var r=0;r<Math.min(15,n.length);r++)t.push(n[r])}window.trackMonitor.track({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:ye,data:t}})}(),bt()})),E((function(){o()})),window.trackMonitor[_t]=!0,window.trackMonitor}}));
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==r.return||r.return()}finally{if(u)throw a}}}}function i(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var u=function(e,t){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},u(e,t)};var l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function p(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var m=function(e){function t(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),h=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,u=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),u&&(a.timeout=u),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},y=function(e,t,n){if(!n)return fetch(e,t);var r=new AbortController,o=setTimeout((function(){return r.abort()}),n);return fetch(e,l(l({},t),{signal:r.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(o)}))},g=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return h({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():y(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new m(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof m)throw e;if(e&&e.status)throw e;return i()}))},w=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function T(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}var b=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}};function _(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):_(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var S=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},E=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return E(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return E(e)}),!0):setTimeout(e)};function k(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var x=Array(32);function A(e){return function(){for(var t=0;t<2*e;t++)x[t]=Math.floor(16*Math.random())+48,x[t]>=58&&(x[t]+=39);return String.fromCharCode.apply(null,x.slice(0,2*e))}}function M(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():A(16)()}var L=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},C=function(e){return function(e){for(var t=5381,n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(16).padStart(8,"0")}(e)};var I,O,R={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},P={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},q={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},N=function(e,t){t.forEach((function(t,n){var r=t.event_type||"unknown",o=t.data_type||"common",i=function(e){return R[e]||R.default}(r),a=function(e){return q[e]||q.default}(o),c=function(e){return P[e]||P.default}(r),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(c," [TM-").concat(e,"] %c").concat(o.toUpperCase(),"%c → %c").concat(r.toUpperCase(),"%c #").concat(n+1),"color: #6b7280; font-weight: bold;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(i,"; font-weight: bold; background: ").concat(i,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=l(l({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},j=void 0,U="TRACK_MONITOR_DATA",D="MONITOR_REAL_TIME_DATA",B="TRACK_MONITOR_USER",z="tengence_device_id",H="tengence_register_properties",F="TRACK_MONITOR_LOGGER",K="tengence_tracking_enabled",J=2e3,W="tengence_access_token",X=null,G=null,Q=function(e){return(t=e,n={},r=null==j?void 0:j.requestTimeout,o={"Content-Type":"application/json"},i=function(){return h({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():y(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){X={token:e,expAt:t};try{localStorage.setItem(W,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},$=function(e){var t,n=function(){if(X)return X;try{var e=localStorage.getItem(W);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return X={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(G||(G=Q(e).catch((function(e){throw e})).finally((function(){G=null}))),G)},Y={timer:null,promise:null},V={timer:null,promise:null},Z=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},ee=function(){try{var e=localStorage.getItem(H);return e?JSON.parse(e):{}}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},te=function(e){try{localStorage.setItem(H,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},ne=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=l(l({},ee()),e),n=Object.keys(t);if(n.length>50){var r={};return n.slice(0,50).forEach((function(e){r[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void te(r)}te(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},re=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},oe=function(e){document.cookie="".concat(z,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},ie=function(){if(I)return I;try{var e=localStorage.getItem(z);if(e)return re(z)||oe(e),I=e;var t=re(z);if(t){try{localStorage.setItem(z,t)}catch(e){}return I=t}e=M();try{localStorage.setItem(z,e)}catch(e){}return oe(e),I=e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ae="tengence_session_id",ce=function(){try{var e=sessionStorage.getItem(ae),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:M(),lastActiveAt:n},sessionStorage.setItem(ae,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ae,JSON.stringify(t))),t.id}catch(e){return}},ue=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var i=[];try{for(var a=f(t),c=a.next();!c.done;c=a.next()){var u=c.value,l=o.searchParams.get(u);null!==l&&i.push("".concat(u,"=").concat(encodeURIComponent(l)))}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}o.search=i.length?"?".concat(i.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},le=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return le(e,t,n)}));if(e&&"object"==typeof e){var i={};try{for(var a=f(Object.keys(e)),c=a.next();!c.done;c=a.next()){var u=c.value,l=e[u];"string"==typeof l&&/(^|_)url$|href|^referrer$/i.test(u)&&/^https?:\/\//i.test(l)?i[u]=ue(l,n):i[u]=le(l,t,n)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return i}return e},se=function(e){var t={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(B)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.15",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},n=null==j?void 0:j.sanitize;return l(l({session_id:e.session_id||((null==j?void 0:j.enableAutoSessionId)?ce():void 0),request_id:e.request_id,event_id:e.event_id||M(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:"string"==typeof e.event_detail?e.event_detail:JSON.stringify(n&&(n.maxTextLength>0||n.stripQuery)?le(e.event_detail,n.maxTextLength,n.preserveQueryKeys):e.event_detail)},t),{page_url:n&&n.stripQuery?ue(t.page_url,n.preserveQueryKeys):t.page_url,device_id:ie(),register_properties:JSON.stringify(ee()),platform:e.platform||O})},de=function(){try{return"true"===localStorage.getItem(F)}catch(e){return!1}},fe=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},ve=function(e,t){var n;try{null===(n=null==j?void 0:j.onDrop)||void 0===n||n.call(j,e,t)}catch(e){}},pe=function(e,t,n){var r;(null==j?void 0:j.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==j?void 0:j.onError)||void 0===r||r.call(j,{code:e,message:t,context:n})}catch(e){}},me=function(){try{var e=localStorage.getItem(K);return null===e||"1"===e}catch(e){return!0}},he=function(e){var t,n,r,o,i,a,c,u,v,p,h,y=e.apiKey,T=void 0,b=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);O=e.platform||(b?"h5":"web");var _=(j={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:fe(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:fe(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:fe(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:fe(e.maxCacheSize,56,1,1/0,"maxCacheSize"),maxRetries:fe(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:de(),errorTraceRate:fe(e.errorTraceRate,.5,0,1,"errorTraceRate"),traceBehavior:null===(n=e.traceBehavior)||void 0===n||n,tracePerformance:null===(r=e.tracePerformance)||void 0===r||r,traceError:null===(o=e.traceError)||void 0===o||o,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(a=null===(i=e.sanitize)||void 0===i?void 0:i.stripQuery)&&void 0!==a&&a,maxTextLength:fe(null===(c=e.sanitize)||void 0===c?void 0:c.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(u=e.sanitize)||void 0===u?void 0:u.preserveQueryKeys)||[]},enableAutoSessionId:null!==(v=e.enableAutoSessionId)&&void 0!==v&&v,enableTracking:null!==(p=e.enableTracking)&&void 0!==p?p:me(),respectGpc:null===(h=e.respectGpc)||void 0===h||h,requestTimeout:fe(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,S=j.authUrl,E=j.realTimeUrl,k=j.cacheNumber,x=j.reportInterval,A=j.realTimeReportInterval,M=j.maxCacheSize,L=j.maxRetries;y||S||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),pe("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var C={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},I={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},R=function(e){try{localStorage.setItem(B,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},P=function(){localStorage.removeItem(B)},q={},z={},H=new Set,G=null,Q=function(){null!==G&&(clearTimeout(G),G=null),H.size&&(H.forEach((function(e){try{localStorage.setItem(e,JSON.stringify(q[e]||[]))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),本次数据仅保留内存",{key:e,error:t})}})),H.clear())},ee=function(e){if(q[e])return q[e];var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){pe("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return q[e]=t,z[e]=t.reduce((function(e,t){return e+Z(t)}),0),q[e]},te=function(e,t){H.delete(e),q[e]=t,z[e]=t.reduce((function(e,t){return e+Z(t)}),0);try{localStorage.setItem(e,JSON.stringify(t))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){pe("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},re=function(e){T=e},oe=function(e,t,n){return void 0===n&&(n=!1),s(void 0,void 0,void 0,(function(){var r,o,i,a,c,u,l;return d(this,(function(f){switch(f.label){case 0:r=e&&E?E:_,f.label=1;case 1:return f.trys.push([1,6,,7]),(i=y||T)?[3,5]:S?[4,$(S)]:[3,3];case 2:return a=f.sent(),[3,4];case 3:a=void 0,f.label=4;case 4:i=a,f.label=5;case 5:return o=i,[3,7];case 6:throw c=f.sent(),pe("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S,error:c}),c;case 7:if(!o)throw pe("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==j?void 0:j.isLogger)&&N(e?"RealTimeFetch":"Fetch",t),u=(null==j?void 0:j.beforeSend)?j.beforeSend(t):t,l=n||null==j?void 0:j.requestTimeout,[2,g(r,{data:u},o,l).catch((function(e){return s(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(o){switch(o.label){case 0:return t=null==e?void 0:e.status,e instanceof m||401===t||403===t?y||T||!S?[3,2]:(function(){X=null;try{localStorage.removeItem(W)}catch(e){}}(),[4,$(S).catch((function(){}))]):[3,2];case 1:if(n=o.sent())return[2,g(r,{data:u},n,l)];pe("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S}),o.label=2;case 2:throw e}}))}))}))]}}))}))},ie=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=ee(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&te(e,o)}}},ae=function(e,t,n){void 0===n&&(n=0);var r=(t?A:x)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},ce=function(e,t){var n=Z(t);if(n>=64)return ve([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var r=ee(e);if(r.unshift(t),z[e]+=n,r.length>J){var o=r.length-J,i=r.splice(r.length-o,r.length);z[e]=r.reduce((function(e,t){return e+Z(t)}),0),ve(i,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(J,"条),丢弃最旧 ").concat(o," 条"))}!function(e){H.add(e),null===G&&(G=setTimeout((function(){G=null,Q()}),200))}(e),ue(e,z[e]>=M)},ue=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==j?void 0:j.enableTracking){var r=ee(e);if(r.length){var o=function(e){return e===D}(e),i=o?V:Y,a=function(e){return e?I:C}(o);if(a.halveBatch&&r.length>1&&(r=r.slice(0,Math.ceil(r.length/2))),!a.retryExhausted)if(Date.now()<a.nextRetryAt)null===i.timer&&(i.timer=setTimeout((function(){i.timer=null,ue(e)}),a.nextRetryAt-Date.now()));else if(0!==a.retryCount||(r.length>=k||t)){if(null!==i.timer&&(clearTimeout(i.timer),i.timer=null),i.promise)return;i.promise=function(e,t,n,r,o){return void 0===o&&(o=!1),s(void 0,void 0,void 0,(function(){var i,a,c,u,l,s,v,p,m,h,y,g,w,T,b,_,S,E;return d(this,(function(k){switch(k.label){case 0:i=[],a=[],c=0;try{for(u=f(t),l=u.next();!l.done;l=u.next())s=l.value,v=1024*Z(s),a.length&&c+v>65536&&(i.push(a),a=[],c=0),a.push(s),c+=v}catch(e){w={error:e}}finally{try{l&&!l.done&&(T=u.return)&&T.call(u)}finally{if(w)throw w.error}}a.length&&i.push(a),p=function(t){var r,i,a,c,u;return d(this,(function(l){switch(l.label){case 0:return[4,oe(n,t,o)];case 1:return r=l.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(ie(e,i),Array.isArray(a)&&a.length&&(c=new Set(a),ie(e,a),u=t.filter((function(e){return e.event_id&&c.has(e.event_id)})),u.length&&ve(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(ie(e,t.map((function(e){return e.event_id}))),(null==j?void 0:j.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},k.label=1;case 1:k.trys.push([1,6,7,8]),m=f(i),h=m.next(),k.label=2;case 2:return h.done?[3,5]:(y=h.value,[5,p(y)]);case 3:k.sent(),k.label=4;case 4:return h=m.next(),[3,2];case 5:return[3,8];case 6:return g=k.sent(),b={error:g},[3,8];case 7:try{h&&!h.done&&(_=m.return)&&_.call(m)}finally{if(b)throw b.error}return[7];case 8:return r.retryCount=0,r.nextRetryAt=0,r.halveBatch=!1,[2]}}))}))}(e,r,o,a,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&pe("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&E?E:_,timeoutMs:null==j?void 0:j.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,ve(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>L)return r.retryExhausted=!0,ve(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(L,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+ae(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+ae(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,ve(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,o,a,r)})).finally((function(){i.timer=null,i.promise=null,ue(e)}))}else if(null===i.timer){var c=o?A:x;i.timer=setTimeout((function(){i.timer=null,ue(e,!0)}),c)}}}},le=function(e){var t;if(!(null==j?void 0:j.enableTracking)||(null==j?void 0:j.respectGpc)&&!0===(null==(t="undefined"!=typeof navigator?navigator:void 0)?void 0:t.globalPrivacyControl))(null==j?void 0:j.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false 或 GPC 信号开启),本事件忽略");else if(e&&"object"==typeof e){var n=!0===e.track_real_time,r=se(e);try{ce(n&&E?D:U,r)}catch(e){pe("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: track data must be an object")},he=function(e,t,n){le("string"==typeof e?l({event_type:e,event_detail:t},n):e)},ye=function(){ue(U,!0),ue(D,!0);var e=[Y.promise,V.promise].filter((function(e){return!!e}));return Promise.all(e).then((function(){}))},ge=function(){j.isLogger=!0;try{localStorage.setItem(F,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},we=function(){j.isLogger=!1;try{localStorage.setItem(F,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};w((function(){ue(U,!0),ue(D,!0)}));var Te=function(e){return"boolean"==typeof e&&(j.enableTracking=e,function(e){try{localStorage.setItem(K,e?"1":"0")}catch(e){}}(e),e?(null==j?void 0:j.isLogger)&&console.warn("[TM]: 恢复采集"):(te(U,[]),te(D,[]),(null==j?void 0:j.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列"))),!0===(null==j?void 0:j.enableTracking)};return window.trackMonitor={track:he,flush:ye,bindUser:R,unBindUser:P,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:ne,enableTracking:Te},{client:{track:he,flush:ye,bindUser:R,unBindUser:P,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:ne,enableTracking:Te},beforeClose:function(){var e=function(){Q(),ue(U,!0,!0),ue(D,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},ye=A(16)(),ge=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},we=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},Te=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},be=[25,50,75,90],_e=function(e){var t,n,r;history.pushState=ge("pushState"),history.replaceState=ge("replaceState"),t="",r=T(n=function(){var e=window.location.href;if(e!==t){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:S()};window.trackMonitor.track({data_type:"common",event_type:"page_view",event_detail:r}),t=e}},200),n(),Te((function(){r()})),we((function(){r()})),window.addEventListener("popstate",(function(){r()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.track({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=T(o);o(),Te((function(){i()})),we((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),function(){var e=b((function(e){var t,n=function(e){if(e)return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:_(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.track({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)}(),!1!==(null==e?void 0:e.enableScroll)&&function(){var e=new Set,t=b((function(){var n=document.documentElement,r=n.scrollHeight-n.clientHeight;if(!(r<=0)){var o=Math.round((window.scrollY||n.scrollTop)/r*100),i=be.filter((function(t){return o>=t&&!e.has(t)}));i.length&&(i.forEach((function(t){e.add(t),window.trackMonitor.track({data_type:"common",event_type:"scroll",event_detail:{scroll_depth:t}})})),e.has(90)&&window.removeEventListener("scroll",t))}}),300);window.addEventListener("scroll",t,{passive:!0})}()},Se=null,Ee=null,ke="track-expose",xe="track-view",Ae=function(e){try{Ee=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==Ee?void 0:Ee.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==Ee||Ee.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==Se||Se.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==Ee?void 0:Ee.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,u=t.hasAttribute("track-real-time"),l=t.hasAttribute(xe),s=t.hasAttribute(ke);l&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:u}),t.removeAttribute(xe),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(l&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:u}),t.removeAttribute(xe),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:u}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==Ee?void 0:Ee.get(e);t&&(null==Se||Se.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==Ee||Ee.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==Ee?void 0:Ee.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(xe)||t.hasAttribute(ke)||r(t)))}))};Se=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(p(p([],v(document.querySelectorAll("[".concat(ke,"]"))),!1),v(document.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(ke)||n.hasAttribute(xe)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==ke&&o!==xe||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(ke)||e.hasAttribute(xe)?t(e):new Set(p(p([],v(e.querySelectorAll("[".concat(ke,"]"))),!1),v(e.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==Ee?void 0:Ee.get(e))?r(e):new Set(p(p([],v(e.querySelectorAll("[".concat(ke,"]"))),!1),v(e.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},Me=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Le(e){var t=e.match(Me);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Ce(e){var t,n,r,o,i;try{var a=e.stack;if(!a)return[];var c=[];try{for(var u=f(a.split("\n").slice(1)),l=u.next();!l.done;l=u.next()){var s=Le(l.value);!s||(null===(r=s.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=s.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(i=s.filename)||void 0===i?void 0:i.includes("<anonymous>"))||c.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return c.slice(0,10)}catch(e){return[]}}var Ie=new Set,Oe=function(e,t){var n,r;if((r=null!==(n=null==j?void 0:j.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.track(t),Ie.size>=1e3){var o=Ie.values().next().value;void 0!==o&&Ie.delete(o)}Ie.add(e)}},Re=function(){window.addEventListener("error",(function(e){!function(e){var t;if(e instanceof ErrorEvent&&"Script error."===e.message){var n=C("js-Script error.");if(Ie.has(n))return;Oe(n,{data_type:"error",event_type:"js",event_detail:{traceId:ye,msg:'Script error.(跨域脚本未加载 crossorigin 属性,无法获取堆栈;建议脚本加 crossorigin="anonymous")',target:"",stack:[],errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno,crossorigin_missing:!0}}})}else if("js"===L(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var r=C("js-".concat(e.message,"-").concat(e.filename));if(!Ie.has(r)){var o=Ce(e.error),i={traceId:ye,msg:e.message,target:o[0]?"".concat(null===(t=o[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(o[0].lineno,":").concat(o[0].colno):"",stack:o,errorUuid:r,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};Oe(r,{data_type:"error",event_type:"js",event_detail:i})}}}(e)}),!0)},Pe=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===L(e)){var n=e.target,r=C("resource-".concat(n.src,"-").concat(n.tagName));if(!Ie.has(r)){var o={traceId:ye,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};Oe(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},qe=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=C("".concat("unhandledrejection","-").concat(n));if(!Ie.has(r)){var o={traceId:ye,msg:n,stack:Ce(e.reason),errorUuid:r};Oe(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},Ne=function(){var e=function(e,t,n){var r;if("string"!=typeof(r=e.url)||![null==j?void 0:j.pushUrl,null==j?void 0:j.authUrl,null==j?void 0:j.realTimeUrl].filter((function(e){return!!e})).some((function(e){return 0===r.indexOf(e)})))if(t){var o=C("http-".concat(t,"-").concat(e.url,"-").concat(n));if(Ie.has(o))return;var i={traceId:ye,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:o,request:e};Oe(o,{data_type:"error",event_type:"http",event_detail:i})}else if(e.status>=400){var a=e.statusText;o=C("http-".concat(t="http_error","-").concat(e.url,"-").concat(a));if(Ie.has(o))return;i={traceId:ye,errorUuid:o,errorType:t,target:e.url.split("?")[0],msg:a,request:e};Oe(o,{data_type:"error",event_type:"http",event_detail:i})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var n=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=n),window.XMLHttpRequest=function(){var e=new n,r=e.open,o=e.send,i={};e.open=function(t,n,o,a,c){void 0===o&&(o=!0),i.method=t,i.url=n,r.call(e,t,n,o,a,c)},e.send=function(t){i.requestTime=(new Date).getTime(),o.call(e,t)};var a=function(n,r){var o=e.status,a=e.statusText,c=(new Date).getTime();i=l(l({},i),{status:o,statusText:a,responseTime:c,duration:c-i.requestTime}),"function"==typeof t&&t(i,n,r)};return e.addEventListener("loadend",(function(){return a()})),e.addEventListener("error",(function(){return a("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return a("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return a("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var n=window.fetch;window.oFetch||(window.oFetch=n),window.fetch=function(e,r){return s(void 0,void 0,void 0,(function(){var o;return d(this,(function(i){return(o={}).method=(null==r?void 0:r.method)||"",o.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",o.requestTime=(new Date).getTime(),[2,n.call(window,e,r).then((function(e){return s(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return"function"==typeof t&&(n=e.clone(),r=(new Date).getTime(),o=l(l({},o),{status:n.status,statusText:n.statusText,responseTime:r,duration:r-o.requestTime}),t(o)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var n=(new Date).getTime();o=l(l({},o),{responseTime:n,duration:n-o.requestTime}),"AbortError"===e.name?t(o,"cannel_request","ERR_CANCELED"):t(o,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var je=new WeakSet,Ue=function(e){return{form_id:e.id||null,form_class:"string"==typeof e.className?e.className:null,form_name:e.getAttribute("name")||null,form_action:e.getAttribute("action")||null,form_text:(e.textContent||"").trim().slice(0,200)||null}},De=-1,Be=function(e){addEventListener("pageshow",(function(t){t.persisted&&(De=t.timeStamp,e(t))}),!0)},ze=function(e,t,n,r){var o,i;return function(a){t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t)))}},He=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},Fe=function(){var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Ke=function(){var e,t=Fe();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},Je=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=Fe(),r="navigate";return De>=0?r="back-forward-cache":n&&(document.prerendering||Ke()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},We=new WeakMap;function Xe(e,t){return We.get(e)||We.set(e,new t),We.get(e)}var Ge,Qe=function(){return r((function e(){n(this,e),i(this,"t",void 0),i(this,"i",0),i(this,"o",[])}),[{key:"h",value:function(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}])}(),$e=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Ye=function(e){var t=!1;return function(){t||(e(),t=!0)}},Ve=-1,Ze=new Set,et=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},tt=function(e){if("hidden"===document.visibilityState){if("visibilitychange"===e.type){var t,n=o(Ze);try{for(n.s();!(t=n.n()).done;){(0,t.value)()}}catch(e){n.e(e)}finally{n.f()}}isFinite(Ve)||(Ve="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",tt,!0))}},nt=function(){if(Ve<0){var e,t=Ke(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((function(e){return"hidden"===e.name&&e.startTime>t}))[0])||void 0===e?void 0:e.startTime;Ve=null!=n?n:et(),addEventListener("visibilitychange",tt,!0),addEventListener("prerenderingchange",tt,!0),Be((function(){setTimeout((function(){Ve=et()}))}))}return{get firstHiddenTime(){return Ve},onHidden:function(e){Ze.add(e)}}},rt=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},ot=[1800,3e3],it=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt((function(){var n,r=nt(),i=Je("FCP"),a=$e("paint",(function(e){var t,c=o(e);try{for(c.s();!(t=c.n()).done;){var u=t.value;"first-contentful-paint"===u.name&&(a.disconnect(),u.startTime<r.firstHiddenTime&&(i.value=Math.max(u.startTime-Ke(),0),i.entries.push(u),n(!0)))}}catch(e){c.e(e)}finally{c.f()}}));a&&(n=ze(e,i,ot,t.reportAllChanges),Be((function(r){i=Je("FCP"),n=ze(e,i,ot,t.reportAllChanges),He((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))},at=[.1,.25],ct=0,ut=1/0,lt=0,st=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.interactionId&&(ut=Math.min(ut,r.interactionId),lt=Math.max(lt,r.interactionId),ct=lt?(lt-ut)/7+1:0)}}catch(e){n.e(e)}finally{n.f()}},dt=function(){var e;return Ge?ct:null!==(e=performance.interactionCount)&&void 0!==e?e:0},ft=0,vt=function(){return r((function e(){n(this,e),i(this,"u",[]),i(this,"l",new Map),i(this,"m",void 0),i(this,"p",void 0)}),[{key:"v",value:function(){ft=dt(),this.u.length=0,this.l.clear()}},{key:"L",value:function(){var e=Math.min(this.u.length-1,Math.floor((dt()-ft)/50));return this.u[e]}},{key:"h",value:function(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var i;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort((function(e,t){return t.P-e.P})),this.u.length>10){var a,c=o(this.u.splice(10));try{for(c.s();!(a=c.n()).done;){var u=a.value;this.l.delete(u.id)}}catch(e){c.e(e)}finally{c.f()}}null===(i=this.p)||void 0===i||i.call(this,r)}}}}])}(),pt=function(e){var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Ye(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((function(){e(),removeEventListener("visibilitychange",e,{capture:!0})})))},mt=[200,500],ht=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=nt();rt((function(){var r;"interactionCount"in performance||Ge||(Ge=$e("event",st,{type:"event",buffered:!0,durationThreshold:0}));var i,a=Je("INP"),c=Xe(t,vt),u=function(e){pt((function(){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;c.h(r)}}catch(e){n.e(e)}finally{n.f()}var u=c.L();u&&u.P!==a.value&&(a.value=u.P,a.entries=u.entries,i())}))},l=$e("event",u,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});i=ze(e,a,mt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((function(){u(l.takeRecords()),i(!0)})),Be((function(){c.v(),a=Je("INP"),i=ze(e,a,mt,t.reportAllChanges)})))}))}},yt=function(){return r((function e(){n(this,e),i(this,"m",void 0)}),[{key:"h",value:function(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}])}(),gt=[2500,4e3],wt=[800,1800],Tt=function(e){document.prerendering?rt((function(){return Tt(e)})):"complete"!==document.readyState?addEventListener("load",(function(){return Tt(e)}),!0):setTimeout(e)};function bt(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt((function(){var n,r=nt(),i=Je("LCP"),a=Xe(t,yt),c=function(e){t.reportAllChanges||(e=e.slice(-1));var c,u=o(e);try{for(u.s();!(c=u.n()).done;){var l=c.value;a.h(l),l.startTime<r.firstHiddenTime&&(i.value=Math.max(l.startTime-Ke(),0),i.entries=[l],n())}}catch(e){u.e(e)}finally{u.f()}},u=$e("largest-contentful-paint",c);if(u){n=ze(e,i,gt,t.reportAllChanges);for(var l=Ye((function(){c(u.takeRecords()),u.disconnect(),n(!0)})),s=function(e){e.isTrusted&&(pt(l),removeEventListener(e.type,s,{capture:!0}))},d=0,f=["keydown","click","visibilitychange"];d<f.length;d++)addEventListener(f[d],s,{capture:!0});Be((function(r){i=Je("LCP"),n=ze(e,i,gt,t.reportAllChanges),He((function(){i.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=k(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=nt();it(Ye((function(){var r,i=Je("CLS",0),a=Xe(t,Qe),c=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var c=t.value;a.h(c)}}catch(e){n.e(e)}finally{n.f()}a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},u=$e("layout-shift",c);u&&(r=ze(e,i,at,t.reportAllChanges),n.onHidden((function(){c(u.takeRecords()),r(!0)})),Be((function(){a.i=0,i=Je("CLS",0),r=ze(e,i,at,t.reportAllChanges),He((function(){return r()}))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),ht((function(t){e.inp=k(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Je("TTFB"),r=ze(e,n,wt,t.reportAllChanges);Tt((function(){var o=Fe();o&&(n.value=Math.max(o.responseStart-Ke(),0),n.entries=[o],r(!0),Be((function(){n=Je("TTFB",0),(r=ze(e,n,wt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=k(t.value)})),it((function(t){e.fcp=k(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=k(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=k(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=k(i-c)),a>0&&c>0&&(e.loadTime=k(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.track({data_type:"performance",event_type:"metrics",event_detail:{traceId:ye,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var _t="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[_t])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t,n=he(e),r=n.client,o=n.beforeClose;return Ae(r.track),!1!==e.traceBehavior&&_e({enableScroll:e.enableScroll}),!1!==e.enableFormTrack&&(t=r.track,document.addEventListener("focusin",(function(e){var n=e.target;if((r=n)&&("INPUT"===r.tagName||"SELECT"===r.tagName||"TEXTAREA"===r.tagName)){var r,o=n.closest("form");o&&!je.has(o)&&(je.add(o),t({data_type:"common",event_type:"form_start",event_detail:Ue(o)}))}}),!0),document.addEventListener("submit",(function(e){var n=e.target;if(n&&"FORM"===n.tagName){var r=e.submitter;t({data_type:"common",event_type:"form_submit",event_detail:l(l({},Ue(n)),{submitter_id:(null==r?void 0:r.id)||null,submitter_text:((null==r?void 0:r.textContent)||"").trim().slice(0,200)||null})})}}),!0)),!1!==e.traceError&&(Re(),Pe(),qe(),Ne()),!1!==e.tracePerformance&&E((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&"function"==typeof i.getEntriesByType?i.getEntriesByType("navigation"):void 0,c=Array.isArray(a)?a[0]:void 0,u=null;if(c)u=c;else{var l=i.timing;l&&!(u={startTime:0,domainLookupStart:l.domainLookupStart,domainLookupEnd:l.domainLookupEnd,connectStart:l.connectStart,connectEnd:l.connectEnd,requestStart:l.requestStart,responseStart:l.responseStart,responseEnd:l.responseEnd,domInteractive:l.domInteractive,domComplete:l.domComplete,loadEventEnd:l.loadEventEnd,fetchStart:l.fetchStart}).requestStart&&l.fetchStart&&(u.requestStart=l.fetchStart)}var s={dnsLookupTime:u?k(u.domainLookupEnd-u.domainLookupStart):null,tcpConnectTime:u?k(u.connectEnd-u.connectStart):null,ttfb:u?k(u.responseStart-(null!==(t=null!==(e=u.requestStart)&&void 0!==e?e:u.fetchStart)&&void 0!==t?t:0)):null,transferTime:u?k(u.responseEnd-u.responseStart):null,domParseTime:u?k(u.domInteractive-u.responseEnd):null,domCompleteTime:u?k(u.domComplete-u.domInteractive):null,loadEventTime:u?k(u.loadEventEnd-(null!==(n=u.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:u?k((null!==(r=u.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=u.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.track({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:ye,data:s}})}(),function(){var e=window.performance||window.msPerformance;if(!e)return[];var t=[];if(e.getEntriesByType){var n=(e.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?k(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?k(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?k(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?k(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?k(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?k(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?k(e.duration):null,u="number"==typeof e.startTime?k(e.startTime):null,l="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:u,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:l,encodedBodySize:s,decodedBodySize:d}}));n.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));for(var r=0;r<Math.min(15,n.length);r++)t.push(n[r])}window.trackMonitor.track({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:ye,data:t}})}(),bt()})),E((function(){o()})),window.trackMonitor[_t]=!0,window.trackMonitor}}));