@ked3/ktrace
Version:
跨平台埋点分析SDK
2 lines • 23.8 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.KTrace=t():e.KTrace=t()}(this,()=>(()=>{"use strict";var e={8:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return u.default}});var r=f(n(863)),o=f(n(665)),i=f(n(188)),a=f(n(299)),s=f(n(563)),u=f(n(956)),c=f(n(856)),d=f(n(141)),l=f(n(411));function f(e){return e&&e.__esModule?e:{default:e}}},56:(e,t)=>{function n(e){return 14+(e+64>>>9<<4)+1}function r(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,t,n,o,i,a){return r((s=r(r(t,e),r(o,a)))<<(u=i)|s>>>32-u,n);var s,u}function i(e,t,n,r,i,a,s){return o(t&n|~t&r,e,t,i,a,s)}function a(e,t,n,r,i,a,s){return o(t&r|n&~r,e,t,i,a,s)}function s(e,t,n,r,i,a,s){return o(t^n^r,e,t,i,a,s)}function u(e,t,n,r,i,a,s){return o(n^(t|~r),e,t,i,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var c=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){const t=[],n=32*e.length,r="0123456789abcdef";for(let o=0;o<n;o+=8){const n=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(n>>>4&15)+r.charAt(15&n),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[n(t)-1]=t;let o=1732584193,c=-271733879,d=-1732584194,l=271733878;for(let t=0;t<e.length;t+=16){const n=o,f=c,v=d,p=l;o=i(o,c,d,l,e[t],7,-680876936),l=i(l,o,c,d,e[t+1],12,-389564586),d=i(d,l,o,c,e[t+2],17,606105819),c=i(c,d,l,o,e[t+3],22,-1044525330),o=i(o,c,d,l,e[t+4],7,-176418897),l=i(l,o,c,d,e[t+5],12,1200080426),d=i(d,l,o,c,e[t+6],17,-1473231341),c=i(c,d,l,o,e[t+7],22,-45705983),o=i(o,c,d,l,e[t+8],7,1770035416),l=i(l,o,c,d,e[t+9],12,-1958414417),d=i(d,l,o,c,e[t+10],17,-42063),c=i(c,d,l,o,e[t+11],22,-1990404162),o=i(o,c,d,l,e[t+12],7,1804603682),l=i(l,o,c,d,e[t+13],12,-40341101),d=i(d,l,o,c,e[t+14],17,-1502002290),c=i(c,d,l,o,e[t+15],22,1236535329),o=a(o,c,d,l,e[t+1],5,-165796510),l=a(l,o,c,d,e[t+6],9,-1069501632),d=a(d,l,o,c,e[t+11],14,643717713),c=a(c,d,l,o,e[t],20,-373897302),o=a(o,c,d,l,e[t+5],5,-701558691),l=a(l,o,c,d,e[t+10],9,38016083),d=a(d,l,o,c,e[t+15],14,-660478335),c=a(c,d,l,o,e[t+4],20,-405537848),o=a(o,c,d,l,e[t+9],5,568446438),l=a(l,o,c,d,e[t+14],9,-1019803690),d=a(d,l,o,c,e[t+3],14,-187363961),c=a(c,d,l,o,e[t+8],20,1163531501),o=a(o,c,d,l,e[t+13],5,-1444681467),l=a(l,o,c,d,e[t+2],9,-51403784),d=a(d,l,o,c,e[t+7],14,1735328473),c=a(c,d,l,o,e[t+12],20,-1926607734),o=s(o,c,d,l,e[t+5],4,-378558),l=s(l,o,c,d,e[t+8],11,-2022574463),d=s(d,l,o,c,e[t+11],16,1839030562),c=s(c,d,l,o,e[t+14],23,-35309556),o=s(o,c,d,l,e[t+1],4,-1530992060),l=s(l,o,c,d,e[t+4],11,1272893353),d=s(d,l,o,c,e[t+7],16,-155497632),c=s(c,d,l,o,e[t+10],23,-1094730640),o=s(o,c,d,l,e[t+13],4,681279174),l=s(l,o,c,d,e[t],11,-358537222),d=s(d,l,o,c,e[t+3],16,-722521979),c=s(c,d,l,o,e[t+6],23,76029189),o=s(o,c,d,l,e[t+9],4,-640364487),l=s(l,o,c,d,e[t+12],11,-421815835),d=s(d,l,o,c,e[t+15],16,530742520),c=s(c,d,l,o,e[t+2],23,-995338651),o=u(o,c,d,l,e[t],6,-198630844),l=u(l,o,c,d,e[t+7],10,1126891415),d=u(d,l,o,c,e[t+14],15,-1416354905),c=u(c,d,l,o,e[t+5],21,-57434055),o=u(o,c,d,l,e[t+12],6,1700485571),l=u(l,o,c,d,e[t+3],10,-1894986606),d=u(d,l,o,c,e[t+10],15,-1051523),c=u(c,d,l,o,e[t+1],21,-2054922799),o=u(o,c,d,l,e[t+8],6,1873313359),l=u(l,o,c,d,e[t+15],10,-30611744),d=u(d,l,o,c,e[t+6],15,-1560198380),c=u(c,d,l,o,e[t+13],21,1309151649),o=u(o,c,d,l,e[t+4],6,-145523070),l=u(l,o,c,d,e[t+11],10,-1120210379),d=u(d,l,o,c,e[t+2],15,718787259),c=u(c,d,l,o,e[t+9],21,-343485551),o=r(o,n),c=r(c,f),d=r(d,v),l=r(l,p)}return[o,c,d,l]}(function(e){if(0===e.length)return[];const t=8*e.length,r=new Uint32Array(n(t));for(let n=0;n<t;n+=8)r[n>>5]|=(255&e[n/8])<<n%32;return r}(e),8*e.length))};t.default=c},141:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var r,o=(r=n(856))&&r.__esModule?r:{default:r};const i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));function a(e,t=0){return i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]}var s=function(e,t=0){const n=a(e,t);if(!(0,o.default)(n))throw TypeError("Stringified UUID is invalid");return n};t.default=s},157:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=n},188:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(157)),o=a(n(245)),i=n(141);function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t,n){if(r.default.randomUUID&&!t&&!e)return r.default.randomUUID();const a=(e=e||{}).random||(e.rng||o.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=a[e];return t}return(0,i.unsafeStringify)(a)};t.default=s},245:(e,t)=>{let n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!n&&(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!n))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(r)};const r=new Uint8Array(16)},269:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(558)),i=n(759);class a extends o.default{constructor(e){super(e)}init(){if("undefined"==typeof window)return void console.warn("[KTrace] HtmlAdapter 只能在浏览器环境中使用");const e=this.getConfig();console.log("conf",e),this.getConfig().enable_auto_track&&this.setupAutoTracking(),this.setupErrorHandling(),this.getConfig().debug&&console.log("[KTrace] HTML适配器初始化成功")}setupAutoTracking(){window.addEventListener("load",()=>{this.trackPageView()}),window.addEventListener("beforeunload",()=>{this.trackEvent(i.EventKey.PAGE_LEAVE,{duration:Date.now()-window.__pageLoadTime||0})}),window.__pageLoadTime=Date.now(),this.setupRouteTracking()}trackPageView(e){const t=e||window.location.pathname;try{this.trackEvent(i.EventKey.PAGE_VIEW,{path:t,referrer:document.referrer,user_agent:navigator.userAgent,timestamp:Date.now()})}catch(e){this.getConfig().debug&&console.warn("[KTrace] 页面浏览追踪失败:",e)}}setupRouteTracking(){window.addEventListener("popstate",()=>{setTimeout(()=>this.trackPageView(),100)});const e=history.pushState,t=history.replaceState;history.pushState=(...t)=>{e.apply(history,t),setTimeout(()=>this.trackPageView(),100)},history.replaceState=(...e)=>{t.apply(history,e),setTimeout(()=>this.trackPageView(),100)}}setupErrorHandling(){window.addEventListener("error",e=>{var t;if(e.target&&e.target!==window){const n=e.target,r=n.src||n.href,o=null===(t=n.tagName)||void 0===t?void 0:t.toLowerCase();this.trackError(new Error("Resource load error"),i.EventKey.RESOURCE_ERROR,{target:n,resourceUrl:r,resourceType:o}),this.getConfig().debug&&console.warn(`[KTrace] 资源加载失败: ${o} - ${r}`)}else this.trackError(new Error(e.message),i.EventKey.JAVASCRIPT_ERROR,{filename:e.filename,lineno:e.lineno,colno:e.colno,context:"global"}),this.getConfig().debug&&console.warn(`[KTrace] JavaScript错误: ${e.message}`)},!0),window.addEventListener("unhandledrejection",e=>{this.trackError(new Error(e.reason),i.EventKey.CUSTOM_ERROR,{error_type:"unhandled_promise_rejection",context:"global"}),this.getConfig().debug&&console.warn("[KTrace] 未处理的Promise错误:",e.reason)})}}t.default=a},299:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(762)),o=i(n(883));function i(e){return e&&e.__esModule?e:{default:e}}var a=(0,r.default)("v5",80,o.default);t.default=a},330:e=>{e.exports=JSON.parse('{"name":"@ked3/ktrace","version":"1.2.3","description":"跨平台埋点分析SDK","main":"dist/ktrace.min.js","types":"dist/index.d.ts","files":["dist/","src/","README.md","package.json","tsconfig.json","webpack.config.js"],"scripts":{"dev":"pnpm run build && npx http-server -p 3006 ./dist","build":"webpack --mode production","lint":"tsc --noEmit","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"keywords":["analytics","tracking","event","埋点","统计"],"author":"","license":"MIT","devDependencies":{"@types/jest":"^29.5.12","@types/node":"^22.13.17","@types/uuid":"^9.0.7","copy-webpack-plugin":"^13.0.0","html-webpack-plugin":"^5.6.3","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","terser-webpack-plugin":"^5.3.14","ts-jest":"^29.2.5","ts-loader":"^9.5.2","typescript":"^5.8.2","webpack":"^5.98.0","webpack-cli":"^6.0.1","webpack-dev-server":"^5.2.1"},"dependencies":{"uuid":"^9.0.1"},"optionalDependencies":{"electron":"^30.0.0"},"peerDependencies":{"electron":">=12.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"jsdom","testMatch":["**/test/**/*.test.ts"],"collectCoverageFrom":["src/**/*.ts","!src/index.ts","!src/**/*.d.ts"],"coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"setupFilesAfterEnv":["<rootDir>/test/setup.ts"]},"volta":{"node":"22.18.0"}}')},404:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getDefaultEventType=t.validateEventKeyType=t.EVENT_KEY_TYPE_MAP=t.EventType=t.EventKey=t.HtmlAdapter=t.Tracker=void 0;const o=r(n(558)),i=r(n(269)),a=n(759),s=n(330),u={Tracker:o.default,HtmlAdapter:i.default,EventKey:a.EventKey,EventType:a.EventType,version:s.version};var c=n(558);Object.defineProperty(t,"Tracker",{enumerable:!0,get:function(){return r(c).default}});var d=n(269);Object.defineProperty(t,"HtmlAdapter",{enumerable:!0,get:function(){return r(d).default}});var l=n(759);Object.defineProperty(t,"EventKey",{enumerable:!0,get:function(){return l.EventKey}}),Object.defineProperty(t,"EventType",{enumerable:!0,get:function(){return l.EventType}}),Object.defineProperty(t,"EVENT_KEY_TYPE_MAP",{enumerable:!0,get:function(){return l.EVENT_KEY_TYPE_MAP}}),Object.defineProperty(t,"validateEventKeyType",{enumerable:!0,get:function(){return l.validateEventKeyType}}),Object.defineProperty(t,"getDefaultEventType",{enumerable:!0,get:function(){return l.getDefaultEventType}}),"undefined"!=typeof window&&(window.KTrace=u),t.default=u},411:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(856))&&r.__esModule?r:{default:r};var i=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");let t;const n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n};t.default=i},558:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=n(759),o=n(906);t.default=class{constructor(e){this.version="1.0.0",this.eventQueue=[],this.BATCH_SIZE=5;this.config=Object.assign(Object.assign({},{project_id:"",server_url:"https://api.zdcloud.click",event_path:"/api/sdk/collect/track",batch_event_path:"/api/sdk/collect/batch",enable_auto_track:!0,debug:!0}),e),this.sessionId=(0,o.getSessionId)(),this.setupUnloadHandler()}setupUnloadHandler(){if("undefined"!=typeof window){const e=()=>{this.eventQueue.length>0&&this.batchSend(!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&this.eventQueue.length>0&&this.batchSend(!0)})}}validateEvent(e){var t,n;if(!(null===(t=e.project_id)||void 0===t?void 0:t.trim()))throw new Error("项目ID不能为空");if(!(null===(n=e.session_id)||void 0===n?void 0:n.trim()))throw new Error("会话ID不能为空");if(!e.event_time)throw new Error("事件时间不能为空");if(!Object.values(r.EventKey).includes(e.event_key))throw new Error(`无效的事件键: ${e.event_key} \r\n支持的键: ${Object.values(r.EventKey).join(", ")}`);if(!Object.values(r.EventType).includes(e.event_type))throw new Error(`无效的事件类型: ${e.event_type} \r\n支持的事件类型: ${Object.values(r.EventType).join(", ")}`);if(!(0,r.validateEventKeyType)(e.event_key,e.event_type)){const t=(0,r.getDefaultEventType)(e.event_key);throw new Error(`事件键 "${e.event_key}" 与事件类型 "${e.event_type}" 的组合无效。该事件键应使用事件类型: ${t}`)}}addToQueue(e){try{this.validateEvent(e),this.config.debug&&console.log("[KTrace] 添加事件到队列:",e),this.eventQueue.push(e),this.eventQueue.length>=this.BATCH_SIZE&&this.batchSend()}catch(e){console.error("[KTrace] 事件验证失败:",e.message)}}batchSend(e=!1){if(0===this.eventQueue.length)return;if("undefined"==typeof navigator||!navigator.sendBeacon)return void console.error("[KTrace] sendBeacon不支持,无法发送事件");const t=this.config.server_url+this.config.batch_event_path,n={events:[...this.eventQueue],batch_info:{batch_size:this.eventQueue.length,timestamp:(0,o.formatDateTime)(new Date),is_unload:e}};try{const e=new Blob([JSON.stringify(n)],{type:"application/json"});navigator.sendBeacon(t,e)?(this.config.debug&&console.log(`[KTrace] 批量发送成功,事件数量: ${this.eventQueue.length}`,n),this.eventQueue=[]):console.error("[KTrace] sendBeacon发送失败")}catch(e){console.error("[KTrace] 批量发送事件时发生错误:",e)}}flushEvents(){this.eventQueue.length>0&&this.batchSend()}createBaseEvent(e,t,n,i){const a=t||(0,r.getDefaultEventType)(e),s=i||{},u="undefined"!=typeof window&&window.location?window.location.href:"",c="undefined"!=typeof document?document.referrer:"",d=Object.assign(Object.assign({},s),{page_url:u,referrer:c});return a===r.EventType.ERROR&&(d.error_message=null==n?void 0:n.message,d.error_stack=null==n?void 0:n.stack,d.error_name=null==n?void 0:n.name),{project_id:this.config.project_id,event_key:e,event_type:a,event_time:new Date,session_id:this.sessionId,device_id:(0,o.getDeviceId)(),device_ua:"undefined"!=typeof navigator?navigator.userAgent:"",ip_address:"",metadata:d}}trackEvent(e,t){const n=this.createBaseEvent(e,void 0,void 0,t);this.addToQueue(n)}trackError(e,t=r.EventKey.JAVASCRIPT_ERROR,n){const o=this.createBaseEvent(t,r.EventType.ERROR,e,n);this.addToQueue(o)}getQueueLength(){return this.eventQueue.length}getConfig(){return this.config}}},563:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default="00000000-0000-0000-0000-000000000000"},665:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(762)),o=i(n(56));function i(e){return e&&e.__esModule?e:{default:e}}var a=(0,r.default)("v3",48,o.default);t.default=a},743:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},759:(e,t)=>{var n,r;Object.defineProperty(t,"__esModule",{value:!0}),t.EVENT_KEY_TYPE_MAP=t.EventKey=t.EventType=void 0,t.validateEventKeyType=function(e,n){return t.EVENT_KEY_TYPE_MAP[e]===n},t.getDefaultEventType=function(e){return t.EVENT_KEY_TYPE_MAP[e]},function(e){e.EVENT="event",e.ERROR="error"}(n||(t.EventType=n={})),function(e){e.PAGE_VIEW="page_view",e.PAGE_LEAVE="page_leave",e.PAGE_VISIBILITY_CHANGE="page_visibility_change",e.ROUTE_CHANGE="route_change",e.BUTTON_CLICK="button_click",e.HOVER="hover",e.DOUBLE_CLICK="double_click",e.RIGHT_CLICK="right_click",e.DRAG="drag",e.DROP="drop",e.SCROLL="scroll",e.RESIZE="resize",e.FOCUS="focus",e.BLUR="blur",e.USER_INPUT="user_input",e.CUSTOM_INTERACTION="custom_interaction",e.FEEDBACK_SUBMIT="feedback_submit",e.COMPONENT_LIFECYCLE="component_lifecycle",e.COMPONENT_ERROR="component_error",e.JAVASCRIPT_ERROR="javascript_error",e.RESOURCE_ERROR="resource_error",e.NETWORK_ERROR="network_error",e.CUSTOM_ERROR="custom_error",e.USER_LOGIN="user_login",e.USER_LOGOUT="user_logout"}(r||(t.EventKey=r={})),t.EVENT_KEY_TYPE_MAP={[r.PAGE_VIEW]:n.EVENT,[r.PAGE_LEAVE]:n.EVENT,[r.PAGE_VISIBILITY_CHANGE]:n.EVENT,[r.ROUTE_CHANGE]:n.EVENT,[r.BUTTON_CLICK]:n.EVENT,[r.HOVER]:n.EVENT,[r.DOUBLE_CLICK]:n.EVENT,[r.RIGHT_CLICK]:n.EVENT,[r.DRAG]:n.EVENT,[r.DROP]:n.EVENT,[r.SCROLL]:n.EVENT,[r.RESIZE]:n.EVENT,[r.FOCUS]:n.EVENT,[r.BLUR]:n.EVENT,[r.USER_INPUT]:n.EVENT,[r.CUSTOM_INTERACTION]:n.EVENT,[r.FEEDBACK_SUBMIT]:n.EVENT,[r.COMPONENT_LIFECYCLE]:n.EVENT,[r.COMPONENT_ERROR]:n.ERROR,[r.JAVASCRIPT_ERROR]:n.ERROR,[r.RESOURCE_ERROR]:n.ERROR,[r.NETWORK_ERROR]:n.ERROR,[r.CUSTOM_ERROR]:n.ERROR,[r.USER_LOGIN]:n.EVENT,[r.USER_LOGOUT]:n.EVENT}},762:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,n){function r(e,r,a,s){var u;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=(0,i.default)(r)),16!==(null===(u=r)||void 0===u?void 0:u.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+e.length);if(c.set(r),c.set(e,r.length),c=n(c),c[6]=15&c[6]|t,c[8]=63&c[8]|128,a){s=s||0;for(let e=0;e<16;++e)a[s+e]=c[e];return a}return(0,o.unsafeStringify)(c)}try{r.name=e}catch(e){}return r.DNS=a,r.URL=s,r};var r,o=n(141),i=(r=n(411))&&r.__esModule?r:{default:r};const a="6ba7b810-9dad-11d1-80b4-00c04fd430c8";t.DNS=a;const s="6ba7b811-9dad-11d1-80b4-00c04fd430c8";t.URL=s},856:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(743))&&r.__esModule?r:{default:r};var i=function(e){return"string"==typeof e&&o.default.test(e)};t.default=i},863:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(245))&&r.__esModule?r:{default:r},i=n(141);let a,s,u=0,c=0;var d=function(e,t,n){let r=t&&n||0;const d=t||new Array(16);let l=(e=e||{}).node||a,f=void 0!==e.clockseq?e.clockseq:s;if(null==l||null==f){const t=e.random||(e.rng||o.default)();null==l&&(l=a=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==f&&(f=s=16383&(t[6]<<8|t[7]))}let v=void 0!==e.msecs?e.msecs:Date.now(),p=void 0!==e.nsecs?e.nsecs:c+1;const g=v-u+(p-c)/1e4;if(g<0&&void 0===e.clockseq&&(f=f+1&16383),(g<0||v>u)&&void 0===e.nsecs&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=v,c=p,s=f,v+=122192928e5;const E=(1e4*(268435455&v)+p)%4294967296;d[r++]=E>>>24&255,d[r++]=E>>>16&255,d[r++]=E>>>8&255,d[r++]=255&E;const _=v/4294967296*1e4&268435455;d[r++]=_>>>8&255,d[r++]=255&_,d[r++]=_>>>24&15|16,d[r++]=_>>>16&255,d[r++]=f>>>8|128,d[r++]=255&f;for(let e=0;e<6;++e)d[r+e]=l[e];return t||(0,i.unsafeStringify)(d)};t.default=d},883:(e,t)=>{function n(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function r(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){const t=[1518500249,1859775393,2400959708,3395469782],o=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let n=0;n<t.length;++n)e.push(t.charCodeAt(n))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const i=e.length/4+2,a=Math.ceil(i/16),s=new Array(a);for(let t=0;t<a;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];s[t]=n}s[a-1][14]=8*(e.length-1)/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<a;++e){const i=new Uint32Array(80);for(let t=0;t<16;++t)i[t]=s[e][t];for(let e=16;e<80;++e)i[e]=r(i[e-3]^i[e-8]^i[e-14]^i[e-16],1);let a=o[0],u=o[1],c=o[2],d=o[3],l=o[4];for(let e=0;e<80;++e){const o=Math.floor(e/20),s=r(a,5)+n(o,u,c,d)+l+t[o]+i[e]>>>0;l=d,d=c,c=r(u,30)>>>0,u=a,a=s}o[0]=o[0]+a>>>0,o[1]=o[1]+u>>>0,o[2]=o[2]+c>>>0,o[3]=o[3]+d>>>0,o[4]=o[4]+l>>>0}return[o[0]>>24&255,o[0]>>16&255,o[0]>>8&255,255&o[0],o[1]>>24&255,o[1]>>16&255,o[1]>>8&255,255&o[1],o[2]>>24&255,o[2]>>16&255,o[2]>>8&255,255&o[2],o[3]>>24&255,o[3]>>16&255,o[3]>>8&255,255&o[3],o[4]>>24&255,o[4]>>16&255,o[4]>>8&255,255&o[4]]};t.default=o},906:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateUltraShortId=o,t.getSessionId=function(){let e=sessionStorage.getItem("k_track_session_id")||"";e||(e=o(),sessionStorage.setItem("k_track_session_id",e));return e},t.simpleHash=a,t.getDeviceId=function(){let e="";try{e=localStorage.getItem("k_track_device_id")||""}catch(t){try{e=sessionStorage.getItem("k_track_device_id")||""}catch(e){}}if(!e){const t=[];if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)try{const{remote:e}=window.require("electron");e&&t.push(`electron_${e.app.getVersion()}`)}catch(e){}if("undefined"!=typeof navigator&&(t.push(navigator.userAgent),t.push(navigator.language),t.push(navigator.platform),navigator.hardwareConcurrency&&t.push(navigator.hardwareConcurrency.toString())),"undefined"!=typeof screen&&(t.push(`${screen.width}x${screen.height}`),t.push(screen.colorDepth.toString())),t.push(Intl.DateTimeFormat().resolvedOptions().timeZone),0===t.length)e=(0,r.v4)();else{e=a(t.join("|"))}try{localStorage.setItem("k_track_device_id",e)}catch(t){try{sessionStorage.setItem("k_track_device_id",e)}catch(e){}}}return e},t.formatDateTime=function(e){const t=e.getFullYear(),n=1===String(e.getMonth()+1).length?"0"+String(e.getMonth()+1):String(e.getMonth()+1),r=1===String(e.getDate()).length?"0"+String(e.getDate()):String(e.getDate()),o=1===String(e.getHours()).length?"0"+String(e.getHours()):String(e.getHours()),i=1===String(e.getMinutes()).length?"0"+String(e.getMinutes()):String(e.getMinutes()),a=1===String(e.getSeconds()).length?"0"+String(e.getSeconds()):String(e.getSeconds());return`${t}-${n}-${r} ${o}:${i}:${a}`};const r=n(8);function o(){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";return i(Date.now()-17e11,e,6)+i(Math.floor(4294967295*Math.random()),e,5)}function i(e,t,n){if(0===e)return t[0].repeat(n);let r="";const o=t.length;for(;e>0;)r=t[e%o]+r,e=Math.floor(e/o);return r.padStart(n,t[0])}function a(e){let t=0;for(let n=0;n<e.length;n++){t=(t<<5)-t+e.charCodeAt(n),t&=t}return Math.abs(t).toString(36)+Date.now().toString(36)}},956:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(856))&&r.__esModule?r:{default:r};var i=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)};t.default=i}},t={};var n=function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}(404);return n=n.default})());
//# sourceMappingURL=ktrace.min.js.map