@cloudcare/browser-logs 1.1.24 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/bundle/dataflux-logs.js +1 -1
- package/cjs/boot/buildEnv.js +1 -1
- package/cjs/boot/logsPublicApi.js +133 -0
- package/cjs/boot/startLogs.js +63 -0
- package/cjs/domain/assembly.js +74 -0
- package/cjs/domain/configuration.js +55 -0
- package/cjs/domain/internalContext.js +22 -0
- package/cjs/domain/logger.js +28 -36
- package/cjs/domain/logsCollection/console/consoleCollection.js +39 -0
- package/cjs/domain/logsCollection/logger/loggerCollection.js +51 -0
- package/cjs/domain/logsCollection/networkError/networkErrorCollection.js +238 -0
- package/cjs/domain/logsCollection/report/reportCollection.js +50 -0
- package/cjs/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +46 -0
- package/cjs/domain/{loggerSession.js → logsSessionManager.js} +19 -23
- package/cjs/entries/main.js +16 -0
- package/cjs/index.js +2 -2
- package/cjs/transport/startLogsBatch.js +15 -0
- package/esm/boot/buildEnv.js +1 -1
- package/esm/boot/logsPublicApi.js +122 -0
- package/esm/boot/startLogs.js +45 -0
- package/esm/domain/assembly.js +59 -0
- package/esm/domain/configuration.js +41 -0
- package/esm/domain/internalContext.js +15 -0
- package/esm/domain/logger.js +26 -36
- package/esm/domain/logsCollection/console/consoleCollection.js +31 -0
- package/esm/domain/logsCollection/logger/loggerCollection.js +38 -0
- package/esm/domain/logsCollection/networkError/networkErrorCollection.js +223 -0
- package/esm/domain/logsCollection/report/reportCollection.js +40 -0
- package/esm/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +37 -0
- package/esm/domain/logsSessionManager.js +45 -0
- package/esm/entries/main.js +5 -0
- package/esm/index.js +1 -1
- package/esm/transport/startLogsBatch.js +7 -0
- package/package.json +3 -3
- package/src/boot/logsPublicApi.js +140 -0
- package/src/boot/startLogs.js +51 -0
- package/src/domain/assembly.js +101 -0
- package/src/domain/configuration.js +70 -0
- package/src/domain/internalContext.js +15 -0
- package/src/domain/logger.js +37 -58
- package/src/domain/logsCollection/console/consoleCollection.js +36 -0
- package/src/domain/logsCollection/logger/loggerCollection.js +48 -0
- package/src/domain/logsCollection/networkError/networkErrorCollection.js +260 -0
- package/src/domain/logsCollection/report/reportCollection.js +49 -0
- package/src/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +35 -0
- package/src/domain/logsSessionManager.js +52 -0
- package/src/entries/main.js +7 -0
- package/src/index.js +1 -1
- package/src/transport/startLogsBatch.js +17 -0
- package/cjs/boot/log.entry.js +0 -115
- package/cjs/boot/log.js +0 -132
- package/esm/boot/log.entry.js +0 -87
- package/esm/boot/log.js +0 -115
- package/esm/domain/loggerSession.js +0 -46
- package/src/boot/log.entry.js +0 -119
- package/src/boot/log.js +0 -185
- package/src/domain/loggerSession.js +0 -56
package/README.md
CHANGED
|
@@ -136,9 +136,10 @@ window.DATAFLUX_LOGS && DATAFLUX_LOGS.logger.info('Button clicked', { name: 'but
|
|
|
136
136
|
"_dd": {
|
|
137
137
|
"sdk_name": "Web LOG SDK",
|
|
138
138
|
"sdk_version": "1.0.0",
|
|
139
|
-
|
|
140
|
-
"version": ""
|
|
139
|
+
|
|
141
140
|
},
|
|
141
|
+
"env": "",
|
|
142
|
+
"version": "",
|
|
142
143
|
"device": {
|
|
143
144
|
"os": "Mac OS",
|
|
144
145
|
"os_version": "10.14.6",
|
|
@@ -170,9 +171,9 @@ window.DATAFLUX_LOGS && DATAFLUX_LOGS.logger.info('Button clicked', { name: 'but
|
|
|
170
171
|
"source": "network",
|
|
171
172
|
"stack": "Failed to load"
|
|
172
173
|
},
|
|
173
|
-
"
|
|
174
|
+
"http": {
|
|
174
175
|
"method": "get",
|
|
175
|
-
"
|
|
176
|
+
"status_code": 0,
|
|
176
177
|
"status_group": 0,
|
|
177
178
|
"url": "http://testing-ft2x-api.cloudcare.cn/api/v1/workspace/xxx",
|
|
178
179
|
"url_host": "testing-ft2x-api.cloudcare.cn",
|
package/bundle/dataflux-logs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e=Array.prototype,r=Function.prototype,n=Object.prototype,t=e.slice,i=n.toString,o=n.hasOwnProperty,s=(r.bind,e.forEach),a=(e.indexOf,Array.isArray),u=function(e,r,n){if(null===e)return!1;if(s&&e.forEach===s)e.forEach(r,n);else if(e.length===+e.length){for(var t=0,i=e.length;t<i;t++)if(t in e&&false===r.call(n,e[t],t,e))return!1}else for(var a in e)if(o.call(e,a)&&false===r.call(n,e[a],a,e))return!1};var c=function(e){return u(t.call(arguments,1),(function(r){for(var n in r)void 0!==r[n]&&(e[n]=r[n])})),e},f=function(e){return u(t.call(arguments,1),(function(r){for(var n in r)void 0!==r[n]&&(g(r[n])&&g(e[n])?c(e[n],r[n]):e[n]=r[n])})),e},d=a||function(e){return"[object Array]"===i.call(e)},l=function(e){if(!e)return!1;try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},p=function(e){return e?e.toArray?e.toArray():d(e)?t.call(e):(r=e)&&o.call(r,"callee")?t.call(e):v(e):[];var r},v=function(e){var r=[];return null===e||u(e,(function(e){r[r.length]=e})),r},h=function(e,r,n){if(e.map)return e.map(r);for(var t=[],i=0;i<e.length;i++)if(o.call(e,i)){var s=e[i];t.push(r.call(n,s,i,e))}return t},g=function(e){return null!==e&&"[object Object]"===i.call(e)},w=function(e){if(g(e)){for(var r in e)if(o.call(e,r))return!1;return!0}return!1},m=function(e){var r=[];return u(e,(function(e,n){r.push([n,e])})),r},_=function(e){return"[object String]"===i.call(e)},y=function(e){return"[object Boolean]"===i.call(e)},x=function(e){return"[object Number]"===i.call(e)&&/[\d\.]+/.test(String(e))},b=function e(r){var n=r;try{n=e(r)}catch(e){n=r}return n};Date.now;function O(e){return e?(parseInt(e,10)^16*Math.random()>>parseInt(e,10)/4).toString(16):"".concat(1e7,"-",1e3,"-",4e3,"-",8e3,"-",1e11).replace(/[018]/g,O)}function S(e){var r="";return e&&(r=e.replace(/\/([^\/]*)\d([^\/]*)/g,"/?").replace(/\/$/g,"")),r||"/"}var k=function(e){for(var r=function(e){return b(e)},n={},t=(e=e||"").substring(1).split("&"),i=0;i<t.length;i++){var o=t[i].indexOf("=");if(-1!==o){var s=t[i].substring(0,o),a=t[i].substring(o+1);s=r(s),a=r(a),n[s]=a}}return n};function E(e){return e?String(e).substr(0,1)+String(e).substr(1).replace(/\d*/g,"x"):e}function $(e,r,n){if(null==e)return JSON.stringify(e);var t=[!1,void 0];T(e)&&(t=[!0,e.toJSON],delete e.toJSON);var i,o,s=[!1,void 0];"object"==typeof e&&T(i=Object.getPrototypeOf(e))&&(s=[!0,i.toJSON],delete i.toJSON);try{o=JSON.stringify(e,void 0,n)}catch(e){o="<error: unable to serialize object>"}finally{t[0]&&(e.toJSON=t[1]),s[0]&&(i.toJSON=s[1])}return o}function T(e){return"object"==typeof e&&null!==e&&e.hasOwnProperty("toJSON")}var M=1e3,B=6e4;function C(e,r){return+e.toFixed(r)}function I(){return performance.now()}function W(){return{relative:I(),timeStamp:L()}}function L(){return P()}function P(){return(new Date).getTime()}function R(e,r){return r-e}function A(e,r){for(var n=r.split(".");n.length;){var t=n.shift();if(!(e&&t in e&&o.call(e,t)))return;e=e[t]}return e}function j(e,r,n,t){return D(e,[r],n,t)}function D(e,r,n,t){var i=t&&t.once?function(e){o(),n(e)}:n;t=t&&t.passive?{capture:t.capture,passive:t.passive}:t&&t.capture,u(r,(function(r){e.addEventListener(r,i,t)}));var o=function(){u(r,(function(r){e.removeEventListener(r,i,t)}))};return{stop:o}}function N(){var e={};return{get:function(){return e},add:function(r,n){_(r)&&(e[r]=n)},remove:function(r){delete e[r]},set:function(r){g(r)&&(e=r)}}}function U(e){var r={};return u(e,(function(e,n){var t;r[(t=n,t.replace(/[A-Z]/g,(function(e,r){return(0!==r?"_":"")+e.toLowerCase()})).replace(/-/g,"_"))]=V(e)})),r}function V(e){return d(e)?h(e,(function(e){return V(e)})):"object"==typeof e&&null!==e?U(e):e}function Q(e){if("object"==typeof e&&e)e=$(e);else if(!_(e))return e;return String(e).replace(/[\s=,"]/g,(function(e){return"\\"+e}))}function F(e){return'"'+e.replace(/[\\]*"/g,'"').replace(/"/g,'\\"')+'"'}function z(e){return"object"==typeof e&&e?F($(e)):_(e)?F(e):e}var q=function(){this.buffer=[]};q.prototype={add:function(e){this.buffer.push(e)>this.limit&&this.buffer.splice(0,1)},drain:function(e){u(this.buffer,(function(r){e(r)})),this.buffer.length=0}};var J=q,H={navigator:void 0!==window.navigator?window.navigator:{},infoMap:{engine:["WebKit","Trident","Gecko","Presto"],browser:["Safari","Chrome","Edge","IE","IE 11","IE 10","IE 9","IE 8","IE 7","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Coc Coc","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","360","360SE","360EE","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","2345Explorer","TheWorld","XiaoMi","Quark","Qiyu","Wechat",,"WechatWork","Taobao","Alipay","Weibo","Douban","Suning","iQiYi"],os:["Windows","Windows 2000","Windows XP","Windows Vista","Windows 7","Windows 8","Windows 8.1","Windows Server 2003","Windows ME","Windows 10","Windows 98","Windows 95","Windows NT 4.0","Windows CE","Windows 3.11","Linux","Mac OS","Android","Ubuntu","FreeBSD","Debian","iOS","Windows Phone","BlackBerry","MeeGo","Symbian","Chrome OS","WebOS"],device:["Mobile","Tablet","iPad"]}},X={getMatchMap:function(e){return{Trident:e.indexOf("Trident")>-1||e.indexOf("NET CLR")>-1,Presto:e.indexOf("Presto")>-1,WebKit:e.indexOf("AppleWebKit")>-1,Gecko:e.indexOf("Gecko/")>-1,Safari:e.indexOf("Safari")>-1,Chrome:e.indexOf("Chrome")>-1||e.indexOf("CriOS")>-1,IE:e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1,"IE 11":e.indexOf("Trident")>-1&&e.indexOf("rv:11.0")>-1,"IE 10":e.indexOf("MSIE 10.0")>-1&&e.indexOf("Trident")>-1,"IE 9":e.indexOf("MSIE 9.0")>-1&&e.indexOf("Trident")>-1,"IE 8":e.indexOf("MSIE 9.0")>-1&&e.indexOf("Trident")>-1,"IE 7":e.indexOf("MSIE 7.0")>-1&&e.indexOf("Trident")>-1,Edge:e.indexOf("Edg")>-1||e.indexOf("Edge")>-1,Firefox:e.indexOf("Firefox")>-1||e.indexOf("FxiOS")>-1,"Firefox Focus":e.indexOf("Focus")>-1,Chromium:e.indexOf("Chromium")>-1,Opera:e.indexOf("Opera")>-1||e.indexOf("OPR")>-1,Vivaldi:e.indexOf("Vivaldi")>-1,Yandex:e.indexOf("YaBrowser")>-1,Arora:e.indexOf("Arora")>-1,Lunascape:e.indexOf("Lunascape")>-1,QupZilla:e.indexOf("QupZilla")>-1,"Coc Coc":e.indexOf("coc_coc_browser")>-1,Kindle:e.indexOf("Kindle")>-1||e.indexOf("Silk/")>-1,Iceweasel:e.indexOf("Iceweasel")>-1,Konqueror:e.indexOf("Konqueror")>-1,Iceape:e.indexOf("Iceape")>-1,SeaMonkey:e.indexOf("SeaMonkey")>-1,Epiphany:e.indexOf("Epiphany")>-1,360:e.indexOf("QihooBrowser")>-1||e.indexOf("QHBrowser")>-1,"360EE":e.indexOf("360EE")>-1,"360SE":e.indexOf("360SE")>-1,UC:e.indexOf("UC")>-1||e.indexOf(" UBrowser")>-1,QQBrowser:e.indexOf("QQBrowser")>-1,QQ:e.indexOf("QQ/")>-1,Baidu:e.indexOf("Baidu")>-1||e.indexOf("BIDUBrowser")>-1,Maxthon:e.indexOf("Maxthon")>-1,Sogou:e.indexOf("MetaSr")>-1||e.indexOf("Sogou")>-1,LBBROWSER:e.indexOf("LBBROWSER")>-1||e.indexOf("LieBaoFast")>-1,"2345Explorer":e.indexOf("2345Explorer")>-1,TheWorld:e.indexOf("TheWorld")>-1,XiaoMi:e.indexOf("MiuiBrowser")>-1,Quark:e.indexOf("Quark")>-1,Qiyu:e.indexOf("Qiyu")>-1,Wechat:e.indexOf("MicroMessenger")>-1,WechatWork:e.indexOf("wxwork/")>-1,Taobao:e.indexOf("AliApp(TB")>-1,Alipay:e.indexOf("AliApp(AP")>-1,Weibo:e.indexOf("Weibo")>-1,Douban:e.indexOf("com.douban.frodo")>-1,Suning:e.indexOf("SNEBUY-APP")>-1,iQiYi:e.indexOf("IqiyiApp")>-1,Windows:e.indexOf("Windows")>-1,"Windows 2000":e.indexOf("Windows NT 5.0")>-1||e.indexOf("Windows 2000")>-1,"Windows XP":e.indexOf("Windows NT 5.1")>-1||e.indexOf("Windows XP")>-1,"Windows Server 2003":e.indexOf("Windows NT 5.2")>-1,"Windows Vista":e.indexOf("Windows NT 6.0")>-1,"Windows 7":e.indexOf("Windows 7")>-1||e.indexOf("Windows NT 6.1")>-1,"Windows 8":e.indexOf("Windows 8")>-1||e.indexOf("Windows NT 6.2")>-1,"Windows 8.1":e.indexOf("Windows 8.1")>-1||e.indexOf("Windows NT 6.3")>-1,"Windows ME":e.indexOf("Win 9x 4.90")>-1||e.indexOf("Windows ME")>-1,"Windows 10":e.indexOf("Windows 10.0")>-1||e.indexOf("Windows NT 10.0")>-1,"Windows 98":e.indexOf("Windows 98")>-1||e.indexOf("Win98")>-1,"Windows 95":e.indexOf("Windows 95")>-1||e.indexOf("Win95")>-1||e.indexOf("Windows_95")>-1,"Windows NT 4.0":e.indexOf("Windows NT 4.0")>-1||e.indexOf("WinNT4.0")>-1||e.indexOf("WinNT")>-1,"Windows CE":e.indexOf("Windows CE")>-1,"Windows 3.11":e.indexOf("Win16")>-1,Linux:e.indexOf("Linux")>-1||e.indexOf("X11")>-1,"Mac OS":e.indexOf("Macintosh")>-1,Android:e.indexOf("Android")>-1||e.indexOf("Adr")>-1,Ubuntu:e.indexOf("Ubuntu")>-1,FreeBSD:e.indexOf("FreeBSD")>-1,Debian:e.indexOf("Debian")>-1,"Windows Phone":e.indexOf("IEMobile")>-1||e.indexOf("Windows Phone")>-1,BlackBerry:e.indexOf("BlackBerry")>-1||e.indexOf("RIM")>-1,MeeGo:e.indexOf("MeeGo")>-1,Symbian:e.indexOf("Symbian")>-1,iOS:e.indexOf("like Mac OS X")>-1,"Chrome OS":e.indexOf("CrOS")>-1,WebOS:e.indexOf("hpwOS")>-1,Mobile:e.indexOf("Mobi")>-1||e.indexOf("iPh")>-1||e.indexOf("480")>-1,Tablet:e.indexOf("Tablet")>-1||e.indexOf("Nexus 7")>-1,iPad:e.indexOf("iPad")>-1}},matchInfoMap:function(e){var r=H.navigator.userAgent||{},n=X.getMatchMap(r);for(var t in H.infoMap)for(var i=0;i<H.infoMap[t].length;i++){var o=H.infoMap[t][i];n[o]&&(e[t]=o)}},getOS:function(){return X.matchInfoMap(this),this.os||"Unknown"},getOSVersion:function(){var e=this,r=H.navigator.userAgent||{};e.osVersion="",e.osMajor="";var n={Windows:function(){var e=r.replace(/^.*Windows NT ([\d.]+);.*$/,"$1");return{6.4:"10",6.3:"8.1",6.2:"8",6.1:"7","6.0":"Vista",5.2:"XP",5.1:"XP","5.0":"2000"}[e]||e},Android:function(){return r.replace(/^.*Android ([\d.]+);.*$/,"$1")},iOS:function(){return r.replace(/^.*OS ([\d_]+) like.*$/,"$1").replace(/_/g,".")},Debian:function(){return r.replace(/^.*Debian\/([\d.]+).*$/,"$1")},"Windows Phone":function(){return r.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/,"$2")},"Mac OS":function(){return r.replace(/^.*Mac OS X ([\d_]+).*$/,"$1").replace(/_/g,".")},WebOS:function(){return r.replace(/^.*hpwOS\/([\d.]+);.*$/,"$1")}};return n[e.os]&&(e.osVersion=n[e.os](),e.osVersion==r&&(e.osVersion="")),e.osVersion&&(e.osMajor=e.osVersion.split(".").length&&e.osVersion.split(".")[0]),{version:e.osVersion,osMajor:e.osMajor}},getOrientationStatu:function(){return window.matchMedia("(orientation: portrait)").matches?"竖屏":"横屏"},getDeviceType:function(){var e=this;return e.device="PC",X.matchInfoMap(e),e.device},getNetwork:function(){return navigator&&navigator.connection&&navigator.connection.effectiveType},getLanguage:function(){var e;return this.language=((e=(H.navigator.browserLanguage||H.navigator.language).split("-"))[1]&&(e[1]=e[1].toUpperCase()),e.join("_")),this.language},getBrowserInfo:function(){var e=this;X.matchInfoMap(e);var r=H.navigator.userAgent||{},n=function(e,r){var n=H.navigator.mimeTypes;for(var t in n)if(n[t][e]==r)return!0;return!1},t=X.getMatchMap(r),i=!1;if(window.chrome){var o=r.replace(/^.*Chrome\/([\d]+).*$/,"$1");o>36&&window.showModalDialog?i=!0:o>45&&(i=n("type","application/vnd.chromium.remoting-viewer"))}if(t.Baidu&&t.Opera&&(t.Baidu=!1),t.Mobile&&(t.Mobile=!(r.indexOf("iPad")>-1)),i&&(n("type","application/gameplugin")||H.navigator&&void 0===H.navigator.connection.saveData?t["360SE"]=!0:t["360EE"]=!0),t.IE||t.Edge)switch(window.screenTop-window.screenY){case 71:case 74:case 99:case 75:case 74:case 105:default:break;case 102:t["360EE"]=!0;break;case 104:t["360SE"]=!0}var s={Safari:function(){return r.replace(/^.*Version\/([\d.]+).*$/,"$1")},Chrome:function(){return r.replace(/^.*Chrome\/([\d.]+).*$/,"$1").replace(/^.*CriOS\/([\d.]+).*$/,"$1")},IE:function(){return r.replace(/^.*MSIE ([\d.]+).*$/,"$1").replace(/^.*rv:([\d.]+).*$/,"$1")},Edge:function(){return r.replace(/^.*Edge\/([\d.]+).*$/,"$1")},Firefox:function(){return r.replace(/^.*Firefox\/([\d.]+).*$/,"$1").replace(/^.*FxiOS\/([\d.]+).*$/,"$1")},"Firefox Focus":function(){return r.replace(/^.*Focus\/([\d.]+).*$/,"$1")},Chromium:function(){return r.replace(/^.*Chromium\/([\d.]+).*$/,"$1")},Opera:function(){return r.replace(/^.*Opera\/([\d.]+).*$/,"$1").replace(/^.*OPR\/([\d.]+).*$/,"$1")},Vivaldi:function(){return r.replace(/^.*Vivaldi\/([\d.]+).*$/,"$1")},Yandex:function(){return r.replace(/^.*YaBrowser\/([\d.]+).*$/,"$1")},Arora:function(){return r.replace(/^.*Arora\/([\d.]+).*$/,"$1")},Lunascape:function(){return r.replace(/^.*Lunascape[\/\s]([\d.]+).*$/,"$1")},QupZilla:function(){return r.replace(/^.*QupZilla[\/\s]([\d.]+).*$/,"$1")},"Coc Coc":function(){return r.replace(/^.*coc_coc_browser\/([\d.]+).*$/,"$1")},Kindle:function(){return r.replace(/^.*Version\/([\d.]+).*$/,"$1")},Iceweasel:function(){return r.replace(/^.*Iceweasel\/([\d.]+).*$/,"$1")},Konqueror:function(){return r.replace(/^.*Konqueror\/([\d.]+).*$/,"$1")},Iceape:function(){return r.replace(/^.*Iceape\/([\d.]+).*$/,"$1")},SeaMonkey:function(){return r.replace(/^.*SeaMonkey\/([\d.]+).*$/,"$1")},Epiphany:function(){return r.replace(/^.*Epiphany\/([\d.]+).*$/,"$1")},360:function(){return r.replace(/^.*QihooBrowser\/([\d.]+).*$/,"$1")},"360SE":function(){return{63:"10.0",55:"9.1",45:"8.1",42:"8.0",31:"7.0",21:"6.3"}[r.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"360EE":function(){return{69:"11.0",63:"9.5",55:"9.0",50:"8.7",30:"7.5"}[r.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},Maxthon:function(){return r.replace(/^.*Maxthon\/([\d.]+).*$/,"$1")},QQBrowser:function(){return r.replace(/^.*QQBrowser\/([\d.]+).*$/,"$1")},QQ:function(){return r.replace(/^.*QQ\/([\d.]+).*$/,"$1")},Baidu:function(){return r.replace(/^.*BIDUBrowser[\s\/]([\d.]+).*$/,"$1")},UC:function(){return r.replace(/^.*UC?Browser\/([\d.]+).*$/,"$1")},Sogou:function(){return r.replace(/^.*SE ([\d.X]+).*$/,"$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/,"$1")},LBBROWSER:function(){var e="";r.indexOf("LieBaoFast")>-1&&(e=r.replace(/^.*LieBaoFast\/([\d.]+).*$/,"$1"));var n=r.replace(/^.*Chrome\/([\d]+).*$/,"$1");return e||{57:"6.5",49:"6.0",46:"5.9",42:"5.3",39:"5.2",34:"5.0",29:"4.5",21:"4.0"}[n]||""},"2345Explorer":function(){return r.replace(/^.*2345Explorer\/([\d.]+).*$/,"$1")},TheWorld:function(){return r.replace(/^.*TheWorld ([\d.]+).*$/,"$1")},XiaoMi:function(){return r.replace(/^.*MiuiBrowser\/([\d.]+).*$/,"$1")},Quark:function(){return r.replace(/^.*Quark\/([\d.]+).*$/,"$1")},Qiyu:function(){return r.replace(/^.*Qiyu\/([\d.]+).*$/,"$1")},Wechat:function(){return r.replace(/^.*MicroMessenger\/([\d.]+).*$/,"$1")},WechatWork:function(){return r.replace(/^.*wxwork\/([\d.]+).*$/,"$1")},Taobao:function(){return r.replace(/^.*AliApp\(TB\/([\d.]+).*$/,"$1")},Alipay:function(){return r.replace(/^.*AliApp\(AP\/([\d.]+).*$/,"$1")},Weibo:function(){return r.replace(/^.*weibo__([\d.]+).*$/,"$1")},Douban:function(){return r.replace(/^.*com.douban.frodo\/([\d.]+).*$/,"$1")},Suning:function(){return r.replace(/^.*SNEBUY-APP([\d.]+).*$/,"$1")},iQiYi:function(){return r.replace(/^.*IqiyiVersion\/([\d.]+).*$/,"$1")}};return e.browserVersion="",e.browserMajor="",s[e.browser]&&(e.browserVersion=s[e.browser](),e.browserVersion==r&&(e.browserVersion="")),"Chrome"==e.browser&&r.match(/\S+Browser/)&&(e.browser=r.match(/\S+Browser/)[0],e.version=r.replace(/^.*Browser\/([\d.]+).*$/,"$1")),"Edge"==e.browser&&(e.version>"75"?e.engine="Blink":e.engine="EdgeHTML"),("Chrome"==e.browser&&parseInt(e.browserVersion)>27||t.Chrome&&"WebKit"==e.engine&&parseInt(e.browserVersion)>27||"Opera"==e.browser&&parseInt(e.version)>12||"Yandex"==e.browser)&&(e.engine="Blink"),e.browserVersion&&(e.browserMajor=e.browserVersion.split(".").length&&this.browserVersion.split(".")[0]),{browser:e.browser,browserVersion:e.browserVersion,engine:e.engine,browserMajor:e.browserMajor}},getGeoPostion:function(e){navigator&&navigator.geolocation&&navigator.geolocation.getCurrentPosition((function(r){e(r)}),(function(e){}))}},G={os:X.getOS(),osVersion:X.getOSVersion().version,osVersionMajor:X.getOSVersion().osMajor,browser:X.getBrowserInfo().browser,browserVersion:X.getBrowserInfo().browserVersion,browserVersionMajor:X.getBrowserInfo().browserMajor,screenSize:window.screen.width+"*"+window.screen.height,networkType:X.getNetwork(),divice:X.getDeviceType()},K="beforeunload",Y="click",Z="keydown",ee="scroll",re="touchstart",ne="visibilitychange",te="action",ie="error",oe="long_task",se="view",ae="resource",ue="logger",ce={FETCH:"fetch",XHR:"xhr"},fe={DDTRACE:"ddtrace",ZIPKIN_MULTI_HEADER:"zipkin",ZIPKIN_SINGLE_HEADER:"zipkin_single_header",W3C_TRACEPARENT:"w3c_traceparent",SKYWALKING_V3:"skywalking_v3",JAEGER:"jaeger"},de="handled",le="unhandled",pe=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function ve(e){if(ge){if(he===e)return;ke()}var r=$e(e);throw ge=r,he=e,setTimeout((function(){he===e&&ke()}),r.incomplete?2e3:0),e}var he,ge,we,me,_e,ye=[];function xe(e){!function(){if(me)return;we=window.onerror,window.onerror=Oe,me=!0}(),function(){if(_e)return;null!==window.onunhandledrejection?window.onunhandledrejection:void 0,window.onunhandledrejection=Se,_e=!0}(),ye.push(e)}function be(e,r,n){var t;if(u(ye,(function(i){try{i(e,r,n)}catch(e){t=e}})),t)throw t}function Oe(e,r,n,t,i){if(ge)Me(ge,r,n),ke();else if(i)be($e(i),!0,i);else{var o,s={url:r,column:t,line:n},a=e;if("[object String]"==={}.toString.call(e)){var u=pe.exec(a);u&&(o=u[1],a=u[2])}be({name:o,message:"string"==typeof a?a:void 0,stack:[s]},!0,e)}return!!we&&we.apply(this,arguments)}function Se(e){var r=e.reason||"Empty reason";be($e(r),!0,r)}function ke(){var e=ge,r=he;ge=void 0,he=void 0,be(e,!1,r)}var Ee="?";function $e(e,r){var n,t=void 0===r?0:+r;try{if(n=function(e){var r=Ce(e,"stacktrace");if(!r)return;for(var n,t=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,i=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,o=r.split("\n"),s=[],a=0;a<o.length;a+=2){var u;t.exec(o[a])?u={args:[],column:void 0,func:(n=t.exec(o[a]))[3],line:+n[1],url:n[2]}:i.exec(o[a])&&(u={args:(n=i.exec(o[a]))[5]?n[5].split(","):[],column:+n[2],func:n[3]||n[4],line:+n[1],url:n[6]}),u&&(!u.func&&u.line&&(u.func=Ee),u.context=[o[a+1]],s.push(u))}if(!s.length)return;return{stack:s,message:Ce(e,"message"),name:Ce(e,"name")}}(e),n)return n}catch(e){if(Te)throw e}try{if(n=function(e){var r=Ce(e,"stack");if(!r)return;for(var n,t,i,o,s=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,a=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,u=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,c=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,f=/\((\S*)(?::(\d+))(?::(\d+))\)/,d=r.split("\n"),l=[],p=0,v=d.length;p<v;p+=1){if(s.exec(d[p])){var h=(i=s.exec(d[p]))[2]&&0===i[2].indexOf("native");n=i[2]&&0===i[2].indexOf("eval"),t=f.exec(i[2]),n&&t&&(i[2]=t[1],i[3]=t[2],i[4]=t[3]),o={args:h?[i[2]]:[],column:i[4]?+i[4]:void 0,func:i[1]||Ee,line:i[3]?+i[3]:void 0,url:h?void 0:i[2]}}else if(u.exec(d[p]))o={args:[],column:(i=u.exec(d[p]))[4]?+i[4]:void 0,func:i[1]||Ee,line:+i[3],url:i[2]};else{if(!a.exec(d[p]))continue;n=(i=a.exec(d[p]))[3]&&i[3].indexOf(" > eval")>-1,t=c.exec(i[3]),n&&t?(i[3]=t[1],i[4]=t[2],i[5]=void 0):0!==p||i[5]||We(e.columnNumber)||(l[0].column=e.columnNumber+1),o={args:i[2]?i[2].split(","):[],column:i[5]?+i[5]:void 0,func:i[1]||Ee,line:i[4]?+i[4]:void 0,url:i[3]}}!o.func&&o.line&&(o.func=Ee),l.push(o)}if(!l.length)return;return{stack:l,message:Ce(e,"message"),name:Ce(e,"name")}}(e),n)return n}catch(e){if(Te)throw e}try{if(n=function(e){var r=Ce(e,"message");if(!r)return;var n=r.split("\n");if(n.length<4)return;var t,i=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,s=/^\s*Line (\d+) of function script\s*$/i,a=[],u=window&&window.document&&window.document.getElementsByTagName("script"),c=[];for(var f in u)Ie(u,f)&&!u[f].src&&c.push(u[f]);for(var d=2;d<n.length;d+=2){var l;if(i.exec(n[d]))l={args:[],column:void 0,func:(t=i.exec(n[d]))[3],line:+t[1],url:t[2]};else if(o.exec(n[d]))l={args:[],column:void 0,func:(t=o.exec(n[d]))[4],line:+t[1],url:t[3]};else if(s.exec(n[d])){t=s.exec(n[d]),l={url:window.location.href.replace(/#.*$/,""),args:[],column:void 0,func:"",line:+t[1]}}l&&(l.func||(l.func=Ee),l.context=[n[d+1]],a.push(l))}if(!a.length)return;return{stack:a,message:n[0],name:Ce(e,"name")}}(e),n)return n}catch(e){if(Te)throw e}try{if(n=Be(e,t+1))return n}catch(e){if(Te)throw e}return{message:Ce(e,"message"),name:Ce(e,"name"),stack:[]}}var Te=!1;function Me(e,r,n){var t={url:r,line:n?+n:void 0};if(t.url&&t.line){e.incomplete=!1;var i=e.stack;if(i.length>0&&i[0].url===t.url){if(i[0].line===t.line)return!1;if(!i[0].line&&i[0].func===t.func)return i[0].line=t.line,i[0].context=t.context,!1}return i.unshift(t),e.partial=!0,!0}return e.incomplete=!0,!1}function Be(e,r){for(var n,t,i=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,o=[],s={},a=!1,u=Be.caller;u&&!a;u=u.caller)u!==$e&&u!==ve&&(t={args:[],column:void 0,func:Ee,line:void 0,url:void 0},n=i.exec(u.toString()),u.name?t.func=u.name:n&&(t.func=n[1]),void 0===t.func&&(t.func=n?n.input.substring(0,n.input.indexOf("{")):void 0),s[u.toString()]?a=!0:s[u.toString()]=!0,o.push(t));r&&o.splice(0,r);var c={stack:o,message:Ce(e,"message"),name:Ce(e,"name")};return Me(c,Ce(e,"sourceURL")||Ce(e,"fileName"),Ce(e,"line")||Ce(e,"lineNumber")),c}function Ce(e,r){if("object"==typeof e&&e&&r in e){var n=e[r];return"string"==typeof n?n:void 0}}function Ie(e,r){return Object.prototype.hasOwnProperty.call(e,r)}function We(e){return void 0===e}var Le="agent",Pe="console",Re="network",Ae="source",je="logger";function De(){var e=new Error;if(!e.stack)try{throw e}catch(e){}var r=$e(e);return r.stack=r.stack.slice(2),Ne(r)}function Ne(e){var r=e.name||"Error: "+e.message;return u(e.stack,(function(e){var n="?"===e.func?"<anonymous>":e.func,t=e.args&&e.args.length>0?"("+e.args.join(", ")+")":"",i=e.line?":"+e.line:"",o=e.line&&e.column?":"+e.column:"";r+="\n at "+n+t+" @ "+e.url+i+o})),r}var Ue=function(){this._events=[],this.pendingEvents=[]};Ue.prototype={emit:function(e){var r=[].slice.call(arguments,1);u(this._events,(function(n){if(n.type!==e)return!1;n.callback.apply(n.context,r)}))},on:function(e,r,n){"function"==typeof r&&this._events.push({type:e,callback:r,context:n||this})}};new Ue;function Ve(e,r,n){var t=f({},e),i=n(t);return u(r,(function(r){var n=Qe(e,r),i=Qe(t,r);"string"==typeof n&&"string"==typeof i&&function(e,r,n){for(var t=e,i=r.split("."),o=0;o<i.length;o+=1){var s=i[o];if(!Fe(t,s))return;o!==i.length-1?t=t[s]:t[s]=n}}(e,r,i)})),i}function Qe(e,r){var n=e;for(var t of r.split(".")){if(!Fe(n,t))return;n=n[t]}return n}function Fe(e,r){return"object"==typeof e&&null!==e&&r in e}var ze=function(){this.observers=[]};ze.prototype={subscribe:function(e){this.observers.push(e)},notify:function(e){u(this.observers,(function(r){r(e)}))}};var qe,Je=ze;function He(e){return Xe(e,function(e){if(e.origin)return e.origin;var r=e.host.replace(/(:80|:443)$/,"");return e.protocol+"//"+r}(window.location)).href}function Xe(e,r){if(function(){if(void 0!==qe)return qe;try{var e=new URL("http://test/path");return qe="http://test/path"===e.href}catch(e){qe=!1}return qe}())return void 0!==r?new URL(e,r):new URL(e);if(void 0===r&&!/:/.test(e))throw new Error("Invalid URL: "+e);var n=document,t=n.createElement("a");if(void 0!==r){var i=(n=document.implementation.createHTMLDocument("")).createElement("base");i.href=r,n.head.appendChild(i),n.body.appendChild(t)}return t.href=e,t}var Ge=navigator.userAgent.toLowerCase(),Ke=function(){return/iphone os/.test(Ge)};var Ye;function Ze(e,r){var n,t,i=!1,o=function(){i=!0,window.clearTimeout(n),n=window.setTimeout((function(){i=!1}),1e3)};return{get:function(){return i||(t=rr(e),o()),t},set:function(n,i){er(e,n,i,r),t=n,o()},clearCache:function(){window.clearTimeout(n),i=!1}}}function er(e,r,n,t){var i=new Date;i.setTime(i.getTime()+n);var o="expires="+i.toUTCString(),s=t&&t.crossSite?"none":"strict",a=t&&t.domain?";domain="+t.domain:"",u=t&&t.secure?";secure":"";document.cookie=e+"="+r+";"+o+";path=/;samesite="+s+a+u}function rr(e){return function(e,r){var n=e.match("(?:^|;)\\s*"+r+"\\s*=\\s*([^;]+)");return n?n[1]:void 0}(document.cookie,e)}var nr=/^\s+|\s+$/g,tr={resourceSampleRate:100,sampleRate:100,flushTimeout:3e4,maxErrorsByMinute:3e3,maxBatchSize:50,maxMessageSize:262144,requestErrorResponseLengthLimit:32768,batchBytesLimit:16384,datakitUrl:"",logsEndpoint:"",traceType:fe.DDTRACE,traceId128Bit:!1,trackInteractions:!1,allowedDDTracingOrigins:[],allowedTracingOrigins:[],isServiceSampling:!1,isJsBirdge:!1,isLineProtocolToJson:!1,beforeSend:function(e){},isServerError:function(e){return!1},isIntakeUrl:function(e){return!1}};function ir(e){return e.replace(nr,"")}function or(e){var r={};return r.secure=function(e){return!!e.useSecureSessionCookie||!!e.useCrossSiteSessionCookie}(e),r.crossSite=!!e.useCrossSiteSessionCookie,e.trackSessionAcrossSubdomains&&(r.domain=function(){if(void 0===Ye){for(var e="dd_site_test_".concat(O()),r=window.location.hostname.split("."),n=r.pop();r.length&&!rr(e);)n=r.pop()+"."+n,er(e,"test",M,{domain:n});Ye=n}return Ye}()),r}function sr(e){return e.lastIndexOf("/")===e.length-1?ir(e)+"v1/write/logging":ir(e)+"/v1/write/logging"}function ar(e,r){var n,t,i=d(e.enableExperimentalFeatures)?e.enableExperimentalFeatures:[],o={applicationId:e.applicationId,env:e.env||"",version:e.version||"",service:e.service||"browser",sdkVersion:r.sdkVersion,sdkName:r.sdkName,datakitUrl:(n=e.datakitUrl||e.datakitOrigin,n.lastIndexOf("/")===n.length-1?ir(n)+"v1/write/rum":ir(n)+"/v1/write/rum"),logsEndpoint:sr(e.datakitOrigin),isEnabled:function(e){return r=e,-1!==i.indexOf(r);var r},cookieOptions:or(e)};return"isJsBirdge"in e&&(o.isJsBirdge=e.isJsBirdge),"isLineProtocolToJson"in e&&(o.isLineProtocolToJson=e.isLineProtocolToJson),"allowedDDTracingOrigins"in e&&(o.allowedTracingOrigins=e.allowedDDTracingOrigins),"allowedTracingOrigins"in e&&(o.allowedTracingOrigins=e.allowedTracingOrigins),"sampleRate"in e&&(o.sampleRate=e.sampleRate),"resourceSampleRate"in e&&(o.resourceSampleRate=e.resourceSampleRate),"trackInteractions"in e&&(o.trackInteractions=!!e.trackInteractions),"isServerError"in e&&l(e.isServerError)&&y(e.isServerError())&&(o.isServerError=e.isServerError),"isIntakeUrl"in e&&l(e.isIntakeUrl)&&y(e.isIntakeUrl())&&(o.isIntakeUrl=e.isIntakeUrl),"traceId128Bit"in e&&(o.traceId128Bit=!!e.traceId128Bit),"traceType"in e&&((t=e.traceType)&&v(fe).indexOf(t)>-1)&&(o.traceType=e.traceType),"isServiceSampling"in e&&y(e.isServiceSampling)&&(o.isServiceSampling=e.isServiceSampling),f({},tr,o)}var ur,cr,fr,dr,lr,pr,vr={sdk_name:"_dd.sdk_name",sdk_version:"_dd.sdk_version",app_id:"application.id",env:"_dd.env",service:"_dd.service",version:"_dd.version",userid:"user.id",user_email:"user.email",user_name:"user.name",session_id:"session.id",session_type:"session.type",session_sampling:"session.is_sampling",is_signin:"user.is_signin",os:"device.os",os_version:"device.os_version",os_version_major:"device.os_version_major",browser:"device.browser",browser_version:"device.browser_version",browser_version_major:"device.browser_version_major",screen_size:"device.screen_size",network_type:"device.network_type",device:"device.device",view_id:"view.id",view_referrer:"view.referrer",view_url:"view.url",view_host:"view.host",view_path:"view.path",view_path_group:"view.path_group",view_url_query:"view.url_query"},hr={view:{type:se,tags:{view_loading_type:"view.loading_type",view_apdex_level:"view.apdex_level",is_active:"view.is_active"},fields:{view_error_count:"view.error.count",view_resource_count:"view.resource.count",view_long_task_count:"view.long_task.count",view_action_count:"view.action.count",first_contentful_paint:"view.first_contentful_paint",largest_contentful_paint:"view.largest_contentful_paint",cumulative_layout_shift:"view.cumulative_layout_shift",first_input_delay:"view.first_input_delay",loading_time:"view.loading_time",dom_interactive:"view.dom_interactive",dom_content_loaded:"view.dom_content_loaded",dom_complete:"view.dom_complete",load_event:"view.load_event",first_input_time:"view.first_input_time",first_meaningful_paint:"view.largest_contentful_paint",first_paint_time:"view.fpt",resource_load_time:"view.resource_load_time",time_to_interactive:"view.tti",dom:"view.dom",dom_ready:"view.dom_ready",time_spent:"view.time_spent"}},resource:{type:ae,tags:{trace_id:"_dd.trace_id",span_id:"_dd.span_id",resource_url:"resource.url",resource_url_host:"resource.url_host",resource_url_path:"resource.url_path",resource_url_path_group:"resource.url_path_group",resource_url_query:"resource.url_query",resource_type:"resource.type",resource_status:"resource.status",resource_status_group:"resource.status_group",resource_method:"resource.method"},fields:{duration:"resource.duration",resource_size:"resource.size",resource_dns:"resource.dns",resource_tcp:"resource.tcp",resource_ssl:"resource.ssl",resource_ttfb:"resource.ttfb",resource_trans:"resource.trans",resource_first_byte:"resource.firstbyte"}},error:{type:ie,tags:{trace_id:"_dd.trace_id",span_id:"_dd.span_id",error_source:"error.source",error_type:"error.type",error_handling:"error.handling",resource_url:"error.resource.url",resource_url_host:"error.resource.url_host",resource_url_path:"error.resource.url_path",resource_url_path_group:"error.resource.url_path_group",resource_status:"error.resource.status",resource_status_group:"error.resource.status_group",resource_method:"error.resource.method"},fields:{error_message:["string","error.message"],error_stack:["string","error.stack"]}},long_task:{type:oe,tags:{},fields:{duration:"long_task.duration"}},action:{type:te,tags:{action_id:"action.id",action_name:"action.target.name",action_type:"action.type"},fields:{duration:"action.loading_time",action_error_count:"action.error.count",action_resource_count:"action.resource.count",action_long_task_count:"action.long_task.count"}},browser_log:{type:ue,tags:{error_source:"error.source",error_type:"error.type",error_resource_url:"resource.url",error_resource_url_host:"resource.url_host",error_resource_url_path:"resource.url_path",error_resource_url_path_group:"resource.url_path_group",error_resource_status:"resource.status",error_resource_status_group:"resource.status_group",error_resource_method:"resource.method",action_id:"user_action.id",service:"service",status:"status"},fields:{message:["string","message"]}}},gr=[],wr=[];function mr(){return ur||(cr=XMLHttpRequest.prototype.open,fr=XMLHttpRequest.prototype.send,dr=XMLHttpRequest.prototype.abort,XMLHttpRequest.prototype.open=function(e,r){return this._dataflux_xhr={method:e,startTime:-1,url:He(r)},cr.apply(this,arguments)},XMLHttpRequest.prototype.send=function(e){var r=this;if(this._dataflux_xhr){var n=this._dataflux_xhr;n.startTime=I(),n.startClocks=W(),n.isAborted=!1;var t=this.onreadystatechange;this.onreadystatechange=function(){this.readyState===XMLHttpRequest.DONE&&o(),t&&t.apply(this,arguments)};var i=!1,o=function e(){if(r.removeEventListener("loadend",e),!i){i=!0;var t=c({},n,{duration:R(n.startClocks.timeStamp,L()),response:r.response,status:r.status});u(wr,(function(e){e(t,r)}))}};r.addEventListener("loadend",o),u(gr,(function(e){e(n,r)}))}return fr.apply(r,arguments)},XMLHttpRequest.prototype.abort=function(){return this._dataflux_xhr&&(this._dataflux_xhr.isAborted=!0),dr.apply(this,arguments)},ur={beforeSend:function(e){gr.push(e)},onRequestComplete:function(e){wr.push(e)}}),ur}function _r(e,r,n,t,i,o,s){try{var a=e[o](s),u=a.value}catch(e){return void n(e)}a.done?r(u):Promise.resolve(u).then(t,i)}var yr,xr,br=[],Or=[];function Sr(){return lr||(!function(){if(!window.fetch)return;pr=window.fetch,window.fetch=function(e,r){var n,t=kr.apply(null,[e,r]);return t?(n=pr.call(this,t.input,t.init),Er.apply(null,[n,t])):n=pr.call(this,e,r),n}}(),lr={beforeSend:function(e){br.push(e)},onRequestComplete:function(e){Or.push(e)}}),lr}function kr(e,r){var n=r&&r.method||"object"==typeof e&&e.method||"GET",t=He("object"==typeof e&&e.url||e),i={init:r,input:e,method:n,startClocks:W(),url:t};return u(br,(function(e){e(i)})),i}function Er(e,r){var n=function(){var e,n=(e=function*(e){if(r.duration=R(r.startClocks.timeStamp,L()),"stack"in e||e instanceof Error)r.status=0,r.response=Ne($e(e)),r.headers=e.headers,r.isAborted=e instanceof DOMException&&e.code===DOMException.ABORT_ERR,u(Or,(function(e){e(r)}));else if("status"in e){var n;try{n=yield e.clone().text()}catch(e){n="Unable to retrieve response: "+e}r.response=n,r.responseType=e.type,r.status=e.status,r.headers=e.headers,r.isAborted=!1,u(Or,(function(e){e(r)}))}},function(){var r=this,n=arguments;return new Promise((function(t,i){var o=e.apply(r,n);function s(e){_r(o,t,i,s,a,"next",e)}function a(e){_r(o,t,i,s,a,"throw",e)}s(void 0)}))});return function(e){return n.apply(this,arguments)}}();e.then(n,n)}function $r(e){return yr||(function(e,r){function n(n,t){(function(e,r){var n=[r.datakitUrl];r.logsEndpoint&&n.push(r.logsEndpoint);var t=!1;for(var i of n)if(0===e.indexOf(i)){t=!0;break}return t||r.isIntakeUrl(e)})(t.url,e)||t.isAborted||!(function(e){return 0===e.status&&"opaque"!==e.responseType}(t)||function(e){return e.status>=500}(t)||e.isServerError(t))||r.notify({message:Br(n)+" error "+t.method+" "+t.url,resource:{method:t.method,statusCode:t.status,url:t.url,traceId:t.traceId,spanId:t.spanId},source:Re,stack:Mr(t.response,e)||"Failed to load",startClocks:t.startClocks})}mr().onRequestComplete((function(e){n(ce.XHR,e)})),Sr().onRequestComplete((function(e){n(ce.FETCH,e)}))}(e,yr=new Je),function(e){xr=console.error,console.error=function(){xr.apply(console,arguments);var r=De();e.notify(c({},Tr(p(arguments),r),{source:Pe,startClocks:W(),handling:de}))}}(yr),function(e){xe((function(r,n,t){var i=function(e,r,n,t){return e&&(void 0!==e.message||r instanceof Error)?{message:e.message||"Empty message",stack:Ne(e),handlingStack:t,type:e.name}:{message:n+""+JSON.stringify(r),stack:"No stack, consider using an instance of Error",handlingStack:t,type:e&&e.name}}(r,t,"Uncaught");e.notify({message:i.message,stack:i.stack,type:i.type,source:Ae,startClocks:W(),handling:le})}))}(yr)),yr}function Tr(e,r){var n=function(e,r){for(var n=0;n<e.length;n+=1){var t=e[n];if(r(t,n,e))return t}}(e,(function(e){return e instanceof Error}));return{message:h(["console error:"].concat(e),(function(e){return function(e){if("string"==typeof e)return e;if(e instanceof Error)return((r=$e(e)).name||"Error")+": "+r.message;var r;return $(e,0,2)}(e)})).join(" "),stack:n?Ne($e(n)):void 0,handlingStack:r}}function Mr(e,r){return e&&e.length>r.requestErrorResponseLengthLimit?e.substring(0,r.requestErrorResponseLengthLimit)+"...":e}function Br(e){return ce.XHR===e?"XHR":"Fetch"}function Cr(){if("object"==typeof globalThis)return globalThis;Object.defineProperty(Object.prototype,"_dd_temp_",{get:function(){return this},configurable:!0});var e=_dd_temp_;return delete Object.prototype._dd_temp_,"object"!=typeof e&&(e="object"==typeof self?self:"object"==typeof window?window:{}),e}var Ir=9e5,Wr=144e5;function Lr(e,r,n){var t=function(e){var r=Ze("_dataflulx_an_id",e);return r.get()||r.set(O(),5184e6),r}(e),i=Ze("_dataflux_s",e),o=new Je,s=Ar(i).id,a=function(e,r,n){var t,i,o,s,a=0;n||(n={});var u=function(){a=!1===n.leading?0:(new Date).getTime(),t=null,s=e.apply(i,o),t||(i=o=null)},c=function(){o=arguments;var c=(new Date).getTime();a||!1!==n.leading||(a=c);var f=r-(c-a);return i=this,f<=0||f>r?(t&&(clearTimeout(t),t=null),a=c,s=e.apply(i,o),t||(i=o=null)):t||!1===n.trailing||(t=setTimeout(u,f)),s};return c.cancel=function(){clearTimeout(t),a=0,t=null},c}((function(){i.clearCache();var e=Ar(i),t=n(e[r]);e[r]=t.trackingType,t.isTracked&&!e.id&&(e.id=O(),e.created=String(Date.now())),jr(e,i),t.isTracked&&s!==e.id&&(s=e.id,o.notify())}),1e3);return a(),function(e){var r=D(window,[Y,re,Z,ee],e,{capture:!0,passive:!0});Nr.push(r.stop)}(a),function(e){var r=function(){"visible"===document.visibilityState&&e()},n=j(document,ne,r);Nr.push(n.stop);var t=window.setInterval(r,6e4);Nr.push((function(){clearInterval(t)}))}((function(){i.clearCache(),jr(Ar(i),i)})),{getAnonymousID:function(){return t.get()},getId:function(){var e=Ar(i);return e.did||e.id},getTrackingType:function(){return Ar(i)[r]},getDebugSession:function(){var e=Ar(i);return w(e)||!e.did?{}:{id:e.did,created:e.dcreated}},addDebugSession:function(e,r){var n=Ar(i);w(n)||(n.did=e||O,n.dcreated=r||String(Date.now()),jr(n,i))},clearDebugSession:function(){var e=Ar(i),r={};u(m(e),(function(e){"did"!==e[0]&&"dcreated"!==e[0]&&(r[e[0]]=e[1])})),jr(r,i)},renewObservable:o}}var Pr=/^([a-z]+)=([a-z0-9-]+)$/,Rr="&";function Ar(e){var r=function(e){var r=e.get(),n={};(function(e){return void 0!==e&&(-1!==e.indexOf("&")||Pr.test(e))})(r)&&u(r.split(Rr),(function(e){var r=Pr.exec(e);if(null!==r){var t=r[1],i=r[2];n[t]=i}}));return n}(e);return function(e){return(void 0===e.created||Date.now()-Number(e.created)<Wr)&&(void 0===e.expire||Date.now()<Number(e.expire))}(r)?r:(Dr(e),{})}function jr(e,r){if(w(e))Dr(r);else{e.expire=String(Date.now()+Ir);var n=[];u(m(e),(function(e){n.push(e[0]+"="+e[1])}));var t=n.join(Rr);r.set(t,Ir)}}function Dr(e){e.set("",0)}var Nr=[];var Ur=/[^\u0000-\u007F]/,Vr="custom_keys";var Qr=Cr(),Fr=function(e,r,n){this.endpointUrl=e,this.bytesLimit=r,this.isLineProtocolToJson=n;var t="[object Navigator]"===Object.prototype.toString.call(Qr&&Qr.navigator)&&"function"==typeof Qr.navigator.sendBeacon;this.sendBeacon=t?Qr.navigator.sendBeacon.bind(Qr.navigator):void 0};Fr.prototype={send:function(e,r){var n=function(e){return e?e+(-1===e.indexOf("?")?"?":"&")+"precision=ms":e}(this.endpointUrl);if(this.sendBeacon&&r<this.bytesLimit&&!this.isLineProtocolToJson){if(this.sendBeacon(n,e))return}else if(this.sendBeacon&&r<this.bytesLimit&&this.isLineProtocolToJson){var t=new Blob([JSON.stringify(e)],{type:"application/json"});if(this.sendBeacon(n,t))return}var i=new XMLHttpRequest;i.open("POST",n,!0),i.withCredentials=!0,this.isLineProtocolToJson?(i.setRequestHeader("Content-type","application/json"),i.send(JSON.stringify(e))):(i.setRequestHeader("Content-type","text/plain;charset=UTF-8"),i.send(e))}};var zr=Fr,qr=function(e){if(!e||!e.type)return{rowStr:"",rowData:void 0};var r={tags:{},fields:{}},n=!1,t="";return u(hr,(function(i,o){if(i.type===e.type){t+=o+",",r.measurement=o;var s=[],a=c({},vr,i.tags),f=["date","type",Vr];u(a,(function(n,t){var i=A(e,n);f.push(t),(i||x(i))&&(r.tags[t]=function(e){return _(e)?e:$(e)}(i),s.push(Q(t)+"="+Q(i)))}));var l=[];if(u(i.fields,(function(n,t){if(d(n)&&2===n.length){n[0];var i=n[1],o=A(e,i);f.push(t),(o||x(o))&&(r.fields[t]=o,l.push(Q(t)+"="+z(o)))}else if(_(n)){o=A(e,n);f.push(t),(o||x(o))&&(r.fields[t]=o,l.push(Q(t)+"="+z(o)))}})),e.tags&&g(e.tags)&&!w(e.tags)){var p=[];u(e.tags,(function(e,n){f.indexOf(n)>-1||(f.push(n),(e||x(e))&&(p.push(n),r.fields[n]=e,l.push(Q(n)+"="+z(e))))})),p.length&&(r.fields.custom_keys=z(p),l.push(Q(Vr)+"="+z(p)))}e.type===ue&&u(e,(function(e,n){-1===f.indexOf(n)&&(x(e)||_(e)||y(e))&&(r.fields[n]=e,l.push(Q(n)+"="+z(e)))})),s.length&&(t+=s.join(",")),l.length&&(t+=" ",t+=l.join(","),n=!0),t=t+" "+e.date,r.time=(v=e.date,x(v)?C(1e6*v,0):v)}var v})),{rowStr:n?t:"",rowData:n?r:void 0}},Jr=function(e,r,n,t,i,o,s){this.request=e,this.maxSize=r,this.bytesLimit=n,this.maxMessageSize=t,this.flushTimeout=i,this.isLineProtocolToJson=o,this.beforeUnloadCallback=s,this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesSize=0,this.bufferMessageCount=0,this.flushOnVisibilityHidden(),this.flushPeriodically()};Jr.prototype={add:function(e){this.addOrUpdate(e)},upsert:function(e,r){this.addOrUpdate(e,r)},flush:function(){if(0!==this.bufferMessageCount){var e=this.pushOnlyBuffer.concat(v(this.upsertBuffer));if(0===e.length)return;this.isLineProtocolToJson?this.request.send(h(e,(function(e){return JSON.parse(e)})),this.bufferBytesSize):this.request.send(e.join("\n"),this.bufferBytesSize),this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesSize=0,this.bufferMessageCount=0}},processSendData:function(e){return this.isLineProtocolToJson?JSON.stringify(qr(e).rowData):qr(e).rowStr},sizeInBytes:function(e){return Ur.test(e)?void 0!==window.TextEncoder?(new TextEncoder).encode(e).length:new Blob([e]).size:e.length},addOrUpdate:function(e,r){var n=this.process(e);n.processedMessage&&""!==n.processedMessage&&(n.messageBytesSize>=this.maxMessageSize||(this.hasMessageFor(r)&&this.remove(r),this.willReachedBytesLimitWith(n.messageBytesSize)&&this.flush(),this.push(n.processedMessage,n.messageBytesSize,r),this.isFull()&&this.flush()))},process:function(e){var r="";return{processedMessage:r=this.processSendData(e),messageBytesSize:this.sizeInBytes(r)}},push:function(e,r,n){this.bufferMessageCount>0&&(this.bufferBytesSize+=1),void 0!==n?this.upsertBuffer[n]=e:this.pushOnlyBuffer.push(e),this.bufferBytesSize+=r,this.bufferMessageCount+=1},remove:function(e){var r=this.upsertBuffer[e];delete this.upsertBuffer[e];var n=this.sizeInBytes(r);this.bufferBytesSize-=n,this.bufferMessageCount-=1,this.bufferMessageCount>0&&(this.bufferBytesSize-=1)},hasMessageFor:function(e){return void 0!==e&&void 0!==this.upsertBuffer[e]},willReachedBytesLimitWith:function(e){return this.bufferBytesSize+e+1>=this.bytesLimit},isFull:function(){return this.bufferMessageCount===this.maxSize||this.bufferBytesSize>=this.bytesLimit},flushPeriodically:function(){var e=this;setTimeout((function(){e.flush(),e.flushPeriodically()}),e.flushTimeout)},flushOnVisibilityHidden:function(){var e=this;Qr.navigator.sendBeacon&&(j(window,K,e.beforeUnloadCallback),j(document,ne,(function(){"hidden"===document.visibilityState&&e.flush()})),j(window,K,(function(){e.flush()})))}};var Hr=Jr,Xr={debug:"debug",critical:"critical",error:"error",info:"info",warn:"warning"},Gr={[Xr.debug]:0,[Xr.info]:1,[Xr.warn]:2,[Xr.error]:3,[Xr.critical]:4};Yr=[],null===(Kr=Xr)||u(Kr,(function(e,r){Yr[Yr.length]=r}));var Kr,Yr;const Zr="http";function en(e,r,n,t){this.contextManager=N(),void 0===r&&(r=Zr),void 0===n&&(n=Xr.debug),void 0===t&&(t={}),this.sendLog=e,this.handlerType=r,this.level=n,this.contextManager.set(t)}en.prototype={log:function(e,r,n){if(void 0===n&&(n=Xr.info),Gr[n]>=Gr[this.level]&&this.handlerType===Zr){var t=f({message:e,status:n},{tags:this.contextManager.get()},r);this.sendLog(t)}},debug:function(e,r){this.log(e,r,Xr.debug)},info:function(e,r){this.log(e,r,Xr.info)},warn:function(e,r){this.log(e,r,Xr.warn)},critical:function(e,r){this.log(e,r,Xr.critical)},error:function(e,r){var n={error:{origin:je}};this.log(e,f(n,r),Xr.error)},setContext:function(e){this.contextManager.set(e)},addContext:function(e,r){this.contextManager.add(e,r)},removeContext:function(e){this.contextManager.remove(e)},setHandler:function(e){this.handlerType=e},setLevel:function(e){this.level=e}};var rn="0",nn="1";function tn(e,r){if(!r){var n=on(e)===nn;return{getId:()=>{},isTracked:()=>n}}var t=Lr(e.cookieOptions,"logs",(function(r){return function(e,r){var n=function(e){return e===rn||e===nn}(r)?r:on(e);return{trackingType:n,isTracked:n===nn}}(e,r)}));return{getId:t.getId,isTracked:function(){return t.getTrackingType()===nn}}}function on(e){return 0!==(r=e.sampleRate)&&100*Math.random()<=r?nn:rn;var r}var sn={sdkVersion:"1.1.24",sdkName:"df_web_logs_sdk"},an=["view.url","view.referrer","message","error.stack","source.url"];function un(e){var r=window.DATAFLUX_RUM;return r&&r.getInternalContext?r.getInternalContext(e):void 0}var cn=function(e){var r=!1,n=N(),t={},i=new J,o=function(e,r){i.add([e,r])},s=new en(d);return a={logger:s,init:function(t){(function(e){return r?(e.silentMultipleInit,!1):!(!e.datakitUrl&&!e.datakitOrigin)&&!!(void 0===e.sampleRate||(n=e.sampleRate,x(n)&&n>=0&&n<=100));var n})(t)&&(o=e(t,s,n.get),i.drain((function([e,r]){return o(e,r)})),r=!0)},getLoggerGlobalContext:n.get,setLoggerGlobalContext:n.set,addLoggerGlobalContext:n.add,removeLoggerGlobalContext:n.remove,createLogger:function(e,r){return void 0===r&&(r={}),t[e]=new en(d,r.handler,r.level,c({},r.context,{logger:{name:e}})),t[e]},getLogger:function(e){return t[e]}},u=c({},a,{onReady:function(e){e()}}),Object.defineProperty(u,"_setDebug",{get:function(){return setDebugMode},enumerable:!1}),u;var a,u;function d(e){var r,t,i;o(e,f({date:(new Date).getTime(),view:{referrer:document.referrer,url:window.location.href,host:window.location.host,path:window.location.pathname,pathGroup:S(window.location.pathname),urlQuery:$((r=window.location.href,t={},i=r.split("?")[1]||"",i&&(t=k("?"+i)),t))}},n.get()))}}((function(e,r,n){var t=ar(e,sn);return function(e,r,n,t,i){var o=function(e,r,n){var t=function(e,r){var n=0,t=!1;return{isLimitReached:function(){if(0===n&&setTimeout((function(){n=0}),B),(n+=1)<=e.maxErrorsByMinute||t)return t=!1,!1;if(n===e.maxErrorsByMinute+1){t=!0;try{r({message:"Reached max number of errors by minute: ".concat(e.maxErrorsByMinute),source:Le,startClocks:W()})}finally{t=!1}}return!0}}}(r,n);return function(n,i){if(e.isTracked()){var o=f({service:r.service||"browser",session:{id:e.getId()},type:ue,_dd:{sdkName:r.sdkName,sdkVersion:r.sdkVersion,env:r.env,version:r.version},device:G,user:{user_id:r.user_id}},i,un(),n);if(r.beforeSend)if(!1===Ve(o,an,r.beforeSend))return;if(o.status!==Xr.error||!t.isLimitReached())return U(o)}}}(n,e,a),s=function(e){var r=n(e.logsEndpoint);function n(r){return new Hr(new zr(r,e.batchBytesLimit,e.isLineProtocolToJson),e.maxBatchSize,e.batchBytesLimit,e.maxMessageSize,e.flushTimeout,e.isLineProtocolToJson)}return{add:function(e){r.add(e)}}}(e);function a(e){var r,n,i=e.resource;if(i){var o=(r=e.resource.url,n=function(e){this._fields={Username:4,Password:5,Port:7,Protocol:2,Host:6,Path:8,URL:0,QueryString:9,Fragment:10},this._values={},this._regex=null,this._regex=/^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/,void 0!==e&&this._parse(e)},n.prototype.setUrl=function(e){this._parse(e)},n.prototype._initValues=function(){for(var e in this._fields)this._values[e]=""},n.prototype.addQueryString=function(e){if("object"!=typeof e)return!1;var r=this._values.QueryString||"";for(var n in e)r=new RegExp(n+"[^&]+").test(r)?r.replace(new RegExp(n+"[^&]+"),n+"="+e[n]):"&"===r.slice(-1)?r+n+"="+e[n]:""===r?n+"="+e[n]:r+"&"+n+"="+e[n];this._values.QueryString=r},n.prototype.getParse=function(){return this._values},n.prototype.getUrl=function(){var e="";return e+=this._values.Origin,(e+=this._values.Path)+(this._values.QueryString?"?"+this._values.QueryString:"")},n.prototype._parse=function(e){this._initValues();var r=this._regex.exec(e);if(!r)throw"DPURLParser::_parse -> Invalid URL";for(var n in this._fields)void 0!==r[this._fields[n]]&&(this._values[n]=r[this._fields[n]]);this._values.Path=this._values.Path||"/",this._values.Hostname=this._values.Host.replace(/:\d+$/,""),this._values.Origin=this._values.Protocol+"://"+this._values.Hostname+(this._values.Port?":"+this._values.Port:"")},new n(r)).getParse();i={method:e.resource.method,status:e.resource.statusCode,statusGroup:E(e.resource.statusCode),url:e.resource.url,urlHost:o.Host,urlPath:o.Path,urlPathGroup:S(o.Path)}}t.error(e.message,f({date:e.startClocks.timeStamp,error:{type:e.type,source:e.source,stack:e.stack}},{resource:i},un(e.startClocks.relative)))}return r.subscribe(a),function(e,r){var n=o(e,r);n&&s.add(n)}}(t,!1!==e.forwardErrorsToLogs?$r(t):new Je,tn(t,function(e){if(void 0===document.cookie||null===document.cookie)return!1;try{var r="dd_cookie_test_".concat(O()),n="test";return er(r,n,M,e),rr(r)===n}catch(e){return!1}}(t.cookieOptions)),r)}));!function(e,r,n){var t=e[r];e[r]=n,t&&t.q&&u(t.q,(function(e){e()}))}(Cr(),"DATAFLUX_LOGS",cn)})();
|
|
1
|
+
(()=>{"use strict";var e=Array.prototype,t=Function.prototype,r=Object.prototype,n=e.slice,o=r.toString,i=r.hasOwnProperty,s=(t.bind,e.forEach),a=(e.indexOf,Array.isArray),u=function(e,t,r){if(null===e)return!1;if(s&&e.forEach===s)e.forEach(t,r);else if(e.length===+e.length){for(var n=0,o=e.length;n<o;n++)if(n in e&&false===t.call(r,e[n],n,e))return!1}else for(var a in e)if(i.call(e,a)&&false===t.call(r,e[a],a,e))return!1};function c(e){return u(n.call(arguments,1),(function(t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})),e}var f=function(e){return u(n.call(arguments,1),(function(t){for(var r in t)void 0!==t[r]&&(e[r]=t[r])})),e},l=function(e){return u(n.call(arguments,1),(function(t){for(var r in t)void 0!==t[r]&&(b(t[r])&&b(e[r])?f(e[r],t[r]):e[r]=t[r])})),e},d=a||function(e){return"[object Array]"===o.call(e)},p=function(e){if(!e)return!1;try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},v=function(e){var t=[];return null===e||u(e,(function(e){t[t.length]=e})),t},h=function(e,t,r){if(e.filter)return e.filter(t);for(var n=[],o=0;o<e.length;o++)if(i.call(e,o)){var s=e[o];t.call(r,s,o,e)&&n.push(s)}return n},g=function(e,t,r){if(e.map)return e.map(t);for(var n=[],o=0;o<e.length;o++)if(i.call(e,o)){var s=e[o];n.push(t.call(r,s,o,e))}return n},b=function(e){return null!==e&&"[object Object]"===o.call(e)},y=function(e){if(b(e)){for(var t in e)if(i.call(e,t))return!1;return!0}return!1},m=function(e){return"[object String]"===o.call(e)},w=function(e){return"[object Boolean]"===o.call(e)},_=function(e){return"[object Number]"===o.call(e)&&/[\d\.]+/.test(String(e))},x=(Date.now,function(e,t,r){var n,o,i,s,a=0;r||(r={});var u=function(){a=!1===r.leading?0:(new Date).getTime(),n=null,s=e.apply(o,i),n||(o=i=null)},c=function(){i=arguments;var c=(new Date).getTime();a||!1!==r.leading||(a=c);var f=t-(c-a);return o=this,f<=0||f>t?(n&&(clearTimeout(n),n=null),a=c,s=e.apply(o,i),n||(o=i=null)):n||!1===r.trailing||(n=setTimeout(u,f)),s};return c.cancel=function(){clearTimeout(n),a=0,n=null},c});function O(e){return e?(parseInt(e,10)^16*Math.random()>>parseInt(e,10)/4).toString(16):"".concat(1e7,"-",1e3,"-",4e3,"-",8e3,"-",1e11).replace(/[018]/g,O)}function S(e,t,r){if(void 0===r&&(r=function(){if("undefined"!=typeof WeakSet){var e=new WeakSet;return{hasAlreadyBeenSeen(t){var r=e.has(t);return r||e.add(t),r}}}var t=[];return{hasAlreadyBeenSeen(e){var r=t.indexOf(e)>=0;return r||t.push(e),r}}}()),void 0===t)return e;if("object"!=typeof t||null===t)return t;if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){var n=t.flags||[t.global?"g":"",t.ignoreCase?"i":"",t.multiline?"m":"",t.sticky?"y":"",t.unicode?"u":""].join("");return new RegExp(t.source,n)}if(!r.hasAlreadyBeenSeen(t)){if(Array.isArray(t)){for(var o=Array.isArray(e)?e:[],i=0;i<t.length;++i)o[i]=S(o[i],t[i],r);return o}var s;o="object"==(null===(s=e)?"null":Array.isArray(s)?"array":typeof s)?e:{};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(o[a]=S(o[a],t[a],r));return o}}function E(e){return S(void 0,e)}function k(e,t,r){if(null==e)return JSON.stringify(e);var n=[!1,void 0];C(e)&&(n=[!0,e.toJSON],delete e.toJSON);var o,i,s=[!1,void 0];"object"==typeof e&&C(o=Object.getPrototypeOf(e))&&(s=[!0,o.toJSON],delete o.toJSON);try{i=JSON.stringify(e,void 0,r)}catch(e){i="<error: unable to serialize object>"}finally{n[0]&&(e.toJSON=n[1]),s[0]&&(o.toJSON=s[1])}return i}function C(e){return"object"==typeof e&&null!==e&&e.hasOwnProperty("toJSON")}function T(){}var $,L=1e3,B=6e4;function M(e,t){return+e.toFixed(t)}function R(){return performance.now()}function U(){return{relative:R(),timeStamp:A()}}function A(){return I()}function I(){return(new Date).getTime()}function P(e,t){return t-e}function F(){return void 0===$&&($=performance.timing.navigationStart),$}function D(e,t){for(var r=t.split(".");r.length;){var n=r.shift();if(!(e&&n in e&&i.call(e,n)))return;e=e[n]}return e}function j(e,t){var r=e.charCodeAt(t-1);return r>=55296&&r<=56319?e.slice(0,t+1):e.slice(0,t)}function q(e,t,r,n){return Q(e,[t],r,n)}function Q(e,t,r,n){var o=n&&n.once?function(e){i(),r(e)}:r;n=n&&n.passive?{capture:n.capture,passive:n.passive}:n&&n.capture,u(t,(function(t){e.addEventListener(t,o,n)}));var i=function(){u(t,(function(t){e.removeEventListener(t,o,n)}))};return{stop:i}}function V(e,t){return-1!==e.indexOf(t)}function W(){var e={};return{get:function(){return e},add:function(t,r){m(t)&&(e[t]=r)},remove:function(t){delete e[t]},set:function(t){b(t)&&(e=t)},getContext:function(){return E(e)},setContext:function(t){e=E(t)},setContextProperty:function(t,r){e[t]=E(r)},removeContextProperty:function(t){delete e[t]},clearContext:function(){e={}}}}function N(e){var t={};return u(e,(function(e,r){var n;t[(n=r,n.replace(/[A-Z]/g,(function(e,t){return(0!==t?"_":"")+e.toLowerCase()})).replace(/-/g,"_"))]=G(e)})),t}function G(e){return d(e)?g(e,(function(e){return G(e)})):"object"==typeof e&&null!==e?N(e):e}function H(e){if("object"==typeof e&&e)e=k(e);else if(!m(e))return e;return String(e).replace(/[\s=,"]/g,(function(e){return"\\"+e}))}function X(e){return'"'+e.replace(/[\\]*"/g,'"').replace(/"/g,'\\"')+'"'}function K(e){return"object"==typeof e&&e?X(k(e)):m(e)?X(e):e}function z(e,t){return null!=e?e:t}var Y=function(){this.buffer=[]};Y.prototype={add:function(e){this.buffer.push(e)>this.limit&&this.buffer.splice(0,1)},drain:function(e){u(this.buffer,(function(t){e(t)})),this.buffer.length=0}};var J=Y,Z=1/0;function ee(e){this.expireDelay=e,this.entries=[];var t=this;this.clearOldContextsInterval=setInterval((function(){t.clearOldContexts()}),6e4)}ee.prototype.add=function(e,t){var r=this,n={context:e,startTime:t,endTime:Z,remove:function(){var e=r.entries.indexOf(n);e>=0&&r.entries.splice(e,1)},close:function(e){n.endTime=e}};return this.entries.unshift(n),n},ee.prototype.find=function(e){for(var t of(void 0===e&&(e=Z),this.entries))if(t.startTime<=e){if(e<=t.endTime)return t.context;break}},ee.prototype.closeActive=function(e){var t=this.entries[0];t&&t.endTime===Z&&t.close(e)},ee.prototype.findAll=function(e){void 0===e&&(e=Z);var t=h(this.entries,(function(t){return t.startTime<=e&&e<=t.endTime}));return g(t,(function(e){return e.context}))},ee.prototype.reset=function(){this.entries=[]},ee.prototype.stop=function(){clearInterval(this.clearOldContextsInterval)},ee.prototype.clearOldContexts=function(){for(var e=R()-this.expireDelay;this.entries.length>0&&this.entries[this.entries.length-1].endTime<e;)this.entries.pop()};var te={log:"log",debug:"debug",info:"info",warn:"warn",error:"error"},re=function e(t){var r=[].slice.call(arguments,1);Object.prototype.hasOwnProperty.call(te,t)||(t=te.log),e[t].apply(e,r)};re.debug=void 0,re.log=void 0,re.info=void 0,re.warn=void 0,re.error=void 0;var ne={navigator:void 0!==window.navigator?window.navigator:{},infoMap:{engine:["WebKit","Trident","Gecko","Presto"],browser:["Safari","Chrome","Edge","IE","IE 11","IE 10","IE 9","IE 8","IE 7","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Coc Coc","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","360","360SE","360EE","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","2345Explorer","TheWorld","XiaoMi","Quark","Qiyu","Wechat",,"WechatWork","Taobao","Alipay","Weibo","Douban","Suning","iQiYi"],os:["Windows","Linux","Mac OS","Android","Ubuntu","FreeBSD","Debian","iOS","Windows Phone","BlackBerry","MeeGo","Symbian","Chrome OS","WebOS"],device:["Mobile","Tablet","iPad"]}},oe={getMatchMap:function(e){return{Trident:e.indexOf("Trident")>-1||e.indexOf("NET CLR")>-1,Presto:e.indexOf("Presto")>-1,WebKit:e.indexOf("AppleWebKit")>-1,Gecko:e.indexOf("Gecko/")>-1,Safari:e.indexOf("Safari")>-1,Chrome:e.indexOf("Chrome")>-1||e.indexOf("CriOS")>-1,IE:e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1,Edge:e.indexOf("Edge")>-1,Firefox:e.indexOf("Firefox")>-1||e.indexOf("FxiOS")>-1,"Firefox Focus":e.indexOf("Focus")>-1,Chromium:e.indexOf("Chromium")>-1,Opera:e.indexOf("Opera")>-1||e.indexOf("OPR")>-1,Vivaldi:e.indexOf("Vivaldi")>-1,Yandex:e.indexOf("YaBrowser")>-1,Arora:e.indexOf("Arora")>-1,Lunascape:e.indexOf("Lunascape")>-1,QupZilla:e.indexOf("QupZilla")>-1,"Coc Coc":e.indexOf("coc_coc_browser")>-1,Kindle:e.indexOf("Kindle")>-1||e.indexOf("Silk/")>-1,Iceweasel:e.indexOf("Iceweasel")>-1,Konqueror:e.indexOf("Konqueror")>-1,Iceape:e.indexOf("Iceape")>-1,SeaMonkey:e.indexOf("SeaMonkey")>-1,Epiphany:e.indexOf("Epiphany")>-1,360:e.indexOf("QihooBrowser")>-1||e.indexOf("QHBrowser")>-1,"360EE":e.indexOf("360EE")>-1,"360SE":e.indexOf("360SE")>-1,UC:e.indexOf("UC")>-1||e.indexOf(" UBrowser")>-1,QQBrowser:e.indexOf("QQBrowser")>-1,QQ:e.indexOf("QQ/")>-1,Baidu:e.indexOf("Baidu")>-1||e.indexOf("BIDUBrowser")>-1,Maxthon:e.indexOf("Maxthon")>-1,Sogou:e.indexOf("MetaSr")>-1||e.indexOf("Sogou")>-1,LBBROWSER:e.indexOf("LBBROWSER")>-1,"2345Explorer":e.indexOf("2345Explorer")>-1,TheWorld:e.indexOf("TheWorld")>-1,XiaoMi:e.indexOf("MiuiBrowser")>-1,Quark:e.indexOf("Quark")>-1,Qiyu:e.indexOf("Qiyu")>-1,Wechat:e.indexOf("MicroMessenger")>-1,Taobao:e.indexOf("AliApp(TB")>-1,Alipay:e.indexOf("AliApp(AP")>-1,Weibo:e.indexOf("Weibo")>-1,Douban:e.indexOf("com.douban.frodo")>-1,Suning:e.indexOf("SNEBUY-APP")>-1,iQiYi:e.indexOf("IqiyiApp")>-1,Windows:e.indexOf("Windows")>-1,Linux:e.indexOf("Linux")>-1||e.indexOf("X11")>-1,"Mac OS":e.indexOf("Macintosh")>-1,Android:e.indexOf("Android")>-1||e.indexOf("Adr")>-1,Ubuntu:e.indexOf("Ubuntu")>-1,FreeBSD:e.indexOf("FreeBSD")>-1,Debian:e.indexOf("Debian")>-1,"Windows Phone":e.indexOf("IEMobile")>-1||e.indexOf("Windows Phone")>-1,BlackBerry:e.indexOf("BlackBerry")>-1||e.indexOf("RIM")>-1,MeeGo:e.indexOf("MeeGo")>-1,Symbian:e.indexOf("Symbian")>-1,iOS:e.indexOf("like Mac OS X")>-1,"Chrome OS":e.indexOf("CrOS")>-1,WebOS:e.indexOf("hpwOS")>-1,Mobile:e.indexOf("Mobi")>-1||e.indexOf("iPh")>-1||e.indexOf("480")>-1,Tablet:e.indexOf("Tablet")>-1||e.indexOf("Nexus 7")>-1,iPad:e.indexOf("iPad")>-1}},matchInfoMap:function(e){var t=ne.navigator.userAgent||{},r=oe.getMatchMap(t);for(var n in ne.infoMap)for(var o=0;o<ne.infoMap[n].length;o++){var i=ne.infoMap[n][o];r[i]&&(e[n]=i)}},getOS:function(){return oe.matchInfoMap(this),this.os||"Unknown"},getOSVersion:function(){var e=this,t=ne.navigator.userAgent||{};e.osVersion="",e.osMajor="";var r={Windows:function(){var e=t.replace(/^.*Windows NT ([\d.]+);.*$/,"$1");return{6.4:"10",6.3:"8.1",6.2:"8",6.1:"7","6.0":"Vista",5.2:"XP",5.1:"XP","5.0":"2000"}[e]||e},Android:function(){return t.replace(/^.*Android ([\d.]+);.*$/,"$1")},iOS:function(){return t.replace(/^.*OS ([\d_]+) like.*$/,"$1").replace(/_/g,".")},Debian:function(){return t.replace(/^.*Debian\/([\d.]+).*$/,"$1")},"Windows Phone":function(){return t.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/,"$2")},"Mac OS":function(){return t.replace(/^.*Mac OS X ([\d_]+).*$/,"$1").replace(/_/g,".")},WebOS:function(){return t.replace(/^.*hpwOS\/([\d.]+);.*$/,"$1")}};return r[e.os]&&(e.osVersion=r[e.os](),e.osVersion===t&&(e.osVersion="")),e.osVersion&&(e.osMajor=e.osVersion.split(".").length&&e.osVersion.split(".")[0]),{version:e.osVersion,osMajor:e.osMajor}},getOrientationStatu:function(){return window.matchMedia("(orientation: portrait)").matches?"竖屏":"横屏"},getDeviceType:function(){var e=this;return e.device="PC",oe.matchInfoMap(e),e.device},getNetwork:function(){return navigator&&navigator.connection&&navigator.connection.effectiveType},getLanguage:function(){var e;return this.language=((e=(ne.navigator.browserLanguage||ne.navigator.language).split("-"))[1]&&(e[1]=e[1].toUpperCase()),e.join("_")),this.language},getBrowserInfo:function(){var e=this;oe.matchInfoMap(e);var t=ne.navigator.userAgent||{},r=function(e,t){var r=ne.navigator.mimeTypes;for(var n in r)if(r[n][e]==t)return!0;return!1},n=oe.getMatchMap(t),o=!1;if(window.chrome){var i=t.replace(/^.*Chrome\/([\d]+).*$/,"$1");i>36&&window.showModalDialog?o=!0:i>45&&(o=r("type","application/vnd.chromium.remoting-viewer"))}if(n.Baidu&&n.Opera&&(n.Baidu=!1),n.Mobile&&(n.Mobile=!(t.indexOf("iPad")>-1)),o&&(r("type","application/gameplugin")||ne.navigator&&void 0===ne.navigator.connection.saveData?n["360SE"]=!0:n["360EE"]=!0),n.IE||n.Edge)switch(window.screenTop-window.screenY){case 71:case 74:case 99:case 75:case 74:case 105:default:break;case 102:n["360EE"]=!0;break;case 104:n["360SE"]=!0}var s={Safari:function(){return t.replace(/^.*Version\/([\d.]+).*$/,"$1")},Chrome:function(){return t.replace(/^.*Chrome\/([\d.]+).*$/,"$1").replace(/^.*CriOS\/([\d.]+).*$/,"$1")},IE:function(){return t.replace(/^.*MSIE ([\d.]+).*$/,"$1").replace(/^.*rv:([\d.]+).*$/,"$1")},Edge:function(){return t.replace(/^.*Edge\/([\d.]+).*$/,"$1")},Firefox:function(){return t.replace(/^.*Firefox\/([\d.]+).*$/,"$1").replace(/^.*FxiOS\/([\d.]+).*$/,"$1")},"Firefox Focus":function(){return t.replace(/^.*Focus\/([\d.]+).*$/,"$1")},Chromium:function(){return t.replace(/^.*Chromium\/([\d.]+).*$/,"$1")},Opera:function(){return t.replace(/^.*Opera\/([\d.]+).*$/,"$1").replace(/^.*OPR\/([\d.]+).*$/,"$1")},Vivaldi:function(){return t.replace(/^.*Vivaldi\/([\d.]+).*$/,"$1")},Yandex:function(){return t.replace(/^.*YaBrowser\/([\d.]+).*$/,"$1")},Arora:function(){return t.replace(/^.*Arora\/([\d.]+).*$/,"$1")},Lunascape:function(){return t.replace(/^.*Lunascape[\/\s]([\d.]+).*$/,"$1")},QupZilla:function(){return t.replace(/^.*QupZilla[\/\s]([\d.]+).*$/,"$1")},"Coc Coc":function(){return t.replace(/^.*coc_coc_browser\/([\d.]+).*$/,"$1")},Kindle:function(){return t.replace(/^.*Version\/([\d.]+).*$/,"$1")},Iceweasel:function(){return t.replace(/^.*Iceweasel\/([\d.]+).*$/,"$1")},Konqueror:function(){return t.replace(/^.*Konqueror\/([\d.]+).*$/,"$1")},Iceape:function(){return t.replace(/^.*Iceape\/([\d.]+).*$/,"$1")},SeaMonkey:function(){return t.replace(/^.*SeaMonkey\/([\d.]+).*$/,"$1")},Epiphany:function(){return t.replace(/^.*Epiphany\/([\d.]+).*$/,"$1")},360:function(){return t.replace(/^.*QihooBrowser\/([\d.]+).*$/,"$1")},"360SE":function(){return{63:"10.0",55:"9.1",45:"8.1",42:"8.0",31:"7.0",21:"6.3"}[t.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"360EE":function(){return{69:"11.0",63:"9.5",55:"9.0",50:"8.7",30:"7.5"}[t.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},Maxthon:function(){return t.replace(/^.*Maxthon\/([\d.]+).*$/,"$1")},QQBrowser:function(){return t.replace(/^.*QQBrowser\/([\d.]+).*$/,"$1")},QQ:function(){return t.replace(/^.*QQ\/([\d.]+).*$/,"$1")},Baidu:function(){return t.replace(/^.*BIDUBrowser[\s\/]([\d.]+).*$/,"$1")},UC:function(){return t.replace(/^.*UC?Browser\/([\d.]+).*$/,"$1")},Sogou:function(){return t.replace(/^.*SE ([\d.X]+).*$/,"$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/,"$1")},LBBROWSER:function(){var e="";t.indexOf("LieBaoFast")>-1&&(e=t.replace(/^.*LieBaoFast\/([\d.]+).*$/,"$1"));var r=t.replace(/^.*Chrome\/([\d]+).*$/,"$1");return e||{57:"6.5",49:"6.0",46:"5.9",42:"5.3",39:"5.2",34:"5.0",29:"4.5",21:"4.0"}[r]||""},"2345Explorer":function(){return t.replace(/^.*2345Explorer\/([\d.]+).*$/,"$1")},TheWorld:function(){return t.replace(/^.*TheWorld ([\d.]+).*$/,"$1")},XiaoMi:function(){return t.replace(/^.*MiuiBrowser\/([\d.]+).*$/,"$1")},Quark:function(){return t.replace(/^.*Quark\/([\d.]+).*$/,"$1")},Qiyu:function(){return t.replace(/^.*Qiyu\/([\d.]+).*$/,"$1")},Wechat:function(){return t.replace(/^.*MicroMessenger\/([\d.]+).*$/,"$1")},WechatWork:function(){return t.replace(/^.*wxwork\/([\d.]+).*$/,"$1")},Taobao:function(){return t.replace(/^.*AliApp\(TB\/([\d.]+).*$/,"$1")},Alipay:function(){return t.replace(/^.*AliApp\(AP\/([\d.]+).*$/,"$1")},Weibo:function(){return t.replace(/^.*weibo__([\d.]+).*$/,"$1")},Douban:function(){return t.replace(/^.*com.douban.frodo\/([\d.]+).*$/,"$1")},Suning:function(){return t.replace(/^.*SNEBUY-APP([\d.]+).*$/,"$1")},iQiYi:function(){return t.replace(/^.*IqiyiVersion\/([\d.]+).*$/,"$1")}};return e.browserVersion="",e.browserMajor="",s[e.browser]&&(e.browserVersion=s[e.browser](),e.browserVersion==t&&(e.browserVersion="")),"Chrome"==e.browser&&t.match(/\S+Browser/)&&(e.browser=t.match(/\S+Browser/)[0],e.version=t.replace(/^.*Browser\/([\d.]+).*$/,"$1")),"Edge"==e.browser&&(e.version>"75"?e.engine="Blink":e.engine="EdgeHTML"),("Chrome"==e.browser&&parseInt(e.browserVersion)>27||n.Chrome&&"WebKit"==e.engine&&parseInt(e.browserVersion)>27||"Opera"==e.browser&&parseInt(e.version)>12||"Yandex"==e.browser)&&(e.engine="Blink"),e.browserVersion&&(e.browserMajor=e.browserVersion.split(".").length&&this.browserVersion.split(".")[0]),{browser:e.browser,browserVersion:e.browserVersion,engine:e.engine,browserMajor:e.browserMajor}},getGeoPostion:function(e){navigator&&navigator.geolocation&&navigator.geolocation.getCurrentPosition((function(t){e(t)}),(function(e){re.warn(e)}))}},ie={os:oe.getOS(),osVersion:oe.getOSVersion().version,osVersionMajor:oe.getOSVersion().osMajor,browser:oe.getBrowserInfo().browser,browserVersion:oe.getBrowserInfo().browserVersion,browserVersionMajor:oe.getBrowserInfo().browserMajor,screenSize:window.screen.width+"*"+window.screen.height,networkType:oe.getNetwork(),divice:oe.getDeviceType()},se="beforeunload",ae="click",ue="keydown",ce="scroll",fe="touchstart",le="visibilitychange",de="securitypolicyviolation",pe="action",ve="error",he="long_task",ge="view",be="resource",ye="logger",me={FETCH:"fetch",XHR:"xhr"},we="unhandled";function _e(e,t,r){var n=e[t],o=r(n),i=function(){if("function"==typeof o)return o.apply(this,arguments)};return e[t]=i,{stop:function(){e[t]===i?e[t]=n:o=n}}}function xe(e,t,r){return _e(e,t,(function(e){return function(){var t;return r&&r.before&&r.before.apply(this,arguments),"function"==typeof e&&(t=e.apply(this,arguments)),r&&r.after&&r.after.apply(this,arguments),t}}))}var Oe="?";function Se(e){var t=[],r=Me(e,"stack");return r&&u(r.split("\n"),(function(e){var r=function(e){var t=ke.exec(e);if(!t)return;var r=t[2]&&0===t[2].indexOf("native"),n=t[2]&&0===t[2].indexOf("eval"),o=Ce.exec(t[2]);n&&o&&(t[2]=o[1],t[3]=o[2],t[4]=o[3]);return{args:r?[t[2]]:[],column:t[4]?+t[4]:void 0,func:t[1]||Oe,line:t[3]?+t[3]:void 0,url:r?void 0:t[2]}}(e)||function(e){var t=Te.exec(e);if(!t)return;return{args:[],column:t[3]?+t[3]:void 0,func:Oe,line:t[2]?+t[2]:void 0,url:t[1]}}(e)||function(e){var t=$e.exec(e);if(!t)return;return{args:[],column:t[4]?+t[4]:void 0,func:t[1]||Oe,line:+t[3],url:t[2]}}(e)||function(e){var t=Le.exec(e);if(!t)return;var r=t[3]&&t[3].indexOf(" > eval")>-1,n=Be.exec(t[3]);r&&n&&(t[3]=n[1],t[4]=n[2],t[5]=void 0);return{args:t[2]?t[2].split(","):[],column:t[5]?+t[5]:void 0,func:t[1]||Oe,line:t[4]?+t[4]:void 0,url:t[3]}}(e);r&&(!r.func&&r.line&&(r.func=Oe),t.push(r))})),{message:Me(e,"message"),name:Me(e,"name"),stack:t}}var Ee="((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\w+\\.|\\/).*?)",ke=new RegExp("^\\s*at (.*?) ?\\("+Ee+"(?::(\\d+))?"+"(?::(\\d+))?\\)?\\s*$","i"),Ce=new RegExp("\\((\\S*)(?::(\\d+))(?::(\\d+))\\)");var Te=new RegExp("^\\s*at ?"+Ee+"(?::(\\d+))?"+"(?::(\\d+))??\\s*$","i");var $e=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;var Le=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,Be=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function Me(e,t){if("object"==typeof e&&e&&t in e){var r=e[t];return"string"==typeof r?r:void 0}}var Re=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function Ue(e){var t=function(e){return xe(window,"onerror",{before:function(t,r,n,o,i){var s;if(i)s=Se(i),e(s,i);else{var a,u={url:r,column:o,line:n},c=t;if("[object String]"==={}.toString.call(t)){var f=Re.exec(c);f&&(a=f[1],c=f[2])}e(s={name:a,message:"string"==typeof c?c:void 0,stack:[u]},t)}}})}(e),r=function(e){return xe(window,"onunhandledrejection",{before:function(t){var r=t.reason||"Empty reason",n=Se(r);e(n,r)}})}(e);return{stop:function(){t.stop(),r.stop()}}}var Ae={AGENT:"agent",CONSOLE:"console",NETWORK:"network",SOURCE:"source",LOGGER:"logger",CUSTOM:"custom"};function Ie(){var e=new Error;if(!e.stack)try{throw e}catch(e){}var t=Se(e);return t.stack=t.stack.slice(2),Pe(t)}function Pe(e){var t=Fe(e);return u(e.stack,(function(e){var r="?"===e.func?"<anonymous>":e.func,n=e.args&&e.args.length>0?"("+e.args.join(", ")+")":"",o=e.line?":"+e.line:"",i=e.line&&e.column?":"+e.column:"";t+="\n at "+r+n+" @ "+e.url+o+i})),t}function Fe(e){return(e.name||"Error")+": "+e.message}function De(e,t){for(var r=e,n=[];r&&r.cause instanceof Error&&n.length<10;){var o=Se(r.cause);n.push({message:r.cause.message,source:t,type:o&&o.name,stack:o&&Pe(o)}),r=r.cause}return n.length?n:void 0}function je(e){return Ue((function(t,r){e.notify(function(e){var t=e.stackTrace,r=e.originalError,n=e.handlingStack,o=e.startClocks,i=e.nonErrorPrefix,s=e.source,a=e.handling;return t&&(void 0!==t.message||r instanceof Error)?{startClocks:o,source:s,handling:a,originalError:r,message:t.message||"Empty message",stack:Pe(t),handlingStack:n,type:t.name,causes:De(r,s)}:{startClocks:o,source:s,handling:a,originalError:r,message:i+" "+k(r),stack:"No stack, consider using an instance of Error",handlingStack:n,type:t&&t.name}}({stackTrace:t,originalError:r,startClocks:U(),nonErrorPrefix:"Uncaught",source:Ae.SOURCE,handling:we}))}))}var qe=function(e){this.observers=[],this.onLastUnsubscribe=void 0,this.onFirstSubscribe=e};qe.prototype={subscribe:function(e){!this.observers.length&&this.onFirstSubscribe&&(this.onLastUnsubscribe=this.onFirstSubscribe()||void 0),this.observers.push(e);var t=this;return{unsubscribe:function(){t.observers=h(t.observers,(function(t){return e!==t})),!t.observers.length&&t.onLastUnsubscribe&&t.onLastUnsubscribe()}}},notify:function(e){u(this.observers,(function(t){t(e)}))}};var Qe=qe;function Ve(){var e=[].slice.call(arguments),t=new Qe((function(){var r=g(e,(function(e){return e.subscribe((function(e){return t.notify(e)}))}));return function(){return u(r,(function(e){return e.unsubscribe()}))}}));return t}var We={};function Ne(e){var t=g(e,(function(e){return We[e]||(We[e]=function(e){var t=new Qe((function(){var r=console[e];return console[e]=function(){var n=[].slice.call(arguments);r.apply(console,arguments);var o=Ie();t.notify(Ge(n,e,o))},function(){console[e]=r}}));return t}(e)),We[e]}));return Ve.apply(this,t)}function Ge(e,t,r){var n,o=g(e,(function(e){return function(e){if("string"==typeof e)return e;if(e instanceof Error)return Fe(Se(e));return k(e,0,2)}(e)})).join(" ");if(t===te.error){var i=function(e,t){for(var r=0;r<e.length;r+=1){var n=e[r];if(t(n,r,e))return n}}(e,(function(e){return e instanceof Error}));n=i?Pe(Se(i)):void 0,o="console error: "+o}return{api:t,message:o,stack:n,handlingStack:r}}var He={intervention:"intervention",deprecation:"deprecation",cspViolation:"csp_violation"};function Xe(e){var t,r=[];V(e,He.cspViolation)&&r.push(t=new Qe((function(){return q(document,de,(function(e){t.notify(function(e){var t=He.cspViolation,r="'"+e.blockedURI+"' blocked by '"+e.effectiveDirective+"' directive";return{type:He.cspViolation,subtype:e.effectiveDirective,message:t+": "+r,stack:Ke(e.effectiveDirective,r+' of the policy "'+j(e.originalPolicy,100)+'"',e.sourceFile,e.lineNumber,e.columnNumber)}}(e))})).stop})));var n=h(e,(function(e){return e!==He.cspViolation}));return n.length&&r.push(function(e){var t=new Qe((function(){if(window.ReportingObserver){var r=function(e){u(e,(function(e){t.notify(function(e){var t=e.body,r=e.type;return{type:r,subtype:t.id,message:r+": "+t.message,stack:Ke(t.id,t.message,t.sourceFile,t.lineNumber,t.columnNumber)}}(e))}))},n=new window.ReportingObserver(r,{types:e,buffered:!0});return n.observe(),function(){n.disconnect()}}}));return t}(n)),Ve.apply(this,r)}function Ke(e,t,r,n,o){return r&&Pe({name:e,message:t,stack:[{func:"?",url:r,line:n,column:o}]})}var ze=function(){this._events=[],this.pendingEvents=[]};ze.prototype={emit:function(e){var t=[].slice.call(arguments,1);u(this._events,(function(r){if(r.type!==e)return!1;r.callback.apply(r.context,t)}))},on:function(e,t,r){"function"==typeof t&&this._events.push({type:e,callback:t,context:r||this})}};new ze;var Ye,Je="RAW_LOG_COLLECTED",Ze="LOG_COLLECTED";function et(){this.callbacks=[]}function tt(e){return rt(e,function(e){if(e.origin)return e.origin;var t=e.host.replace(/(:80|:443)$/,"");return e.protocol+"//"+t}(window.location)).href}function rt(e,t){if(function(){if(void 0!==Ye)return Ye;try{var e=new URL("http://test/path");return Ye="http://test/path"===e.href}catch(e){Ye=!1}return Ye}())return void 0!==t?new URL(e,t):new URL(e);if(void 0===t&&!/:/.test(e))throw new Error("Invalid URL: "+e);var r=document,n=r.createElement("a");if(void 0!==t){var o=(r=document.implementation.createHTMLDocument("")).createElement("base");o.href=t,r.head.appendChild(o),r.body.appendChild(n)}return n.href=e,n}et.prototype={notify:function(e,t){var r=this.callbacks[e];r&&u(r,(function(e){e(t)}))},subscribe:function(e,t){this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t);var r=this;return{unsubscribe:function(){r.callbacks[e]=h(r.callbacks[e],(function(e){return e!==t}))}}}};var nt=navigator.userAgent.toLowerCase(),ot=function(){return/iphone os/.test(nt)};var it;function st(e,t,r,n){var o=new Date;o.setTime(o.getTime()+r);var i="expires="+o.toUTCString(),s=n&&n.crossSite?"none":"strict",a=n&&n.domain?";domain="+n.domain:"",u=n&&n.secure?";secure":"";document.cookie=e+"="+t+";"+i+";path=/;samesite="+s+a+u}function at(e){return function(e,t){var r=e.match("(?:^|;)\\s*"+t+"\\s*=\\s*([^;]+)");return r?r[1]:void 0}(document.cookie,e)}var ut,ct,ft=/^\s+|\s+$/g;function lt(e){return e.replace(ft,"")}function dt(e){return e.lastIndexOf("/")===e.length-1?lt(e)+"v1/write/logging":lt(e)+"/v1/write/logging"}function pt(e){var t,r,n;if(void 0===e.sampleRate||(t=e.sampleRate,_(t)&&t>=0&&t<=100))return c({beforeSend:e.beforeSend&&(r=e.beforeSend,n="beforeSend threw an error:",function(){var e=[].slice.call(arguments);try{return r.apply(this,e)}catch(e){re.error(n,e)}}),cookieOptions:vt(e),sampleRate:z(e.sampleRate,100),service:e.service,version:e.version,env:e.env,silentMultipleInit:!!e.silentMultipleInit,batchBytesLimit:16384,eventRateLimiterThreshold:3e3,flushTimeout:3e4,batchMessagesLimit:50,messageBytesLimit:262144},function(e){var t=function(e){return!1};"isIntakeUrl"in e&&p(e.isIntakeUrl)&&w(e.isIntakeUrl())&&(t=e.isIntakeUrl);var r,n=function(e){return!1};return"isServerError"in e&&p(e.isServerError)&&w(e.isServerError())&&(n=e.isServerError),{datakitUrl:(r=e.datakitUrl||e.datakitOrigin,r.lastIndexOf("/")===r.length-1?lt(r)+"v1/write/rum":lt(r)+"/v1/write/rum"),logsEndpoint:dt(e.datakitOrigin),isIntakeUrl:t,isServerError:n}}(e));re.error("Sample Rate should be a number between 0 and 100")}function vt(e){var t={};return t.secure=function(e){return!!e.useSecureSessionCookie||!!e.useCrossSiteSessionCookie}(e),t.crossSite=!!e.useCrossSiteSessionCookie,e.trackSessionAcrossSubdomains&&(t.domain=function(){if(void 0===it){for(var e="dd_site_test_".concat(O()),t=window.location.hostname.split("."),r=t.pop();t.length&&!at(e);)r=t.pop()+"."+r,st(e,"test",L,{domain:r});it=r}return it}()),t}function ht(){var e;return ut||(e=new Qe((function(){if(window.fetch){var t=_e(window,"fetch",(function(t){return function(r,n){var o,i=function(e,t,r){var n=r&&r.method||"object"==typeof t&&t.method||"GET",o=tt("object"==typeof t&&t.url||t),i=U(),s={state:"start",init:r,input:t,method:n,startClocks:i,url:o};return e.notify(s),s}(e,r,n);return i?(o=t.call(this,i.input,i.init),function(e,t,r){var n=function(t){var n=r;n.state="complete",n.duration=P(n.startClocks.timeStamp,A()),"stack"in t||t instanceof Error?(n.status=0,n.isAborted=t instanceof DOMException&&t.code===DOMException.ABORT_ERR,n.error=t,e.notify(n)):"status"in t&&(n.response=t,n.responseType=t.type,n.status=t.status,n.isAborted=!1,e.notify(n))};t.then(n,n)}(e,o,i)):o=t.call(this,r,n),o}}));return t.stop}})),ut=e),ut}var gt={};function bt(){var e;return ct||(e=new Qe((function(){var t=xe(XMLHttpRequest.prototype,"open",{before:yt}),r=xe(XMLHttpRequest.prototype,"send",{before:function(){mt.call(this,e)}}),n=xe(XMLHttpRequest.prototype,"abort",{before:_t});return function(){t.stop(),r.stop(),n.stop()}})),ct=e),ct}function yt(e,t){var r=this._DATAFLUX_REQUEST_UUID||O();this._DATAFLUX_REQUEST_UUID=r,gt[r]={state:"open",method:e,url:tt(String(t))}}function mt(e){var t=gt[this._DATAFLUX_REQUEST_UUID];if(t){var r=t;r.state="start",r.startTime=R(),r.startClocks=U(),r.isAborted=!1,r.xhr=this;var n=!1,o=xe(this,"onreadystatechange",{before:function(){this.readyState===XMLHttpRequest.DONE&&i.call(this)}}),i=function i(){if(this.removeEventListener("loadend",i),o.stop(),!n){n=!0;var s=t;s.state="complete",s.duration=P(r.startClocks.timeStamp,A()),s.status=this.status,e.notify(c({},s)),wt.call(this)}};this.addEventListener("loadend",i),e.notify(r)}}function wt(){delete gt[this._DATAFLUX_REQUEST_UUID],delete this._DATAFLUX_REQUEST_UUID}function _t(){var e=gt[this._DATAFLUX_REQUEST_UUID];e&&(e.isAborted=!0)}var xt={action_id:"action.id",sdk_name:"_dd.sdk_name",sdk_version:"_dd.sdk_version",app_id:"application.id",env:"env",service:"service",version:"version",userid:"user.id",user_email:"user.email",user_name:"user.name",session_id:"session.id",session_type:"session.type",session_sampling:"session.is_sampling",is_signin:"user.is_signin",os:"device.os",os_version:"device.os_version",os_version_major:"device.os_version_major",browser:"device.browser",browser_version:"device.browser_version",browser_version_major:"device.browser_version_major",screen_size:"device.screen_size",network_type:"device.network_type",device:"device.device",view_id:"view.id",view_referrer:"view.referrer",view_url:"view.url",view_host:"view.host",view_path:"view.path",view_path_group:"view.path_group",view_url_query:"view.url_query"},Ot={view:{type:ge,tags:{view_loading_type:"view.loading_type",view_apdex_level:"view.apdex_level",is_active:"view.is_active"},fields:{view_error_count:"view.error.count",view_resource_count:"view.resource.count",view_long_task_count:"view.long_task.count",view_action_count:"view.action.count",first_contentful_paint:"view.first_contentful_paint",largest_contentful_paint:"view.largest_contentful_paint",cumulative_layout_shift:"view.cumulative_layout_shift",first_input_delay:"view.first_input_delay",loading_time:"view.loading_time",dom_interactive:"view.dom_interactive",dom_content_loaded:"view.dom_content_loaded",dom_complete:"view.dom_complete",load_event:"view.load_event",first_input_time:"view.first_input_time",first_meaningful_paint:"view.largest_contentful_paint",first_paint_time:"view.fpt",resource_load_time:"view.resource_load_time",time_to_interactive:"view.tti",dom:"view.dom",dom_ready:"view.dom_ready",time_spent:"view.time_spent"}},resource:{type:be,tags:{trace_id:"_dd.trace_id",span_id:"_dd.span_id",resource_url:"resource.url",resource_url_host:"resource.url_host",resource_url_path:"resource.url_path",resource_url_path_group:"resource.url_path_group",resource_url_query:"resource.url_query",resource_type:"resource.type",resource_status:"resource.status",resource_status_group:"resource.status_group",resource_method:"resource.method"},fields:{duration:"resource.duration",resource_size:"resource.size",resource_dns:"resource.dns",resource_tcp:"resource.tcp",resource_ssl:"resource.ssl",resource_ttfb:"resource.ttfb",resource_trans:"resource.trans",resource_first_byte:"resource.firstbyte"}},error:{type:ve,tags:{error_id:"error.id",trace_id:"_dd.trace_id",span_id:"_dd.span_id",error_source:"error.source",error_type:"error.type",error_handling:"error.handling"},fields:{error_message:["string","error.message"],error_stack:["string","error.stack"],error_causes:["string","error.causes"]}},long_task:{type:he,tags:{long_task_id:"long_task.id"},fields:{duration:"long_task.duration"}},action:{type:pe,tags:{action_name:"action.target.name",action_type:"action.type"},fields:{duration:"action.loading_time",action_error_count:"action.error.count",action_resource_count:"action.resource.count",action_frustration_types:"action.frustration.type",action_long_task_count:"action.long_task.count"}},browser_log:{type:ye,tags:{error_source:"error.source",error_type:"error.type",error_resource_url:"http.url",error_resource_url_host:"http.url_host",error_resource_url_path:"http.url_path",error_resource_url_path_group:"http.url_path_group",error_resource_status:"http.status_code",error_resource_status_group:"http.status_group",error_resource_method:"http.method",action_id:"user_action.id",service:"service",status:"status"},fields:{message:["string","message"]}}};var St,Et=144e5,kt=9e5,Ct=/^([a-z]+)=([a-z0-9-]+)$/,Tt="&",$t="_dataflux_s",Lt=[];function Bt(e,t){if(void 0===t&&(t=0),St||(St=e),e===St)if(t>=100)Ut();else{var r,n=It();if(Mt()){if(n.lock)return void Rt(e,t);if(r=O(),n.lock=r,At(n,e.options),(n=It()).lock!==r)return void Rt(e,t)}var o=e.process(n);if(Mt()&&(n=It()).lock!==r)Rt(e,t);else{if(o&&function(e,t){if(Pt(e))return void function(e){st($t,"",0,e)}(t);e.expire=String(I()+kt),At(e,t)}(o,e.options),Mt()&&(!o||!Pt(o))){if((n=It()).lock!==r)return void Rt(e,t);delete n.lock,At(n,e.options),o=n}e.after&&e.after(o||n),Ut()}}else Lt.push(e)}function Mt(){return!!window.chrome||/HeadlessChrome/.test(window.navigator.userAgent)}function Rt(e,t){setTimeout((function(){Bt(e,t+1)}),10)}function Ut(){St=void 0;var e=Lt.shift();e&&Bt(e)}function At(e,t){st($t,function(e){return g((t=e,r=[],u(t,(function(e,t){r.push([t,e])})),r),(function(e){return e[0]+"="+e[1]})).join(Tt);var t,r}(e),kt,t)}function It(){var e=at($t),t={};return function(e){return void 0!==e&&(-1!==e.indexOf(Tt)||Ct.test(e))}(e)&&u(e.split(Tt),(function(e){var r=Ct.exec(e);if(null!==r){var n=r[1],o=r[2];t[n]=o}})),t}function Pt(e){return y(e)}function Ft(e,t,r){var n=new Qe,o=new Qe,i=setInterval((function(){Bt({options:e,process:function(e){return c(e)?void 0:{}},after:a})}),1e3),s=function(){var e=It();if(c(e))return e;return{}}();function a(e){return c(e)||(e={}),u()&&(!function(e){return s.id!==e.id||s[t]!==e[t]}(e)?s=e:(s={},o.notify())),e}function u(){return void 0!==s[t]}function c(e){return(void 0===e.created||I()-Number(e.created)<Et)&&(void 0===e.expire||I()<Number(e.expire))}return{expandOrRenewSession:x((function(){var o;Bt({options:e,process:function(e){var n=a(e);return o=function(e){var n=r(e[t]),o=n.trackingType,i=n.isTracked;e[t]=o,i&&!e.id&&(e.id=O(),e.created=String(I()));return i}(n),n},after:function(e){o&&!u()&&function(e){s=e,n.notify()}(e),s=e}})}),1e3),expandSession:function(){Bt({options:e,process:function(e){return u()?a(e):void 0}})},getSession:function(){return s},renewObservable:n,expireObservable:o,stop:function(){clearInterval(i)}}}var Dt=[],jt=function(e,t,r){var n=Ft(e,t,r);Dt.push((function(){return n.stop()}));var o,i=new ee(144e5);function s(){return{id:n.getSession().id,trackingType:n.getSession()[t]}}return Dt.push((function(){return i.stop()})),n.renewObservable.subscribe((function(){i.add(s(),R())})),n.expireObservable.subscribe((function(){i.closeActive(R())})),n.expandOrRenewSession(),i.add(s(),[0,F()][0]),o=Q(window,[ae,fe,ue,ce],(function(){return n.expandOrRenewSession()}),{capture:!0,passive:!0}),Dt.push(o.stop),function(e){var t=function(){"visible"===document.visibilityState&&e()},r=q(document,le,t);Dt.push(r.stop);var n=setInterval(t,6e4);Dt.push((function(){clearInterval(n)}))}((function(){return n.expandSession()})),{findActiveSession:function(e){return i.find(e)},renewObservable:n.renewObservable,expireObservable:n.expireObservable}};var qt=3145728,Qt="UP",Vt="FAILURE_DETECTED",Wt="DOWN",Nt="AFTER_SUCCESS",Gt="AFTER_RESUME";function Ht(e,t,r,n){t.transportStatus===Qt&&0===t.queuedPayloads.size()&&t.bandwidthMonitor.canHandle(e)?Kt(e,t,r,{onSuccess:function(){return zt(Nt,t,r,n)},onFailure:function(){t.queuedPayloads.enqueue(e),Xt(t,r,n)}}):t.queuedPayloads.enqueue(e)}function Xt(e,t,r){e.transportStatus===Wt&&setTimeout((function(){Kt(e.queuedPayloads.first(),e,t,{onSuccess:function(){e.queuedPayloads.dequeue(),e.currentBackoffTime=1e3,zt(Gt,e,t,r)},onFailure:function(){e.currentBackoffTime=Math.min(256e3,2*e.currentBackoffTime),Xt(e,t,r)}})}),e.currentBackoffTime)}function Kt(e,t,r,n){var o=n.onSuccess,i=n.onFailure;t.bandwidthMonitor.add(e),r(e,(function(r){t.bandwidthMonitor.remove(e),!function(e){return 0!==e.status&&e.status<500}(r)?(t.transportStatus=t.bandwidthMonitor.ongoingRequestCount>0?Vt:Wt,t.lastFailureStatus=r.status,i()):(t.transportStatus=Qt,o())}))}function zt(e,t,r,n){e===Nt&&t.queuedPayloads.isFull()&&!t.queueFullReported&&(n({message:"Reached max events size queued for upload: 3MiB",source:Ae.AGENT,startClocks:U()}),t.queueFullReported=!0);var o=t.queuedPayloads;for(t.queuedPayloads=Yt();o.size()>0;)Ht(o.dequeue(),t,r,n)}function Yt(){var e=[];return{bytesCount:0,enqueue:function(t){this.isFull()||(e.push(t),this.bytesCount+=t.bytesCount)},first:()=>e[0],dequeue(){var t=e.shift();return t&&(this.bytesCount-=t.bytesCount),t},size:()=>e.length,isFull(){return this.bytesCount>=qt}}}function Jt(e){return e?e+(-1===e.indexOf("?")?"?":"&")+"precision=ms":e}function Zt(e,t,r){var n={transportStatus:Qt,lastFailureStatus:0,currentBackoffTime:1e3,bandwidthMonitor:{ongoingRequestCount:0,ongoingByteCount:0,canHandle:function(e){return 0===this.ongoingRequestCount||this.ongoingByteCount+e.bytesCount<=81920&&this.ongoingRequestCount<32},add:function(e){this.ongoingRequestCount+=1,this.ongoingByteCount+=e.bytesCount},remove:function(e){this.ongoingRequestCount-=1,this.ongoingByteCount-=e.bytesCount}},queuedPayloads:Yt(),queueFullReported:!1},o=function(r,n){return function(e,t,r,n){var o=r.data,i=r.bytesCount,s=Jt(e);(function(){try{return window.Request&&"keepalive"in new Request("http://a")}catch(e){return!1}})()&&i<t?fetch(s,{method:"POST",body:o,keepalive:!0}).then((function(e){"function"==typeof n&&n({status:e.status})}),(function(){er(s,o,n)})):er(s,o,n)}(e,t,r,n)};return{send:function(e){Ht(e,n,o,r)},sendOnExit:function(r){!function(e,t,r){var n=r.data,o=r.bytesCount,i=Jt(e);if(navigator.sendBeacon&&o<t)try{if(navigator.sendBeacon(i,n))return}catch(e){}er(i,n)}(e,t,r)}}}function er(e,t,r){var n=new XMLHttpRequest;n.open("POST",e,!0),n.send(t),n.addEventListener("loadend",(function(){"function"==typeof r&&r({status:n.status})}))}var tr=/[^\u0000-\u007F]/,rr="custom_keys",nr=function(e){if(!e||!e.type)return{rowStr:"",rowData:void 0};var t={tags:{},fields:{}},r=!1,n="";return u(Ot,(function(o,i){if(o.type===e.type){n+=i+",",t.measurement=i;var s=[],a=f({},xt,o.tags),c=["date","type",rr];u(a,(function(r,n){var o=D(e,r);c.push(n),(o||_(o))&&(t.tags[n]=function(e){return m(e)?e:k(e)}(o),s.push(H(n)+"="+H(o)))}));var l=[];if(u(o.fields,(function(r,n){if(d(r)&&2===r.length){r[0];var o=r[1],i=D(e,o);c.push(n),(i||_(i))&&(t.fields[n]=i,l.push(H(n)+"="+K(i)))}else if(m(r)){i=D(e,r);c.push(n),(i||_(i))&&(t.fields[n]=i,l.push(H(n)+"="+K(i)))}})),e.tags&&b(e.tags)&&!y(e.tags)){var p=[];u(e.tags,(function(e,r){c.indexOf(r)>-1||(c.push(r),(e||_(e))&&(p.push(r),t.fields[r]=e,l.push(H(r)+"="+K(e))))})),p.length&&(t.fields.custom_keys=K(p),l.push(H(rr)+"="+K(p)))}e.type===ye&&u(e,(function(e,r){-1===c.indexOf(r)&&(_(e)||m(e)||w(e))&&(t.fields[r]=e,l.push(H(r)+"="+K(e)))})),s.length&&(n+=s.join(",")),l.length&&(n+=" ",n+=l.join(","),r=!0),n=n+" "+e.date,t.time=(v=e.date,_(v)?M(1e6*v,0):v)}var v})),{rowStr:r?n:"",rowData:r?t:void 0}},or=function(e,t,r,n,o,i){this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesCount=0,this.bufferMessagesCount=0,this.request=e,this.batchMessagesLimit=t,this.batchBytesLimit=r,this.messageBytesLimit=n,this.flushTimeout=o,this.beforeUnloadCallback="function"==typeof i?i:T,this.setupFlushOnExit(),this.flushPeriodically()};or.prototype.add=function(e){this.addOrUpdate(e)},or.prototype.upsert=function(e,t){this.addOrUpdate(e,t)},or.prototype.flush=function(e){if("function"!=typeof e&&(e=this.request.send),0!==this.bufferMessagesCount){var t=this.pushOnlyBuffer.concat(v(this.upsertBuffer)),r=this.bufferBytesCount;this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesCount=0,this.bufferMessagesCount=0,t.length>0&&e({data:t.join("\n"),bytesCount:r})}},or.prototype.flushOnExit=function(){this.flush(this.request.sendOnExit)},or.prototype.computeBytesCount=function(e){return tr.test(e)?void 0!==window.TextEncoder?(new TextEncoder).encode(e).length:new Blob([e]).size:e.length},or.prototype.addOrUpdate=function(e,t){var r=this.process(e),n=r.processedMessage,o=r.messageBytesCount;o>=this.messageBytesLimit?re.warn("Discarded a message whose size was bigger than the maximum allowed size "+this.messageBytesLimit+"KB."):(this.hasMessageFor(t)&&this.remove(t),this.willReachedBytesLimitWith(o)&&this.flush(),this.push(n,o,t),this.isFull()&&this.flush())},or.prototype.process=function(e){var t=nr(e).rowStr;return{processedMessage:t,messageBytesCount:this.computeBytesCount(t)}},or.prototype.push=function(e,t,r){this.bufferMessagesCount>0&&(this.bufferBytesCount+=1),void 0!==r?this.upsertBuffer[r]=e:this.pushOnlyBuffer.push(e),this.bufferBytesCount+=t,this.bufferMessagesCount+=1},or.prototype.remove=function(e){var t=this.upsertBuffer[e];delete this.upsertBuffer[e];var r=this.computeBytesCount(t);this.bufferBytesCount-=r,this.bufferMessagesCount-=1,this.bufferMessagesCount>0&&(this.bufferBytesCount-=1)},or.prototype.hasMessageFor=function(e){return void 0!==e&&void 0!==this.upsertBuffer[e]},or.prototype.willReachedBytesLimitWith=function(e){return this.bufferBytesCount+e+1>=this.batchBytesLimit},or.prototype.isFull=function(){return this.bufferMessagesCount===this.batchMessagesLimit||this.bufferBytesCount>=this.batchBytesLimit},or.prototype.flushPeriodically=function(){var e=this;setTimeout((function(){e.flush(),e.flushPeriodically()}),this.flushTimeout)},or.prototype.setupFlushOnExit=function(){var e=this;navigator.sendBeacon&&(q(window,se,this.beforeUnloadCallback),q(document,le,(function(){"hidden"===document.visibilityState&&e.flushOnExit()})),q(window,se,(function(){return e.flushOnExit()})))};var ir=or;var sr={sdkVersion:"1.2.0",sdkName:"df_web_logs_sdk"};function ar(e,t,r){return void 0===e?[]:"all"===e||d(e)&&function(e,t,r){if(e.every)return e.every(t);for(var n=!0,o=0;o<e.length;o++)if(i.call(e,o)){var s=e[o];if(!t.call(r,s,o,e)){n=!1;break}}return n}(e,(function(e){return V(t,e)}))?"all"===e?t:function(e){for(var t,r=[],n={},o=0;o<e.length;o++)(t=e[o])in n||(n[t]=!0,r.push(t));return r}(e):void re.error(r+' should be "all" or an array with allowed values "'+t.join('", "')+'"')}var ur,cr,fr={debug:"debug",error:"error",info:"info",warn:"warn",critical:"critical"},lr="console",dr="http",pr=(cr=[],null===(ur=fr)||u(ur,(function(e,t){cr[cr.length]=t})),cr);function vr(e,t,r,n,o){this.contextManager=W(),void 0===r&&(r=dr),void 0===n&&(n=fr.debug),void 0===o&&(o={}),this.handleLogStrategy=e,this.handlerType=r,this.level=n,this.contextManager.set(c({},o,t?{logger:{name:t}}:void 0))}vr.prototype={log:function(e,t,r){void 0===r&&(r=fr.info),this.handleLogStrategy({message:e,context:E(t),status:r},this)},debug:function(e,t){this.log(e,t,fr.debug)},info:function(e,t){this.log(e,t,fr.info)},warn:function(e,t){this.log(e,t,fr.warn)},critical:function(e,t){this.log(e,t,fr.critical)},error:function(e,t){var r={error:{origin:Ae.LOGGER}};this.log(e,l(r,t),fr.error)},setContext:function(e){this.contextManager.set(e)},getContext:function(){return this.contextManager.get()},addContext:function(e,t){this.contextManager.add(e,t)},removeContext:function(e){this.contextManager.remove(e)},setHandler:function(e){this.handlerType=e},getHandler:function(){return this.handlerType},setLevel:function(e){this.level=e},getLevel:function(){return this.level}};var hr="0",gr="1";function br(e){var t=jt(e.cookieOptions,"logs",(function(t){return function(e,t){var r=function(e){return e===hr||e===gr}(t)?t:function(e){if(t=e.sampleRate,!(0!==t&&100*Math.random()<=t))return hr;var t;return gr}(e);return{trackingType:r,isTracked:r===gr}}(e,t)}));return{findTrackedSession:function(e){var r=t.findActiveSession(e);return r&&r.trackingType===gr?{id:r.id}:void 0}}}var yr={[fr.debug]:0,[fr.info]:1,[fr.warn]:2,[fr.error]:3};function mr(e,t,r){var n=r.getHandler(),o=d(n)?n:[n];return yr[e]>=yr[r.getLevel()]&&V(o,t)}function wr(e,t,r,n,o,i){var s=pr.concat(["custom"]),a={};u(s,(function(e){var r,n,o,s,u;a[e]=(r=e,n=t.eventRateLimiterThreshold,o=i,s=0,u=!1,{isLimitReached:function(){if(0===s&&setTimeout((function(){s=0}),B),(s+=1)<=n||u)return u=!1,!1;if(s===n+1){u=!0;try{o({message:"Reached max number of "+r+"s by minute: "+n,source:Ae.AGENT,startClocks:U()})}finally{u=!1}}return!0}})})),r.subscribe(Je,(function(i){var s=i.rawLogsEvent,u=i.messageContext||void 0,c=i.messageContext||void 0,f=i.logger||o,d=s.date-F(),p=e.findTrackedSession(d);if(p){var v=c||n(),h=l({service:t.service||"browser",env:t.env||"",version:t.version||"",_dd:{sdkName:t.sdkName,sdkVersion:t.sdkVersion},session:{id:p.id},view:v.view,device:ie,type:ye},v.context,function(e){return t(window.DATAFLUX_RUM);function t(t){if(t&&t.getInternalContext)return t.getInternalContext(e)}}(d),s,f.getContext(),u);!mr(s.status,dr,f)||t.beforeSend&&!1===t.beforeSend(h)||h.error&&h.error.origin!==Ae.AGENT&&z(a[h.status],a.custom).isLimitReached()||r.notify(Ze,N(h))}}))}var _r={[te.log]:fr.info,[te.debug]:fr.debug,[te.info]:fr.info,[te.warn]:fr.warn,[te.error]:fr.error};var xr={[He.cspViolation]:fr.error,[He.intervention]:fr.error,[He.deprecation]:fr.warn};function Or(e,t){if(!e.forwardErrorsToLogs)return{stop:T};var r=bt().subscribe((function(e){"complete"===e.state&&o(me.XHR,e)})),n=ht().subscribe((function(e){"complete"===e.state&&o(me.FETCH,e)}));function o(r,n){function o(e){var o,i,s,a,u,c=(o=n.url,i=function(e){this._fields={Username:4,Password:5,Port:7,Protocol:2,Host:6,Path:8,URL:0,QueryString:9,Fragment:10},this._values={},this._regex=null,this._regex=/^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/,void 0!==e&&this._parse(e)},i.prototype.setUrl=function(e){this._parse(e)},i.prototype._initValues=function(){for(var e in this._fields)this._values[e]=""},i.prototype.addQueryString=function(e){if("object"!=typeof e)return!1;var t=this._values.QueryString||"";for(var r in e)t=new RegExp(r+"[^&]+").test(t)?t.replace(new RegExp(r+"[^&]+"),r+"="+e[r]):"&"===t.slice(-1)?t+r+"="+e[r]:""===t?r+"="+e[r]:t+"&"+r+"="+e[r];this._values.QueryString=t},i.prototype.getParse=function(){return this._values},i.prototype.getUrl=function(){var e="";return e+=this._values.Origin,(e+=this._values.Path)+(this._values.QueryString?"?"+this._values.QueryString:"")},i.prototype._parse=function(e){this._initValues();var t=this._regex.exec(e);if(!t)throw"DPURLParser::_parse -> Invalid URL";for(var r in this._fields)void 0!==t[this._fields[r]]&&(this._values[r]=t[this._fields[r]]);this._values.Path=this._values.Path||"/",this._values.Hostname=this._values.Host.replace(/:\d+$/,""),this._values.Origin=this._values.Protocol+"://"+this._values.Hostname+(this._values.Port?":"+this._values.Port:"")},new i(o)).getParse();t.notify(Je,{rawLogsEvent:{message:Er(r)+" error "+n.method+" "+n.url,date:n.startClocks.timeStamp,error:{origin:Ae.NETWORK,stack:e||"Failed to load"},http:{method:n.method,status_code:n.status,url:n.url,statusGroup:(u=n.status,u?String(u).substr(0,1)+String(u).substr(1).replace(/\d*/g,"x"):u),urlHost:c.Host,urlPath:c.Path,urlPathGroup:(s=c.Path,a="",s&&(a=s.replace(/\/([^\/]*)\d([^\/]*)/g,"/?").replace(/\/$/g,"")),a||"/")},status:fr.error,origin:Ae.NETWORK}})}!e.isIntakeUrl(n.url)&&(function(e){return 0===e.status&&"opaque"!==e.responseType}(n)||function(e){return e.status>=500}(n)||e.isServerError(n))&&("xhr"in n?function(e,t,r){"string"==typeof e.response?r(Sr(e.response,t)):r(e.response)}(n.xhr,e,o):n.response?function(e,t,r){window.TextDecoder?e.body?function(e,t,r){!function(e,t,r){var n=e.getReader(),o=[],i=0;function s(){n.read().then((function(e){e.done?a():(o.push(e.value),(i+=e.value.length)>t?a():s())}),(function(e){return r(e)}))}function a(){var e;if(n.cancel().catch(T),1===o.length)e=o[0];else{e=new Uint8Array(i);var s=0;u(o,(function(t){e.set(t,s),s+=t.length}))}r(void 0,e.slice(0,t),e.length>t)}s()}(e,t,(function(e,t,n){if(e)r(e);else{var o=(new TextDecoder).decode(t);n&&(o+="..."),r(void 0,o)}}))}(e.clone().body,t.requestErrorResponseLengthLimit,(function(e,t){r(e?"Unable to retrieve response: "+e:t)})):r():e.clone().text().then((function(e){return r(Sr(e,t))}),(function(e){return r("Unable to retrieve response: "+e)}))}(n.response,e,o):n.error&&function(e,t,r){r(Sr(Pe(Se(e)),t))}(n.error,e,o))}return{stop:function(){r.unsubscribe(),n.unsubscribe()}}}function Sr(e,t){return e.length>t.requestErrorResponseLengthLimit?e.substring(0,t.requestErrorResponseLengthLimit)+"...":e}function Er(e){return me.XHR===e?"XHR":"Fetch"}function kr(e,t,r){var n=function(e,t,r){var n=function(t){return new ir(Zt(t,e.batchBytesLimit,r),e.batchMessagesLimit,e.batchBytesLimit,e.messageBytesLimit,e.flushTimeout)}(t);return{add:function(e){n.add(e)}}}(e,e.logsEndpoint,r);t.subscribe(Ze,(function(e){n.add(e)}))}const Cr=function(e){var t,r,n=!1,o=W(),i={},s=function(){},a=new J,u=function(e,t,r,n){void 0===r&&(r=E(p())),void 0===n&&(n=A()),a.add((function(){return u(e,t,r,n)}))},l=function(){},d=new vr((function(){return u.apply(this,arguments)}));function p(){return{view:{referrer:document.referrer,url:window.location.href},context:o.get()}}return t={logger:d,init:function(t){if(function(e){return n?(e.silentMultipleInit||re.error("DD_LOGS is already initialized."),!1):!(!e.datakitUrl&&!e.datakitOrigin)||(re.error("datakitOrigin is not configured, no RUM data will be collected."),!1)}(t)){var r=function(e){var t=pt(e),r=ar(e.forwardConsoleLogs,v(te),"Forward Console Logs"),n=ar(e.forwardReports,v(He),"Forward Reports");if(t&&r&&n)return e.forwardErrorsToLogs&&!V(r,te.error)&&r.push(te.error),c({forwardErrorsToLogs:!1!==e.forwardErrorsToLogs,forwardConsoleLogs:r,forwardReports:n,requestErrorResponseLengthLimit:32768},t,sr)}(t);if(r){var o=e(r,p,d);u=o.handleLog,s=o.getInternalContext,l=function(){return E(t)},a.drain(),n=!0}}},getGlobalContext:o.getContext,setGlobalContext:o.setContext,setGlobalContextProperty:o.setContextProperty,removeGlobalContextProperty:o.removeContextProperty,clearGlobalContext:o.clearContext,createLogger:function(e,t){return void 0===t&&(t={}),i[e]=new vr((function(){return u(this.arguments)}),e,t.handler,t.level,t.context),i[e]},getLogger:function(e){return i[e]},getInitConfiguration:function(){return l()},getInternalContext:function(e){return s(e)}},r=f({},t,{onReady:function(e){e()}}),Object.defineProperty(r,"_setDebug",{get:function(){return setDebugMode},enumerable:!1}),r}((function(e,t,r){var n=new et;const o=function(e){n.notify(Je,{rawLogsEvent:{message:e.message,date:e.startClocks.timeStamp,error:{origin:Ae.AGENT},origin:Ae.AGENT,status:fr.error}})};Or(e,n),function(e,t){if(!e.forwardErrorsToLogs)return{stop:T};var r=new Qe,n=je(r),o=r.subscribe((function(e){t.notify(Je,{rawLogsEvent:{message:e.message,date:e.startClocks.timeStamp,error:{kind:e.type,origin:Ae.SOURCE,stack:e.stack},origin:Ae.SOURCE,status:fr.error}})}))}(e,n),function(e,t){var r=Ne(e.forwardConsoleLogs).subscribe((function(e){t.notify(Je,{rawLogsEvent:{date:A(),message:e.message,origin:Ae.CONSOLE,error:e.api===te.error?{origin:Ae.CONSOLE,stack:e.stack}:void 0,status:_r[e.api]}})}))}(e,n),function(e,t){var r=Xe(e.forwardReports).subscribe((function(e){var r,n,o,i=e.message,s=xr[e.type];s===fr.error?r={kind:e.subtype,origin:Ae.REPORT,stack:e.stack}:e.stack&&(i+=" Found in "+(n=e.stack,(o=/@ (.+)/.exec(n))&&o[1])),t.notify(Je,{rawLogsEvent:{date:A(),message:i,origin:Ae.REPORT,error:r,status:s}})}))}(e,n);var i=function(e){return{handleLog:function(t,r,n,o){var i=t.context;mr(t.status,lr,r)&&re(t.status,t.message,l(r.getContext(),i)),e.notify(Je,{rawLogsEvent:{date:o||A(),message:t.message,status:t.status,origin:Ae.LOGGER},messageContext:i,savedCommonContext:n,logger:r})}}}(n),s=br(e);wr(s,e,n,t,r,o),kr(e,n,o);var a,u=(a=s,{get:function(e){var t=a.findTrackedSession(e);if(t)return{session:{id:t.id}}}});return{handleLog:i.handleLog,getInternalContext:u.get}}));var Tr,$r,Lr,Br;Tr=function(){if("object"==typeof globalThis)return globalThis;Object.defineProperty(Object.prototype,"_dd_temp_",{get:function(){return this},configurable:!0});var e=_dd_temp_;return delete Object.prototype._dd_temp_,"object"!=typeof e&&(e="object"==typeof self?self:"object"==typeof window?window:{}),e}(),Lr=Cr,Br=Tr[$r="DATAFLUX_LOGS"],Tr[$r]=Lr,Br&&Br.q&&u(Br.q,(function(e){e()}))})();
|
package/cjs/boot/buildEnv.js
CHANGED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeLogsPublicApi = makeLogsPublicApi;
|
|
7
|
+
|
|
8
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
9
|
+
|
|
10
|
+
var _configuration = require("../domain/configuration");
|
|
11
|
+
|
|
12
|
+
var _logger = require("../domain/logger");
|
|
13
|
+
|
|
14
|
+
function makeLogsPublicApi(startLogsImpl) {
|
|
15
|
+
var isAlreadyInitialized = false;
|
|
16
|
+
var globalContextManager = (0, _browserCore.createContextManager)();
|
|
17
|
+
var customLoggers = {};
|
|
18
|
+
|
|
19
|
+
var getInternalContextStrategy = function getInternalContextStrategy() {
|
|
20
|
+
return undefined;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var beforeInitLoggerLog = new _browserCore.BoundedBuffer();
|
|
24
|
+
|
|
25
|
+
var _handleLogStrategy = function handleLogStrategy(logsMessage, logger, savedCommonContext, date) {
|
|
26
|
+
if (typeof savedCommonContext === 'undefined') {
|
|
27
|
+
savedCommonContext = (0, _browserCore.deepClone)(getCommonContext());
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (typeof date === 'undefined') {
|
|
31
|
+
date = (0, _browserCore.timeStampNow)();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
beforeInitLoggerLog.add(function () {
|
|
35
|
+
return _handleLogStrategy(logsMessage, logger, savedCommonContext, date);
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var getInitConfigurationStrategy = function getInitConfigurationStrategy() {
|
|
40
|
+
return undefined;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var mainLogger = new _logger.Logger(function () {
|
|
44
|
+
return _handleLogStrategy.apply(this, arguments);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
function getCommonContext() {
|
|
48
|
+
return {
|
|
49
|
+
view: {
|
|
50
|
+
referrer: document.referrer,
|
|
51
|
+
url: window.location.href
|
|
52
|
+
},
|
|
53
|
+
context: globalContextManager.get()
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return (0, _browserCore.makePublicApi)({
|
|
58
|
+
logger: mainLogger,
|
|
59
|
+
init: function init(initConfiguration) {
|
|
60
|
+
if (!canInitLogs(initConfiguration)) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
var configuration = (0, _configuration.validateAndBuildLogsConfiguration)(initConfiguration);
|
|
65
|
+
|
|
66
|
+
if (!configuration) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var _startLogsImpl = startLogsImpl(configuration, getCommonContext, mainLogger);
|
|
71
|
+
|
|
72
|
+
_handleLogStrategy = _startLogsImpl.handleLog;
|
|
73
|
+
getInternalContextStrategy = _startLogsImpl.getInternalContext;
|
|
74
|
+
|
|
75
|
+
getInitConfigurationStrategy = function getInitConfigurationStrategy() {
|
|
76
|
+
return (0, _browserCore.deepClone)(initConfiguration);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
beforeInitLoggerLog.drain();
|
|
80
|
+
isAlreadyInitialized = true;
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
/** @deprecated: use getGlobalContext instead */
|
|
84
|
+
getGlobalContext: globalContextManager.getContext,
|
|
85
|
+
|
|
86
|
+
/** @deprecated: use setGlobalContext instead */
|
|
87
|
+
setGlobalContext: globalContextManager.setContext,
|
|
88
|
+
|
|
89
|
+
/** @deprecated: use setGlobalContextProperty instead */
|
|
90
|
+
setGlobalContextProperty: globalContextManager.setContextProperty,
|
|
91
|
+
|
|
92
|
+
/** @deprecated: use removeGlobalContextProperty instead */
|
|
93
|
+
removeGlobalContextProperty: globalContextManager.removeContextProperty,
|
|
94
|
+
clearGlobalContext: globalContextManager.clearContext,
|
|
95
|
+
createLogger: function createLogger(name, conf) {
|
|
96
|
+
if (typeof conf == 'undefined') {
|
|
97
|
+
conf = {};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
customLoggers[name] = new _logger.Logger(function () {
|
|
101
|
+
return _handleLogStrategy(this.arguments);
|
|
102
|
+
}, name, conf.handler, conf.level, conf.context);
|
|
103
|
+
return customLoggers[name];
|
|
104
|
+
},
|
|
105
|
+
getLogger: function getLogger(name) {
|
|
106
|
+
return customLoggers[name];
|
|
107
|
+
},
|
|
108
|
+
getInitConfiguration: function getInitConfiguration() {
|
|
109
|
+
return getInitConfigurationStrategy();
|
|
110
|
+
},
|
|
111
|
+
getInternalContext: function getInternalContext(startTime) {
|
|
112
|
+
return getInternalContextStrategy(startTime);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
function canInitLogs(initConfiguration) {
|
|
117
|
+
if (isAlreadyInitialized) {
|
|
118
|
+
if (!initConfiguration.silentMultipleInit) {
|
|
119
|
+
_browserCore.display.error('DD_LOGS is already initialized.');
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (!initConfiguration.datakitUrl && !initConfiguration.datakitOrigin) {
|
|
126
|
+
_browserCore.display.error('datakitOrigin is not configured, no RUM data will be collected.');
|
|
127
|
+
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.startLogs = startLogs;
|
|
7
|
+
|
|
8
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
9
|
+
|
|
10
|
+
var _logsSessionManager = require("../domain/logsSessionManager");
|
|
11
|
+
|
|
12
|
+
var _assembly = require("../domain/assembly");
|
|
13
|
+
|
|
14
|
+
var _consoleCollection = require("../domain/logsCollection/console/consoleCollection");
|
|
15
|
+
|
|
16
|
+
var _reportCollection = require("../domain/logsCollection/report/reportCollection");
|
|
17
|
+
|
|
18
|
+
var _networkErrorCollection = require("../domain/logsCollection/networkError/networkErrorCollection");
|
|
19
|
+
|
|
20
|
+
var _runtimeErrorCollection = require("../domain/logsCollection/rumtimeError/runtimeErrorCollection");
|
|
21
|
+
|
|
22
|
+
var _loggerCollection = require("../domain/logsCollection/logger/loggerCollection");
|
|
23
|
+
|
|
24
|
+
var _startLogsBatch = require("../transport/startLogsBatch");
|
|
25
|
+
|
|
26
|
+
var _logger = require("../domain/logger");
|
|
27
|
+
|
|
28
|
+
var _internalContext = require("../domain/internalContext");
|
|
29
|
+
|
|
30
|
+
function startLogs(configuration, getCommonContext, mainLogger) {
|
|
31
|
+
var lifeCycle = new _browserCore.LifeCycle();
|
|
32
|
+
|
|
33
|
+
var reportError = function reportError(error) {
|
|
34
|
+
lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_LOG_COLLECTED, {
|
|
35
|
+
rawLogsEvent: {
|
|
36
|
+
message: error.message,
|
|
37
|
+
date: error.startClocks.timeStamp,
|
|
38
|
+
error: {
|
|
39
|
+
origin: _browserCore.ErrorSource.AGENT // Todo: Remove in the next major release
|
|
40
|
+
|
|
41
|
+
},
|
|
42
|
+
origin: _browserCore.ErrorSource.AGENT,
|
|
43
|
+
status: _logger.StatusType.error
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
(0, _networkErrorCollection.startNetworkErrorCollection)(configuration, lifeCycle);
|
|
49
|
+
(0, _runtimeErrorCollection.startRuntimeErrorCollection)(configuration, lifeCycle);
|
|
50
|
+
(0, _consoleCollection.startConsoleCollection)(configuration, lifeCycle);
|
|
51
|
+
(0, _reportCollection.startReportCollection)(configuration, lifeCycle);
|
|
52
|
+
|
|
53
|
+
var _startLoggerCollection = (0, _loggerCollection.startLoggerCollection)(lifeCycle);
|
|
54
|
+
|
|
55
|
+
var session = (0, _logsSessionManager.startLogsSessionManager)(configuration);
|
|
56
|
+
(0, _assembly.startLogsAssembly)(session, configuration, lifeCycle, getCommonContext, mainLogger, reportError);
|
|
57
|
+
(0, _startLogsBatch.startLogsBatch)(configuration, lifeCycle, reportError);
|
|
58
|
+
var internalContext = (0, _internalContext.startInternalContext)(session);
|
|
59
|
+
return {
|
|
60
|
+
handleLog: _startLoggerCollection.handleLog,
|
|
61
|
+
getInternalContext: internalContext.get
|
|
62
|
+
};
|
|
63
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getRUMInternalContext = getRUMInternalContext;
|
|
7
|
+
exports.resetRUMInternalContext = resetRUMInternalContext;
|
|
8
|
+
exports.startLogsAssembly = startLogsAssembly;
|
|
9
|
+
|
|
10
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
11
|
+
|
|
12
|
+
var _logger = require("./logger");
|
|
13
|
+
|
|
14
|
+
var _loggerCollection = require("./logsCollection/logger/loggerCollection");
|
|
15
|
+
|
|
16
|
+
function startLogsAssembly(sessionManager, configuration, lifeCycle, getCommonContext, mainLogger, reportError) {
|
|
17
|
+
var statusWithCustom = _logger.STATUSES.concat(['custom']);
|
|
18
|
+
|
|
19
|
+
var logRateLimiters = {};
|
|
20
|
+
(0, _browserCore.each)(statusWithCustom, function (status) {
|
|
21
|
+
logRateLimiters[status] = (0, _browserCore.createEventRateLimiter)(status, configuration.eventRateLimiterThreshold, reportError);
|
|
22
|
+
});
|
|
23
|
+
lifeCycle.subscribe(_browserCore.LifeCycleEventType.RAW_LOG_COLLECTED, function (data) {
|
|
24
|
+
// { rawLogsEvent, messageContext = undefined, savedCommonContext = undefined, logger = mainLogger }
|
|
25
|
+
var rawLogsEvent = data.rawLogsEvent;
|
|
26
|
+
var messageContext = data.messageContext || undefined;
|
|
27
|
+
var savedCommonContext = data.messageContext || undefined;
|
|
28
|
+
var logger = data.logger || mainLogger;
|
|
29
|
+
var startTime = (0, _browserCore.getRelativeTime)(rawLogsEvent.date);
|
|
30
|
+
var session = sessionManager.findTrackedSession(startTime);
|
|
31
|
+
|
|
32
|
+
if (!session) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
var commonContext = savedCommonContext || getCommonContext();
|
|
37
|
+
var log = (0, _browserCore.extend2Lev)({
|
|
38
|
+
service: configuration.service || 'browser',
|
|
39
|
+
env: configuration.env || '',
|
|
40
|
+
version: configuration.version || '',
|
|
41
|
+
_dd: {
|
|
42
|
+
sdkName: configuration.sdkName,
|
|
43
|
+
sdkVersion: configuration.sdkVersion
|
|
44
|
+
},
|
|
45
|
+
session: {
|
|
46
|
+
id: session.id
|
|
47
|
+
},
|
|
48
|
+
view: commonContext.view,
|
|
49
|
+
device: _browserCore.deviceInfo,
|
|
50
|
+
type: _browserCore.RumEventType.LOGGER
|
|
51
|
+
}, commonContext.context, getRUMInternalContext(startTime), rawLogsEvent, logger.getContext(), messageContext);
|
|
52
|
+
|
|
53
|
+
if ( // Todo: [RUMF-1230] Move this check to the logger collection in the next major release
|
|
54
|
+
!(0, _loggerCollection.isAuthorized)(rawLogsEvent.status, _logger.HandlerType.http, logger) || configuration.beforeSend && configuration.beforeSend(log) === false || log.error && log.error.origin !== _browserCore.ErrorSource.AGENT && (0, _browserCore.isNullUndefinedDefaultValue)(logRateLimiters[log.status], logRateLimiters['custom']).isLimitReached()) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
lifeCycle.notify(_browserCore.LifeCycleEventType.LOG_COLLECTED, (0, _browserCore.withSnakeCaseKeys)(log));
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function getRUMInternalContext(startTime) {
|
|
63
|
+
return getInternalContextFromRumGlobal(window.DATAFLUX_RUM);
|
|
64
|
+
|
|
65
|
+
function getInternalContextFromRumGlobal(rumGlobal) {
|
|
66
|
+
if (rumGlobal && rumGlobal.getInternalContext) {
|
|
67
|
+
return rumGlobal.getInternalContext(startTime);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function resetRUMInternalContext() {
|
|
73
|
+
logsSentBeforeRumInjectionTelemetryAdded = false;
|
|
74
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT = void 0;
|
|
7
|
+
exports.validateAndBuildForwardOption = validateAndBuildForwardOption;
|
|
8
|
+
exports.validateAndBuildLogsConfiguration = validateAndBuildLogsConfiguration;
|
|
9
|
+
|
|
10
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
11
|
+
|
|
12
|
+
var _buildEnv = require("../boot/buildEnv");
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* arbitrary value, byte precision not needed
|
|
16
|
+
*/
|
|
17
|
+
var DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT = 32 * _browserCore.ONE_KIBI_BYTE;
|
|
18
|
+
exports.DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT = DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT;
|
|
19
|
+
|
|
20
|
+
function validateAndBuildLogsConfiguration(initConfiguration) {
|
|
21
|
+
var baseConfiguration = (0, _browserCore.validateAndBuildConfiguration)(initConfiguration);
|
|
22
|
+
var forwardConsoleLogs = validateAndBuildForwardOption(initConfiguration.forwardConsoleLogs, (0, _browserCore.values)(_browserCore.ConsoleApiName), 'Forward Console Logs');
|
|
23
|
+
var forwardReports = validateAndBuildForwardOption(initConfiguration.forwardReports, (0, _browserCore.values)(_browserCore.RawReportType), 'Forward Reports');
|
|
24
|
+
|
|
25
|
+
if (!baseConfiguration || !forwardConsoleLogs || !forwardReports) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (initConfiguration.forwardErrorsToLogs && !(0, _browserCore.includes)(forwardConsoleLogs, _browserCore.ConsoleApiName.error)) {
|
|
30
|
+
forwardConsoleLogs.push(_browserCore.ConsoleApiName.error);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return (0, _browserCore.assign)({
|
|
34
|
+
forwardErrorsToLogs: initConfiguration.forwardErrorsToLogs !== false,
|
|
35
|
+
forwardConsoleLogs: forwardConsoleLogs,
|
|
36
|
+
forwardReports: forwardReports,
|
|
37
|
+
requestErrorResponseLengthLimit: DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT
|
|
38
|
+
}, baseConfiguration, _buildEnv.buildEnv);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function validateAndBuildForwardOption(option, allowedValues, label) {
|
|
42
|
+
if (option === undefined) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (!(option === 'all' || (0, _browserCore.isArray)(option) && (0, _browserCore.every)(option, function (api) {
|
|
47
|
+
return (0, _browserCore.includes)(allowedValues, api);
|
|
48
|
+
}))) {
|
|
49
|
+
_browserCore.display.error(label + ' should be "all" or an array with allowed values "' + allowedValues.join('", "') + '"');
|
|
50
|
+
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return option === 'all' ? allowedValues : (0, _browserCore.unique)(option);
|
|
55
|
+
}
|