{"version":3,"file":"static/js/4035_6cecbf1e03e7a6e6d1e3.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AggregationError.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/NotificationManager.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AppInsightsCore.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/Constants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AsyncUtils.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CookieMgr.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CoreUtils.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DataCacheHelper.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DbgExtensionUtils.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DiagnosticLogger.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EnvUtils.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EventHelpers.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/HelperFuncs.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InstrumentHooks.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InternalConstants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/PerfManager.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/RandomHelper.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/TelemetryHelpers.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHookContainer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/W3cTraceParent.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-core-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-core-js/dist-es5/__DynamicConstants.js"],"sourcesContent":["/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnum, createTypeMap } from \"@nevware21/ts-utils\";\r\n/**\r\n * Create an enum style object which has both the key => value and value => key mappings\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport var createEnumStyle = createEnum;\r\n/**\r\n * Create a 2 index map that maps an enum's key and value to the defined map value, X[\"key\"] => mapValue and X[0] => mapValue.\r\n * Generic values\r\n * - E = the const enum type (typeof eRequestHeaders);\r\n * - V = Identifies the valid values for the keys, this should include both the enum numeric and string key of the type. The\r\n * resulting \"Value\" of each entry identifies the valid values withing the assignments.\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport var createValueMap = createTypeMap;\r\n//# sourceMappingURL=EnumHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, createCustomError, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nvar aggregationErrorType;\r\n/**\r\n * Throws an Aggregation Error which includes all of the errors that led to this error occurring\r\n * @param message - The message describing the aggregation error (the sourceError details are added to this)\r\n * @param sourceErrors - An array of the errors that caused this situation\r\n */\r\nexport function throwAggregationError(message, sourceErrors) {\r\n if (!aggregationErrorType) {\r\n aggregationErrorType = createCustomError(\"AggregationError\", function (self, args) {\r\n if (args[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n // Save the provided errors\r\n self.errors = args[1];\r\n }\r\n });\r\n }\r\n var theMessage = message || \"One or more errors occurred.\";\r\n arrForEach(sourceErrors, function (srcError, idx) {\r\n theMessage += \"\\n\".concat(idx, \" > \").concat(dumpObj(srcError));\r\n });\r\n throw new aggregationErrorType(theMessage, sourceErrors || []);\r\n}\r\n//# sourceMappingURL=AggregationError.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { createAllPromise, createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrForEach, arrIndexOf, objDefine, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SPLICE, _DYN_UNLOAD, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar defaultValues = {\r\n perfEvtsSendAll: false\r\n};\r\nfunction _runListeners(listeners, name, isAsync, callback) {\r\n arrForEach(listeners, function (listener) {\r\n if (listener && listener[name]) {\r\n if (isAsync) {\r\n scheduleTimeout(function () { return callback(listener); }, 0);\r\n }\r\n else {\r\n try {\r\n callback(listener);\r\n }\r\n catch (e) {\r\n // Catch errors to ensure we don't block sending the requests\r\n }\r\n }\r\n }\r\n });\r\n}\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar NotificationManager = /** @class */ (function () {\r\n function NotificationManager(config) {\r\n this.listeners = [];\r\n var perfEvtsSendAll;\r\n var unloadHandler;\r\n var _listeners = [];\r\n var cfgHandler = createDynamicConfig(config, defaultValues);\r\n unloadHandler = cfgHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;\r\n });\r\n dynamicProto(NotificationManager, this, function (_self) {\r\n objDefine(_self, \"listeners\", {\r\n g: function () { return _listeners; }\r\n });\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _listeners[_DYN_PUSH /* @min:%2epush */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param listener - AWTNotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n var index = arrIndexOf(_listeners, listener);\r\n while (index > -1) {\r\n _listeners[_DYN_SPLICE /* @min:%2esplice */](index, 1);\r\n index = arrIndexOf(_listeners, listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param events - The array of events that have been sent.\r\n */\r\n _self[STR_EVENTS_SENT /* @min:%2eeventsSent */] = function (events) {\r\n _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {\r\n listener[STR_EVENTS_SENT /* @min:%2eeventsSent */](events);\r\n });\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param events - The array of events that have been discarded by the SDK.\r\n * @param reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n _self[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */] = function (events, reason) {\r\n _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {\r\n listener[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */](events, reason);\r\n });\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param sendReason - The reason why the event batch is being sent.\r\n * @param isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n _self[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */] = function (sendReason, isAsync) {\r\n _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {\r\n listener[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendReason, isAsync);\r\n });\r\n };\r\n _self[STR_PERF_EVENT /* @min:%2eperfEvent */] = function (perfEvent) {\r\n if (perfEvent) {\r\n // Send all events or only parent events\r\n if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */]()) {\r\n _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {\r\n if (perfEvent[_DYN_IS_ASYNC /* @min:%2eisAsync */]) {\r\n scheduleTimeout(function () { return listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent); }, 0);\r\n }\r\n else {\r\n listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync) {\r\n var _finishUnload = function () {\r\n unloadHandler && unloadHandler.rm();\r\n unloadHandler = null;\r\n _listeners = [];\r\n };\r\n var waiting;\r\n _runListeners(_listeners, \"unload\", false, function (listener) {\r\n var asyncUnload = listener[_DYN_UNLOAD /* @min:%2eunload */](isAsync);\r\n if (asyncUnload) {\r\n if (!waiting) {\r\n waiting = [];\r\n }\r\n waiting[_DYN_PUSH /* @min:%2epush */](asyncUnload);\r\n }\r\n });\r\n if (waiting) {\r\n return createPromise(function (resolve) {\r\n return doAwaitResponse(createAllPromise(waiting), function () {\r\n _finishUnload();\r\n resolve();\r\n });\r\n });\r\n }\r\n else {\r\n _finishUnload();\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for NotificationManager.prototype.addNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.removeNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.eventsSent.\r\n// Removed Stub for NotificationManager.prototype.eventsDiscarded.\r\n// Removed Stub for NotificationManager.prototype.eventsSendRequest.\r\n// Removed Stub for NotificationManager.prototype.perfEvent.\r\n// Removed Stub for NotificationManager.prototype.unload.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n NotificationManager.__ieDyn=1;\n\n return NotificationManager;\r\n}());\r\nexport { NotificationManager };\r\n//# sourceMappingURL=NotificationManager.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n// \r\n// \r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { arrAppend, arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_DIAG_LOG, _DYN_LENGTH, _DYN_PROCESS_NEXT, _DYN_SPLICE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { BaseTelemetryPlugin } from \"./BaseTelemetryPlugin\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getExceptionName } from \"./HelperFuncs\";\r\nimport { STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nfunction _addInitializer(_initializers, id, telemetryInitializer) {\r\n var theInitializer = {\r\n id: id,\r\n fn: telemetryInitializer\r\n };\r\n arrAppend(_initializers, theInitializer);\r\n var handler = {\r\n remove: function () {\r\n arrForEach(_initializers, function (initializer, idx) {\r\n if (initializer.id === theInitializer.id) {\r\n _initializers[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n return handler;\r\n}\r\nfunction _runInitializers(_initializers, item, logger) {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _initializers[_DYN_LENGTH /* @min:%2elength */];\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _initializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.fn[_DYN_APPLY /* @min:%2eapply */](null, [item]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Telemetry initializer failed: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n return !doNotSendItem;\r\n}\r\nvar TelemetryInitializerPlugin = /** @class */ (function (_super) {\r\n __extends(TelemetryInitializerPlugin, _super);\r\n function TelemetryInitializerPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"TelemetryInitializerPlugin\";\r\n _this.priority = 199;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _id;\r\n var _initializers;\r\n _initDefaults();\r\n dynamicProto(TelemetryInitializerPlugin, _this, function (_self, _base) {\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n return _addInitializer(_initializers, _id++, telemetryInitializer);\r\n };\r\n _self[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */] = function (item, itemCtx) {\r\n if (_runInitializers(_initializers, item, itemCtx ? itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]() : _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]())) {\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item, itemCtx);\r\n }\r\n };\r\n _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] = function () {\r\n _initDefaults();\r\n };\r\n });\r\n function _initDefaults() {\r\n _id = 0;\r\n _initializers = [];\r\n }\r\n return _this;\r\n }\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.processTelemetry.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n TelemetryInitializerPlugin.__ieDyn=1;\n\n return TelemetryInitializerPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { TelemetryInitializerPlugin };\r\n//# sourceMappingURL=TelemetryInitializerPlugin.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nvar _a;\r\nimport { __spreadArrayFn as __spreadArray } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { createPromise } from \"@nevware21/ts-async\";\r\nimport { arrAppend, arrForEach, arrIndexOf, createTimeout, deepExtend, hasDocument, isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, objDefine, objForEachKey, objFreeze, objHasOwn, scheduleTimeout, throwError } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CANCEL, _DYN_CREATE_NEW, _DYN_ENABLED, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT0, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_NOTIFY, _DYN_ON_COMPLETE, _DYN_POLL_INTERNAL_LOGS, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SET_DF, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN_UNLOAD, _DYN_VERSION, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { doUnloadAll, runTargetUnload } from \"./AsyncUtils\";\r\nimport { ChannelControllerPriority } from \"./Constants\";\r\nimport { createCookieMgr } from \"./CookieMgr\";\r\nimport { createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDebugListener } from \"./DbgExtensionUtils\";\r\nimport { DiagnosticLogger, _InternalLogMessage, _throwInternal, _warnToConsole } from \"./DiagnosticLogger\";\r\nimport { getSetValue, proxyFunctionAs, proxyFunctions, toISOString } from \"./HelperFuncs\";\r\nimport { STR_CHANNELS, STR_CORE, STR_CREATE_PERF_MGR, STR_DISABLED, STR_EMPTY, STR_EVENTS_DISCARDED, STR_EXTENSIONS, STR_EXTENSION_CONFIG, STR_GET_PERF_MGR, STR_PRIORITY, UNDEFINED_VALUE } from \"./InternalConstants\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { PerfManager, doPerf, getGblPerfMgr } from \"./PerfManager\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { _getPluginState, createDistributedTraceContext, initializePlugins, sortPlugins } from \"./TelemetryHelpers\";\r\nimport { TelemetryInitializerPlugin } from \"./TelemetryInitializerPlugin\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nimport { createUnloadHookContainer } from \"./UnloadHookContainer\";\r\nvar strValidationError = \"Plugins must provide initialize method\";\r\nvar strNotificationManager = \"_notificationManager\";\r\nvar strSdkUnloadingError = \"SDK is still unloading...\";\r\nvar strSdkNotInitialized = \"SDK is not initialized\";\r\n// const strPluginUnloadFailed = \"Failed to unload plugin\";\r\n/**\r\n * The default settings for the config.\r\n * WE MUST include all defaults here to ensure that the config is created with all of the properties\r\n * defined as dynamic.\r\n */\r\nvar defaultConfig = objDeepFreeze((_a = {\r\n cookieCfg: {}\r\n },\r\n _a[STR_EXTENSIONS] = { rdOnly: true, ref: true, v: [] },\r\n _a[STR_CHANNELS] = { rdOnly: true, ref: true, v: [] },\r\n _a[STR_EXTENSION_CONFIG] = { ref: true, v: {} },\r\n _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,\r\n _a.loggingLevelConsole = 0 /* eLoggingSeverity.DISABLED */,\r\n _a.diagnosticLogInterval = UNDEFINED_VALUE,\r\n _a));\r\n/**\r\n * Helper to create the default performance manager\r\n * @param core\r\n * @param notificationMgr\r\n */\r\nfunction _createPerfManager(core, notificationMgr) {\r\n return new PerfManager(notificationMgr);\r\n}\r\nfunction _validateExtensions(logger, channelPriority, allExtensions) {\r\n var _a;\r\n // Concat all available extensions\r\n var coreExtensions = [];\r\n var channels = [];\r\n // Check if any two extensions have the same priority, then warn to console\r\n // And extract the local extensions from the\r\n var extPriorities = {};\r\n // Extension validation\r\n arrForEach(allExtensions, function (ext) {\r\n // Check for ext.initialize\r\n if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE /* @min:%2einitialize */])) {\r\n throwError(strValidationError);\r\n }\r\n var extPriority = ext[STR_PRIORITY /* @min:%2epriority */];\r\n var identifier = ext[_DYN_IDENTIFIER /* @min:%2eidentifier */];\r\n if (ext && extPriority) {\r\n if (!isNullOrUndefined(extPriorities[extPriority])) {\r\n _warnToConsole(logger, \"Two extensions have same priority #\" + extPriority + \" - \" + extPriorities[extPriority] + \", \" + identifier);\r\n }\r\n else {\r\n // set a value\r\n extPriorities[extPriority] = identifier;\r\n }\r\n }\r\n // Split extensions to core and channels\r\n if (!extPriority || extPriority < channelPriority) {\r\n // Add to core extension that will be managed by AppInsightsCore\r\n coreExtensions[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n else {\r\n channels[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n return _a = {},\r\n _a[STR_CORE /* @min:core */] = coreExtensions,\r\n _a[STR_CHANNELS /* @min:channels */] = channels,\r\n _a;\r\n}\r\nfunction _isPluginPresent(thePlugin, plugins) {\r\n var exists = false;\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin === thePlugin) {\r\n exists = true;\r\n return -1;\r\n }\r\n });\r\n return exists;\r\n}\r\nfunction _deepMergeConfig(details, target, newValues, merge) {\r\n // Lets assign the new values to the existing config\r\n if (newValues) {\r\n objForEachKey(newValues, function (key, value) {\r\n if (merge) {\r\n if (isPlainObject(value) && isPlainObject(target[key])) {\r\n // The target is an object and it has a value\r\n _deepMergeConfig(details, target[key], value, merge);\r\n }\r\n }\r\n if (merge && isPlainObject(value) && isPlainObject(target[key])) {\r\n // The target is an object and it has a value\r\n _deepMergeConfig(details, target[key], value, merge);\r\n }\r\n else {\r\n // Just Assign (replace) and/or make the property dynamic\r\n details.set(target, key, value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _findWatcher(listeners, newWatcher) {\r\n var theListener = null;\r\n var idx = -1;\r\n arrForEach(listeners, function (listener, lp) {\r\n if (listener.w === newWatcher) {\r\n theListener = listener;\r\n idx = lp;\r\n return -1;\r\n }\r\n });\r\n return { i: idx, l: theListener };\r\n}\r\nfunction _addDelayedCfgListener(listeners, newWatcher) {\r\n var theListener = _findWatcher(listeners, newWatcher).l;\r\n if (!theListener) {\r\n theListener = {\r\n w: newWatcher,\r\n rm: function () {\r\n var fnd = _findWatcher(listeners, newWatcher);\r\n if (fnd.i !== -1) {\r\n listeners[_DYN_SPLICE /* @min:%2esplice */](fnd.i, 1);\r\n }\r\n }\r\n };\r\n listeners[_DYN_PUSH /* @min:%2epush */](theListener);\r\n }\r\n return theListener;\r\n}\r\nfunction _registerDelayedCfgListener(config, listeners, logger) {\r\n arrForEach(listeners, function (listener) {\r\n var unloadHdl = onConfigChange(config, listener.w, logger);\r\n delete listener.w; // Clear the listener reference so it will get garbage collected.\r\n // replace the remove function\r\n listener.rm = function () {\r\n unloadHdl.rm();\r\n };\r\n });\r\n}\r\n/**\r\n * @group Classes\r\n * @group Entrypoint\r\n */\r\nvar AppInsightsCore = /** @class */ (function () {\r\n function AppInsightsCore() {\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _configHandler;\r\n var _isInitialized;\r\n var _logger;\r\n var _eventQueue;\r\n var _notificationManager;\r\n var _perfManager;\r\n var _cfgPerfManager;\r\n var _cookieManager;\r\n var _pluginChain;\r\n var _configExtensions;\r\n var _channelConfig;\r\n var _channels;\r\n var _isUnloading;\r\n var _telemetryInitializerPlugin;\r\n var _internalLogsEventName;\r\n var _evtNamespace;\r\n var _unloadHandlers;\r\n var _hookContainer;\r\n var _debugListener;\r\n var _traceCtx;\r\n var _instrumentationKey;\r\n var _cfgListeners;\r\n var _extensions;\r\n var _pluginVersionStringArr;\r\n var _pluginVersionString;\r\n /**\r\n * Internal log poller\r\n */\r\n var _internalLogPoller;\r\n var _internalLogPollerListening;\r\n var _forceStopInternalLogPoller;\r\n dynamicProto(AppInsightsCore, this, function (_self) {\r\n // Set the default values (also called during teardown)\r\n _initDefaults();\r\n // Special internal method to allow the unit tests and DebugPlugin to hook embedded objects\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_extensions];\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () { return _isInitialized; };\r\n // Creating the self.initialize = ()\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n if (_isUnloading) {\r\n throwError(strSdkUnloadingError);\r\n }\r\n // Make sure core is only initialized once\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n throwError(\"Core cannot be initialized more than once\");\r\n }\r\n _configHandler = createDynamicConfig(config, defaultConfig, logger || _self[_DYN_LOGGER /* @min:%2elogger */], false);\r\n // Re-assigning the local config property so we don't have any references to the passed value and it can be garbage collected\r\n config = _configHandler.cfg;\r\n // This will be \"re-run\" if the referenced config properties are changed\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n _instrumentationKey = details.cfg.instrumentationKey;\r\n // Mark the extensionConfig and all first level keys as referenced\r\n // This is so that calls to getExtCfg() will always return the same object\r\n // Even when a user may \"re-assign\" the plugin properties (or it's unloaded/reloaded)\r\n var extCfg = details.ref(details.cfg, STR_EXTENSION_CONFIG);\r\n objForEachKey(extCfg, function (key) {\r\n details.ref(extCfg, key);\r\n });\r\n if (isNullOrUndefined(_instrumentationKey)) {\r\n throwError(\"Please provide instrumentation key\");\r\n }\r\n }));\r\n _notificationManager = notificationManager;\r\n _initDebugListener();\r\n _initPerfManager();\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = logger;\r\n var cfgExtensions = config[STR_EXTENSIONS /* @min:%2eextensions */];\r\n // Extension validation\r\n _configExtensions = [];\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */].apply(_configExtensions, __spreadArray(__spreadArray([], extensions, false), cfgExtensions, false));\r\n _channelConfig = config[STR_CHANNELS /* @min:%2echannels */];\r\n _initPluginChain(null);\r\n if (!_channels || _channels[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n throwError(\"No \" + STR_CHANNELS + \" available\");\r\n }\r\n if (_channelConfig && _channelConfig[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n var teeController = _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */](\"TeeChannelController\");\r\n if (!teeController || !teeController.plugin) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"TeeChannel required\");\r\n }\r\n }\r\n _registerDelayedCfgListener(config, _cfgListeners, _logger);\r\n _cfgListeners = null;\r\n _isInitialized = true;\r\n _self.releaseQueue();\r\n _self[_DYN_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */]();\r\n };\r\n _self.getChannels = function () {\r\n var controls = [];\r\n if (_channels) {\r\n arrForEach(_channels, function (channel) {\r\n controls[_DYN_PUSH /* @min:%2epush */](channel);\r\n });\r\n }\r\n return objFreeze(controls);\r\n };\r\n _self.track = function (telemetryItem) {\r\n doPerf(_self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */](), function () { return \"AppInsightsCore:track\"; }, function () {\r\n if (telemetryItem === null) {\r\n _notifyInvalidEvent(telemetryItem);\r\n // throw error\r\n throwError(\"Invalid telemetry item\");\r\n }\r\n // do basic validation before sending it through the pipeline\r\n if (!telemetryItem[_DYN_NAME /* @min:%2ename */] && isNullOrUndefined(telemetryItem[_DYN_NAME /* @min:%2ename */])) {\r\n _notifyInvalidEvent(telemetryItem);\r\n throwError(\"telemetry name required\");\r\n }\r\n // setup default iKey if not passed in\r\n telemetryItem.iKey = telemetryItem.iKey || _instrumentationKey;\r\n // add default timestamp if not passed in\r\n telemetryItem[_DYN_TIME /* @min:%2etime */] = telemetryItem[_DYN_TIME /* @min:%2etime */] || toISOString(new Date());\r\n // Common Schema 4.0\r\n telemetryItem.ver = telemetryItem.ver || \"4.0\";\r\n if (!_isUnloading && _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n // Process the telemetry plugin chain\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](telemetryItem);\r\n }\r\n else {\r\n // Queue events until all extensions are initialized\r\n _eventQueue[_DYN_PUSH /* @min:%2epush */](telemetryItem);\r\n }\r\n }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));\r\n };\r\n _self[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */] = _createTelCtx;\r\n _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {\r\n if (!_notificationManager) {\r\n _notificationManager = new NotificationManager(_configHandler.cfg);\r\n // For backward compatibility only\r\n _self[strNotificationManager] = _notificationManager;\r\n }\r\n return _notificationManager;\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param listener - An INotificationListener object.\r\n */\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]()[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param listener - INotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](listener);\r\n }\r\n };\r\n _self.getCookieMgr = function () {\r\n if (!_cookieManager) {\r\n _cookieManager = createCookieMgr(_configHandler.cfg, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return _cookieManager;\r\n };\r\n _self.setCookieMgr = function (cookieMgr) {\r\n if (_cookieManager !== cookieMgr) {\r\n runTargetUnload(_cookieManager, false);\r\n _cookieManager = cookieMgr;\r\n }\r\n };\r\n _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {\r\n if (!_perfManager && !_cfgPerfManager) {\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n if (details.cfg.enablePerfMgr) {\r\n var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */];\r\n if (isFunction(createPerfMgr)) {\r\n _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());\r\n }\r\n }\r\n }));\r\n }\r\n return _perfManager || _cfgPerfManager || getGblPerfMgr();\r\n };\r\n _self.setPerfMgr = function (perfMgr) {\r\n _perfManager = perfMgr;\r\n };\r\n _self.eventCnt = function () {\r\n return _eventQueue[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.releaseQueue = function () {\r\n if (_isInitialized && _eventQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var eventQueue = _eventQueue;\r\n _eventQueue = [];\r\n arrForEach(eventQueue, function (event) {\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](event);\r\n });\r\n }\r\n };\r\n _self[_DYN_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */] = function (eventName) {\r\n _internalLogsEventName = eventName || null;\r\n _forceStopInternalLogPoller = false;\r\n _internalLogPoller && _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n return _startLogPoller(true);\r\n };\r\n function _startLogPoller(alwaysStart) {\r\n if ((!_internalLogPoller || !_internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */]) && !_forceStopInternalLogPoller) {\r\n var shouldStart = alwaysStart || (_logger && _logger.queue[_DYN_LENGTH /* @min:%2elength */] > 0);\r\n if (shouldStart) {\r\n if (!_internalLogPollerListening) {\r\n _internalLogPollerListening = true;\r\n // listen for any configuration changes so that changes to the\r\n // interval will cause the timer to be re-initialized\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var interval = details.cfg.diagnosticLogInterval;\r\n if (!interval || !(interval > 0)) {\r\n interval = 10000;\r\n }\r\n var isRunning = false;\r\n if (_internalLogPoller) {\r\n // It was already created so remember it's running and cancel\r\n isRunning = _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */];\r\n _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n }\r\n // Create / reconfigure\r\n _internalLogPoller = createTimeout(_flushInternalLogs, interval);\r\n _internalLogPoller.unref();\r\n // Restart if previously running\r\n _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */] = isRunning;\r\n }));\r\n }\r\n _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */] = true;\r\n }\r\n }\r\n return _internalLogPoller;\r\n }\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */] = function () {\r\n _forceStopInternalLogPoller = true;\r\n _internalLogPoller && _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _flushInternalLogs();\r\n };\r\n // Add addTelemetryInitializer\r\n proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, [\"addTelemetryInitializer\"]);\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync, unloadComplete, cbTimeout) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_isInitialized) {\r\n // The SDK is not initialized\r\n throwError(strSdkNotInitialized);\r\n }\r\n // Check if the SDK still unloading so throw\r\n if (_isUnloading) {\r\n // The SDK is already unloading\r\n throwError(strSdkUnloadingError);\r\n }\r\n var unloadState = (_a = {\r\n reason: 50 /* TelemetryUnloadReason.SdkUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a.flushComplete = false,\r\n _a);\r\n var result;\r\n if (isAsync && !unloadComplete) {\r\n result = createPromise(function (resolve) {\r\n // Set the callback to the promise resolve callback\r\n unloadComplete = resolve;\r\n });\r\n }\r\n var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);\r\n processUnloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n _hookContainer.run(_self[_DYN_LOGGER /* @min:%2elogger */]);\r\n // Run any \"unload\" functions for the _cookieManager, _notificationManager and _logger\r\n doUnloadAll([_cookieManager, _notificationManager, _logger], isAsync, function () {\r\n _initDefaults();\r\n unloadComplete && unloadComplete(unloadState);\r\n });\r\n }, _self);\r\n function _doUnload(flushComplete) {\r\n unloadState.flushComplete = flushComplete;\r\n _isUnloading = true;\r\n // Run all of the unload handlers first (before unloading the plugins)\r\n _unloadHandlers.run(processUnloadCtx, unloadState);\r\n // Stop polling the internal logs\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */]();\r\n // Start unloading the components, from this point onwards the SDK should be considered to be in an unstable state\r\n processUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n _flushInternalLogs();\r\n if (!_flushChannels(isAsync, _doUnload, 6 /* SendRequestReason.SdkUnload */, cbTimeout)) {\r\n _doUnload(false);\r\n }\r\n return result;\r\n };\r\n _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */] = _getPlugin;\r\n _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {\r\n if (!plugin) {\r\n addCb && addCb(false);\r\n _logOrThrowError(strValidationError);\r\n return;\r\n }\r\n var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n if (existingPlugin && !replaceExisting) {\r\n addCb && addCb(false);\r\n _logOrThrowError(\"Plugin [\" + plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"] is already loaded!\");\r\n return;\r\n }\r\n var updateState = {\r\n reason: 16 /* TelemetryUpdateReason.PluginAdded */\r\n };\r\n function _addPlugin(removed) {\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n updateState.added = [plugin];\r\n // Re-Initialize the plugin chain\r\n _initPluginChain(updateState);\r\n addCb && addCb(true);\r\n }\r\n if (existingPlugin) {\r\n var removedPlugins_1 = [existingPlugin.plugin];\r\n var unloadState = {\r\n reason: 2 /* TelemetryUnloadReason.PluginReplace */,\r\n isAsync: !!isAsync\r\n };\r\n _removePlugins(removedPlugins_1, unloadState, function (removed) {\r\n if (!removed) {\r\n // Previous plugin was successfully removed or was not installed\r\n addCb && addCb(false);\r\n }\r\n else {\r\n updateState.removed = removedPlugins_1;\r\n updateState.reason |= 32 /* TelemetryUpdateReason.PluginRemoved */;\r\n _addPlugin(true);\r\n }\r\n });\r\n }\r\n else {\r\n _addPlugin(false);\r\n }\r\n };\r\n _self.updateCfg = function (newConfig, mergeExisting) {\r\n if (mergeExisting === void 0) { mergeExisting = true; }\r\n var updateState;\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n updateState = {\r\n reason: 1 /* TelemetryUpdateReason.ConfigurationChanged */,\r\n cfg: _configHandler.cfg,\r\n oldCfg: deepExtend({}, _configHandler.cfg),\r\n newConfig: deepExtend({}, newConfig),\r\n merge: mergeExisting\r\n };\r\n newConfig = updateState.newConfig;\r\n var cfg = _configHandler.cfg;\r\n // replace the immutable (if initialized) values\r\n // We don't currently allow updating the extensions and channels via the update config\r\n // So overwriting any user provided values to reuse the existing values\r\n newConfig[STR_EXTENSIONS /* @min:%2eextensions */] = cfg[STR_EXTENSIONS /* @min:%2eextensions */];\r\n newConfig[STR_CHANNELS /* @min:%2echannels */] = cfg[STR_CHANNELS /* @min:%2echannels */];\r\n }\r\n // Explicitly blocking any previous config watchers so that they don't get called because\r\n // of this bulk update (Probably not necessary)\r\n _configHandler._block(function (details) {\r\n // Lets assign the new values to the existing config either overwriting or re-assigning\r\n var theConfig = details.cfg;\r\n _deepMergeConfig(details, theConfig, newConfig, mergeExisting);\r\n if (!mergeExisting) {\r\n // Remove (unassign) the values \"missing\" from the newConfig and also not in the default config\r\n objForEachKey(theConfig, function (key) {\r\n if (!objHasOwn(newConfig, key)) {\r\n // Set the value to undefined\r\n details.set(theConfig, key, UNDEFINED_VALUE);\r\n }\r\n });\r\n }\r\n // Apply defaults to the new config\r\n details[_DYN_SET_DF /* @min:%2esetDf */](theConfig, defaultConfig);\r\n }, true);\r\n // Now execute all of the listeners (synchronously) so they update their values immediately\r\n _configHandler[_DYN_NOTIFY /* @min:%2enotify */]();\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n };\r\n _self.evtNamespace = function () {\r\n return _evtNamespace;\r\n };\r\n _self.flush = _flushChannels;\r\n _self.getTraceCtx = function (createNew) {\r\n if (!_traceCtx) {\r\n _traceCtx = createDistributedTraceContext();\r\n }\r\n return _traceCtx;\r\n };\r\n _self.setTraceCtx = function (traceCtx) {\r\n _traceCtx = traceCtx || null;\r\n };\r\n _self.addUnloadHook = _addUnloadHook;\r\n // Create the addUnloadCb\r\n proxyFunctionAs(_self, \"addUnloadCb\", function () { return _unloadHandlers; }, \"add\");\r\n _self.onCfgChange = function (handler) {\r\n var unloadHook;\r\n if (!_isInitialized) {\r\n unloadHook = _addDelayedCfgListener(_cfgListeners, handler);\r\n }\r\n else {\r\n unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return {\r\n rm: function () {\r\n unloadHook.rm();\r\n }\r\n };\r\n };\r\n _self.getWParam = function () {\r\n return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;\r\n };\r\n function _setPluginVersions() {\r\n var thePlugins = {};\r\n _pluginVersionStringArr = [];\r\n var _addPluginVersions = function (plugins) {\r\n if (plugins) {\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] && plugin[_DYN_VERSION /* @min:%2eversion */] && !thePlugins[plugin.identifier]) {\r\n var ver = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"=\" + plugin[_DYN_VERSION /* @min:%2eversion */];\r\n _pluginVersionStringArr[_DYN_PUSH /* @min:%2epush */](ver);\r\n thePlugins[plugin.identifier] = plugin;\r\n }\r\n });\r\n }\r\n };\r\n _addPluginVersions(_channels);\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (channels) {\r\n _addPluginVersions(channels);\r\n });\r\n }\r\n _addPluginVersions(_configExtensions);\r\n }\r\n function _initDefaults() {\r\n _isInitialized = false;\r\n // Use a default logger so initialization errors are not dropped on the floor with full logging\r\n _configHandler = createDynamicConfig({}, defaultConfig, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n // Set the logging level to critical so that any critical initialization failures are displayed on the console\r\n _configHandler.cfg[_DYN_LOGGING_LEVEL_CONSOL4 /* @min:%2eloggingLevelConsole */] = 1 /* eLoggingSeverity.CRITICAL */;\r\n // Define _self.config\r\n objDefine(_self, \"config\", {\r\n g: function () { return _configHandler.cfg; },\r\n s: function (newValue) {\r\n _self.updateCfg(newValue, false);\r\n }\r\n });\r\n objDefine(_self, \"pluginVersionStringArr\", {\r\n g: function () {\r\n if (!_pluginVersionStringArr) {\r\n _setPluginVersions();\r\n }\r\n return _pluginVersionStringArr;\r\n }\r\n });\r\n objDefine(_self, \"pluginVersionString\", {\r\n g: function () {\r\n if (!_pluginVersionString) {\r\n if (!_pluginVersionStringArr) {\r\n _setPluginVersions();\r\n }\r\n _pluginVersionString = _pluginVersionStringArr.join(\";\");\r\n }\r\n return _pluginVersionString || STR_EMPTY;\r\n }\r\n });\r\n objDefine(_self, \"logger\", {\r\n g: function () {\r\n if (!_logger) {\r\n _logger = new DiagnosticLogger(_configHandler.cfg);\r\n _configHandler[_DYN_LOGGER /* @min:%2elogger */] = _logger;\r\n }\r\n return _logger;\r\n },\r\n s: function (newLogger) {\r\n _configHandler[_DYN_LOGGER /* @min:%2elogger */] = newLogger;\r\n if (_logger !== newLogger) {\r\n runTargetUnload(_logger, false);\r\n _logger = newLogger;\r\n }\r\n }\r\n });\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = new DiagnosticLogger(_configHandler.cfg);\r\n _extensions = [];\r\n var cfgExtensions = _self.config[STR_EXTENSIONS /* @min:%2eextensions */] || [];\r\n cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH /* @min:%2elength */]);\r\n arrAppend(cfgExtensions, _extensions);\r\n _telemetryInitializerPlugin = new TelemetryInitializerPlugin();\r\n _eventQueue = [];\r\n runTargetUnload(_notificationManager, false);\r\n _notificationManager = null;\r\n _perfManager = null;\r\n _cfgPerfManager = null;\r\n runTargetUnload(_cookieManager, false);\r\n _cookieManager = null;\r\n _pluginChain = null;\r\n _configExtensions = [];\r\n _channelConfig = null;\r\n _channels = null;\r\n _isUnloading = false;\r\n _internalLogsEventName = null;\r\n _evtNamespace = createUniqueNamespace(\"AIBaseCore\", true);\r\n _unloadHandlers = createUnloadHandlerContainer();\r\n _traceCtx = null;\r\n _instrumentationKey = null;\r\n _hookContainer = createUnloadHookContainer();\r\n _cfgListeners = [];\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n _forceStopInternalLogPoller = false;\r\n }\r\n function _createTelCtx() {\r\n var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);\r\n theCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startLogPoller);\r\n return theCtx;\r\n }\r\n // Initialize or Re-initialize the plugins\r\n function _initPluginChain(updateState) {\r\n // Extension validation\r\n var theExtensions = _validateExtensions(_self[_DYN_LOGGER /* @min:%2elogger */], ChannelControllerPriority, _configExtensions);\r\n _pluginChain = null;\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n // Get the primary channel queue and include as part of the normal extensions\r\n _channels = (_channelConfig || [])[0] || [];\r\n // Add any channels provided in the extensions and sort them\r\n _channels = sortPlugins(arrAppend(_channels, theExtensions[STR_CHANNELS /* @min:%2echannels */]));\r\n // Create an array of all extensions, including the _channels\r\n var allExtensions = arrAppend(sortPlugins(theExtensions[STR_CORE /* @min:%2ecore */]), _channels);\r\n // Required to allow plugins to call core.getPlugin() during their own initialization\r\n _extensions = objFreeze(allExtensions);\r\n // This has a side effect of adding the extensions passed during initialization\r\n // into the config.extensions, so you can see all of the extensions loaded.\r\n // This will also get updated by the addPlugin() and remove plugin code.\r\n var cfgExtensions = _self.config[STR_EXTENSIONS /* @min:%2eextensions */] || [];\r\n cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH /* @min:%2elength */]);\r\n arrAppend(cfgExtensions, _extensions);\r\n var rootCtx = _createTelCtx();\r\n // Initializing the channels first\r\n if (_channels && _channels[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n initializePlugins(rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](_channels), allExtensions);\r\n }\r\n // Now initialize the normal extensions (explicitly not including the _channels as this can cause duplicate initialization)\r\n initializePlugins(rootCtx, allExtensions);\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n }\r\n function _getPlugin(pluginIdentifier) {\r\n var theExt = null;\r\n var thePlugin = null;\r\n var channelHosts = [];\r\n arrForEach(_extensions, function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier && ext !== _telemetryInitializerPlugin) {\r\n thePlugin = ext;\r\n return -1;\r\n }\r\n if (ext.getChannel) {\r\n channelHosts[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n if (!thePlugin && channelHosts[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channelHosts, function (host) {\r\n thePlugin = host.getChannel(pluginIdentifier);\r\n if (!thePlugin) {\r\n return -1;\r\n }\r\n });\r\n }\r\n if (thePlugin) {\r\n theExt = {\r\n plugin: thePlugin,\r\n setEnabled: function (enabled) {\r\n _getPluginState(thePlugin)[STR_DISABLED] = !enabled;\r\n },\r\n isEnabled: function () {\r\n var pluginState = _getPluginState(thePlugin);\r\n return !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] && !pluginState[STR_DISABLED];\r\n },\r\n remove: function (isAsync, removeCb) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n var pluginsToRemove = [thePlugin];\r\n var unloadState = (_a = {\r\n reason: 1 /* TelemetryUnloadReason.PluginUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a);\r\n _removePlugins(pluginsToRemove, unloadState, function (removed) {\r\n if (removed) {\r\n // Re-Initialize the plugin chain\r\n _initPluginChain({\r\n reason: 32 /* TelemetryUpdateReason.PluginRemoved */,\r\n removed: pluginsToRemove\r\n });\r\n }\r\n removeCb && removeCb(removed);\r\n });\r\n }\r\n };\r\n }\r\n return theExt;\r\n }\r\n function _getPluginChain() {\r\n if (!_pluginChain) {\r\n // copy the collection of extensions\r\n var extensions = (_extensions || []).slice();\r\n // During add / remove this may get called again, so don't read if already present\r\n if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {\r\n extensions[_DYN_PUSH /* @min:%2epush */](_telemetryInitializerPlugin);\r\n }\r\n _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _configHandler.cfg, _self);\r\n }\r\n return _pluginChain;\r\n }\r\n function _removePlugins(thePlugins, unloadState, removeComplete) {\r\n if (thePlugins && thePlugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var unloadChain = createTelemetryProxyChain(thePlugins, _configHandler.cfg, _self);\r\n var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);\r\n unloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n var removed = false;\r\n // Remove the listed config extensions\r\n var newConfigExtensions = [];\r\n arrForEach(_configExtensions, function (plugin, idx) {\r\n if (!_isPluginPresent(plugin, thePlugins)) {\r\n newConfigExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n _configExtensions = newConfigExtensions;\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n // Re-Create the channel config\r\n var newChannelConfig = [];\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (queue, idx) {\r\n var newQueue = [];\r\n arrForEach(queue, function (channel) {\r\n if (!_isPluginPresent(channel, thePlugins)) {\r\n newQueue[_DYN_PUSH /* @min:%2epush */](channel);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n newChannelConfig[_DYN_PUSH /* @min:%2epush */](newQueue);\r\n });\r\n _channelConfig = newChannelConfig;\r\n }\r\n removeComplete && removeComplete(removed);\r\n _startLogPoller();\r\n });\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n else {\r\n removeComplete(false);\r\n }\r\n }\r\n function _flushInternalLogs() {\r\n if (_logger && _logger.queue) {\r\n var queue = _logger.queue.slice(0);\r\n _logger.queue[_DYN_LENGTH /* @min:%2elength */] = 0;\r\n arrForEach(queue, function (logMessage) {\r\n var _a;\r\n var item = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = _internalLogsEventName ? _internalLogsEventName : \"InternalMessageId: \" + logMessage[_DYN_MESSAGE_ID /* @min:%2emessageId */],\r\n _a.iKey = _instrumentationKey,\r\n _a[_DYN_TIME /* @min:time */] = toISOString(new Date()),\r\n _a.baseType = _InternalLogMessage.dataType,\r\n _a.baseData = { message: logMessage[_DYN_MESSAGE /* @min:%2emessage */] },\r\n _a);\r\n _self.track(item);\r\n });\r\n }\r\n }\r\n function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {\r\n // Setting waiting to one so that we don't call the callBack until we finish iterating\r\n var waiting = 1;\r\n var doneIterating = false;\r\n var cbTimer = null;\r\n cbTimeout = cbTimeout || 5000;\r\n function doCallback() {\r\n waiting--;\r\n if (doneIterating && waiting === 0) {\r\n cbTimer && cbTimer[_DYN_CANCEL /* @min:%2ecancel */]();\r\n cbTimer = null;\r\n callBack && callBack(doneIterating);\r\n callBack = null;\r\n }\r\n }\r\n if (_channels && _channels[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var flushCtx = _createTelCtx()[_DYN_CREATE_NEW /* @min:%2ecreateNew */](_channels);\r\n flushCtx.iterate(function (plugin) {\r\n if (plugin.flush) {\r\n waiting++;\r\n var handled_1 = false;\r\n // Not all channels will call this callback for every scenario\r\n if (!plugin.flush(isAsync, function () {\r\n handled_1 = true;\r\n doCallback();\r\n }, sendReason)) {\r\n if (!handled_1) {\r\n // If any channel doesn't return true and it didn't call the callback, then we should assume that the callback\r\n // will never be called, so use a timeout to allow the channel(s) some time to \"finish\" before triggering any\r\n // followup function (such as unloading)\r\n if (isAsync && cbTimer == null) {\r\n cbTimer = scheduleTimeout(function () {\r\n cbTimer = null;\r\n doCallback();\r\n }, cbTimeout);\r\n }\r\n else {\r\n doCallback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n doneIterating = true;\r\n doCallback();\r\n return true;\r\n }\r\n function _initDebugListener() {\r\n // Lazily ensure that the notification manager is created\r\n !_notificationManager && _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]();\r\n // Will get recalled if any referenced config values are changed\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var disableDbgExt = details.cfg.disableDbgExt;\r\n if (disableDbgExt === true && _debugListener) {\r\n // Remove any previously loaded debug listener\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](_debugListener);\r\n _debugListener = null;\r\n }\r\n if (_notificationManager && !_debugListener && disableDbgExt !== true) {\r\n _debugListener = getDebugListener(details.cfg);\r\n _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](_debugListener);\r\n }\r\n }));\r\n }\r\n function _initPerfManager() {\r\n // Will get recalled if any referenced config values are changed\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var enablePerfMgr = details.cfg.enablePerfMgr;\r\n if (!enablePerfMgr && _cfgPerfManager) {\r\n // Remove any existing config based performance manager\r\n _cfgPerfManager = null;\r\n }\r\n if (enablePerfMgr) {\r\n // Set the performance manager creation function if not defined\r\n getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);\r\n }\r\n }));\r\n }\r\n function _doUpdate(updateState) {\r\n var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);\r\n updateCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startLogPoller);\r\n if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n function _logOrThrowError(message) {\r\n var logger = _self[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // there should always be a logger\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, message);\r\n _startLogPoller();\r\n }\r\n else {\r\n throwError(message);\r\n }\r\n }\r\n function _notifyInvalidEvent(telemetryItem) {\r\n var manager = _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]();\r\n if (manager) {\r\n manager[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */]([telemetryItem], 2 /* eEventsDiscardedReason.InvalidEvent */);\r\n }\r\n }\r\n function _addUnloadHook(hooks) {\r\n _hookContainer.add(hooks);\r\n }\r\n });\r\n }\r\n// Removed Stub for AppInsightsCore.prototype.initialize.\r\n// Removed Stub for AppInsightsCore.prototype.getChannels.\r\n// Removed Stub for AppInsightsCore.prototype.track.\r\n// Removed Stub for AppInsightsCore.prototype.getProcessTelContext.\r\n// Removed Stub for AppInsightsCore.prototype.getNotifyMgr.\r\n// Removed Stub for AppInsightsCore.prototype.addNotificationListener.\r\n// Removed Stub for AppInsightsCore.prototype.removeNotificationListener.\r\n// Removed Stub for AppInsightsCore.prototype.getCookieMgr.\r\n// Removed Stub for AppInsightsCore.prototype.setCookieMgr.\r\n// Removed Stub for AppInsightsCore.prototype.getPerfMgr.\r\n// Removed Stub for AppInsightsCore.prototype.setPerfMgr.\r\n// Removed Stub for AppInsightsCore.prototype.eventCnt.\r\n// Removed Stub for AppInsightsCore.prototype.pollInternalLogs.\r\n// Removed Stub for AppInsightsCore.prototype.stopPollingInternalLogs.\r\n// Removed Stub for AppInsightsCore.prototype.addTelemetryInitializer.\r\n// Removed Stub for AppInsightsCore.prototype.unload.\r\n// Removed Stub for AppInsightsCore.prototype.getPlugin.\r\n// Removed Stub for AppInsightsCore.prototype.addPlugin.\r\n// Removed Stub for AppInsightsCore.prototype.updateCfg.\r\n// Removed Stub for AppInsightsCore.prototype.evtNamespace.\r\n// Removed Stub for AppInsightsCore.prototype.addUnloadCb.\r\n// Removed Stub for AppInsightsCore.prototype.flush.\r\n// Removed Stub for AppInsightsCore.prototype.getTraceCtx.\r\n// Removed Stub for AppInsightsCore.prototype.setTraceCtx.\r\n// Removed Stub for AppInsightsCore.prototype.addUnloadHook.\r\n// Removed Stub for AppInsightsCore.prototype.onCfgChange.\r\n// Removed Stub for AppInsightsCore.prototype.releaseQueue.\r\n// Removed Stub for AppInsightsCore.prototype._updateHook.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n AppInsightsCore.__ieDyn=1;\n\n return AppInsightsCore;\r\n}());\r\nexport { AppInsightsCore };\r\n//# sourceMappingURL=AppInsightsCore.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nexport var ChannelControllerPriority = 500;\r\n//# sourceMappingURL=Constants.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrSlice, getLength } from \"@nevware21/ts-utils\";\r\nimport { _DYN_UNLOAD } from \"../__DynamicConstants\";\r\n/**\r\n * Run the unload function of the target object if it exists\r\n * @param target - The target object that contains the unload function\r\n * @param isAsync - The caller identifies whether it is expecting the operation to complete synchronously or asynchronously. Even\r\n * if the caller is not waiting the operation may still be performed asynchronously depending on the component and the reverse is\r\n * also true.\r\n * @returns The result of the target function\r\n */\r\nexport function runTargetUnload(target, isAsync) {\r\n if (target && target[_DYN_UNLOAD /* @min:%2eunload */]) {\r\n return target[_DYN_UNLOAD /* @min:%2eunload */](isAsync);\r\n }\r\n}\r\n/**\r\n * Call the unload function on all targets handling any returned [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * / Promise before calling the next targets unload\r\n * @param targets - An array of the targets to unload\r\n * @param isAsync - The caller identifies whether it is expecting the operations to complete synchronously or asynchronously. Even\r\n * if the caller is not waiting the operation may still be performed asynchronously depending on the component and the reverse is\r\n * also true.\r\n * @param done - Optional callback function to call once all of the unload functions have been called.\r\n */\r\nexport function doUnloadAll(targets, isAsync, done) {\r\n var result;\r\n if (!done) {\r\n result = createPromise(function (resolved) {\r\n done = resolved;\r\n });\r\n }\r\n if (targets && getLength(targets) > 0) {\r\n doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {\r\n doUnloadAll(arrSlice(targets, 1), isAsync, done);\r\n });\r\n }\r\n else {\r\n done();\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=AsyncUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isFunction, objDefine } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PROCESS_TEL_CONT0, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_PROCESS_NEXT, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { isNotNullOrUndefined, proxyFunctionAs } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_EXTENSION_CONFIG, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext } from \"./ProcessTelemetryContext\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nimport { createUnloadHookContainer } from \"./UnloadHookContainer\";\r\nvar strGetPlugin = \"getPlugin\";\r\nvar defaultValues = (_a = {},\r\n _a[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },\r\n _a);\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this; // Setting _self here as it's used outside of the dynamicProto as well\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _isinitialized;\r\n var _rootCtx; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin; // Used for backward compatibility where plugins don't call the main pipeline\r\n var _unloadHandlerContainer;\r\n var _hookContainer;\r\n _initDefaults();\r\n dynamicProto(BaseTelemetryPlugin, _self, function (_self) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n _setDefaults(config, core, pluginChain);\r\n _isinitialized = true;\r\n };\r\n _self[_DYN_TEARDOWN /* @min:%2eteardown */] = function (unloadCtx, unloadState) {\r\n var _a;\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (unloadCtx && core !== unloadCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing as either the plugin is not initialized or was not initialized by the current core\r\n return;\r\n }\r\n var result;\r\n var unloadDone = false;\r\n var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUnloadState = unloadState || (_a = {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = false,\r\n _a);\r\n function _unloadCallback() {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _unloadHandlerContainer.run(theUnloadCtx, unloadState);\r\n _hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]());\r\n if (result === true) {\r\n theUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }\r\n _initDefaults();\r\n }\r\n }\r\n if (!_self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] || _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {\r\n _unloadCallback();\r\n }\r\n else {\r\n // Tell the caller that we will be calling processNext()\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (updateCtx, updateState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (updateCtx && core !== updateCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing\r\n return;\r\n }\r\n var result;\r\n var updateDone = false;\r\n var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n function _updateCallback() {\r\n if (!updateDone) {\r\n updateDone = true;\r\n _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n }\r\n }\r\n if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {\r\n _updateCallback();\r\n }\r\n else {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n proxyFunctionAs(_self, \"_addUnloadCb\", function () { return _unloadHandlerContainer; }, \"add\");\r\n proxyFunctionAs(_self, \"_addHook\", function () { return _hookContainer; }, \"add\");\r\n objDefine(_self, \"_unloadHooks\", { g: function () { return _hookContainer; } });\r\n });\r\n // These are added after the dynamicProto so that are not moved to the prototype\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */] = function (itemCtx) {\r\n return _getTelCtx(itemCtx)[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, null);\r\n }\r\n };\r\n _self._getTelCtx = _getTelCtx;\r\n function _getTelCtx(currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE /* @min:%2ecore */]);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n }\r\n function _setDefaults(config, core, pluginChain) {\r\n // Make sure the extensionConfig exists and the config is dynamic\r\n createDynamicConfig(config, defaultValues, safeGetLogger(core));\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */]()[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self[STR_CORE /* @min:%2ecore */] = core;\r\n _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n }\r\n function _initDefaults() {\r\n _isinitialized = false;\r\n _self[STR_CORE /* @min:%2ecore */] = null;\r\n _rootCtx = null;\r\n _nextPlugin = null;\r\n _hookContainer = createUnloadHookContainer();\r\n _unloadHandlerContainer = createUnloadHandlerContainer();\r\n }\r\n }\r\n// Removed Stub for BaseTelemetryPlugin.prototype.initialize.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.teardown.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.update.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addUnloadCb.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addHook.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n BaseTelemetryPlugin.__ieDyn=1;\n\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n//# sourceMappingURL=BaseTelemetryPlugin.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a, _b;\r\nimport { arrForEach, arrIndexOf, dumpObj, getDocument, getLazy, getNavigator, isArray, isFunction, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, strEndsWith, strIndexOf, strLeft, strSubstring, strTrim, utcNow } from \"@nevware21/ts-utils\";\r\nimport { cfgDfMerge } from \"../Config/ConfigDefaultHelpers\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ENABLED, _DYN_LENGTH, _DYN_LOGGER, _DYN_SET_DF, _DYN_SPLIT, _DYN_UNLOAD, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getLocation, isIE } from \"./EnvUtils\";\r\nimport { getExceptionName, isNotNullOrUndefined, setValue, strContains } from \"./HelperFuncs\";\r\nimport { STR_DOMAIN, STR_EMPTY, STR_PATH, UNDEFINED_VALUE } from \"./InternalConstants\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc;\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n// // `isCookieUseDisabled` is deprecated, so explicitly casting as a key of IConfiguration to avoid typing error\r\n// // when both isCookieUseDisabled and disableCookiesUsage are used disableCookiesUsage will take precedent, which is\r\n// // why its listed first\r\n/**\r\n * Set the supported dynamic config values as undefined (or an empty object) so that\r\n * any listeners will be informed of any changes.\r\n * Explicitly NOT including the deprecated `isCookieUseDisabled` as we don't want to support\r\n * the v1 deprecated field as dynamic for updates\r\n */\r\nvar rootDefaultConfig = (_a = {\r\n cookieCfg: cfgDfMerge((_b = {},\r\n _b[STR_DOMAIN] = { fb: \"cookieDomain\", dfVal: isNotNullOrUndefined },\r\n _b.path = { fb: \"cookiePath\", dfVal: isNotNullOrUndefined },\r\n _b.enabled = UNDEFINED_VALUE,\r\n _b.ignoreCookies = UNDEFINED_VALUE,\r\n _b.blockedCookies = UNDEFINED_VALUE,\r\n _b)),\r\n cookieDomain: UNDEFINED_VALUE,\r\n cookiePath: UNDEFINED_VALUE\r\n },\r\n _a[strDisableCookiesUsage] = UNDEFINED_VALUE,\r\n _a);\r\nfunction _getDoc() {\r\n !_doc && (_doc = getLazy(function () { return getDocument(); }));\r\n}\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nfunction _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _isIgnoredCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {\r\n return arrIndexOf(cookieMgrCfg.ignoreCookies, name) !== -1;\r\n }\r\n return false;\r\n}\r\nfunction _isBlockedCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {\r\n if (arrIndexOf(cookieMgrCfg.blockedCookies, name) !== -1) {\r\n return true;\r\n }\r\n }\r\n return _isIgnoredCookie(cookieMgrCfg, name);\r\n}\r\nfunction _isCfgEnabled(rootConfig, cookieMgrConfig) {\r\n var isCfgEnabled = cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */];\r\n if (isNullOrUndefined(isCfgEnabled)) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n // This field is deprecated and dynamic updates will not be fully supported\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n // If this value is defined it takes precedent over the above\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n // Not setting the cookieMgrConfig.enabled as that will update (set) the global dynamic config\r\n // So future \"updates\" then may not be as expected\r\n isCfgEnabled = cookieEnabled;\r\n }\r\n return isCfgEnabled;\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config.cookieCfg;\r\n if (cookieCfg && cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var _a;\r\n var cookieMgrConfig;\r\n var _path;\r\n var _domain;\r\n var unloadHandler;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled;\r\n var _getCookieFn;\r\n var _setCookieFn;\r\n var _delCookieFn;\r\n // Make sure the root config is dynamic as it may be the global config\r\n rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;\r\n // Will get recalled if the referenced configuration is changed\r\n unloadHandler = onConfigChange(rootConfig, function (details) {\r\n // Make sure the root config has all of the the defaults to the root config to ensure they are dynamic\r\n details[_DYN_SET_DF /* @min:%2esetDf */](details.cfg, rootDefaultConfig);\r\n // Create and apply the defaults to the cookieCfg element\r\n cookieMgrConfig = details.ref(details.cfg, \"cookieCfg\"); // details.setDf(details.cfg.cookieCfg, defaultConfig);\r\n _path = cookieMgrConfig[STR_PATH /* @min:%2epath */] || \"/\";\r\n _domain = cookieMgrConfig[STR_DOMAIN /* @min:%2edomain */];\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false;\r\n _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;\r\n _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;\r\n }, logger);\r\n var cookieMgr = (_a = {\r\n isEnabled: function () {\r\n var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n },\r\n setEnabled: function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */] = value;\r\n },\r\n set: function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {\r\n var values = {};\r\n var theValue = strTrim(value || STR_EMPTY);\r\n var idx = strIndexOf(theValue, \";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(strLeft(value, idx));\r\n values = _extractParts(strSubstring(value, idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = utcNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", STR_EMPTY + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT /* @min:%2euserAgent */]);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, STR_PATH, path || _path, null, isUndefined);\r\n //let setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n get: function (name) {\r\n var value = STR_EMPTY;\r\n if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {\r\n value = _getCookieFn(name);\r\n }\r\n return value;\r\n },\r\n del: function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n purge: function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[STR_PATH] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n // let delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));\r\n result = true;\r\n }\r\n return result;\r\n }\r\n },\r\n _a[_DYN_UNLOAD /* @min:unload */] = function (isAsync) {\r\n unloadHandler && unloadHandler.rm();\r\n unloadHandler = null;\r\n },\r\n _a);\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n !_doc && _getDoc();\r\n try {\r\n var doc = _doc.v || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 68 /* _eInternalMessageId.CannotAccessCookie */, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue[_DYN_LENGTH /* @min:%2elength */]) {\r\n var parts = strTrim(theValue)[_DYN_SPLIT /* @min:%2esplit */](\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || STR_EMPTY);\r\n if (thePart) {\r\n var idx = strIndexOf(thePart, \"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(strLeft(thePart, idx))] = strTrim(strSubstring(thePart, idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || STR_EMPTY;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : STR_EMPTY);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = STR_EMPTY;\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n var theCookie = _doc.v[strCookie] || STR_EMPTY;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n _doc.v[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=CookieMgr.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { strSubstr, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { random32 } from \"./RandomHelper\";\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\nexport function newGuid() {\r\n var uuid = generateW3CId();\r\n return strSubstring(uuid, 0, 8) + \"-\" + strSubstring(uuid, 8, 12) + \"-\" + strSubstring(uuid, 12, 16) + \"-\" + strSubstring(uuid, 16, 20) + \"-\" + strSubstring(uuid, 20);\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value[_DYN_LENGTH /* @min:%2elength */];\r\n var start = len - search[_DYN_LENGTH /* @min:%2elength */];\r\n return strSubstring(value, start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = STR_EMPTY, tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + \"4\" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);\r\n}\r\n//# sourceMappingURL=CoreUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_NODE_TYPE } from \"../__DynamicConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar version = '3.0.7';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 1 || target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 9 || !(+target[_DYN_NODE_TYPE /* @min:%2enodeType */]);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n objDefine(target, data.id, {\r\n e: false,\r\n v: theCache\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n//# sourceMappingURL=DataCacheHelper.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getInst } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];\r\nvar _aiNamespace = null;\r\nvar _debugListener;\r\nfunction _listenerProxyFunc(name, config) {\r\n return function () {\r\n var args = arguments;\r\n var dbgExt = getDebugExt(config);\r\n if (dbgExt) {\r\n var listener = dbgExt.listener;\r\n if (listener && listener[name]) {\r\n listener[name][_DYN_APPLY /* @min:%2eapply */](listener, args);\r\n }\r\n }\r\n };\r\n}\r\nfunction _getExtensionNamespace() {\r\n // Cache the lookup of the global namespace object\r\n var target = getInst(\"Microsoft\");\r\n if (target) {\r\n _aiNamespace = target[\"ApplicationInsights\"];\r\n }\r\n return _aiNamespace;\r\n}\r\nexport function getDebugExt(config) {\r\n var ns = _aiNamespace;\r\n if (!ns && config.disableDbgExt !== true) {\r\n ns = _aiNamespace || _getExtensionNamespace();\r\n }\r\n return ns ? ns[\"ChromeDbgExt\"] : null;\r\n}\r\nexport function getDebugListener(config) {\r\n if (!_debugListener) {\r\n _debugListener = {};\r\n for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);\r\n }\r\n }\r\n return _debugListener;\r\n}\r\n//# sourceMappingURL=DbgExtensionUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dumpObj, isFunction, isUndefined } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_DIAG_LOG, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_LOG_INTERNAL_MESSAGE, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_PUSH, _DYN_REPLACE, _DYN_THROW_INTERNAL, _DYN_UNLOAD, _DYN_WARN_TO_CONSOLE } from \"../__DynamicConstants\";\r\nimport { getDebugExt } from \"./DbgExtensionUtils\";\r\nimport { getConsole, getJSON, hasJSON } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar STR_WARN_TO_CONSOLE = \"warnToConsole\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nvar defaultValues = {\r\n loggingLevelConsole: 0,\r\n loggingLevelTelemetry: 1,\r\n maxMessageLimit: 25,\r\n enableDebug: false\r\n};\r\nvar _logFuncs = (_a = {},\r\n _a[0 /* eLoggingSeverity.DISABLED */] = null,\r\n _a[1 /* eLoggingSeverity.CRITICAL */] = \"errorToConsole\",\r\n _a[2 /* eLoggingSeverity.WARNING */] = STR_WARN_TO_CONSOLE,\r\n _a[3 /* eLoggingSeverity.DEBUG */] = \"debugToConsole\",\r\n _a);\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text[_DYN_REPLACE /* @min:%2ereplace */](/\\\"/g, STR_EMPTY) + \"\\\"\";\r\n }\r\n return STR_EMPTY;\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self[_DYN_MESSAGE_ID /* @min:%2emessageId */] = msgId;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = STR_EMPTY;\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {})[_DYN_LOGGER /* @min:%2elogger */] || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n var _loggingLevelConsole;\r\n var _loggingLevelTelemetry;\r\n var _maxInternalMessageLimit;\r\n var _enableDebug;\r\n var _unloadHandler;\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n _unloadHandler = _setDefaultsFromConfig(config || {});\r\n _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\n _self[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */] = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_enableDebug) {\r\n throw dumpObj(message);\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;\r\n if (!isUndefined(message[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (_loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n _logInternalMessage(severity, message);\r\n }\r\n else {\r\n _debugExtMsg(\"throw\" + (severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"Critical\" : \"Warning\"), message);\r\n }\r\n }\r\n };\r\n _self.debugToConsole = function (message) {\r\n _logToConsole(\"debug\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */] = function (message) {\r\n _logToConsole(\"warn\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self.errorToConsole = function (message) {\r\n _logToConsole(\"error\", message);\r\n _debugExtMsg(\"error\", message);\r\n };\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n _self[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */] = _logInternalMessage;\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync) {\r\n _unloadHandler && _unloadHandler.rm();\r\n _unloadHandler = null;\r\n };\r\n function _logInternalMessage(severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _loggingLevelTelemetry) {\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](message);\r\n _messageCount++;\r\n _debugExtMsg((severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"error\" : \"warn\"), message);\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _maxInternalMessageLimit) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(23 /* _eInternalMessageId.MessageLimitPerPVExceeded */, throttleLimitMessage, false);\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](throttleMessage);\r\n if (severity === 1 /* eLoggingSeverity.CRITICAL */) {\r\n _self.errorToConsole(throttleLimitMessage);\r\n }\r\n else {\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](throttleLimitMessage);\r\n }\r\n }\r\n }\r\n }\r\n function _setDefaultsFromConfig(config) {\r\n // make sure the config is dynamic\r\n return onConfigChange(createDynamicConfig(config, defaultValues, _self).cfg, function (details) {\r\n var config = details.cfg;\r\n _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 /* @min:%2eloggingLevelConsole */];\r\n _loggingLevelTelemetry = config.loggingLevelTelemetry;\r\n _maxInternalMessageLimit = config.maxMessageLimit;\r\n _enableDebug = config.enableDebug;\r\n });\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _maxInternalMessageLimit;\r\n }\r\n function _debugExtMsg(name, data) {\r\n var dbgExt = getDebugExt(config || {});\r\n if (dbgExt && dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */]) {\r\n dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */](name, data);\r\n }\r\n }\r\n });\r\n }\r\n// Removed Stub for DiagnosticLogger.prototype.consoleLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.throwInternal.\r\n// Removed Stub for DiagnosticLogger.prototype.debugToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.warnToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.errorToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.resetInternalMessageCount.\r\n// Removed Stub for DiagnosticLogger.prototype.logInternalMessage.\r\n// Removed Stub for DiagnosticLogger.prototype.unload.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n DiagnosticLogger.__ieDyn=1;\n\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\nfunction _getLogger(logger) {\r\n return (logger || new DiagnosticLogger());\r\n}\r\n/**\r\n * This is a helper method which will call throwInternal on the passed logger, will throw exceptions in\r\n * debug mode or attempt to log the error as a console warning. This helper is provided mostly to better\r\n * support minification as logger.throwInternal() will not compress the publish \"throwInternal\" used throughout\r\n * the code.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\nexport function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n _getLogger(logger)[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](severity, msgId, msg, properties, isUserAct);\r\n}\r\n/**\r\n * This is a helper method which will call warnToConsole on the passed logger with the provided message.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\nexport function _warnToConsole(logger, message) {\r\n _getLogger(logger)[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n}\r\n/**\r\n * Logs a message to the internal queue.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The message to log.\r\n */\r\nexport function _logInternalMessage(logger, severity, message) {\r\n _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */](severity, message);\r\n}\r\n//# sourceMappingURL=DiagnosticLogger.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { getDocument, getInst, getNavigator, getPerformance, hasNavigator, isFunction, isString, isUndefined, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_NAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { strContains } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strDocumentMode = \"documentMode\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getInst(strConsole);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav[_DYN_USER_AGENT /* @min:%2euserAgent */] !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav[_DYN_USER_AGENT /* @min:%2euserAgent */];\r\n var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return Math.max(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (strIndexOf(ua, \"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @param useCached - [Optional] used for testing to bypass the cached lookup, when `true` this will\r\n * cause the cached global to be reset.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported(useCached) {\r\n if (_beaconsSupported === null || useCached === false) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getInst(\"fetch\");\r\n var request = getInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nfunction _getNamedValue(values, name) {\r\n if (values) {\r\n for (var i = 0; i < values[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var value = values[i];\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n return value;\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name\r\n */\r\nexport function findMetaTag(name) {\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n return _getNamedValue(doc.querySelectorAll(\"meta\"), name).content;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name\r\n */\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var perf = getPerformance();\r\n if (perf) {\r\n // Try looking for a server-timing header\r\n var navPerf = perf.getEntriesByType(\"navigation\") || [];\r\n value = _getNamedValue((navPerf[_DYN_LENGTH /* @min:%2elength */] > 0 ? navPerf[0] : {}).serverTiming, name).description;\r\n }\r\n return value;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=EnvUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, arrIndexOf, getDocument, getWindow, isArray, objForEachKey, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _DYN_HANDLER, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE, _DYN_SPLICE, _DYN_SPLIT, _DYN_TYPE } from \"../__DynamicConstants\";\r\nimport { createElmNodeData, createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// Added to help with minfication\r\nvar strOnPrefix = \"on\";\r\nvar strAttachEvent = \"attachEvent\";\r\nvar strAddEventHelper = \"addEventListener\";\r\nvar strDetachEvent = \"detachEvent\";\r\nvar strRemoveEventListener = \"removeEventListener\";\r\nvar strEvents = \"events\";\r\nvar strVisibilityChangeEvt = \"visibilitychange\";\r\nvar strPageHide = \"pagehide\";\r\nvar strPageShow = \"pageshow\";\r\nvar strUnload = \"unload\";\r\nvar strBeforeUnload = \"beforeunload\";\r\nvar strPageHideNamespace = createUniqueNamespace(\"aiEvtPageHide\");\r\nvar strPageShowNamespace = createUniqueNamespace(\"aiEvtPageShow\");\r\nvar rRemoveEmptyNs = /\\.[\\.]+/g;\r\nvar rRemoveTrailingEmptyNs = /[\\.]+$/;\r\nvar _guid = 1;\r\nvar elmNodeData = createElmNodeData(\"events\");\r\nvar eventNamespace = /^([^.]*)(?:\\.(.+)|)/;\r\nfunction _normalizeNamespace(name) {\r\n if (name && name[_DYN_REPLACE /* @min:%2ereplace */]) {\r\n return name[_DYN_REPLACE /* @min:%2ereplace */](/^[\\s\\.]+|(?=[\\s\\.])[\\.\\s]+$/g, STR_EMPTY);\r\n }\r\n return name;\r\n}\r\nfunction _getEvtNamespace(eventName, evtNamespace) {\r\n var _a;\r\n if (evtNamespace) {\r\n var theNamespace_1 = STR_EMPTY;\r\n if (isArray(evtNamespace)) {\r\n theNamespace_1 = STR_EMPTY;\r\n arrForEach(evtNamespace, function (name) {\r\n name = _normalizeNamespace(name);\r\n if (name) {\r\n if (name[0] !== \".\") {\r\n name = \".\" + name;\r\n }\r\n theNamespace_1 += name;\r\n }\r\n });\r\n }\r\n else {\r\n theNamespace_1 = _normalizeNamespace(evtNamespace);\r\n }\r\n if (theNamespace_1) {\r\n if (theNamespace_1[0] !== \".\") {\r\n theNamespace_1 = \".\" + theNamespace_1;\r\n }\r\n // We may only have the namespace and not an eventName\r\n eventName = (eventName || STR_EMPTY) + theNamespace_1;\r\n }\r\n }\r\n var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);\r\n return _a = {},\r\n _a[_DYN_TYPE /* @min:type */] = parsedEvent[1],\r\n _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, \".\").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT /* @min:%2esplit */](\".\").sort()).join(\".\"),\r\n _a;\r\n}\r\n/**\r\n * Get all of the registered events on the target object, this is primarily used for testing cleanup but may also be used by\r\n * applications to remove their own events\r\n * @param target - The EventTarget that has registered events\r\n * @param eventName - [Optional] The name of the event to return the registered handlers and full name (with namespaces)\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n */\r\nexport function __getRegisteredEvents(target, eventName, evtNamespace) {\r\n var theEvents = [];\r\n var eventCache = elmNodeData.get(target, strEvents, {}, false);\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n objForEachKey(eventCache, function (evtType, registeredEvents) {\r\n arrForEach(registeredEvents, function (value) {\r\n var _a;\r\n if (!evtName[_DYN_TYPE /* @min:%2etype */] || evtName[_DYN_TYPE /* @min:%2etype */] === value.evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (!evtName.ns || evtName.ns === evtName.ns) {\r\n theEvents[_DYN_PUSH /* @min:%2epush */]((_a = {},\r\n _a[_DYN_NAME /* @min:name */] = value.evtName[_DYN_TYPE /* @min:%2etype */] + (value.evtName.ns ? \".\" + value.evtName.ns : STR_EMPTY),\r\n _a.handler = value[_DYN_HANDLER /* @min:%2ehandler */],\r\n _a));\r\n }\r\n }\r\n });\r\n });\r\n return theEvents;\r\n}\r\n// Exported for internal unit testing only\r\nfunction _getRegisteredEvents(target, evtName, addDefault) {\r\n if (addDefault === void 0) { addDefault = true; }\r\n var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);\r\n var registeredEvents = aiEvts[evtName];\r\n if (!registeredEvents) {\r\n registeredEvents = aiEvts[evtName] = [];\r\n }\r\n return registeredEvents;\r\n}\r\nfunction _doDetach(obj, evtName, handlerRef, useCapture) {\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (obj[strRemoveEventListener]) {\r\n obj[strRemoveEventListener](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n }\r\n else if (obj[strDetachEvent]) {\r\n obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n }\r\n }\r\n}\r\nfunction _doAttach(obj, evtName, handlerRef, useCapture) {\r\n var result = false;\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */] && handlerRef) {\r\n if (obj[strAddEventHelper]) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n result = true;\r\n }\r\n else if (obj[strAttachEvent]) {\r\n // IE before version 9\r\n obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n result = true;\r\n }\r\n }\r\n return result;\r\n}\r\nfunction _doUnregister(target, events, evtName, unRegFn) {\r\n var idx = events[_DYN_LENGTH /* @min:%2elength */];\r\n while (idx--) {\r\n var theEvent = events[idx];\r\n if (theEvent) {\r\n if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {\r\n if (!unRegFn || unRegFn(theEvent)) {\r\n _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER /* @min:%2ehandler */], theEvent.capture);\r\n // Remove the registered event\r\n events[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nfunction _unregisterEvents(target, evtName, unRegFn) {\r\n if (evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE /* @min:%2etype */]), evtName, unRegFn);\r\n }\r\n else {\r\n var eventCache = elmNodeData.get(target, strEvents, {});\r\n objForEachKey(eventCache, function (evtType, events) {\r\n _doUnregister(target, events, evtName, unRegFn);\r\n });\r\n // Cleanup\r\n if (objKeys(eventCache)[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n elmNodeData.kill(target, strEvents);\r\n }\r\n }\r\n}\r\nexport function mergeEvtNamespace(theNamespace, namespaces) {\r\n var newNamespaces;\r\n if (namespaces) {\r\n if (isArray(namespaces)) {\r\n newNamespaces = [theNamespace].concat(namespaces);\r\n }\r\n else {\r\n newNamespaces = [theNamespace, namespaces];\r\n }\r\n // resort the namespaces so they are always in order\r\n newNamespaces = (_getEvtNamespace(\"xx\", newNamespaces).ns)[_DYN_SPLIT /* @min:%2esplit */](\".\");\r\n }\r\n else {\r\n newNamespaces = theNamespace;\r\n }\r\n return newNamespaces;\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj - Object to add the event too.\r\n * @param eventName - String that specifies any of the standard DHTML Events without \"on\" prefix, if may also include an optional (dot \".\" prefixed)\r\n * namespaces \"click\" \"click.mynamespace\" in addition to specific namespaces.\r\n * @param handlerRef - Pointer that specifies the function to call when event fires\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture - [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n var _a;\r\n if (useCapture === void 0) { useCapture = false; }\r\n var result = false;\r\n if (target) {\r\n try {\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n result = _doAttach(target, evtName, handlerRef, useCapture);\r\n if (result && elmNodeData.accept(target)) {\r\n var registeredEvent = (_a = {\r\n guid: _guid++,\r\n evtName: evtName\r\n },\r\n _a[_DYN_HANDLER /* @min:handler */] = handlerRef,\r\n _a.capture = useCapture,\r\n _a);\r\n _getRegisteredEvents(target, evtName.type)[_DYN_PUSH /* @min:%2epush */](registeredEvent);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object - to remove the event from\r\n * @param eventName - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef - {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture - [Optional] Defaults to false\r\n */\r\nexport function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n if (target) {\r\n try {\r\n var evtName_1 = _getEvtNamespace(eventName, evtNamespace);\r\n var found_1 = false;\r\n _unregisterEvents(target, evtName_1, function (regEvent) {\r\n if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER /* @min:%2ehandler */] === handlerRef) {\r\n found_1 = true;\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (!found_1) {\r\n // fallback to try and remove as requested\r\n _doDetach(target, evtName_1, handlerRef, useCapture);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj - Object to add the event too.\r\n * @param eventNameWithoutOn - String that specifies any of the standard DHTML Events without \"on\" prefix and optional (dot \".\" prefixed) namespaces \"click\" \"click.mynamespace\".\r\n * @param handlerRef - Pointer that specifies the function to call when event fires\r\n * @param useCapture - [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object - to remove the event from\r\n * @param eventNameWithoutOn - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef - {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param useCapture - [Optional] Defaults to false\r\n */\r\nexport function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName - {string} - The name of the event\r\n * @param callback - {any} - The callback function that needs to be executed for the given event\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback, evtNamespace) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = eventOn(w, eventName, callback, evtNamespace);\r\n result = eventOn(w[\"body\"], eventName, callback, evtNamespace) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = eventOn(doc, eventName, callback, evtNamespace) || result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Trys to remove event handler(s) for the specified event/namespace to the window, body and document\r\n * @param eventName - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param callback - {any} - - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventHandler(eventName, callback, evtNamespace) {\r\n var w = getWindow();\r\n if (w) {\r\n eventOff(w, eventName, callback, evtNamespace);\r\n eventOff(w[\"body\"], eventName, callback, evtNamespace);\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n eventOff(doc, eventName, callback, evtNamespace);\r\n }\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nfunction _addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && events[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {\r\n added = addEventHandler(name, listener, evtNamespace) || added;\r\n }\r\n }\r\n });\r\n }\r\n return added;\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && isArray(events)) {\r\n added = _addEventListeners(events, listener, excludeEvents, evtNamespace);\r\n if (!added && excludeEvents && excludeEvents[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Failed to add any listeners and we excluded some, so just attempt to add the excluded events\r\n added = _addEventListeners(events, listener, null, evtNamespace);\r\n }\r\n }\r\n return added;\r\n}\r\n/**\r\n * Remove the listener from the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventListeners(events, listener, evtNamespace) {\r\n if (events && isArray(events)) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n removeEventHandler(name, listener, evtNamespace);\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener - The event callback to call when a page unload event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked, unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);\r\n}\r\n/**\r\n * Remove any matching 'beforeunload', 'unload' and 'pagehide' events that may have been added via addEventListener,\r\n * addEventListeners, addPageUnloadEventListener or addPageHideEventListener.\r\n * @param listener - The specific event callback to to be removed\r\n * @param evtNamespace - [Optional] Namespace(s) uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function removePageUnloadEventListener(listener, evtNamespace) {\r\n removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page hide event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] A Namespace to append to the event listeners so they can be uniquely identified and removed\r\n * based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageHideEventListener\" can remove these events.\r\n * Suggestion: pass as true if you are also calling addPageUnloadEventListener as that also hooks pagehide\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"hidden\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;\r\n }\r\n if (!pageUnloadAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);\r\n }\r\n return pageUnloadAdded;\r\n}\r\n/**\r\n * Removes the pageHide event listeners added by addPageHideEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageHideEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageHideEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n removeEventListeners([strPageHide], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page is show event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional/Recommended] A Namespace to append to the event listeners so they can be uniquely\r\n * identified and removed based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageShowEventListener\" can remove these events.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"visible\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);\r\n pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;\r\n if (!pageShowAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);\r\n }\r\n return pageShowAdded;\r\n}\r\n/**\r\n * Removes the pageShow event listeners added by addPageShowEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageShowEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageShowEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n removeEventListeners([strPageShow], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n//# sourceMappingURL=EventHelpers.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ObjAssign, ObjClass } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, asString as asString21, isArray, isBoolean, isError, isFunction, isNullOrUndefined, isObject, isPlainObject, isString, isUndefined, objDeepFreeze, objDefine, objForEachKey, objHasOwn, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_REPLACE } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minification\r\nvar strGetPrototypeOf = \"getPrototypeOf\";\r\nvar rCamelCase = /-([a-z])/g;\r\nvar rNormalizeInvalid = /([^\\w\\d_$])/g;\r\nvar rLeadingNumeric = /^(\\d+[\\w\\d_$])/;\r\nexport var _getObjProto = Object[strGetPrototypeOf];\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name - The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n if (value && isString(value)) {\r\n // CamelCase everything after the \"-\" and remove the dash\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rCamelCase, function (_all, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rNormalizeInvalid, \"_\");\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rLeadingNumeric, function (_all, match) {\r\n return \"_\" + match;\r\n });\r\n }\r\n return value;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return strIndexOf(value, search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n return date && date.toISOString() || \"\";\r\n}\r\nexport var deepFreeze = objDeepFreeze;\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object[_DYN_NAME /* @min:%2ename */];\r\n }\r\n return STR_EMPTY;\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\nfunction _createProxyFunction(source, funcName) {\r\n var srcFunc = null;\r\n var src = null;\r\n if (isFunction(source)) {\r\n srcFunc = source;\r\n }\r\n else {\r\n src = source;\r\n }\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n if (srcFunc) {\r\n src = srcFunc();\r\n }\r\n if (src) {\r\n return src[funcName][_DYN_APPLY /* @min:%2eapply */](src, originalArguments);\r\n }\r\n };\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 => will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = _createProxyFunction(source, field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (objHasOwn(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n objDefine(target, field, {\r\n g: function () {\r\n return source[field];\r\n },\r\n s: function (theValue) {\r\n source[field] = theValue;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Creates a proxy function on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param name - The function name that will be added on the target\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param theFunc - The function name on the source that will be proxied on the target\r\n * @param overwriteTarget - If `false` this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {\r\n if (target && name && source) {\r\n if (overwriteTarget !== false || isUndefined(target[name])) {\r\n target[name] = _createProxyFunction(source, theFunc);\r\n }\r\n }\r\n}\r\n/**\r\n * Creates proxy functions on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param functionsToProxy - An array of function names that will be proxied on the target\r\n * @param overwriteTarget - If false this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {\r\n if (target && source && isObject(target) && isArray(functionsToProxy)) {\r\n arrForEach(functionsToProxy, function (theFuncName) {\r\n if (isString(theFuncName)) {\r\n proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);\r\n }\r\n });\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults - Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject && ObjAssign) {\r\n theObject = ObjClass(ObjAssign({}, theObject));\r\n }\r\n return theObject;\r\n}\r\nexport function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {\r\n // Variables\r\n var theArgs = arguments;\r\n var extended = theArgs[0] || {};\r\n var argLen = theArgs[_DYN_LENGTH /* @min:%2elength */];\r\n var deep = false;\r\n var idx = 1;\r\n // Check for \"Deep\" flag\r\n if (argLen > 0 && isBoolean(extended)) {\r\n deep = extended;\r\n extended = theArgs[idx] || {};\r\n idx++;\r\n }\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (!isObject(extended)) {\r\n extended = {};\r\n }\r\n // Loop through each remaining object and conduct a merge\r\n for (; idx < argLen; idx++) {\r\n var arg = theArgs[idx];\r\n var isArgArray = isArray(arg);\r\n var isArgObj = isObject(arg);\r\n for (var prop in arg) {\r\n var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));\r\n if (!propOk) {\r\n continue;\r\n }\r\n var newValue = arg[prop];\r\n var isNewArray = void 0;\r\n // If deep merge and property is an object, merge properties\r\n if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {\r\n // Grab the current value of the extended object\r\n var clone = extended[prop];\r\n if (isNewArray) {\r\n if (!isArray(clone)) {\r\n // We can't \"merge\" an array with a non-array so overwrite the original\r\n clone = [];\r\n }\r\n }\r\n else if (!isPlainObject(clone)) {\r\n // We can't \"merge\" an object with a non-object\r\n clone = {};\r\n }\r\n // Never move the original objects always clone them\r\n newValue = objExtend(deep, clone, newValue);\r\n }\r\n // Assign the new (or previous) value (unless undefined)\r\n if (newValue !== undefined) {\r\n extended[prop] = newValue;\r\n }\r\n }\r\n }\r\n return extended;\r\n}\r\nexport var asString = asString21;\r\nexport function isFeatureEnabled(feature, cfg) {\r\n var rlt = false;\r\n var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];\r\n if (feature && ft) {\r\n var mode = ft.mode;\r\n // NOTE: None will be considered as true\r\n rlt = (mode == 3 /* FeatureOptInMode.enable */) || (mode == 1 /* FeatureOptInMode.none */);\r\n }\r\n return rlt;\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strShimFunction, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { getInst, objHasOwnProperty } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { _getObjProto } from \"./HelperFuncs\";\r\nvar aiInstrumentHooks = \"_aiHooks\";\r\nvar cbNames = [\r\n \"req\", \"rsp\", \"hkErr\", \"fnErr\"\r\n];\r\n/** @ignore */\r\nfunction _arrLoop(arr, fn) {\r\n if (arr) {\r\n for (var lp = 0; lp < arr[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n if (fn(arr[lp], lp)) {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @ignore */\r\nfunction _doCallbacks(hooks, callDetails, cbArgs, hookCtx, type) {\r\n if (type >= 0 /* CallbackType.Request */ && type <= 2 /* CallbackType.HookError */) {\r\n _arrLoop(hooks, function (hook, idx) {\r\n var cbks = hook.cbks;\r\n var cb = cbks[cbNames[type]];\r\n if (cb) {\r\n // Set the specific hook context implementation using a lazy creation pattern\r\n callDetails.ctx = function () {\r\n var ctx = hookCtx[idx] = (hookCtx[idx] || {});\r\n return ctx;\r\n };\r\n try {\r\n cb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n catch (err) {\r\n var orgEx = callDetails.err;\r\n try {\r\n // Report Hook error via the callback\r\n var hookErrorCb = cbks[cbNames[2 /* CallbackType.HookError */]];\r\n if (hookErrorCb) {\r\n callDetails.err = err;\r\n hookErrorCb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n }\r\n catch (e) {\r\n // Not much we can do here -- swallowing the exception to avoid crashing the hosting app\r\n }\r\n finally {\r\n // restore the original exception (if any)\r\n callDetails.err = orgEx;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/** @ignore */\r\nfunction _createFunctionHook(aiHook) {\r\n // Define a temporary method that queues-up a the real method call\r\n return function () {\r\n var _a;\r\n var funcThis = this;\r\n // Capture the original arguments passed to the method\r\n var orgArgs = arguments;\r\n var hooks = aiHook.h;\r\n var funcArgs = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = aiHook.n,\r\n _a.inst = funcThis,\r\n _a.ctx = null,\r\n _a.set = _replaceArg,\r\n _a);\r\n var hookCtx = [];\r\n var cbArgs = _createArgs([funcArgs], orgArgs);\r\n funcArgs.evt = getInst(\"event\");\r\n function _createArgs(target, theArgs) {\r\n _arrLoop(theArgs, function (arg) {\r\n target[_DYN_PUSH /* @min:%2epush */](arg);\r\n });\r\n return target;\r\n }\r\n function _replaceArg(idx, value) {\r\n orgArgs = _createArgs([], orgArgs);\r\n orgArgs[idx] = value;\r\n cbArgs = _createArgs([funcArgs], orgArgs);\r\n }\r\n // Call the pre-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 /* CallbackType.Request */);\r\n // Call the original function was called\r\n var theFunc = aiHook.f;\r\n if (theFunc) {\r\n try {\r\n funcArgs.rslt = theFunc[_DYN_APPLY /* @min:%2eapply */](funcThis, orgArgs);\r\n }\r\n catch (err) {\r\n // Report the request callback\r\n funcArgs.err = err;\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 /* CallbackType.FunctionError */);\r\n // rethrow the original exception so anyone listening for it can catch the exception\r\n throw err;\r\n }\r\n }\r\n // Call the post-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 /* CallbackType.Response */);\r\n return funcArgs.rslt;\r\n };\r\n}\r\n/** @ignore */\r\nfunction _getOwner(target, name, checkPrototype, checkParentProto) {\r\n var owner = null;\r\n if (target) {\r\n if (objHasOwnProperty(target, name)) {\r\n owner = target;\r\n }\r\n else if (checkPrototype) {\r\n owner = _getOwner(_getObjProto(target), name, checkParentProto, false);\r\n }\r\n }\r\n return owner;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProto(target, funcName, callbacks) {\r\n if (target) {\r\n return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProtos(target, funcNames, callbacks) {\r\n if (target) {\r\n return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false);\r\n }\r\n return null;\r\n}\r\nfunction _createInstrumentHook(owner, funcName, fn, callbacks) {\r\n var aiHook = fn && fn[aiInstrumentHooks];\r\n if (!aiHook) {\r\n // Only hook the function once\r\n aiHook = {\r\n i: 0,\r\n n: funcName,\r\n f: fn,\r\n h: []\r\n };\r\n // Override (hook) the original function\r\n var newFunc = _createFunctionHook(aiHook);\r\n newFunc[aiInstrumentHooks] = aiHook; // Tag and store the function hooks\r\n owner[funcName] = newFunc;\r\n }\r\n var theHook = {\r\n // tslint:disable:object-literal-shorthand\r\n id: aiHook.i,\r\n cbks: callbacks,\r\n rm: function () {\r\n // DO NOT Use () => { shorthand for the function as the this gets replaced\r\n // with the outer this and not the this for theHook instance.\r\n var id = this.id;\r\n _arrLoop(aiHook.h, function (hook, idx) {\r\n if (hook.id === id) {\r\n aiHook.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return 1;\r\n }\r\n });\r\n }\r\n // tslint:enable:object-literal-shorthand\r\n };\r\n aiHook.i++;\r\n aiHook.h[_DYN_PUSH /* @min:%2epush */](theHook);\r\n return theHook;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n if (target && funcName && callbacks) {\r\n var owner = _getOwner(target, funcName, checkPrototype, checkParentProto);\r\n if (owner) {\r\n var fn = owner[funcName];\r\n if (typeof fn === strShimFunction) {\r\n return _createInstrumentHook(owner, funcName, fn, callbacks);\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFuncs(target, funcNames, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n var hooks = null;\r\n _arrLoop(funcNames, function (funcName) {\r\n var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto);\r\n if (hook) {\r\n if (!hooks) {\r\n hooks = [];\r\n }\r\n hooks[_DYN_PUSH /* @min:%2epush */](hook);\r\n }\r\n });\r\n return hooks;\r\n}\r\n/**\r\n * Add an instrumentation hook to the provided named \"event\" for the target class / object, this doesn't check whether the\r\n * named \"event\" is in fact a function and just assigns the instrumentation hook to the target[evtName]\r\n * @param target - The target object\r\n * @param evtName - The name of the event\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParentProto) {\r\n if (target && evtName && callbacks) {\r\n var owner = _getOwner(target, evtName, checkPrototype, checkParentProto) || target;\r\n if (owner) {\r\n return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);\r\n }\r\n }\r\n return null;\r\n}\r\n//# sourceMappingURL=InstrumentHooks.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\nexport var UNDEFINED_VALUE = undefined;\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_CHANNELS = \"channels\";\r\nexport var STR_CORE = \"core\";\r\nexport var STR_CREATE_PERF_MGR = \"createPerfMgr\";\r\nexport var STR_DISABLED = \"disabled\";\r\nexport var STR_EXTENSION_CONFIG = \"extensionConfig\";\r\nexport var STR_EXTENSIONS = \"extensions\";\r\nexport var STR_PROCESS_TELEMETRY = \"processTelemetry\";\r\nexport var STR_PRIORITY = \"priority\";\r\nexport var STR_EVENTS_SENT = \"eventsSent\";\r\nexport var STR_EVENTS_DISCARDED = \"eventsDiscarded\";\r\nexport var STR_EVENTS_SEND_REQUEST = \"eventsSendRequest\";\r\nexport var STR_PERF_EVENT = \"perfEvent\";\r\nexport var STR_GET_PERF_MGR = \"getPerfMgr\";\r\nexport var STR_DOMAIN = \"domain\";\r\nexport var STR_PATH = \"path\";\r\nexport var STR_NOT_DYNAMIC_ERROR = \"Not dynamic - \";\r\n//# sourceMappingURL=InternalConstants.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isArray, isFunction, objDefine, utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_COMPLETE, _DYN_GET_CTX, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_CTX, _DYN_TIME } from \"../__DynamicConstants\";\r\nimport { STR_GET_PERF_MGR, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar strParentContextKey = \"ParentContextKey\";\r\nvar strChildrenContextKey = \"ChildrenContextKey\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n _self.start = utcNow();\r\n _self[_DYN_NAME /* @min:%2ename */] = name;\r\n _self[_DYN_IS_ASYNC /* @min:%2eisAsync */] = isAsync;\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n objDefine(_self, \"payload\", {\r\n g: function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n }\r\n });\r\n }\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey]) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent[strChildrenContextKey]) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () {\r\n var childTime = 0;\r\n var childEvts = _self[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt[_DYN_TIME /* @min:%2etime */];\r\n }\r\n }\r\n }\r\n _self[_DYN_TIME /* @min:%2etime */] = utcNow() - _self.start;\r\n _self.exTime = _self[_DYN_TIME /* @min:%2etime */] - childTime;\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () { };\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent[_DYN_COMPLETE /* @min:%2ecomplete */]();\r\n if (manager && isFunction(manager[STR_PERF_EVENT /* @min:%2eperfEvent */])) {\r\n manager[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n }\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n// Removed Stub for PerfManager.prototype.create.\r\n// Removed Stub for PerfManager.prototype.fire.\r\n// Removed Stub for PerfManager.prototype.setCtx.\r\n// Removed Stub for PerfManager.prototype.getCtx.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n PerfManager.__ieDyn=1;\n\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (perfMgr[STR_GET_PERF_MGR]) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[STR_GET_PERF_MGR]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr[_DYN_GET_CTX /* @min:%2egetCtx */](doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strParentContextKey], currentActive);\r\n if (currentActive[_DYN_GET_CTX /* @min:%2egetCtx */] && currentActive[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n var children = currentActive[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (!children) {\r\n children = [];\r\n currentActive[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strChildrenContextKey], children);\r\n }\r\n children[_DYN_PUSH /* @min:%2epush */](perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n//# sourceMappingURL=PerfManager.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { arrForEach, dumpObj, isArray, isFunction, isNullOrUndefined, isUndefined, objForEachKey, objFreeze, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _applyDefaultValue } from \"../Config/ConfigDefaults\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_IDENTIFIER, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_DF, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UNLOAD, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nimport { _throwInternal, safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { proxyFunctions } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_DISABLED, STR_EMPTY, STR_EXTENSION_CONFIG, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _getPluginState } from \"./TelemetryHelpers\";\r\nvar strTelemetryPluginChain = \"TelemetryPluginChain\";\r\nvar strHasRunFlags = \"_hasRun\";\r\nvar strGetTelCtx = \"_getTelCtx\";\r\nvar _chainId = 0;\r\nfunction _getNextProxyStart(proxy, core, startAt) {\r\n while (proxy) {\r\n if (proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]() === startAt) {\r\n return proxy;\r\n }\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n // This wasn't found in the existing chain so create an isolated one with just this plugin\r\n return createTelemetryProxyChain([startAt], core.config || {}, core);\r\n}\r\n/**\r\n * @ignore\r\n * @param telemetryChain\r\n * @param dynamicHandler\r\n * @param core\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n * @returns\r\n */\r\nfunction _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {\r\n // We have a special case where we want to start execution from this specific plugin\r\n // or we simply reuse the existing telemetry plugin chain (normal execution case)\r\n var _nextProxy = null; // By Default set as no next plugin\r\n var _onComplete = [];\r\n if (!dynamicHandler) {\r\n dynamicHandler = createDynamicConfig({}, null, core[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n if (startAt !== null) {\r\n // There is no next element (null) vs not defined (undefined) so use the full chain\r\n _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;\r\n }\r\n var context = {\r\n _next: _moveNext,\r\n ctx: {\r\n core: function () {\r\n return core;\r\n },\r\n diagLog: function () {\r\n return safeGetLogger(core, dynamicHandler.cfg);\r\n },\r\n getCfg: function () {\r\n return dynamicHandler.cfg;\r\n },\r\n getExtCfg: _resolveExtCfg,\r\n getConfig: _getConfig,\r\n hasNext: function () {\r\n return !!_nextProxy;\r\n },\r\n getNext: function () {\r\n return _nextProxy;\r\n },\r\n setNext: function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n },\r\n iterate: _iterateChain,\r\n onComplete: _addOnComplete\r\n }\r\n };\r\n function _addOnComplete(onComplete, that) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n if (onComplete) {\r\n _onComplete[_DYN_PUSH /* @min:%2epush */]({\r\n func: onComplete,\r\n self: !isUndefined(that) ? that : context.ctx,\r\n args: args\r\n });\r\n }\r\n }\r\n function _moveNext() {\r\n var nextProxy = _nextProxy;\r\n // Automatically move to the next plugin\r\n _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT /* @min:%2egetNext */]() : null;\r\n if (!nextProxy) {\r\n var onComplete = _onComplete;\r\n if (onComplete && onComplete[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(onComplete, function (completeDetails) {\r\n try {\r\n completeDetails.func.call(completeDetails.self, completeDetails.args);\r\n }\r\n catch (e) {\r\n _throwInternal(core[_DYN_LOGGER /* @min:%2elogger */], 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected Exception during onComplete - \" + dumpObj(e));\r\n }\r\n });\r\n _onComplete = [];\r\n }\r\n }\r\n return nextProxy;\r\n }\r\n function _getExtCfg(identifier, createIfMissing) {\r\n var idCfg = null;\r\n var cfg = dynamicHandler.cfg;\r\n if (cfg && identifier) {\r\n var extCfg = cfg[STR_EXTENSION_CONFIG /* @min:%2eextensionConfig */];\r\n if (!extCfg && createIfMissing) {\r\n extCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n cfg[STR_EXTENSION_CONFIG] = extCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);\r\n if (extCfg) {\r\n idCfg = extCfg[identifier];\r\n if (!idCfg && createIfMissing) {\r\n idCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n extCfg[identifier] = idCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n idCfg = dynamicHandler.ref(extCfg, identifier);\r\n }\r\n }\r\n return idCfg;\r\n }\r\n function _resolveExtCfg(identifier, defaultValues) {\r\n var newConfig = _getExtCfg(identifier, true);\r\n if (defaultValues) {\r\n // Enumerate over the defaultValues and if not already populated attempt to\r\n // find a value from the root config or use the default value\r\n objForEachKey(defaultValues, function (field, defaultValue) {\r\n // for each unspecified field, set the default value\r\n if (isNullOrUndefined(newConfig[field])) {\r\n var cfgValue = dynamicHandler.cfg[field];\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n newConfig[field] = cfgValue;\r\n }\r\n }\r\n _applyDefaultValue(dynamicHandler, newConfig, field, defaultValue);\r\n });\r\n }\r\n return dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](newConfig, defaultValues);\r\n }\r\n function _getConfig(identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _getExtCfg(identifier, false);\r\n var rootConfig = dynamicHandler.cfg;\r\n if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {\r\n theValue = extConfig[field];\r\n }\r\n else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {\r\n theValue = rootConfig[field];\r\n }\r\n return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;\r\n }\r\n function _iterateChain(cb) {\r\n // Keep processing until we reach the end of the chain\r\n var nextPlugin;\r\n while (!!(nextPlugin = context._next())) {\r\n var plugin = nextPlugin[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (plugin) {\r\n // callback with the current on\r\n cb(plugin);\r\n }\r\n }\r\n }\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {\r\n var config = createDynamicConfig(cfg);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(env) {\r\n var nextPlugin = internalContext._next();\r\n if (nextPlugin) {\r\n // Run the next plugin which will call \"processNext()\"\r\n nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, context);\r\n }\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), config.cfg, core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for handling the unloading of the chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(unloadState) {\r\n var nextPlugin = internalContext._next();\r\n nextPlugin && nextPlugin[_DYN_UNLOAD /* @min:%2eunload */](context, unloadState);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for updating the configuration\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(updateState) {\r\n return context.iterate(function (plugin) {\r\n if (isFunction(plugin[_DYN_UPDATE /* @min:%2eupdate */])) {\r\n plugin[_DYN_UPDATE /* @min:%2eupdate */](context, updateState);\r\n }\r\n });\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates an execution chain from the array of plugins\r\n * @param plugins - The array of plugins that will be executed in this order\r\n * @param defItemCtx - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n */\r\nexport function createTelemetryProxyChain(plugins, config, core, startAt) {\r\n var firstProxy = null;\r\n var add = startAt ? false : true;\r\n if (isArray(plugins) && plugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy_1 = null;\r\n arrForEach(plugins, function (thePlugin) {\r\n if (!add && startAt === thePlugin) {\r\n add = true;\r\n }\r\n if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Only add plugins that are processors\r\n var newProxy = createTelemetryPluginProxy(thePlugin, config, core);\r\n if (!firstProxy) {\r\n firstProxy = newProxy;\r\n }\r\n if (lastProxy_1) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy_1._setNext(newProxy);\r\n }\r\n lastProxy_1 = newProxy;\r\n }\r\n });\r\n }\r\n if (startAt && !firstProxy) {\r\n // Special case where the \"startAt\" was not in the original list of plugins\r\n return createTelemetryProxyChain([startAt], config, core);\r\n }\r\n return firstProxy;\r\n}\r\n/**\r\n * Create the processing telemetry proxy instance, the proxy is used to abstract the current plugin to allow monitoring and\r\n * execution plugins while passing around the dynamic execution state (IProcessTelemetryContext), the proxy instance no longer\r\n * contains any execution state and can be reused between requests (this was not the case for 2.7.2 and earlier with the\r\n * TelemetryPluginChain class).\r\n * @param plugin - The plugin instance to proxy\r\n * @param config - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n * @returns\r\n */\r\nexport function createTelemetryPluginProxy(plugin, config, core) {\r\n var nextProxy = null;\r\n var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]);\r\n var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]);\r\n var chainId;\r\n if (plugin) {\r\n chainId = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"-\" + plugin[STR_PRIORITY /* @min:%2epriority */] + \"-\" + _chainId++;\r\n }\r\n else {\r\n chainId = \"Unknown-0-\" + _chainId++;\r\n }\r\n var proxyChain = {\r\n getPlugin: function () {\r\n return plugin;\r\n },\r\n getNext: function () {\r\n return nextProxy;\r\n },\r\n processTelemetry: _processTelemetry,\r\n unload: _unloadPlugin,\r\n update: _updatePlugin,\r\n _id: chainId,\r\n _setNext: function (nextPlugin) {\r\n nextProxy = nextPlugin;\r\n }\r\n };\r\n function _getTelCtx() {\r\n var itemCtx;\r\n // Looks like a plugin didn't pass the (optional) context, so create a new one\r\n if (plugin && isFunction(plugin[strGetTelCtx])) {\r\n // This plugin extends from the BaseTelemetryPlugin so lets use it\r\n itemCtx = plugin[strGetTelCtx]();\r\n }\r\n if (!itemCtx) {\r\n // Create a temporary one\r\n itemCtx = createProcessTelemetryContext(proxyChain, config, core);\r\n }\r\n return itemCtx;\r\n }\r\n function _processChain(itemCtx, processPluginFn, name, details, isAsync) {\r\n var hasRun = false;\r\n var identifier = plugin ? plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] : strTelemetryPluginChain;\r\n var hasRunContext = itemCtx[strHasRunFlags];\r\n if (!hasRunContext) {\r\n // Assign and populate\r\n hasRunContext = itemCtx[strHasRunFlags] = {};\r\n }\r\n // Ensure that we keep the context in sync\r\n itemCtx.setNext(nextProxy);\r\n if (plugin) {\r\n doPerf(itemCtx[STR_CORE /* @min:%2ecore */](), function () { return identifier + \":\" + name; }, function () {\r\n // Mark this component as having run\r\n hasRunContext[chainId] = true;\r\n try {\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n var nextId = nextProxy ? nextProxy._id : STR_EMPTY;\r\n if (nextId) {\r\n hasRunContext[nextId] = false;\r\n }\r\n hasRun = processPluginFn(itemCtx);\r\n }\r\n catch (error) {\r\n var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;\r\n if (hasNextRun) {\r\n // The next plugin after us has already run so set this one as complete\r\n hasRun = true;\r\n }\r\n if (!nextProxy || !hasNextRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 73 /* _eInternalMessageId.PluginException */, \"Plugin [\" + identifier + \"] failed during \" + name + \" - \" + dumpObj(error) + \", run flags: \" + dumpObj(hasRunContext));\r\n }\r\n }\r\n }, details, isAsync);\r\n }\r\n return hasRun;\r\n }\r\n function _processTelemetry(env, itemCtx) {\r\n itemCtx = itemCtx || _getTelCtx();\r\n function _callProcessTelemetry(itemCtx) {\r\n if (!plugin || !hasProcessTelemetry) {\r\n return false;\r\n }\r\n var pluginState = _getPluginState(plugin);\r\n if (pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] || pluginState[STR_DISABLED]) {\r\n return false;\r\n }\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n if (hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](nextProxy);\r\n }\r\n plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, itemCtx);\r\n // Process Telemetry is expected to call itemCtx.processNext() or nextPlugin.processTelemetry()\r\n return true;\r\n }\r\n if (!_processChain(itemCtx, _callProcessTelemetry, \"processTelemetry\", function () { return ({ item: env }); }, !(env.sync))) {\r\n // The underlying plugin is either not defined, not enabled or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n }\r\n function _unloadPlugin(unloadCtx, unloadState) {\r\n function _callTeardown() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only teardown the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n // Handle plugins that don't extend from the BaseTelemetryPlugin\r\n pluginState[STR_CORE /* @min:%2ecore */] = null;\r\n pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] = true;\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = false;\r\n if (plugin[_DYN_TEARDOWN /* @min:%2eteardown */] && plugin[_DYN_TEARDOWN /* @min:%2eteardown */](unloadCtx, unloadState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(unloadCtx, _callTeardown, \"unload\", function () { }, unloadState[_DYN_IS_ASYNC /* @min:%2eisAsync */])) {\r\n // Only called if we hasRun was not true\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n }\r\n function _updatePlugin(updateCtx, updateState) {\r\n function _callUpdate() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only update the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n if (plugin[_DYN_UPDATE /* @min:%2eupdate */] && plugin[_DYN_UPDATE /* @min:%2eupdate */](updateCtx, updateState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(updateCtx, _callUpdate, \"update\", function () { }, false)) {\r\n // Only called if we hasRun was not true\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n return objFreeze(proxyChain);\r\n}\r\n/**\r\n * This class will be removed!\r\n * @deprecated use createProcessTelemetryContext() instead\r\n */\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(pluginChain, config, core, startAt) {\r\n var _self = this;\r\n var context = createProcessTelemetryContext(pluginChain, config, core, startAt);\r\n // Proxy all functions of the context to this object\r\n proxyFunctions(_self, context, objKeys(context));\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n//# sourceMappingURL=ProcessTelemetryContext.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\nvar SEED1 = 123456789;\r\nvar SEED2 = 987654321;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = SEED1;\r\nvar _mwcZ = SEED2;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (SEED1 + seedValue) & MaxUInt32;\r\n _mwcZ = (SEED2 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = utcNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value = 0;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n if (value === 0 && isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n if (value === 0) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = STR_EMPTY;\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=RandomHelper.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { arrForEach, isFunction } from \"@nevware21/ts-utils\";\r\nimport { _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_SPAN_ID, _DYN_TEARDOWN, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { createElmNodeData } from \"./DataCacheHelper\";\r\nimport { STR_CORE, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { isValidSpanId, isValidTraceId } from \"./W3cTraceParent\";\r\nvar pluginStateData = createElmNodeData(\"plugin\");\r\nexport function _getPluginState(plugin) {\r\n return pluginStateData.get(plugin, \"state\", {}, true);\r\n}\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config - The current config for the instance\r\n * @param core - THe current core instance\r\n * @param extensions - The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n var pluginState;\r\n while (proxy) {\r\n var thePlugin = proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (thePlugin) {\r\n if (lastPlugin && lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] && thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](thePlugin);\r\n }\r\n pluginState = _getPluginState(thePlugin);\r\n var isInitialized = !!pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */];\r\n if (thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]) {\r\n isInitialized = thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]();\r\n }\r\n if (!isInitialized) {\r\n initPlugins[_DYN_PUSH /* @min:%2epush */](thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n }\r\n // Now initialize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n var core = processContext[STR_CORE /* @min:%2ecore */]();\r\n thePlugin[_DYN_INITIALIZE /* @min:%2einitialize */](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n pluginState = _getPluginState(thePlugin);\r\n // Only add the core to the state if the plugin didn't set it (doesn't extend from BaseTelemetryPlugin)\r\n if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {\r\n pluginState[STR_CORE] = core;\r\n }\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = true;\r\n delete pluginState[_DYN_TEARDOWN /* @min:%2eteardown */];\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n if (extB) {\r\n var bHasProcess = extB[STR_PROCESS_TELEMETRY];\r\n if (extA[STR_PROCESS_TELEMETRY]) {\r\n result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n }\r\n else {\r\n result = extA ? 1 : -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n/**\r\n * Teardown / Unload helper to perform teardown/unloading operations for the provided components synchronously or asynchronously, this will call any\r\n * _doTeardown() or _doUnload() functions on the provided components to allow them to finish removal.\r\n * @param components - The components you want to unload\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @param asyncCallback - An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.\r\n * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.\r\n */\r\nexport function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {\r\n var idx = 0;\r\n function _doUnload() {\r\n while (idx < components[_DYN_LENGTH /* @min:%2elength */]) {\r\n var component = components[idx++];\r\n if (component) {\r\n var func = component._doUnload || component[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */];\r\n if (isFunction(func)) {\r\n if (func.call(component, unloadCtx, unloadState, _doUnload) === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return _doUnload();\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext which optionally also \"sets\" the value on a parent\r\n * @param parentCtx - An optional parent distributed trace instance\r\n * @returns A new IDistributedTraceContext instance that uses an internal temporary object\r\n */\r\nexport function createDistributedTraceContext(parentCtx) {\r\n var trace = {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace[_DYN_TRACE_ID /* @min:%2etraceId */];\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace[_DYN_TRACE_ID /* @min:%2etraceId */] = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace[_DYN_SPAN_ID /* @min:%2espanId */];\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace[_DYN_SPAN_ID /* @min:%2espanId */] = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=TelemetryHelpers.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DIAG_LOG, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nexport function createUnloadHandlerContainer() {\r\n var handlers = [];\r\n function _addHandler(handler) {\r\n if (handler) {\r\n handlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n function _runHandlers(unloadCtx, unloadState) {\r\n arrForEach(handlers, function (handler) {\r\n try {\r\n handler(unloadCtx, unloadState);\r\n }\r\n catch (e) {\r\n _throwInternal(unloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected error calling unload handler - \" + dumpObj(e));\r\n }\r\n });\r\n handlers = [];\r\n }\r\n return {\r\n add: _addHandler,\r\n run: _runHandlers\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHandlerContainer.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrAppend, arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\n/**\r\n * Create a IUnloadHookContainer which can be used to remember unload hook functions to be executed during the component unloading\r\n * process.\r\n * @returns A new IUnloadHookContainer instance\r\n */\r\nexport function createUnloadHookContainer() {\r\n var _hooks = [];\r\n function _doUnload(logger) {\r\n var oldHooks = _hooks;\r\n _hooks = [];\r\n // Remove all registered unload hooks\r\n arrForEach(oldHooks, function (fn) {\r\n // allow either rm or remove callback function\r\n try {\r\n (fn.rm || fn.remove).call(fn);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unloading:\" + dumpObj(e));\r\n }\r\n });\r\n }\r\n function _addHook(hooks) {\r\n if (hooks) {\r\n arrAppend(_hooks, hooks);\r\n }\r\n }\r\n return {\r\n run: _doUnload,\r\n add: _addHook\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHookContainer.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { isArray, isString, strLeft, strTrim } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_SPAN_ID, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_VERSION } from \"../__DynamicConstants\";\r\nimport { generateW3CId } from \"./CoreUtils\";\r\nimport { findMetaTag, findNamedServerTiming } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// using {0,16} for leading and trailing whitespace just to constrain the possible runtime of a random string\r\nvar TRACE_PARENT_REGEX = /^([\\da-f]{2})-([\\da-f]{32})-([\\da-f]{16})-([\\da-f]{2})(-[^\\s]{1,64})?$/i;\r\nvar DEFAULT_VERSION = \"00\";\r\nvar INVALID_VERSION = \"ff\";\r\nvar INVALID_TRACE_ID = \"00000000000000000000000000000000\";\r\nvar INVALID_SPAN_ID = \"0000000000000000\";\r\nvar SAMPLED_FLAG = 0x01;\r\nfunction _isValid(value, len, invalidValue) {\r\n if (value && value[_DYN_LENGTH /* @min:%2elength */] === len && value !== invalidValue) {\r\n return !!value.match(/^[\\da-f]*$/i);\r\n }\r\n return false;\r\n}\r\nfunction _formatValue(value, len, defValue) {\r\n if (_isValid(value, len)) {\r\n return value;\r\n }\r\n return defValue;\r\n}\r\nfunction _formatFlags(value) {\r\n if (isNaN(value) || value < 0 || value > 255) {\r\n value = 0x01;\r\n }\r\n var result = value.toString(16);\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < 2) {\r\n result = \"0\" + result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Create a new ITraceParent instance using the provided values.\r\n * @param traceId - The traceId to use, when invalid a new random W3C id will be generated.\r\n * @param spanId - The parent/span id to use, a new random value will be generated if it is invalid.\r\n * @param flags - The traceFlags to use, defaults to zero (0) if not supplied or invalid\r\n * @param version - The version to used, defaults to version \"01\" if not supplied or invalid.\r\n * @returns\r\n */\r\nexport function createTraceParent(traceId, spanId, flags, version) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_VERSION /* @min:version */] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,\r\n _a[_DYN_TRACE_ID /* @min:traceId */] = isValidTraceId(traceId) ? traceId : generateW3CId(),\r\n _a[_DYN_SPAN_ID /* @min:spanId */] = isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),\r\n _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,\r\n _a;\r\n}\r\n/**\r\n * Attempt to parse the provided string as a W3C TraceParent header value (https://www.w3.org/TR/trace-context/#traceparent-header)\r\n *\r\n * @param value - The value to be parsed\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function parseTraceParent(value, selectIdx) {\r\n var _a;\r\n if (!value) {\r\n // Don't pass a null/undefined or empty string\r\n return null;\r\n }\r\n if (isArray(value)) {\r\n // The value may have been encoded on the page into an array so handle this automatically\r\n value = value[0] || \"\";\r\n }\r\n if (!value || !isString(value) || value[_DYN_LENGTH /* @min:%2elength */] > 8192) {\r\n // limit potential processing based on total length\r\n return null;\r\n }\r\n if (value.indexOf(\",\") !== -1) {\r\n var values = value[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n value = values[selectIdx > 0 && values[_DYN_LENGTH /* @min:%2elength */] > selectIdx ? selectIdx : 0];\r\n }\r\n // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent\r\n var match = TRACE_PARENT_REGEX.exec(strTrim(value));\r\n if (!match || // No match\r\n match[1] === INVALID_VERSION || // version ff is forbidden\r\n match[2] === INVALID_TRACE_ID || // All zeros is considered to be invalid\r\n match[3] === INVALID_SPAN_ID) { // All zeros is considered to be invalid\r\n return null;\r\n }\r\n return _a = {\r\n version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()\r\n },\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = parseInt(match[4], 16),\r\n _a;\r\n}\r\n/**\r\n * Is the provided W3c Trace Id a valid string representation, it must be a 32-character string\r\n * of lowercase hexadecimal characters for example, 4bf92f3577b34da6a3ce929d0e0e4736.\r\n * If all characters as zero (00000000000000000000000000000000) it will be considered an invalid value.\r\n * @param value - The W3c trace Id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidTraceId(value) {\r\n return _isValid(value, 32, INVALID_TRACE_ID);\r\n}\r\n/**\r\n * Is the provided W3c span id (aka. parent id) a valid string representation, it must be a 16-character\r\n * string of lowercase hexadecimal characters, for example, 00f067aa0ba902b7.\r\n * If all characters are zero (0000000000000000) this is considered an invalid value.\r\n * @param value - The W3c span id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidSpanId(value) {\r\n return _isValid(value, 16, INVALID_SPAN_ID);\r\n}\r\n/**\r\n * Validates that the provided ITraceParent instance conforms to the currently supported specifications\r\n * @param value\r\n * @returns\r\n */\r\nexport function isValidTraceParent(value) {\r\n if (!value ||\r\n !_isValid(value[_DYN_VERSION /* @min:%2eversion */], 2, INVALID_VERSION) ||\r\n !_isValid(value[_DYN_TRACE_ID /* @min:%2etraceId */], 32, INVALID_TRACE_ID) ||\r\n !_isValid(value[_DYN_SPAN_ID /* @min:%2espanId */], 16, INVALID_SPAN_ID) ||\r\n !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]), 2)) {\r\n // Each known field must contain a valid value\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Is the parsed traceParent indicating that the trace is currently sampled.\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function isSampledFlag(value) {\r\n if (isValidTraceParent(value)) {\r\n return (value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] & SAMPLED_FLAG) === SAMPLED_FLAG;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Format the ITraceParent value as a string using the supported and know version formats.\r\n * So even if the passed traceParent is a later version the string value returned from this\r\n * function will convert it to only the known version formats.\r\n * This currently only supports version \"00\" and invalid \"ff\"\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function formatTraceParent(value) {\r\n if (value) {\r\n // Special Note: This only supports formatting as version 00, future versions should encode any known supported version\r\n // So parsing a future version will populate the correct version value but reformatting will reduce it to version 00.\r\n var flags = _formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]);\r\n if (!_isValid(flags, 2)) {\r\n flags = \"01\";\r\n }\r\n var version = value[_DYN_VERSION /* @min:%2eversion */] || DEFAULT_VERSION;\r\n if (version !== \"00\" && version !== \"ff\") {\r\n // Reduce version to \"00\"\r\n version = DEFAULT_VERSION;\r\n }\r\n // Format as version 00\r\n return \"\".concat(version.toLowerCase(), \"-\").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), \"-\").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), \"-\").concat(flags.toLowerCase());\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Helper function to fetch the passed traceparent from the page, looking for it as a meta-tag or a Server-Timing header.\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function findW3cTraceParent(selectIdx) {\r\n var name = \"traceparent\";\r\n var traceParent = parseTraceParent(findMetaTag(name), selectIdx);\r\n if (!traceParent) {\r\n traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);\r\n }\r\n return traceParent;\r\n}\r\n//# sourceMappingURL=W3cTraceParent.js.map","/*\n * Application Insights JavaScript SDK - Core, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 9\r\nexport var _DYN_BLK_VAL = \"blkVal\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 43\r\nexport var _DYN_RD_ONLY = \"rdOnly\"; // Count: 4\r\nexport var _DYN_NOTIFY = \"notify\"; // Count: 4\r\nexport var _DYN_WARN_TO_CONSOLE = \"warnToConsole\"; // Count: 4\r\nexport var _DYN_THROW_INTERNAL = \"throwInternal\"; // Count: 5\r\nexport var _DYN_SET_DF = \"setDf\"; // Count: 6\r\nexport var _DYN_WATCH = \"watch\"; // Count: 9\r\nexport var _DYN_LOGGER = \"logger\"; // Count: 21\r\nexport var _DYN_APPLY = \"apply\"; // Count: 7\r\nexport var _DYN_PUSH = \"push\"; // Count: 31\r\nexport var _DYN_SPLICE = \"splice\"; // Count: 8\r\nexport var _DYN_HDLR = \"hdlr\"; // Count: 6\r\nexport var _DYN_CANCEL = \"cancel\"; // Count: 5\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 4\r\nexport var _DYN_IDENTIFIER = \"identifier\"; // Count: 8\r\nexport var _DYN_IS_INITIALIZED = \"isInitialized\"; // Count: 10\r\nexport var _DYN_GET_PLUGIN = \"getPlugin\"; // Count: 6\r\nexport var _DYN_POLL_INTERNAL_LOGS = \"pollInternalLogs\"; // Count: 2\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_TIME = \"time\"; // Count: 6\r\nexport var _DYN_PROCESS_NEXT = \"processNext\"; // Count: 15\r\nexport var _DYN_GET_PROCESS_TEL_CONT0 = \"getProcessTelContext\"; // Count: 2\r\nexport var _DYN_GET_NOTIFY_MGR = \"getNotifyMgr\"; // Count: 5\r\nexport var _DYN_ADD_NOTIFICATION_LIS1 = \"addNotificationListener\"; // Count: 4\r\nexport var _DYN_REMOVE_NOTIFICATION_2 = \"removeNotificationListener\"; // Count: 4\r\nexport var _DYN_ENABLED = \"enabled\"; // Count: 6\r\nexport var _DYN_STOP_POLLING_INTERNA3 = \"stopPollingInternalLogs\"; // Count: 2\r\nexport var _DYN_UNLOAD = \"unload\"; // Count: 9\r\nexport var _DYN_ON_COMPLETE = \"onComplete\"; // Count: 5\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_LOGGING_LEVEL_CONSOL4 = \"loggingLevelConsole\"; // Count: 2\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 7\r\nexport var _DYN_TEARDOWN = \"teardown\"; // Count: 9\r\nexport var _DYN_MESSAGE_ID = \"messageId\"; // Count: 4\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 6\r\nexport var _DYN_IS_ASYNC = \"isAsync\"; // Count: 6\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 10\r\nexport var _DYN__DO_TEARDOWN = \"_doTeardown\"; // Count: 4\r\nexport var _DYN_UPDATE = \"update\"; // Count: 6\r\nexport var _DYN_GET_NEXT = \"getNext\"; // Count: 12\r\nexport var _DYN_SET_NEXT_PLUGIN = \"setNextPlugin\"; // Count: 5\r\nexport var _DYN_USER_AGENT = \"userAgent\"; // Count: 5\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_NODE_TYPE = \"nodeType\"; // Count: 3\r\nexport var _DYN_REPLACE = \"replace\"; // Count: 8\r\nexport var _DYN_LOG_INTERNAL_MESSAGE = \"logInternalMessage\"; // Count: 2\r\nexport var _DYN_TYPE = \"type\"; // Count: 14\r\nexport var _DYN_HANDLER = \"handler\"; // Count: 5\r\nexport var _DYN_IS_CHILD_EVT = \"isChildEvt\"; // Count: 3\r\nexport var _DYN_GET_CTX = \"getCtx\"; // Count: 6\r\nexport var _DYN_SET_CTX = \"setCtx\"; // Count: 10\r\nexport var _DYN_COMPLETE = \"complete\"; // Count: 3\r\nexport var _DYN_TRACE_ID = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID = \"spanId\"; // Count: 5\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 6\r\n//# sourceMappingURL=__DynamicConstants.js.map"],"names":["createEnumStyle","createValueMap","aggregationErrorType","throwAggregationError","message","sourceErrors","c","self","args","errors","theMessage","srcError","idx","concat","defaultValues","perfEvtsSendAll","_runListeners","listeners","name","isAsync","callback","listener","e","NotificationManager","config","unloadHandler","this","_listeners","cfgHandler","details","cfg","_self","g","index","events","reason","sendReason","perfEvent","waiting","_finishUnload","rm","asyncUnload","resolve","__ieDyn","_a","TelemetryInitializerPlugin","_super","_id","_initializers","_this","call","_initDefaults","identifier","priority","_base","addTelemetryInitializer","telemetryInitializer","id","theInitializer","fn","remove","initializer","_addInitializer","item","itemCtx","logger","doNotSendItem","telemetryInitializersCount","i","exception","_runInitializers","strValidationError","strSdkUnloadingError","defaultConfig","cookieCfg","rdOnly","ref","v","loggingLevelConsole","diagnosticLogInterval","_createPerfManager","core","notificationMgr","PerfManager","_isPluginPresent","thePlugin","plugins","exists","plugin","_deepMergeConfig","target","newValues","merge","key","value","set","_findWatcher","newWatcher","theListener","lp","w","l","AppInsightsCore","_configHandler","_isInitialized","_logger","_eventQueue","_notificationManager","_perfManager","_cfgPerfManager","_cookieManager","_pluginChain","_configExtensions","_channelConfig","_channels","_isUnloading","_telemetryInitializerPlugin","_internalLogsEventName","_evtNamespace","_unloadHandlers","_hookContainer","_debugListener","_traceCtx","_instrumentationKey","_cfgListeners","_extensions","_pluginVersionStringArr","_pluginVersionString","_internalLogPoller","_internalLogPollerListening","_forceStopInternalLogPoller","_startLogPoller","alwaysStart","queue","_addUnloadHook","interval","isRunning","_flushInternalLogs","unref","_setPluginVersions","thePlugins","_addPluginVersions","ver","channels","s","newValue","updateCfg","join","DiagnosticLogger","newLogger","cfgExtensions","splice","_createTelCtx","theCtx","_getPluginChain","_initPluginChain","updateState","theExtensions","channelPriority","allExtensions","coreExtensions","extPriorities","ext","extPriority","_validateExtensions","rootCtx","_doUpdate","_getPlugin","pluginIdentifier","theExt","channelHosts","getChannel","host","setEnabled","enabled","isEnabled","pluginState","removeCb","pluginsToRemove","unloadState","_removePlugins","removed","extensions","slice","removeComplete","unloadChain","unloadCtx","newConfigExtensions","newChannelConfig","newQueue","channel","logMessage","iKey","Date","baseType","baseData","track","_flushChannels","callBack","cbTimeout","doneIterating","cbTimer","doCallback","iterate","flush","handled_1","updateCtx","_updateHook","_logOrThrowError","_notifyInvalidEvent","telemetryItem","manager","hooks","add","notificationManager","instrumentationKey","extCfg","disableDbgExt","enablePerfMgr","apply","teeController","unloadHdl","_registerDelayedCfgListener","releaseQueue","getChannels","controls","getCookieMgr","setCookieMgr","cookieMgr","createPerfMgr","setPerfMgr","perfMgr","eventCnt","eventQueue","event","eventName","unloadComplete","result","flushComplete","processUnloadCtx","_doUnload","run","addPlugin","replaceExisting","addCb","existingPlugin","_addPlugin","added","removedPlugins_1","newConfig","mergeExisting","oldCfg","_block","theConfig","evtNamespace","getTraceCtx","createNew","setTraceCtx","traceCtx","addUnloadHook","onCfgChange","handler","unloadHook","fnd","getWParam","enableWParam","runTargetUnload","doUnloadAll","targets","done","resolved","strGetPlugin","isVal","BaseTelemetryPlugin","_isinitialized","_rootCtx","_nextPlugin","_unloadHandlerContainer","_getTelCtx","currentCtx","_setDefaults","pluginChain","nextPlugin","unloadDone","theUnloadCtx","theUnloadState","_unloadCallback","updateDone","theUpdateCtx","theUpdateState","_updateCallback","getCfg","setInitialized","isInitialized","next","env","_b","_doc","strToGMTString","strToUTCString","strCookie","strExpires","strIsCookieUseDisabled","strDisableCookiesUsage","strConfigCookieMgr","_supportsCookies","_allowUaSameSite","_parsedCookieValue","_cookieCache","_globalCookieConfig","rootDefaultConfig","fb","dfVal","path","ignoreCookies","blockedCookies","cookieDomain","cookiePath","_getDoc","_isMgrEnabled","_isIgnoredCookie","cookieMgrCfg","_isCfgEnabled","rootConfig","cookieMgrConfig","isCfgEnabled","cookieEnabled","safeGetCookieMgr","createCookieMgr","inst","_gblCookieMgr","_path","_domain","_enabled","_getCookieFn","_setCookieFn","_delCookieFn","getCookie","_getCookieValue","setCookie","_setCookieValue","delCookie","areCookiesSupported","gblManager","maxAgeSec","domain","_isBlockedCookie","values","theValue","_extractParts","_isIE","expireMs","expiry","setTime","_formatDate","location_1","protocol","userAgent","uaDisallowsSameSiteNone","_formatCookieValue","get","del","purge","doc","undefined","parts","thePart","theDate","func","cookieValue","theCookie","generateW3CId","tmp","hexValues","oct","a","clockSequenceHi","version","instanceName","_dataUid","_canAcceptData","createUniqueNamespace","includeVersion","createElmNodeData","data","accept","defValue","addDefault","theCache","_getCache","kill","listenerFuncs","_aiNamespace","_listenerProxyFunc","arguments","dbgExt","getDebugExt","ns","getDebugListener","STR_WARN_TO_CONSOLE","loggingLevelTelemetry","maxMessageLimit","enableDebug","_logFuncs","_sanitizeDiagnosticText","text","_logToConsole","theConsole","logFunc","_InternalLogMessage","msgId","msg","isUserAct","properties","strProps","stringify","diagnosticText","dataType","safeGetLogger","_loggingLevelConsole","_loggingLevelTelemetry","_maxInternalMessageLimit","_enableDebug","_unloadHandler","_messageCount","_messageLogged","_logInternalMessage","severity","messageKey","_debugExtMsg","throttleLimitMessage","throttleMessage","errorToConsole","_setDefaultsFromConfig","consoleLoggingLevel","debugToConsole","resetInternalMessageCount","_getLogger","_throwInternal","_warnToConsole","strDocumentMode","strLocation","strConsole","strJSON","strCrypto","strMsCrypto","strReactNative","strMsie","strTrident","strXMLHttpRequest","_isTrident","_navUserAgentCheck","_enableMocks","_useXDomainRequest","_beaconsSupported","_hasProperty","theClass","property","supported","proto","getLocation","checkForMock","mockLocation","location","getConsole","console","hasJSON","Boolean","JSON","getJSON","getCrypto","getMsCrypto","isReactNative","nav","product","isIE","getIEVersion","userAgentStr","navigator_1","ua","Math","max","parseInt","tridentVer","isBeaconsSupported","useCached","sendBeacon","isFetchSupported","withKeepAlive","isSupported","request","useXDomainRequest","XDomainRequest","isXhrSupported","sendCustomEvent","evtName","customDetails","evnt","global","CustomEvent","detail","createEvent","initCustomEvent","createCustomDomEvent","dispatchEvent","strOnPrefix","strAttachEvent","strAddEventHelper","strDetachEvent","strRemoveEventListener","strEvents","strVisibilityChangeEvt","strPageHide","strUnload","strBeforeUnload","strPageHideNamespace","rRemoveEmptyNs","rRemoveTrailingEmptyNs","_guid","elmNodeData","eventNamespace","_normalizeNamespace","_getEvtNamespace","theNamespace_1","parsedEvent","exec","replace","sort","_getRegisteredEvents","aiEvts","registeredEvents","_doDetach","obj","handlerRef","useCapture","_doUnregister","unRegFn","theEvent","capture","mergeEvtNamespace","theNamespace","namespaces","eventOn","_doAttach","registeredEvent","guid","type","eventOff","evtName_1","found_1","eventCache","evtType","_unregisterEvents","regEvent","_addEventListeners","excludeEvents","addEventHandler","removeEventListeners","removeEventHandler","addPageUnloadEventListener","addEventListeners","removePageUnloadEventListener","addPageHideEventListener","newNamespaces","pageUnloadAdded","evt","visibilityState","removePageHideEventListener","rCamelCase","rNormalizeInvalid","rLeadingNumeric","_getObjProto","Object","isNotNullOrUndefined","normalizeJsName","_all","letter","toUpperCase","match","strContains","search","toISOString","date","getExceptionName","object","setValue","field","valChk","srcChk","getSetValue","_createProxyFunction","source","funcName","srcFunc","src","originalArguments","proxyAssign","chkSet","_loop_1","proxyFunctionAs","theFunc","overwriteTarget","proxyFunctions","functionsToProxy","theFuncName","createClassFromInterface","defaults","optimizeObject","theObject","objExtend","obj1","obj2","obj3","obj4","obj5","obj6","theArgs","extended","argLen","deep","arg","isArgArray","isArgObj","prop","isNewArray","clone","isFeatureEnabled","feature","rlt","ft","featureOptIn","mode","aiInstrumentHooks","cbNames","_arrLoop","arr","_doCallbacks","callDetails","cbArgs","hookCtx","hook","cbks","cb","ctx","err","orgEx","hookErrorCb","_getOwner","checkPrototype","checkParentProto","owner","InstrumentProto","callbacks","InstrumentFunc","_createInstrumentHook","aiHook","newFunc","orgArgs","h","funcArgs","n","_createArgs","f","rslt","_createFunctionHook","theHook","InstrumentEvent","UNDEFINED_VALUE","STR_EMPTY","STR_CHANNELS","STR_CORE","STR_CREATE_PERF_MGR","STR_DISABLED","STR_EXTENSION_CONFIG","STR_EXTENSIONS","STR_PROCESS_TELEMETRY","STR_PRIORITY","STR_EVENTS_SENT","STR_EVENTS_DISCARDED","STR_EVENTS_SEND_REQUEST","STR_PERF_EVENT","STR_GET_PERF_MGR","STR_DOMAIN","STR_PATH","STR_NOT_DYNAMIC_ERROR","strExecutionContextKey","strParentContextKey","strChildrenContextKey","_defaultPerfManager","PerfEvent","payloadDetails","theDetails_1","start","childTime","childEvts","childEvt","exTime","ParentContextKey","ChildrenContextKey","create","fire","doPerfActiveKey","doPerf","mgrSource","getSource","perfEvt","currentActive","children","ex","getGblPerfMgr","strTelemetryPluginChain","strHasRunFlags","strGetTelCtx","_chainId","_createInternalContext","telemetryChain","dynamicHandler","startAt","_nextProxy","_onComplete","proxy","createTelemetryProxyChain","_getNextProxyStart","context","_next","nextProxy","onComplete","completeDetails","diagLog","getExtCfg","_getExtCfg","defaultValue","cfgValue","getConfig","extConfig","hasNext","getNext","setNext","that","_i","length","createIfMissing","idCfg","createProcessTelemetryContext","internalContext","createProcessTelemetryUnloadContext","createProcessTelemetryUpdateContext","firstProxy","lastProxy_1","newProxy","chainId","hasProcessTelemetry","hasSetNext","proxyChain","getPlugin","processTelemetry","_processTelemetry","unload","_unloadPlugin","update","_updatePlugin","_setNext","_processChain","processPluginFn","hasRun","hasRunContext","nextId","error","hasNextRun","_callProcessTelemetry","_callTeardown","pluginCore","_callUpdate","createTelemetryPluginProxy","UInt32Mask","MaxUInt32","SEED1","SEED2","_mwcSeeded","_mwcW","_mwcZ","_mwcSeed","seedValue","_autoSeedMwc","now","random","randomValue","maxValue","floor","random32","signed","getRandomValues","Uint32Array","mwcRandom32","newId","maxLength","number","chars","charAt","pluginStateData","_getPluginState","initializePlugins","processContext","initPlugins","lastPlugin","sortPlugins","extA","extB","bHasProcess","createDistributedTraceContext","parentCtx","trace","getName","setName","getTraceId","setTraceId","getSpanId","setSpanId","getTraceFlags","setTraceFlags","newTraceFlags","createUnloadHandlerContainer","handlers","createUnloadHookContainer","_hooks","oldHooks","DEFAULT_VERSION","INVALID_VERSION","INVALID_TRACE_ID","INVALID_SPAN_ID","_isValid","len","invalidValue","_formatValue","_formatFlags","isNaN","toString","createTraceParent","traceId","spanId","flags","isValidTraceId","isValidSpanId","traceFlags","formatTraceParent","toLowerCase","_DYN_TO_LOWER_CASE","_DYN_BLK_VAL","_DYN_LENGTH","_DYN_RD_ONLY","_DYN_NOTIFY","_DYN_WARN_TO_CONSOLE","_DYN_THROW_INTERNAL","_DYN_SET_DF","_DYN_WATCH","_DYN_LOGGER","_DYN_APPLY","_DYN_PUSH","_DYN_SPLICE","_DYN_HDLR","_DYN_CANCEL","_DYN_INITIALIZE","_DYN_IDENTIFIER","_DYN_IS_INITIALIZED","_DYN_GET_PLUGIN","_DYN_POLL_INTERNAL_LOGS","_DYN_NAME","_DYN_TIME","_DYN_PROCESS_NEXT","_DYN_GET_PROCESS_TEL_CONT0","_DYN_GET_NOTIFY_MGR","_DYN_ADD_NOTIFICATION_LIS1","_DYN_REMOVE_NOTIFICATION_2","_DYN_ENABLED","_DYN_STOP_POLLING_INTERNA3","_DYN_UNLOAD","_DYN_ON_COMPLETE","_DYN_VERSION","_DYN_LOGGING_LEVEL_CONSOL4","_DYN_CREATE_NEW","_DYN_TEARDOWN","_DYN_MESSAGE_ID","_DYN_MESSAGE","_DYN_IS_ASYNC","_DYN_DIAG_LOG","_DYN__DO_TEARDOWN","_DYN_UPDATE","_DYN_GET_NEXT","_DYN_SET_NEXT_PLUGIN","_DYN_USER_AGENT","_DYN_SPLIT","_DYN_NODE_TYPE","_DYN_REPLACE","_DYN_LOG_INTERNAL_MESSAGE","_DYN_TYPE","_DYN_HANDLER","_DYN_IS_CHILD_EVT","_DYN_GET_CTX","_DYN_SET_CTX","_DYN_COMPLETE","_DYN_TRACE_ID","_DYN_SPAN_ID","_DYN_TRACE_FLAGS"],"sourceRoot":""}