nelController = { identifier: "ChannelControllerPlugin", priority: ChannelControllerPriority, initialize: function (config, core, extensions, pluginChain) { isInitialized = true; arrForEach(channelQueue, function (channels) { if (channels && channels.queue[_DYN_LENGTH ] > 0) { initializePlugins(createProcessTelemetryContext(channels.chain, config, core), extensions); } }); }, isInitialized: function () { return isInitialized; }, processTelemetry: function (item, itemCtx) { _processChannelQueue(channelQueue, itemCtx || _getTelCtx(), function (chainCtx) { chainCtx[_DYN_PROCESS_NEXT ](item); }, function () { itemCtx[_DYN_PROCESS_NEXT ](item); }); }, update: _doUpdate, pause: function () { _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) { chainCtx.iterate(function (plugin) { plugin.pause && plugin.pause(); }); }, null); }, resume: function () { _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) { chainCtx.iterate(function (plugin) { plugin.resume && plugin.resume(); }); }, null); }, teardown: _doTeardown, getChannel: _getChannel, flush: function (isAsync, callBack, sendReason, cbTimeout) { var waiting = 1; var doneIterating = false; var cbTimer = null; cbTimeout = cbTimeout || 5000; function doCallback() { waiting--; if (doneIterating && waiting === 0) { if (cbTimer) { clearTimeout(cbTimer); cbTimer = null; } callBack && callBack(doneIterating); callBack = null; } } _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) { chainCtx.iterate(function (plugin) { if (plugin[_DYN_FLUSH ]) { waiting++; var handled_1 = false; if (!plugin[_DYN_FLUSH ](isAsync, function () { handled_1 = true; doCallback(); }, sendReason)) { if (!handled_1) { if (isAsync && cbTimer == null) { cbTimer = setTimeout(function () { cbTimer = null; doCallback(); }, cbTimeout); } else { doCallback(); } } } } }); }, function () { doneIterating = true; doCallback(); }); return true; }, _setQueue: function (queue) { channelQueue = queue; } }; return channelController; } function createChannelQueues(channels, extensions, core) { var channelQueue = []; if (channels) { arrForEach(channels, function (queue) { return _addChannelQueue(channelQueue, queue, core); }); } if (extensions) { var extensionQueue_1 = []; arrForEach(extensions, function (plugin) { if (plugin[STR_PRIORITY ] > ChannelControllerPriority) { extensionQueue_1[_DYN_PUSH ](plugin); } }); _addChannelQueue(channelQueue, extensionQueue_1, core); } return channelQueue; } function createUnloadHandlerContainer() { var handlers = []; function _addHandler(handler) { if (handler) { handlers[_DYN_PUSH ](handler); } } function _runHandlers(unloadCtx, unloadState) { arrForEach(handlers, function (handler) { try { handler(unloadCtx, unloadState); } catch (e) { _throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e)); } }); handlers = []; } return { add: _addHandler, run: _runHandlers }; } var strGetPlugin = "getPlugin"; var BaseTelemetryPlugin = /** @class */ (function () { function BaseTelemetryPlugin() { var _self = this; var _isinitialized; var _rootCtx; var _nextPlugin; var _unloadHandlerContainer; var _hooks; _initDefaults(); dynamicProto(BaseTelemetryPlugin, _self, function (_self) { _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) { _setDefaults(config, core, pluginChain); _isinitialized = true; }; _self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) { var _a; var core = _self[STR_CORE ]; if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) { return; } var result; var unloadDone = false; var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin); var theUnloadState = unloadState || (_a = { reason: 0 }, _a[_DYN_IS_ASYNC ] = false, _a); function _unloadCallback() { if (!unloadDone) { unloadDone = true; _unloadHandlerContainer.run(theUnloadCtx, unloadState); var oldHooks = _hooks; _hooks = []; arrForEach(oldHooks, function (fn) { fn.rm(); }); if (result === true) { theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState); } _initDefaults(); } } if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) { _unloadCallback(); } else { result = true; } return result; }; _self[_DYN_UPDATE ] = function (updateCtx, updateState) { var core = _self[STR_CORE ]; if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) { return; } var result; var updateDone = false; var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin); var theUpdateState = updateState || { reason: 0 }; function _updateCallback() { if (!updateDone) { updateDone = true; _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]()); } } if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) { _updateCallback(); } else { result = true; } return result; }; _self._addHook = function (hooks) { if (hooks) { if (isArray(hooks)) { _hooks = _hooks.concat(hooks); } else { _hooks[_DYN_PUSH ](hooks); } } }; proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add"); }); _self[_DYN_DIAG_LOG ] = function (itemCtx) { return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ](); }; _self[_DYN_IS_INITIALIZED ] = function () { return _isinitialized; }; _self.setInitialized = function (isInitialized) { _isinitialized = isInitialized; }; _self[_DYN_SET_NEXT_PLUGIN ] = function (next) { _nextPlugin = next; }; _self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) { if (itemCtx) { itemCtx[_DYN_PROCESS_NEXT ](env); } else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) { _nextPlugin[STR_PROCESS_TELEMETRY ](env, null); } }; _self._getTelCtx = _getTelCtx; function _getTelCtx(currentCtx) { if (currentCtx === void 0) { currentCtx = null; } var itemCtx = currentCtx; if (!itemCtx) { var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]); if (_nextPlugin && _nextPlugin[strGetPlugin]) { itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]); } else { itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin); } } return itemCtx; } function _setDefaults(config, core, pluginChain) { if (config) { setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined); } if (!pluginChain && core) { pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ](); } var nextPlugin = _nextPlugin; if (_nextPlugin && _nextPlugin[strGetPlugin]) { nextPlugin = _nextPlugin[strGetPlugin](); } _self[STR_CORE ] = core; _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin); } function _initDefaults() { _isinitialized = false; _self[STR_CORE ] = null; _rootCtx = null; _nextPlugin = null; _hooks = []; _unloadHandlerContainer = createUnloadHandlerContainer(); } } BaseTelemetryPlugin.__ieDyn=1; return BaseTelemetryPlugin; }()); var TelemetryInitializerPlugin = /** @class */ (function (_super) { __extendsFn(TelemetryInitializerPlugin, _super); function TelemetryInitializerPlugin() { var _this = _super.call(this) || this; _this.identifier = "TelemetryInitializerPlugin"; _this.priority = 199; var _id; var _initializers; _initDefaults(); dynamicProto(TelemetryInitializerPlugin, _this, function (_self, _base) { _self.addTelemetryInitializer = function (telemetryInitializer) { var theInitializer = { id: _id++, fn: telemetryInitializer }; _initializers[_DYN_PUSH ](theInitializer); var handler = { remove: function () { arrForEach(_initializers, function (initializer, idx) { if (initializer.id === theInitializer.id) { _initializers[_DYN_SPLICE ](idx, 1); return -1; } }); } }; return handler; }; _self[STR_PROCESS_TELEMETRY ] = function (item, itemCtx) { var doNotSendItem = false; var telemetryInitializersCount = _initializers[_DYN_LENGTH ]; for (var i = 0; i < telemetryInitializersCount; ++i) { var telemetryInitializer = _initializers[i]; if (telemetryInitializer) { try { if (telemetryInitializer.fn[_DYN_APPLY ](null, [item]) === false) { doNotSendItem = true; break; } } catch (e) { _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true); } } } if (!doNotSendItem) { _self[_DYN_PROCESS_NEXT ](item, itemCtx); } }; _self[_DYN__DO_TEARDOWN ] = function () { _initDefaults(); }; }); function _initDefaults() { _id = 0; _initializers = []; } return _this; } TelemetryInitializerPlugin.__ieDyn=1; return TelemetryInitializerPlugin; }(BaseTelemetryPlugin)); var strValidationError = "Plugins must provide initialize method"; var strNotificationManager = "_notificationManager"; var strSdkUnloadingError = "SDK is still unloading..."; var strSdkNotInitialized = "SDK is not initialized"; var defaultInitConfig = { loggingLevelConsole: 1 }; function _createPerfManager(core, notificationMgr) { return new PerfManager(notificationMgr); } function _validateExtensions(logger, channelPriority, allExtensions) { var _a; var coreExtensions = []; var extPriorities = {}; arrForEach(allExtensions, function (ext) { if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE ])) { throwError(strValidationError); } var extPriority = ext[STR_PRIORITY ]; var identifier = ext[_DYN_IDENTIFIER ]; if (ext && extPriority) { if (!isNullOrUndefined(extPriorities[extPriority])) { _warnToConsole(logger, "Two extensions have same priority #" + extPriority + " - " + extPriorities[extPriority] + ", " + identifier); } else { extPriorities[extPriority] = identifier; } } if (!extPriority || extPriority < channelPriority) { coreExtensions[_DYN_PUSH ](ext); } }); return _a = { all: allExtensions }, _a[STR_CORE ] = coreExtensions, _a; } function _isPluginPresent(thePlugin, plugins) { var exists = false; arrForEach(plugins, function (plugin) { if (plugin === thePlugin) { exists = true; return -1; } }); return exists; } function _createDummyNotificationManager() { var _a; return objCreateFn((_a = {}, _a[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) { }, _a[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) { }, _a[STR_EVENTS_SENT ] = function (events) { }, _a[STR_EVENTS_DISCARDED ] = function (events, reason) { }, _a[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) { }, _a)); } var BaseCore$2 = /** @class */ (function () { function BaseCore() { var _config; var _isInitialized; var _eventQueue; var _notificationManager; var _perfManager; var _cfgPerfManager; var _cookieManager; var _pluginChain; var _configExtensions; var _coreExtensions; var _channelControl; var _channelConfig; var _channelQueue; var _isUnloading; var _telemetryInitializerPlugin; var _internalLogsEventName; var _evtNamespace; var _unloadHandlers; var _debugListener; var _traceCtx; var _internalLogPoller = 0; var _forceStopInternalLogPoller = false; dynamicProto(BaseCore, this, function (_self) { _initDefaults(); _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; }; _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) { if (_isUnloading) { throwError(strSdkUnloadingError); } if (_self[_DYN_IS_INITIALIZED ]()) { throwError("Core should not be initialized more than once"); } _config = config || {}; _self[_DYN_CONFIG ] = _config; if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY ])) { throwError("Please provide instrumentation key"); } _notificationManager = notificationManager; _self[strNotificationManager] = notificationManager; _initDebugListener(); _initPerfManager(); _initExtConfig(); if (logger) { _self[_DYN_LOGGER ] = logger; } var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []); _configExtensions = []; _configExtensions[_DYN_PUSH ].apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), cfgExtensions)); _channelConfig = getSetValue(_config, STR_CHANNELS, []); _initPluginChain(null); if (!_channelQueue || _channelQueue[_DYN_LENGTH ] === 0) { throwError("No " + STR_CHANNELS + " available"); } _isInitialized = true; _self.releaseQueue(); }; _self.getTransmissionControls = function () { var controls = []; if (_channelQueue) { arrForEach(_channelQueue, function (channels) { controls[_DYN_PUSH ](channels.queue); }); } return objFreeze(controls); }; _self.track = function (telemetryItem) { telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY ]; telemetryItem[_DYN_TIME ] = telemetryItem[_DYN_TIME ] || toISOString(new Date()); telemetryItem.ver = telemetryItem.ver || "4.0"; if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]()) { _createTelCtx()[_DYN_PROCESS_NEXT ](telemetryItem); } else { _eventQueue[_DYN_PUSH ](telemetryItem); } }; _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx; _self[_DYN_GET_NOTIFY_MGR ] = function () { if (!_notificationManager) { _notificationManager = _createDummyNotificationManager(); _self[strNotificationManager] = _notificationManager; } return _notificationManager; }; _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) { if (_notificationManager) { _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](listener); } }; _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) { if (_notificationManager) { _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener); } }; _self.getCookieMgr = function () { if (!_cookieManager) { _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER ]); } return _cookieManager; }; _self.setCookieMgr = function (cookieMgr) { _cookieManager = cookieMgr; }; _self[STR_GET_PERF_MGR ] = function () { if (!_perfManager && !_cfgPerfManager) { if (getCfgValue(_config.enablePerfMgr)) { var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR ]); if (isFunction(createPerfMgr)) { _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]()); } } } return _perfManager || _cfgPerfManager || getGblPerfMgr(); }; _self.setPerfMgr = function (perfMgr) { _perfManager = perfMgr; }; _self.eventCnt = function () { return _eventQueue[_DYN_LENGTH ]; }; _self.releaseQueue = function () { if (_isInitialized && _eventQueue[_DYN_LENGTH ] > 0) { var eventQueue = _eventQueue; _eventQueue = []; arrForEach(eventQueue, function (event) { _createTelCtx()[_DYN_PROCESS_NEXT ](event); }); } }; _self.pollInternalLogs = function (eventName) { _internalLogsEventName = eventName || null; _forceStopInternalLogPoller = false; if (_internalLogPoller) { clearInterval(_internalLogPoller); _internalLogPoller = null; } return _startInternalLogTimer(true); }; function _startInternalLogTimer(alwaysStart) { if (!_internalLogPoller && !_forceStopInternalLogPoller) { var shouldStart = alwaysStart || (_self[_DYN_LOGGER ] && _self[_DYN_LOGGER ].queue[_DYN_LENGTH ] > 0); if (shouldStart) { var interval = getCfgValue(_config.diagnosticLogInterval); if (!interval || !(interval > 0)) { interval = 10000; } _internalLogPoller = setInterval(function () { clearInterval(_internalLogPoller); _internalLogPoller = 0; _flushInternalLogs(); }, interval); } } return _internalLogPoller; } _self[_DYN_STOP_POLLING_INTERNA3 ] = function () { _forceStopInternalLogPoller = true; if (_internalLogPoller) { clearInterval(_internalLogPoller); _internalLogPoller = 0; _flushInternalLogs(); } }; proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, ["addTelemetryInitializer"]); _self.unload = function (isAsync, unloadComplete, cbTimeout) { var _a; if (isAsync === void 0) { isAsync = true; } if (!_isInitialized) { throwError(strSdkNotInitialized); } if (_isUnloading) { throwError(strSdkUnloadingError); } var unloadState = (_a = { reason: 50 }, _a[_DYN_IS_ASYNC ] = isAsync, _a.flushComplete = false, _a); var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self); processUnloadCtx[_DYN_ON_COMPLETE ](function () { _initDefaults(); unloadComplete && unloadComplete(unloadState); }, _self); function _doUnload(flushComplete) { unloadState.flushComplete = flushComplete; _isUnloading = true; _unloadHandlers.run(processUnloadCtx, unloadState); _self[_DYN_STOP_POLLING_INTERNA3 ](); processUnloadCtx[_DYN_PROCESS_NEXT ](unloadState); } _flushInternalLogs(); if (!_flushChannels(isAsync, _doUnload, 6 , cbTimeout)) { _doUnload(false); } }; _self[_DYN_GET_PLUGIN ] = _getPlugin; _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) { if (!plugin) { addCb && addCb(false); _logOrThrowError(strValidationError); return; } var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER ]); if (existingPlugin && !replaceExisting) { addCb && addCb(false); _logOrThrowError("Plugin [" + plugin[_DYN_IDENTIFIER ] + "] is already loaded!"); return; } var updateState = { reason: 16 }; function _addPlugin(removed) { _configExtensions[_DYN_PUSH ](plugin); updateState.added = [plugin]; _initPluginChain(updateState); addCb && addCb(true); } if (existingPlugin) { var removedPlugins_1 = [existingPlugin.plugin]; var unloadState = { reason: 2 , isAsync: !!isAsync }; _removePlugins(removedPlugins_1, unloadState, function (removed) { if (!removed) { addCb && addCb(false); } else { updateState.removed = removedPlugins_1; updateState.reason |= 32 ; _addPlugin(); } }); } else { _addPlugin(); } }; _self.evtNamespace = function () { return _evtNamespace; }; _self[_DYN_FLUSH ] = _flushChannels; _self.getTraceCtx = function (createNew) { if (!_traceCtx) { _traceCtx = createDistributedTraceContext(); } return _traceCtx; }; _self.setTraceCtx = function (traceCtx) { _traceCtx = traceCtx || null; }; proxyFunctionAs(_self, "addUnloadCb", function () { return _unloadHandlers; }, "add"); function _initDefaults() { _isInitialized = false; _config = objExtend(true, {}, defaultInitConfig); _self[_DYN_CONFIG ] = _config; _self[_DYN_LOGGER ] = new DiagnosticLogger(_config); _self[_DYN__EXTENSIONS ] = []; _telemetryInitializerPlugin = new TelemetryInitializerPlugin(); _eventQueue = []; _notificationManager = null; _perfManager = null; _cfgPerfManager = null; _cookieManager = null; _pluginChain = null; _coreExtensions = null; _configExtensions = []; _channelControl = null; _channelConfig = null; _channelQueue = null; _isUnloading = false; _internalLogsEventName = null; _evtNamespace = createUniqueNamespace("AIBaseCore", true); _unloadHandlers = createUnloadHandlerContainer(); _traceCtx = null; } function _createTelCtx() { var theCtx = createProcessTelemetryContext(_getPluginChain(), _config, _self); theCtx[_DYN_ON_COMPLETE ](_startInternalLogTimer); return theCtx; } function _initPluginChain(updateState) { var theExtensions = _validateExtensions(_self[_DYN_LOGGER ], ChannelControllerPriority, _configExtensions); _coreExtensions = theExtensions[STR_CORE ]; _pluginChain = null; var allExtensions = theExtensions.all; _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, _self)); if (_channelControl) { var idx = arrIndexOf(allExtensions, _channelControl); if (idx !== -1) { allExtensions[_DYN_SPLICE ](idx, 1); } idx = arrIndexOf(_coreExtensions, _channelControl); if (idx !== -1) { _coreExtensions[_DYN_SPLICE ](idx, 1); } _channelControl._setQueue(_channelQueue); } else { _channelControl = createChannelControllerPlugin(_channelQueue, _self); } allExtensions[_DYN_PUSH ](_channelControl); _coreExtensions[_DYN_PUSH ](_channelControl); _self[_DYN__EXTENSIONS ] = sortPlugins(allExtensions); _channelControl[_DYN_INITIALIZE ](_config, _self, allExtensions); var initCtx = _createTelCtx(); initializePlugins(initCtx, allExtensions); _self[_DYN__EXTENSIONS ] = objFreeze(sortPlugins(_coreExtensions || [])).slice(); if (updateState) { _doUpdate(updateState); } } function _getPlugin(pluginIdentifier) { var _a; var theExt = null; var thePlugin = null; arrForEach(_self[_DYN__EXTENSIONS ], function (ext) { if (ext[_DYN_IDENTIFIER ] === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) { thePlugin = ext; return -1; } }); if (!thePlugin && _channelControl) { thePlugin = _channelControl.getChannel(pluginIdentifier); } if (thePlugin) { theExt = (_a = { plugin: thePlugin }, _a[_DYN_SET_ENABLED ] = function (enabled) { _getPluginState(thePlugin)[STR_DISABLED] = !enabled; }, _a.isEnabled = function () { var pluginState = _getPluginState(thePlugin); return !pluginState[_DYN_TEARDOWN ] && !pluginState[STR_DISABLED]; }, _a.remove = function (isAsync, removeCb) { var _a; if (isAsync === void 0) { isAsync = true; } var pluginsToRemove = [thePlugin]; var unloadState = (_a = { reason: 1 }, _a[_DYN_IS_ASYNC ] = isAsync, _a); _removePlugins(pluginsToRemove, unloadState, function (removed) { if (removed) { _initPluginChain({ reason: 32 , removed: pluginsToRemove }); } removeCb && removeCb(removed); }); }, _a); } return theExt; } function _getPluginChain() { if (!_pluginChain) { var extensions = (_coreExtensions || []).slice(); if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) { extensions[_DYN_PUSH ](_telemetryInitializerPlugin); } _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self); } return _pluginChain; } function _removePlugins(thePlugins, unloadState, removeComplete) { if (thePlugins && thePlugins[_DYN_LENGTH ] > 0) { var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self); var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self); unloadCtx[_DYN_ON_COMPLETE ](function () { var removed = false; var newConfigExtensions = []; arrForEach(_configExtensions, function (plugin, idx) { if (!_isPluginPresent(plugin, thePlugins)) { newConfigExtensions[_DYN_PUSH ](plugin); } else { removed = true; } }); _configExtensions = newConfigExtensions; var newChannelConfig = []; if (_channelConfig) { arrForEach(_channelConfig, function (queue, idx) { var newQueue = []; arrForEach(queue, function (channel) { if (!_isPluginPresent(channel, thePlugins)) { newQueue[_DYN_PUSH ](channel); } else { removed = true; } }); newChannelConfig[_DYN_PUSH ](newQueue); }); _channelConfig = newChannelConfig; } removeComplete && removeComplete(removed); _startInternalLogTimer(); }); unloadCtx[_DYN_PROCESS_NEXT ](unloadState); } else { removeComplete(false); } } function _flushInternalLogs() { if (_self[_DYN_LOGGER ] && _self[_DYN_LOGGER ].queue) { var queue = _self[_DYN_LOGGER ].queue.slice(0); _self[_DYN_LOGGER ].queue[_DYN_LENGTH ] = 0; arrForEach(queue, function (logMessage) { var _a; var item = (_a = {}, _a[_DYN_NAME ] = _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage[_DYN_MESSAGE_ID ], _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY ]), _a.time = toISOString(new Date()), _a.baseType = _InternalLogMessage.dataType, _a.baseData = { message: logMessage[_DYN_MESSAGE ] }, _a); _self.track(item); }); } } function _flushChannels(isAsync, callBack, sendReason, cbTimeout) { if (_channelControl) { return _channelControl[_DYN_FLUSH ](isAsync, callBack, sendReason || 6 , cbTimeout); } callBack && callBack(false); return true; } function _initDebugListener() { var disableDbgExt = getCfgValue(_config.disableDbgExt); if (disableDbgExt === true && _debugListener) { _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener); _debugListener = null; } if (_notificationManager && !_debugListener && disableDbgExt !== true) { _debugListener = getDebugListener(_config); _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener); } } function _initPerfManager() { var enablePerfMgr = getCfgValue(_config.enablePerfMgr); if (!enablePerfMgr && _cfgPerfManager) { _cfgPerfManager = null; } if (enablePerfMgr) { getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager); } } function _initExtConfig() { var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {}); extConfig.NotificationManager = _notificationManager; } function _doUpdate(updateState) { var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self); updateCtx[_DYN_ON_COMPLETE ](_startInternalLogTimer); if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) { updateCtx[_DYN_PROCESS_NEXT ](updateState); } } function _logOrThrowError(message) { var logger = _self[_DYN_LOGGER ]; if (logger) { _throwInternal(logger, 2 , 73 , message); _startInternalLogTimer(); } else { throwError(message); } } }); } BaseCore.__ieDyn=1; return BaseCore; }()); function _runListeners(listeners, name, isAsync, callback) { arrForEach(listeners, function (listener) { if (listener && listener[name]) { if (isAsync) { setTimeout(function () { return callback(listener); }, 0); } else { try { callback(listener); } catch (e) { } } } }); } var NotificationManager = /** @class */ (function () { function NotificationManager(config) { this.listeners = []; var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll; dynamicProto(NotificationManager, this, function (_self) { _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) { _self.listeners[_DYN_PUSH ](listener); }; _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) { var index = arrIndexOf(_self[_DYN_LISTENERS ], listener); while (index > -1) { _self.listeners[_DYN_SPLICE ](index, 1); index = arrIndexOf(_self[_DYN_LISTENERS ], listener); } }; _self[STR_EVENTS_SENT ] = function (events) { _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) { listener[STR_EVENTS_SENT ](events); }); }; _self[STR_EVENTS_DISCARDED ] = function (events, reason) { _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) { listener[STR_EVENTS_DISCARDED ](events, reason); }); }; _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) { _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) { listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync); }); }; _self[STR_PERF_EVENT ] = function (perfEvent) { if (perfEvent) { if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) { _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) { if (perfEvent[_DYN_IS_ASYNC ]) { setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0); } else { listener[STR_PERF_EVENT ](perfEvent); } }); } } }; }); } NotificationManager.__ieDyn=1; return NotificationManager; }()); var AppInsightsCore$2 = /** @class */ (function (_super) { __extendsFn(AppInsightsCore, _super); function AppInsightsCore() { var _this = _super.call(this) || this; dynamicProto(AppInsightsCore, _this, function (_self, _base) { _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) { _base[_DYN_INITIALIZE ](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config)); }; _self.track = function (telemetryItem) { doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () { if (telemetryItem === null) { _notifyInvalidEvent(telemetryItem); throwError("Invalid telemetry item"); } _validateTelemetryItem(telemetryItem); _base.track(telemetryItem); }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync)); }; function _validateTelemetryItem(telemetryItem) { if (isNullOrUndefined(telemetryItem[_DYN_NAME ])) { _notifyInvalidEvent(telemetryItem); throwError("telemetry name required"); } } function _notifyInvalidEvent(telemetryItem) { var manager = _self[_DYN_GET_NOTIFY_MGR ](); if (manager) { manager[STR_EVENTS_DISCARDED ]([telemetryItem], 2 ); } } }); return _this; } AppInsightsCore.__ieDyn=1; return AppInsightsCore; }(BaseCore$2)); var _a$1; var FAILED = "Failed"; var FAILED_MONITOR_AJAX = FAILED + "MonitorAjax"; var TRACK = "Track"; var START = "Start"; var STOP = "Stop"; var EVENT = "Event"; var AUTH_CONTEXT = "AuthContext"; var EXCEPTION = "Exception"; var LOCAL = "Local"; var SESSION = "Session"; var STORAGE = "Storage"; var BROWSER = "Browser"; var CANNOT = "Cannot"; var BUFFER = "Buffer"; var INSTRUMENTATION_KEY = "InstrumentationKey"; var LoggingSeverity = createEnumStyle({ CRITICAL: 1 , WARNING: 2 }); var _InternalMessageId = createEnumStyle((_a$1 = {}, _a$1[BROWSER + "DoesNotSupport" + LOCAL + STORAGE] = 0 , _a$1[BROWSER + CANNOT + "Read" + LOCAL + STORAGE] = 1 , _a$1[BROWSER + CANNOT + "Read" + SESSION + STORAGE] = 2 , _a$1[BROWSER + CANNOT + "Write" + LOCAL + STORAGE] = 3 , _a$1[BROWSER + CANNOT + "Write" + SESSION + STORAGE] = 4 , _a$1[BROWSER + FAILED + "RemovalFrom" + LOCAL + STORAGE] = 5 , _a$1[BROWSER + FAILED + "RemovalFrom" + SESSION + STORAGE] = 6 , _a$1[CANNOT + "SendEmptyTelemetry"] = 7 , _a$1.ClientPerformanceMathError = 8 , _a$1["ErrorParsingAI" + SESSION + "Cookie"] = 9 , _a$1.ErrorPVCalc = 10 , _a$1[EXCEPTION + "WhileLoggingError"] = 11 , _a$1[FAILED + "AddingTelemetryTo" + BUFFER] = 12 , _a$1[FAILED_MONITOR_AJAX + "Abort"] = 13 , _a$1[FAILED_MONITOR_AJAX + "Dur"] = 14 , _a$1[FAILED_MONITOR_AJAX + "Open"] = 15 , _a$1[FAILED_MONITOR_AJAX + "RSC"] = 16 , _a$1[FAILED_MONITOR_AJAX + "Send"] = 17 , _a$1[FAILED_MONITOR_AJAX + "GetCorrelationHeader"] = 18 , _a$1[FAILED + "ToAddHandlerForOnBeforeUnload"] = 19 , _a$1[FAILED + "ToSendQueuedTelemetry"] = 20 , _a$1[FAILED + "ToReportDataLoss"] = 21 , _a$1["Flush" + FAILED] = 22 , _a$1.MessageLimitPerPVExceeded = 23 , _a$1.MissingRequiredFieldSpecification = 24 , _a$1.NavigationTimingNotSupported = 25 , _a$1.OnError = 26 , _a$1[SESSION + "RenewalDateIsZero"] = 27 , _a$1.SenderNotInitialized = 28 , _a$1[START + TRACK + EVENT + FAILED] = 29 , _a$1[STOP + TRACK + EVENT + FAILED] = 30 , _a$1[START + TRACK + FAILED] = 31 , _a$1[STOP + TRACK + FAILED] = 32 , _a$1.TelemetrySampledAndNotSent = 33 , _a$1[TRACK + EVENT + FAILED] = 34 , _a$1[TRACK + EXCEPTION + FAILED] = 35 , _a$1[TRACK + "Metric" + FAILED] = 36 , _a$1[TRACK + "PV" + FAILED] = 37 , _a$1[TRACK + "PV" + FAILED + "Calc"] = 38 , _a$1[TRACK + "Trace" + FAILED] = 39 , _a$1["Transmission" + FAILED] = 40 , _a$1[FAILED + "ToSet" + STORAGE + BUFFER] = 41 , _a$1[FAILED + "ToRestore" + STORAGE + BUFFER] = 42 , _a$1.InvalidBackendResponse = 43 , _a$1[FAILED + "ToFixDepricatedValues"] = 44 , _a$1.InvalidDurationValue = 45 , _a$1.TelemetryEnvelopeInvalid = 46 , _a$1.CreateEnvelopeError = 47 , _a$1[CANNOT + "SerializeObject"] = 48 , _a$1[CANNOT + "SerializeObjectNonSerializable"] = 49 , _a$1.CircularReferenceDetected = 50 , _a$1["Clear" + AUTH_CONTEXT + FAILED] = 51 , _a$1[EXCEPTION + "Truncated"] = 52 , _a$1.IllegalCharsInName = 53 , _a$1.ItemNotInArray = 54 , _a$1.MaxAjaxPerPVExceeded = 55 , _a$1.MessageTruncated = 56 , _a$1.NameTooLong = 57 , _a$1.SampleRateOutOfRange = 58 , _a$1["Set" + AUTH_CONTEXT + FAILED] = 59 , _a$1["Set" + AUTH_CONTEXT + FAILED + "AccountName"] = 60 , _a$1.StringValueTooLong = 61 , _a$1.StartCalledMoreThanOnce = 62 , _a$1.StopCalledWithoutStart = 63 , _a$1["TelemetryInitializer" + FAILED] = 64 , _a$1.TrackArgumentsNotSpecified = 65 , _a$1.UrlTooLong = 66 , _a$1[SESSION + STORAGE + BUFFER + "Full"] = 67 , _a$1[CANNOT + "AccessCookie"] = 68 , _a$1.IdTooLong = 69 , _a$1.InvalidEvent = 70 , _a$1[FAILED_MONITOR_AJAX + "SetRequestHeader"] = 71 , _a$1["Send" + BROWSER + "InfoOnUserInit"] = 72 , _a$1["Plugin" + EXCEPTION] = 73 , _a$1["Notification" + EXCEPTION] = 74 , _a$1.SnippetScriptLoadFailure = 99 , _a$1["Invalid" + INSTRUMENTATION_KEY] = 100 , _a$1[CANNOT + "ParseAiBlobValue"] = 101 , _a$1.InvalidContentBlob = 102 , _a$1[TRACK + "PageAction" + EVENT + FAILED] = 103 , _a$1[FAILED + "AddingCustomDefinedRequestContext"] = 104 , _a$1["InMemory" + STORAGE + BUFFER + "Full"] = 105 , _a$1[INSTRUMENTATION_KEY + "Deprecation"] = 106 , _a$1)); var ValueKind = createEnumStyle({ NotSet: 0 , Pii_DistinguishedName: 1 , Pii_GenericData: 2 , Pii_IPV4Address: 3 , Pii_IPv6Address: 4 , Pii_MailSubject: 5 , Pii_PhoneNumber: 6 , Pii_QueryString: 7 , Pii_SipAddress: 8 , Pii_SmtpAddress: 9 , Pii_Identity: 10 , Pii_Uri: 11 , Pii_Fqdn: 12 , Pii_IPV4AddressLegacy: 13 , CustomerContent_GenericContent: 32 }); var EventLatency = createEnumStyle({ Normal: 1 , CostDeferred: 2 , RealTime: 3 , Immediate: 4 }); var EventPropertyType = createEnumStyle({ Unspecified: 0 , String: 1 , Int32: 2 , UInt32: 3 , Int64: 4 , UInt64: 5 , Double: 6 , Bool: 7 , Guid: 8 , DateTime: 9 }); var EventPersistence = createEnumStyle({ Normal: 1 , Critical: 2 }); var TraceLevel = createEnumStyle({ NONE: 0 , ERROR: 1 , WARNING: 2 , INFORMATION: 3 }); var _ExtendedInternalMessageId = objFreeze(__assignFn(__assignFn({}, _InternalMessageId), createEnumStyle({ AuthHandShakeError: 501 , AuthRedirectFail: 502 , BrowserCannotReadLocalStorage: 503 , BrowserCannotWriteLocalStorage: 504 , BrowserDoesNotSupportLocalStorage: 505 , CannotParseBiBlobValue: 506 , CannotParseDataAttribute: 507 , CVPluginNotAvailable: 508 , DroppedEvent: 509 , ErrorParsingAISessionCookie: 510 , ErrorProvidedChannels: 511 , FailedToGetCookies: 512 , FailedToInitializeCorrelationVector: 513 , FailedToInitializeSDK: 514 , InvalidContentBlob: 515 , InvalidCorrelationValue: 516 , SessionRenewalDateIsZero: 517 , SendPostOnCompleteFailure: 518 , PostResponseHandler: 519 , SDKNotInitialized: 520 }))); var STR_EMPTY = ""; var STR_DEFAULT_ENDPOINT_URL = "https://browser.events.data.microsoft.com/OneCollector/1.0/"; var STR_VERSION = "version"; var STR_PROPERTIES = "properties"; var _a; var Version = '3.2.13'; var FullVersionString = "1DS-Web-JS-" + Version; var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation"; var strWithCredentials = "withCredentials"; var strTimeout = "timeout"; var _fieldTypeEventPropMap = (_a = {}, _a[0 ] = 0 , _a[2 ] = 6 , _a[1 ] = 1 , _a[3 ] = 7 , _a[4096 | 2 ] = 6 , _a[4096 | 1 ] = 1 , _a[4096 | 3 ] = 7 , _a); var uInt8ArraySupported = null; var isDocumentObjectAvailable = Boolean(getDocument()); var isWindowObjectAvailable = Boolean(getWindow()); function isValueAssigned(value) { return !(value === STR_EMPTY || isNullOrUndefined(value)); } function getTenantId(apiKey) { if (apiKey) { var indexTenantId = apiKey.indexOf("-"); if (indexTenantId > -1) { return apiKey.substring(0, indexTenantId); } } return STR_EMPTY; } function isUint8ArrayAvailable() { if (uInt8ArraySupported === null) { uInt8ArraySupported = !isUndefined(Uint8Array) && !isSafariOrFirefox() && !isReactNative(); } return uInt8ArraySupported; } function isLatency(value) { if (value && isNumber(value) && value >= 1 && value <= 4 ) { return true; } return false; } function sanitizeProperty(name, property, stringifyObjects) { if ((!property && !isValueAssigned(property)) || typeof name !== "string") { return null; } var propType = typeof property; if (propType === "string" || propType === "number" || propType === "boolean" || isArray(property)) { property = { value: property }; } else if (propType === "object" && !ObjHasOwnProperty.call(property, "value")) { property = { value: stringifyObjects ? JSON.stringify(property) : property }; } else if (isNullOrUndefined(property.value) || property.value === STR_EMPTY || (!isString(property.value) && !isNumber(property.value) && !isBoolean(property.value) && !isArray(property.value))) { return null; } if (isArray(property.value) && !isArrayValid(property.value)) { return null; } if (!isNullOrUndefined(property.kind)) { if (isArray(property.value) || !isValueKind(property.kind)) { return null; } property.value = property.value.toString(); } return property; } function getCommonSchemaMetaData(value, kind, type) { var encodedTypeValue = -1; if (!isUndefined(value)) { if (kind > 0) { if (kind === 32) { encodedTypeValue = (1 << 13); } else if (kind <= 13) { encodedTypeValue = (kind << 5); } } if (isDataType(type)) { if (encodedTypeValue === -1) { encodedTypeValue = 0; } encodedTypeValue |= type; } else { var propType = _fieldTypeEventPropMap[getFieldValueType(value)] || -1; if (encodedTypeValue !== -1 && propType !== -1) { encodedTypeValue |= propType; } else if (propType === 6 ) { encodedTypeValue = propType; } } } return encodedTypeValue; } function disableCookies() { safeGetCookieMgr(null).setEnabled(false); } function setCookie(name, value, days) { if (areCookiesSupported(null)) { safeGetCookieMgr(null).set(name, value, days * 86400, null, "/"); } } function deleteCookie(name) { if (areCookiesSupported(null)) { safeGetCookieMgr(null).del(name); } } function getCookie(name) { if (areCookiesSupported(null)) { return getCookieValue(safeGetCookieMgr(null), name); } return STR_EMPTY; } function getCookieValue(cookieMgr, name, decode) { if (decode === void 0) { decode = true; } var cookieValue; if (cookieMgr) { cookieValue = cookieMgr.get(name); if (decode && cookieValue && decodeURIComponent) { cookieValue = decodeURIComponent(cookieValue); } } return cookieValue || STR_EMPTY; } function createGuid(style) { if (style === void 0) { style = "D" ; } var theGuid = newGuid(); if (style === "B" ) { theGuid = "{" + theGuid + "}"; } else if (style === "P" ) { theGuid = "(" + theGuid + ")"; } else if (style === "N" ) { theGuid = theGuid.replace(/-/g, STR_EMPTY); } return theGuid; } function extend(obj, obj2, obj3, obj4, obj5) { var extended = {}; var deep = false; var i = 0; var length = arguments.length; var objProto = Object[strShimPrototype]; var theArgs = arguments; if (objProto.toString.call(theArgs[0]) === "[object Boolean]") { deep = theArgs[0]; i++; } for (; i < length; i++) { var obj = theArgs[i]; objForEachKey(obj, function (prop, value) { if (deep && value && isObject(value)) { if (isArray(value)) { extended[prop] = extended[prop] || []; arrForEach(value, function (arrayValue, arrayIndex) { if (arrayValue && isObject(arrayValue)) { extended[prop][arrayIndex] = extend(true, extended[prop][arrayIndex], arrayValue); } else { extended[prop][arrayIndex] = arrayValue; } }); } else { extended[prop] = extend(true, extended[prop], value); } } else { extended[prop] = value; } }); } return extended; } var getTime = perfNow; function isValueKind(value) { if (value === 0 || ((value > 0 && value <= 13 ) || value === 32 )) { return true; } return false; } function isDataType(value) { if (value >= 0 && value <= 9) { return true; } return false; } function isSafariOrFirefox() { var nav = getNavigator(); if (!isUndefined(nav) && nav.userAgent) { var ua = nav.userAgent.toLowerCase(); if ((ua.indexOf("safari") >= 0 || ua.indexOf("firefox") >= 0) && ua.indexOf("chrome") < 0) { return true; } } return false; } function isArrayValid(value) { return value.length > 0; } function setProcessTelemetryTimings(event, identifier) { var evt = event; evt.timings = evt.timings || {}; evt.timings.processTelemetryStart = evt.timings.processTelemetryStart || {}; evt.timings.processTelemetryStart[identifier] = getTime(); } function getFieldValueType(value) { var theType = 0 ; if (value !== null && value !== undefined) { var objType = typeof value; if (objType === "string") { theType = 1 ; } else if (objType === "number") { theType = 2 ; } else if (objType === "boolean") { theType = 3 ; } else if (objType === strShimObject) { theType = 4 ; if (isArray(value)) { theType = 4096 ; if (value.length > 0) { theType |= getFieldValueType(value[0]); } } else if (ObjHasOwnProperty.call(value, "value")) { theType = 8192 | getFieldValueType(value.value); } } } return theType; } var Utils = { Version: Version, FullVersionString: FullVersionString, strUndefined: strShimUndefined, strObject: strShimObject, Undefined: strShimUndefined, arrForEach: arrForEach, arrIndexOf: arrIndexOf, arrMap: arrMap, arrReduce: arrReduce, objKeys: objKeys, toISOString: toISOString, isReactNative: isReactNative, isString: isString, isNumber: isNumber, isBoolean: isBoolean, isFunction: isFunction, isArray: isArray, isObject: isObject, strTrim: strTrim, isDocumentObjectAvailable: isDocumentObjectAvailable, isWindowObjectAvailable: isWindowObjectAvailable, isValueAssigned: isValueAssigned, getTenantId: getTenantId, isBeaconsSupported: isBeaconsSupported, isUint8ArrayAvailable: isUint8ArrayAvailable, isLatency: isLatency, sanitizeProperty: sanitizeProperty, getISOString: toISOString, useXDomainRequest: useXDomainRequest, getCommonSchemaMetaData: getCommonSchemaMetaData, cookieAvailable: areCookiesSupported, disallowsSameSiteNone: uaDisallowsSameSiteNone, setCookie: setCookie, deleteCookie: deleteCookie, getCookie: getCookie, createGuid: createGuid, extend: extend, getTime: getTime, isValueKind: isValueKind, isArrayValid: isArrayValid, objDefineAccessors: objDefineAccessors, addPageUnloadEventListener: addPageUnloadEventListener, setProcessTelemetryTimings: setProcessTelemetryTimings, addEventHandler: addEventHandler, getFieldValueType: getFieldValueType, strEndsWith: strEndsWith, objForEachKey: objForEachKey }; var CoreUtils = { _canUseCookies: undefined, isTypeof: isTypeof, isUndefined: isUndefined, isNullOrUndefined: isNullOrUndefined, hasOwnProperty: hasOwnProperty, isFunction: isFunction, isObject: isObject, isDate: isDate, isArray: isArray, isError: isError, isString: isString, isNumber: isNumber, isBoolean: isBoolean, toISOString: toISOString, arrForEach: arrForEach, arrIndexOf: arrIndexOf, arrMap: arrMap, arrReduce: arrReduce, strTrim: strTrim, objCreate: objCreateFn, objKeys: objKeys, objDefineAccessors: objDefineAccessors, addEventHandler: addEventHandler, dateNow: dateNow, isIE: isIE, disableCookies: disableCookies, newGuid: newGuid, perfNow: perfNow, newId: newId, randomValue: randomValue, random32: random32, mwcRandomSeed: mwcRandomSeed, mwcRandom32: mwcRandom32, generateW3CId: generateW3CId }; function isChromium() { return !!getGlobalInst("chrome"); } function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) { if (disabled === void 0) { disabled = false; } if (isSync === void 0) { isSync = false; } function _wrapSetXhrProp(xhr, prop, value) { try { xhr[prop] = value; } catch (e) { } } var xhr = new XMLHttpRequest(); if (disabled) { _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled); } if (withCredentials) { _wrapSetXhrProp(xhr, strWithCredentials, withCredentials); } xhr.open(method, urlString, !isSync); if (withCredentials) { _wrapSetXhrProp(xhr, strWithCredentials, withCredentials); } if (!isSync && timeout) { _wrapSetXhrProp(xhr, strTimeout, timeout); } return xhr; } var AppInsightsCore = /** @class */ (function (_super) { __extendsFn(AppInsightsCore, _super); function AppInsightsCore() { var _this = _super.call(this) || this; _this.pluginVersionStringArr = []; dynamicProto(AppInsightsCore, _this, function (_self, _base) { if (!_self.logger || !_self.logger.queue) { _self.logger = new DiagnosticLogger({ loggingLevelConsole: 1 }); } _self.initialize = function (config, extensions, logger, notificationManager) { doPerf(_self, function () { return "AppInsightsCore.initialize"; }, function () { var _pluginVersionStringArr = _self.pluginVersionStringArr; if (config) { if (!config.endpointUrl) { config.endpointUrl = STR_DEFAULT_ENDPOINT_URL; } var propertyStorageOverride = config.propertyStorageOverride; if (propertyStorageOverride && (!propertyStorageOverride.getProperty || !propertyStorageOverride.setProperty)) { throwError("Invalid property storage override passed."); } if (config.channels) { arrForEach(config.channels, function (channels) { if (channels) { arrForEach(channels, function (channel) { if (channel.identifier && channel.version) { var ver = channel.identifier + "=" + channel.version; _pluginVersionStringArr.push(ver); } }); } }); } } _self.getWParam = function () { return (typeof document !== "undefined" || !!config.enableWParam) ? 0 : -1; }; if (extensions) { arrForEach(extensions, function (ext) { if (ext && ext.identifier && ext.version) { var ver = ext.identifier + "=" + ext.version; _pluginVersionStringArr.push(ver); } }); } _self.pluginVersionString = _pluginVersionStringArr.join(";"); _self.pluginVersionStringArr = _pluginVersionStringArr; try { _base.initialize(config, extensions, logger, notificationManager); _self.pollInternalLogs("InternalLog"); } catch (e) { var logger_1 = _self.logger; var message = dumpObj(e); if (message.indexOf("channels") !== -1) { message += "\n - Channels must be provided through config.channels only!"; } _throwInternal(logger_1, 1 , 514 , "SDK Initialization Failed - no telemetry will be sent: " + message); } }, function () { return ({ config: config, extensions: extensions, logger: logger, notificationManager: notificationManager }); }); }; _self.track = function (item) { doPerf(_self, function () { return "AppInsightsCore.track"; }, function () { var telemetryItem = item; if (telemetryItem) { telemetryItem.timings = telemetryItem.timings || {}; telemetryItem.timings.trackStart = getTime(); if (!isLatency(telemetryItem.latency)) { telemetryItem.latency = 1 ; } var itemExt = telemetryItem.ext = telemetryItem.ext || {}; itemExt.sdk = itemExt.sdk || {}; itemExt.sdk.ver = FullVersionString; var baseData = telemetryItem.baseData = telemetryItem.baseData || {}; baseData[STR_PROPERTIES] = baseData[STR_PROPERTIES] || {}; var itemProperties = baseData[STR_PROPERTIES]; itemProperties[STR_VERSION] = itemProperties[STR_VERSION] || _self.pluginVersionString || STR_EMPTY; } _base.track(telemetryItem); }, function () { return ({ item: item }); }, !(item.sync)); }; }); return _this; } AppInsightsCore.__ieDyn=1; return AppInsightsCore; }(AppInsightsCore$2)); var AppInsightsCore$1 = AppInsightsCore; var BaseCore = /** @class */ (function (_super) { __extendsFn(BaseCore, _super); function BaseCore() { var _this = _super.call(this) || this; dynamicProto(BaseCore, _this, function (_self, _base) { _self.initialize = function (config, extensions, logger, notificationManager) { if (config && !config.endpointUrl) { config.endpointUrl = STR_DEFAULT_ENDPOINT_URL; } _self.getWParam = function () { return (isDocumentObjectAvailable || !!config.enableWParam) ? 0 : -1; }; try { _base.initialize(config, extensions, logger, notificationManager); } catch (e) { _throwInternal(_self.logger, 1 , 514 , "Initialization Failed: " + dumpObj(e) + "\n - Note: Channels must be provided through config.channels only"); } }; _self.track = function (item) { var telemetryItem = item; if (telemetryItem) { var ext = telemetryItem.ext = telemetryItem.ext || {}; ext.sdk = ext.sdk || {}; ext.sdk.ver = FullVersionString; } _base.track(telemetryItem); }; }); return _this; } BaseCore.__ieDyn=1; return BaseCore; }(BaseCore$2)); var BaseCore$1 = BaseCore; var _isFunction = isFunction; function _createPromiseAllOnResolvedFunction(values, index, resolvedCallback) { return function (value) { values[index] = value; resolvedCallback(); }; } var ESPromise = /** @class */ (function () { function ESPromise(resolverFunc) { var _state = 0 ; var _settledValue = null; var _queue = []; dynamicProto(ESPromise, this, function (_this) { _this.then = function (onResolved, onRejected) { return new ESPromise(function (resolve, reject) { _enqueue(onResolved, onRejected, resolve, reject); }); }; _this["catch"] = function (onRejected) { return _this.then(null, onRejected); }; }); function _enqueue(onResolved, onRejected, resolve, reject) { _queue.push(function () { var value; try { if (_state === 1 ) { value = _isFunction(onResolved) ? onResolved(_settledValue) : _settledValue; } else { value = _isFunction(onRejected) ? onRejected(_settledValue) : _settledValue; } if (value instanceof ESPromise) { value.then(resolve, reject); } else if (_state === 2 && !_isFunction(onRejected)) { reject(value); } else { resolve(value); } } catch (error) { reject(error); return; } }); if (_state !== 0 ) { _processQueue(); } } function _processQueue() { if (_queue.length > 0) { var pending_1 = _queue.slice(); _queue = []; setTimeout(function () { for (var i = 0, len = pending_1.length; i < len; ++i) { try { pending_1[i](); } catch (e) { } } }, 0); } } function _resolve(value) { if (_state === 0 ) { _settledValue = value; _state = 1 ; _processQueue(); } } function _reject(reason) { if (_state === 0 ) { _settledValue = reason; _state = 2 ; _processQueue(); } } (function _initialize() { if (!_isFunction(resolverFunc)) { throw new TypeError("ESPromise: resolvedFunc argument is not a Function"); } try { resolverFunc(_resolve, _reject); } catch (error) { _reject(error); } })(); } ESPromise.resolve = function (value) { if (value instanceof ESPromise) { return value; } else if (value && _isFunction(value.then)) { return new ESPromise(function (resolve, reject) { try { value.then(resolve, reject); } catch (error) { reject(error); } }); } return new ESPromise(function (resolve) { resolve(value); }); }; ESPromise.reject = function (reason) { return new ESPromise(function (resolve, reject) { reject(reason); }); }; ESPromise.all = function (iterable) { if (!iterable || !iterable.length) { return; } return new ESPromise(function (resolve, reject) { try { var values_1 = []; var pending_2 = 0; for (var lp = 0; lp < iterable.length; lp++) { var item = iterable[lp]; if (item && _isFunction(item.then)) { pending_2++; item.then(_createPromiseAllOnResolvedFunction(values_1, lp, function () { if (--pending_2 === 0) { resolve(values_1); } }), reject); } else { values_1[lp] = item; } } if (pending_2 === 0) { setTimeout(function () { resolve(values_1); }, 0); } } catch (error) { reject(error); } }); }; ESPromise.race = function (iterable) { return new ESPromise(function (resolve, reject) { if (!iterable || !iterable.length) { return; } try { var _loop_1 = function (lp) { var item = iterable[lp]; if (item && _isFunction(item.then)) { item.then(resolve, reject); } else { setTimeout(function () { resolve(item); }, 0); } }; for (var lp = 0; lp < iterable.length; lp++) { _loop_1(lp); } } catch (error) { reject(error); } }); }; return ESPromise; }()); var ESPromise$1 = ESPromise; var LazyRejectPeriod = 600000; var _schedulerId = 0; var _running = []; var _waiting = []; var _timedOut = []; function _getTime() { return new Date().getTime(); } var ESPromiseScheduler = /** @class */ (function () { function ESPromiseScheduler(name, diagLog) { var _promiseId = 0; var _scheduledName = (name || "") + "." + _schedulerId; _schedulerId++; dynamicProto(ESPromiseScheduler, this, function (_this) { var _lastEvent = null; var _eventCount = 0; _this.scheduleEvent = function (startEventAction, eventName, timeout) { var uniqueId = _scheduledName + "." + _eventCount; _eventCount++; if (eventName) { uniqueId += "-(" + eventName + ")"; } var uniqueEventId = uniqueId + "{" + _promiseId + "}"; _promiseId++; var newScheduledEvent = { evt: null, tm: _getTime(), id: uniqueEventId, isRunning: false, isAborted: false }; if (!_lastEvent) { newScheduledEvent.evt = _startWaitingEvent(newScheduledEvent); } else { newScheduledEvent.evt = _waitForPreviousEvent(newScheduledEvent, _lastEvent); } _lastEvent = newScheduledEvent; _lastEvent.evt._schId = uniqueEventId; return newScheduledEvent.evt; function _abortAndRemoveOldEvents(eventQueue) { var now = _getTime(); var expired = now - LazyRejectPeriod; var len = eventQueue.length; var lp = 0; while (lp < len) { var evt = eventQueue[lp]; if (evt && evt.tm < expired) { var message = null; if (evt.abort) { message = "Aborting [" + evt.id + "] due to Excessive runtime (" + (now - evt.tm) + " ms)"; evt.abort(message); } else { message = "Removing [" + evt.id + "] due to Excessive runtime (" + (now - evt.tm) + " ms)"; } _warnLog(message); eventQueue.splice(lp, 1); len--; } else { lp++; } } } function _cleanup(eventId, completed) { var toQueue = false; var removed = _removeQueuedEvent(_running, eventId); if (!removed) { removed = _removeQueuedEvent(_timedOut, eventId); toQueue = true; } if (removed) { if (removed.to) { clearTimeout(removed.to); removed.to = null; } var tm = _getTime() - removed.tm; if (completed) { if (!toQueue) { _debugLog("Promise [" + eventId + "] Complete -- " + tm + " ms"); } else { _warnLog("Timed out event [" + eventId + "] finally complete -- " + tm + " ms"); } } else { _timedOut.push(removed); _warnLog("Event [" + eventId + "] Timed out and removed -- " + tm + " ms"); } } else { _debugLog("Failed to remove [" + eventId + "] from running queue"); } if (_lastEvent && _lastEvent.id === eventId) { _lastEvent = null; } _abortAndRemoveOldEvents(_running); _abortAndRemoveOldEvents(_waiting); _abortAndRemoveOldEvents(_timedOut); } function _removeScheduledEvent(eventId, callback) { return function (value) { _cleanup(eventId, true); callback && callback(value); return value; }; } function _waitForFinalResult(eventId, startResult, schEventResolve, schEventReject) { startResult.then(function (value) { if (value instanceof ESPromise$1) { _debugLog("Event [" + eventId + "] returned a promise -- waiting"); _waitForFinalResult(eventId, value, schEventResolve, schEventReject); return value; } else { return _removeScheduledEvent(eventId, schEventResolve)(value); } }, _removeScheduledEvent(eventId, schEventReject)); } function _createScheduledEvent(eventDetails, startEvent) { var eventId = eventDetails.id; return new ESPromise$1(function (schEventResolve, schEventReject) { _debugLog("Event [" + eventId + "] Starting -- waited for " + (eventDetails.wTm || "--") + " ms"); eventDetails.isRunning = true; eventDetails.abort = function (message) { eventDetails.abort = null; eventDetails.isAborted = true; _cleanup(eventId, false); schEventReject(new Error(message)); }; var startResult = startEvent(eventId); if (startResult instanceof ESPromise$1) { if (timeout) { eventDetails.to = setTimeout(function () { _cleanup(eventId, false); schEventReject(new Error("Timed out after [" + timeout + "] ms")); }, timeout); } _waitForFinalResult(eventId, startResult, function (theResult) { _debugLog("Event [" + eventId + "] Resolving after " + (_getTime() - eventDetails.tm) + " ms"); schEventResolve(theResult); }, schEventReject); } else { _debugLog("Promise [" + eventId + "] Auto completed as the start action did not return a promise"); schEventResolve(); } }); } function _startWaitingEvent(eventDetails) { var now = _getTime(); eventDetails.wTm = now - eventDetails.tm; eventDetails.tm = now; if (eventDetails.isAborted) { return ESPromise$1.reject(new Error("[" + uniqueId + "] was aborted")); } _running.push(eventDetails); return _createScheduledEvent(eventDetails, startEventAction); } function _waitForPreviousEvent(eventDetails, waitForEvent) { var waitEvent = new ESPromise$1(function (waitResolve, waitReject) { var runTime = _getTime() - waitForEvent.tm; var prevId = waitForEvent.id; _debugLog("[" + uniqueId + "] is waiting for [" + prevId + ":" + runTime + " ms] to complete before starting -- [" + _waiting.length + "] waiting and [" + _running.length + "] running"); eventDetails.abort = function (message) { eventDetails.abort = null; _removeQueuedEvent(_waiting, uniqueId); eventDetails.isAborted = true; waitReject(new Error(message)); }; waitForEvent.evt.then(function (value) { _removeQueuedEvent(_waiting, uniqueId); _startWaitingEvent(eventDetails).then(waitResolve, waitReject); }, function (reason) { _removeQueuedEvent(_waiting, uniqueId); _startWaitingEvent(eventDetails).then(waitResolve, waitReject); }); }); _waiting.push(eventDetails); return waitEvent; } }; function _removeQueuedEvent(queue, eventId) { for (var lp = 0; lp < queue.length; lp++) { if (queue[lp].id === eventId) { return queue.splice(lp, 1)[0]; } } return null; } }); function _debugLog(message) { var global = getGlobal(); if (global && global["QUnit"]) { console && console.log("ESPromiseScheduler[" + _scheduledName + "] " + message); } } function _warnLog(message) { _warnToConsole(diagLog, "ESPromiseScheduler[" + _scheduledName + "] " + message); } } ESPromiseScheduler.incomplete = function () { return _running; }; ESPromiseScheduler.waitingToStart = function () { return _waiting; }; return ESPromiseScheduler; }()); var ESPromiseScheduler$1 = ESPromiseScheduler; var ValueSanitizer = /** @class */ (function () { function ValueSanitizer(fieldSanitizerProvider) { var _self = this; var _sanitizerMap = {}; var _sanitizers = []; var _fieldSanitizers = []; if (fieldSanitizerProvider) { _fieldSanitizers.push(fieldSanitizerProvider); } function _getFieldSanitizer(path, name) { var result; var fieldLookup = _sanitizerMap[path]; if (fieldLookup) { result = fieldLookup[name]; } if (!result && result !== null) { if (isString(path) && isString(name)) { if (_fieldSanitizers.length > 0) { for (var lp = 0; lp < _fieldSanitizers.length; lp++) { if (_fieldSanitizers[lp].handleField(path, name)) { result = { canHandle: true, fieldHandler: _fieldSanitizers[lp] }; break; } } } else if (_sanitizers.length === 0) { result = { canHandle: true }; } } if (!result && result !== null) { result = null; for (var lp = 0; lp < _sanitizers.length; lp++) { if (_sanitizers[lp].handleField(path, name)) { result = { canHandle: true, handler: _sanitizers[lp], fieldHandler: null }; break; } } } if (!fieldLookup) { fieldLookup = _sanitizerMap[path] = {}; } fieldLookup[name] = result; } return result; } _self.addSanitizer = function (newSanitizer) { if (newSanitizer) { _sanitizers.push(newSanitizer); _sanitizerMap = {}; } }; _self.addFieldSanitizer = function (fieldSanitizer) { if (fieldSanitizer) { _fieldSanitizers.push(fieldSanitizer); _sanitizerMap = {}; } }; _self.handleField = function (path, name) { var mapValue = _getFieldSanitizer(path, name); return mapValue ? mapValue.canHandle : false; }; _self.value = function (path, name, value, stringifyObjects) { var mapValue = _getFieldSanitizer(path, name); if (mapValue && mapValue.canHandle) { if (!mapValue || !mapValue.canHandle) { return null; } if (mapValue.handler) { return mapValue.handler.value(path, name, value, stringifyObjects); } if (!isString(name) || isNullOrUndefined(value) || value === STR_EMPTY) { return null; } var property = null; var fieldType = getFieldValueType(value); if ((fieldType & 8192 ) === 8192 ) { var subType = fieldType & ~8192 ; property = value; if (!isValueAssigned(property.value) || (subType !== 1 && subType !== 2 && subType !== 3 && (subType & 4096 ) !== 4096 )) { return null; } } else if (fieldType === 1 || fieldType === 2 || fieldType === 3 || (fieldType & 4096 ) === 4096 ) { property = _convertToProperty(path, name, value); } else if (fieldType === 4 ) { property = _convertToProperty(path, name, !!stringifyObjects ? JSON.stringify(value) : value); } if (property) { return _handleProperty(mapValue, path, name, fieldType, property, stringifyObjects); } } return null; }; _self.property = function (path, name, property, stringifyObjects) { var mapValue = _getFieldSanitizer(path, name); if (!mapValue || !mapValue.canHandle) { return null; } if (!isString(name) || isNullOrUndefined(property) || !isValueAssigned(property.value)) { return null; } var fieldType = getFieldValueType(property.value); if (fieldType === 0 ) { return null; } return _handleProperty(mapValue, path, name, fieldType, property, stringifyObjects); }; function _handleProperty(mapValue, path, name, fieldType, property, stringifyObjects) { if (mapValue.handler) { return mapValue.handler.property(path, name, property, stringifyObjects); } if (!isNullOrUndefined(property.kind)) { if ((fieldType & 4096 ) === 4096 || !isValueKind(property.kind)) { return null; } property.value = property.value.toString(); } return _callFieldSanitizer(mapValue.fieldHandler, path, name, fieldType, property); } function _convertToProperty(path, name, value) { if (isValueAssigned(value)) { return { value: value }; } return null; } function _callFieldSanitizer(fieldProvider, path, name, theType, property) { if (property && fieldProvider) { var sanitizer = fieldProvider.getSanitizer(path, name, theType, property.kind, property.propertyType); if (sanitizer) { if (theType === 4 ) { var newValue_1 = {}; var propValue = property.value; objForEachKey(propValue, function (propKey, theValue) { var newPath = path + "." + name; if (isValueAssigned(theValue)) { var newProp = _convertToProperty(newPath, propKey, theValue); newProp = _callFieldSanitizer(fieldProvider, newPath, propKey, getFieldValueType(theValue), newProp); if (newProp) { newValue_1[propKey] = newProp.value; } } }); property.value = newValue_1; } else { var details = { path: path, name: name, type: theType, prop: property, sanitizer: _self }; property = sanitizer.call(_self, details); } } } return property; } } ValueSanitizer.getFieldType = getFieldValueType; return ValueSanitizer; }()); exports.AppInsightsCore = AppInsightsCore$1; exports.BaseCore = BaseCore$1; exports.BaseTelemetryPlugin = BaseTelemetryPlugin; exports.CoreUtils = CoreUtils; exports.DiagnosticLogger = DiagnosticLogger; exports.ESPromise = ESPromise$1; exports.ESPromiseScheduler = ESPromiseScheduler$1; exports.EventHelper = EventHelper; exports.EventLatency = EventLatency; exports.EventPersistence = EventPersistence; exports.EventPropertyType = EventPropertyType; exports.EventsDiscardedReason = EventsDiscardedReason; exports.FullVersionString = FullVersionString; exports.InternalAppInsightsCore = AppInsightsCore$2; exports.InternalBaseCore = BaseCore$2; exports.LoggingSeverity = LoggingSeverity; exports.MinChannelPriorty = MinChannelPriorty; exports.NotificationManager = NotificationManager; exports.PerfEvent = PerfEvent; exports.PerfManager = PerfManager; exports.ProcessTelemetryContext = ProcessTelemetryContext; exports.TraceLevel = TraceLevel; exports.Undefined = strShimUndefined; exports.Utils = Utils; exports.ValueKind = ValueKind; exports.ValueSanitizer = ValueSanitizer; exports.Version = Version; exports._ExtendedInternalMessageId = _ExtendedInternalMessageId; exports._InternalLogMessage = _InternalLogMessage; exports._InternalMessageId = _InternalMessageId; exports.__getRegisteredEvents = __getRegisteredEvents; exports._logInternalMessage = _logInternalMessage; exports._throwInternal = _throwInternal; exports._warnToConsole = _warnToConsole; exports.addEventHandler = addEventHandler; exports.addEventListeners = addEventListeners; exports.addPageHideEventListener = addPageHideEventListener; exports.addPageShowEventListener = addPageShowEventListener; exports.addPageUnloadEventListener = addPageUnloadEventListener; exports.areCookiesSupported = areCookiesSupported; exports.arrForEach = arrForEach; exports.arrIndexOf = arrIndexOf; exports.arrMap = arrMap; exports.arrReduce = arrReduce; exports.attachEvent = attachEvent; exports.cookieAvailable = areCookiesSupported; exports.createCookieMgr = createCookieMgr; exports.createEnumStyle = createEnumStyle; exports.createGuid = createGuid; exports.createProcessTelemetryContext = createProcessTelemetryContext; exports.createTraceParent = createTraceParent; exports.createUniqueNamespace = createUniqueNamespace; exports.createUnloadHandlerContainer = createUnloadHandlerContainer; exports.dateNow = dateNow; exports.deleteCookie = deleteCookie; exports.detachEvent = detachEvent; exports.disableCookies = disableCookies; exports.disallowsSameSiteNone = uaDisallowsSameSiteNone; exports.doPerf = doPerf; exports.dumpObj = dumpObj; exports.eventOff = eventOff; exports.eventOn = eventOn; exports.extend = extend; exports.findW3cTraceParent = findW3cTraceParent; exports.formatTraceParent = formatTraceParent; exports.generateW3CId = generateW3CId; exports.getCommonSchemaMetaData = getCommonSchemaMetaData; exports.getConsole = getConsole; exports.getCookie = getCookie; exports.getCookieValue = getCookieValue; exports.getCrypto = getCrypto; exports.getDocument = getDocument; exports.getExceptionName = getExceptionName; exports.getFieldValueType = getFieldValueType; exports.getGlobal = getGlobal; exports.getGlobalInst = getGlobalInst; exports.getHistory = getHistory; exports.getIEVersion = getIEVersion; exports.getISOString = toISOString; exports.getJSON = getJSON; exports.getLocation = getLocation; exports.getMsCrypto = getMsCrypto; exports.getNavigator = getNavigator; exports.getPerformance = getPerformance; exports.getSetValue = getSetValue; exports.getTenantId = getTenantId; exports.getTime = getTime; exports.getWindow = getWindow; exports.hasDocument = hasDocument; exports.hasHistory = hasHistory; exports.hasJSON = hasJSON; exports.hasNavigator = hasNavigator; exports.hasOwnProperty = hasOwnProperty; exports.hasWindow = hasWindow; exports.isArray = isArray; exports.isArrayValid = isArrayValid; exports.isBeaconsSupported = isBeaconsSupported; exports.isBoolean = isBoolean; exports.isChromium = isChromium; exports.isDate = isDate; exports.isDocumentObjectAvailable = isDocumentObjectAvailable; exports.isError = isError; exports.isFetchSupported = isFetchSupported; exports.isFunction = isFunction; exports.isIE = isIE; exports.isLatency = isLatency; exports.isNotTruthy = isNotTruthy; exports.isNullOrUndefined = isNullOrUndefined; exports.isNumber = isNumber; exports.isObject = isObject; exports.isReactNative = isReactNative; exports.isSampledFlag = isSampledFlag; exports.isString = isString; exports.isTruthy = isTruthy; exports.isTypeof = isTypeof; exports.isUint8ArrayAvailable = isUint8ArrayAvailable; exports.isUndefined = isUndefined; exports.isValidSpanId = isValidSpanId; exports.isValidTraceId = isValidTraceId; exports.isValidTraceParent = isValidTraceParent; exports.isValueAssigned = isValueAssigned; exports.isValueKind = isValueKind; exports.isWindowObjectAvailable = isWindowObjectAvailable; exports.isXhrSupported = isXhrSupported; exports.mergeEvtNamespace = mergeEvtNamespace; exports.newGuid = newGuid; exports.newId = newId; exports.normalizeJsName = normalizeJsName; exports.objCreate = objCreateFn; exports.objDefineAccessors = objDefineAccessors; exports.objForEachKey = objForEachKey; exports.objFreeze = objFreeze; exports.objKeys = objKeys; exports.objSeal = objSeal; exports.openXhr = openXhr; exports.optimizeObject = optimizeObject; exports.parseTraceParent = parseTraceParent; exports.perfNow = perfNow; exports.proxyAssign = proxyAssign; exports.proxyFunctionAs = proxyFunctionAs; exports.proxyFunctions = proxyFunctions; exports.random32 = random32; exports.randomValue = randomValue; exports.removeEventHandler = removeEventHandler; exports.removeEventListeners = removeEventListeners; exports.removePageHideEventListener = removePageHideEventListener; exports.removePageShowEventListener = removePageShowEventListener; exports.removePageUnloadEventListener = removePageUnloadEventListener; exports.safeGetCookieMgr = safeGetCookieMgr; exports.safeGetLogger = safeGetLogger; exports.sanitizeProperty = sanitizeProperty; exports.setCookie = setCookie; exports.setEnableEnvMocks = setEnableEnvMocks; exports.setProcessTelemetryTimings = setProcessTelemetryTimings; exports.setValue = setValue; exports.strContains = strContains; exports.strEndsWith = strEndsWith; exports.strFunction = strShimFunction; exports.strObject = strShimObject; exports.strPrototype = strShimPrototype; exports.strStartsWith = strStartsWith; exports.strTrim = strTrim; exports.strUndefined = strShimUndefined; exports.throwError = throwError; exports.toISOString = toISOString; exports.useXDomainRequest = useXDomainRequest; }));