@microsoft/1ds-core-js 3.2.1 → 3.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +1 -1
  2. package/bundle/{ms.core-3.2.1.gbl.js → ms.core-3.2.4.gbl.js} +1745 -1435
  3. package/bundle/ms.core-3.2.4.gbl.js.map +1 -0
  4. package/bundle/ms.core-3.2.4.gbl.min.js +7 -0
  5. package/bundle/ms.core-3.2.4.gbl.min.js.map +1 -0
  6. package/bundle/ms.core-3.2.4.integrity.json +46 -0
  7. package/bundle/{ms.core-3.2.1.js → ms.core-3.2.4.js} +1745 -1435
  8. package/bundle/ms.core-3.2.4.js.map +1 -0
  9. package/bundle/ms.core-3.2.4.min.js +7 -0
  10. package/bundle/ms.core-3.2.4.min.js.map +1 -0
  11. package/bundle/ms.core.gbl.js +1744 -1434
  12. package/bundle/ms.core.gbl.js.map +1 -1
  13. package/bundle/ms.core.gbl.min.js +2 -2
  14. package/bundle/ms.core.gbl.min.js.map +1 -1
  15. package/bundle/ms.core.integrity.json +17 -17
  16. package/bundle/ms.core.js +1744 -1434
  17. package/bundle/ms.core.js.map +1 -1
  18. package/bundle/ms.core.min.js +2 -2
  19. package/bundle/ms.core.min.js.map +1 -1
  20. package/dist/ms.core.js +42 -33
  21. package/dist/ms.core.js.map +1 -1
  22. package/dist/ms.core.min.js +2 -2
  23. package/dist/ms.core.min.js.map +1 -1
  24. package/dist-esm/src/AppInsightsCore.d.ts +2 -7
  25. package/dist-esm/src/AppInsightsCore.js +26 -28
  26. package/dist-esm/src/AppInsightsCore.js.map +1 -1
  27. package/dist-esm/src/BaseCore.d.ts +2 -2
  28. package/dist-esm/src/BaseCore.js +17 -11
  29. package/dist-esm/src/BaseCore.js.map +1 -1
  30. package/dist-esm/src/DataModels.js +1 -1
  31. package/dist-esm/src/ESPromise.d.ts +5 -5
  32. package/dist-esm/src/ESPromise.js +15 -15
  33. package/dist-esm/src/ESPromise.js.map +1 -1
  34. package/dist-esm/src/ESPromiseScheduler.d.ts +4 -4
  35. package/dist-esm/src/ESPromiseScheduler.js +8 -8
  36. package/dist-esm/src/ESPromiseScheduler.js.map +1 -1
  37. package/dist-esm/src/Enums.d.ts +6 -5
  38. package/dist-esm/src/Enums.js +61 -61
  39. package/dist-esm/src/Enums.js.map +1 -1
  40. package/dist-esm/src/Index.d.ts +1 -2
  41. package/dist-esm/src/Index.js +3 -3
  42. package/dist-esm/src/Index.js.map +1 -1
  43. package/dist-esm/src/InternalConstants.d.ts +6 -0
  44. package/dist-esm/src/InternalConstants.js +19 -0
  45. package/dist-esm/src/InternalConstants.js.map +1 -0
  46. package/dist-esm/src/Utils.d.ts +9 -3
  47. package/dist-esm/src/Utils.js +40 -39
  48. package/dist-esm/src/Utils.js.map +1 -1
  49. package/dist-esm/src/ValueSanitizer.d.ts +1 -1
  50. package/dist-esm/src/ValueSanitizer.js +19 -18
  51. package/dist-esm/src/ValueSanitizer.js.map +1 -1
  52. package/package.json +5 -4
  53. package/src/AppInsightsCore.ts +28 -30
  54. package/src/BaseCore.ts +13 -10
  55. package/src/ESPromise.ts +6 -6
  56. package/src/ESPromiseScheduler.ts +8 -8
  57. package/src/Enums.ts +5 -5
  58. package/src/Index.ts +3 -3
  59. package/src/InternalConstants.ts +16 -0
  60. package/src/Utils.ts +24 -24
  61. package/src/ValueSanitizer.ts +5 -4
  62. package/bundle/ms.core-3.2.1.gbl.js.map +0 -1
  63. package/bundle/ms.core-3.2.1.gbl.min.js +0 -7
  64. package/bundle/ms.core-3.2.1.gbl.min.js.map +0 -1
  65. package/bundle/ms.core-3.2.1.integrity.json +0 -46
  66. package/bundle/ms.core-3.2.1.js.map +0 -1
  67. package/bundle/ms.core-3.2.1.min.js +0 -7
  68. package/bundle/ms.core-3.2.1.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK Core, 3.2.1
2
+ * 1DS JS SDK Core, 3.2.4
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -103,26 +103,79 @@
103
103
 
104
104
  var MinChannelPriorty = 100;
105
105
 
106
- var strEmpty = "";
107
- var strProcessTelemetry = "processTelemetry";
108
- var strPriority = "priority";
109
- var strSetNextPlugin = "setNextPlugin";
110
- var strIsInitialized = "isInitialized";
111
- var strTeardown = "teardown";
112
- var strCore = "core";
113
- var strUpdate = "update";
114
- var strDisabled = "disabled";
115
- var strDoTeardown = "_doTeardown";
116
- var strProcessNext = "processNext";
117
- var strResume = "resume";
118
- var strPause = "pause";
119
- var strNotificationListener = "NotificationListener";
120
- var strAddNotificationListener = "add" + strNotificationListener;
121
- var strRemoveNotificationListener = "remove" + strNotificationListener;
122
- var strEventsSent = "eventsSent";
123
- var strEventsDiscarded = "eventsDiscarded";
124
- var strEventsSendRequest = "eventsSendRequest";
125
- var strPerfEvent = "perfEvent";
106
+ var _DYN_INITIALIZE = "initialize";
107
+ var _DYN_NAME = "name";
108
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
109
+ var _DYN_IDENTIFIER = "identifier";
110
+ var _DYN_PUSH = "push";
111
+ var _DYN_IS_INITIALIZED = "isInitialized";
112
+ var _DYN_CONFIG = "config";
113
+ var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
114
+ var _DYN_LOGGER = "logger";
115
+ var _DYN_LENGTH = "length";
116
+ var _DYN_TIME = "time";
117
+ var _DYN_PROCESS_NEXT = "processNext";
118
+ var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
119
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
120
+ var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
121
+ var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
122
+ var _DYN_ON_COMPLETE = "onComplete";
123
+ var _DYN_GET_PLUGIN = "getPlugin";
124
+ var _DYN_FLUSH = "flush";
125
+ var _DYN__EXTENSIONS = "_extensions";
126
+ var _DYN_SPLICE = "splice";
127
+ var _DYN_TEARDOWN = "teardown";
128
+ var _DYN_MESSAGE_ID = "messageId";
129
+ var _DYN_MESSAGE = "message";
130
+ var _DYN_IS_ASYNC = "isAsync";
131
+ var _DYN__DO_TEARDOWN = "_doTeardown";
132
+ var _DYN_UPDATE = "update";
133
+ var _DYN_GET_NEXT = "getNext";
134
+ var _DYN_DIAG_LOG = "diagLog";
135
+ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
136
+ var _DYN_CREATE_NEW = "createNew";
137
+ var _DYN_COOKIE_CFG = "cookieCfg";
138
+ var _DYN_INDEX_OF = "indexOf";
139
+ var _DYN_SUBSTRING = "substring";
140
+ var _DYN_USER_AGENT = "userAgent";
141
+ var _DYN_SPLIT = "split";
142
+ var _DYN_SET_ENABLED = "setEnabled";
143
+ var _DYN_REPLACE = "replace";
144
+ var _DYN_SUBSTR = "substr";
145
+ var _DYN_NODE_TYPE = "nodeType";
146
+ var _DYN_APPLY = "apply";
147
+ var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
148
+ var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
149
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
150
+ var _DYN_CALL = "call";
151
+ var _DYN_TYPE = "type";
152
+ var _DYN_HANDLER = "handler";
153
+ var _DYN_LISTENERS = "listeners";
154
+ var _DYN_IS_CHILD_EVT = "isChildEvt";
155
+ var _DYN_GET_CTX = "getCtx";
156
+ var _DYN_SET_CTX = "setCtx";
157
+ var _DYN_COMPLETE = "complete";
158
+ var _DYN_TRACE_ID = "traceId";
159
+ var _DYN_SPAN_ID = "spanId";
160
+ var _DYN_TRACE_FLAGS = "traceFlags";
161
+ var _DYN_VERSION = "version";
162
+
163
+ var STR_EMPTY$1 = "";
164
+ var STR_CHANNELS = "channels";
165
+ var STR_CORE = "core";
166
+ var STR_CREATE_PERF_MGR = "createPerfMgr";
167
+ var STR_DISABLED = "disabled";
168
+ var STR_EXTENSION_CONFIG = "extensionConfig";
169
+ var STR_EXTENSIONS = "extensions";
170
+ var STR_PROCESS_TELEMETRY = "processTelemetry";
171
+ var STR_PRIORITY = "priority";
172
+ var STR_EVENTS_SENT = "eventsSent";
173
+ var STR_EVENTS_DISCARDED = "eventsDiscarded";
174
+ var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
175
+ var STR_PERF_EVENT = "perfEvent";
176
+ var STR_ERROR_TO_CONSOLE = "errorToConsole";
177
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
178
+ var STR_GET_PERF_MGR = "getPerfMgr";
126
179
 
127
180
  var strToISOString = "toISOString";
128
181
  var cStrEndsWith = "endsWith";
@@ -147,7 +200,7 @@
147
200
  var _isArray = Array.isArray;
148
201
  var _objToString = ObjProto[strToString];
149
202
  var _fnToString = ObjHasOwnProperty[strToString];
150
- var _objFunctionString = _fnToString.call(ObjClass);
203
+ var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
151
204
  var rCamelCase = /-([a-z])/g;
152
205
  var rNormalizeInvalid = /([^\w\d_$])/g;
153
206
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
@@ -177,7 +230,7 @@
177
230
  return !isNullOrUndefined(value);
178
231
  }
179
232
  function hasOwnProperty(obj, prop) {
180
- return !!(obj && ObjHasOwnProperty.call(obj, prop));
233
+ return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
181
234
  }
182
235
  function isObject(value) {
183
236
  return !!(value && typeof value === strShimObject);
@@ -188,11 +241,11 @@
188
241
  function normalizeJsName(name) {
189
242
  var value = name;
190
243
  if (value && isString(value)) {
191
- value = value.replace(rCamelCase, function (_all, letter) {
244
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
192
245
  return letter.toUpperCase();
193
246
  });
194
- value = value.replace(rNormalizeInvalid, "_");
195
- value = value.replace(rLeadingNumeric, function (_all, match) {
247
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
248
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
196
249
  return "_" + match;
197
250
  });
198
251
  }
@@ -201,8 +254,8 @@
201
254
  function objForEachKey(target, callbackfn) {
202
255
  if (target) {
203
256
  for (var prop in target) {
204
- if (ObjHasOwnProperty.call(target, prop)) {
205
- callbackfn.call(target, prop, target[prop]);
257
+ if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
258
+ callbackfn[_DYN_CALL ](target, prop, target[prop]);
206
259
  }
207
260
  }
208
261
  }
@@ -216,8 +269,8 @@
216
269
  }
217
270
  function _strEndsWithPoly(value, search) {
218
271
  var result = false;
219
- var searchLen = search ? search.length : 0;
220
- var valLen = value ? value.length : 0;
272
+ var searchLen = search ? search[_DYN_LENGTH ] : 0;
273
+ var valLen = value ? value[_DYN_LENGTH ] : 0;
221
274
  if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {
222
275
  var pos = valLen - 1;
223
276
  for (var lp = searchLen - 1; lp >= 0; lp--) {
@@ -239,8 +292,8 @@
239
292
  }
240
293
  function _strStartsWithPoly(value, checkValue) {
241
294
  var result = false;
242
- var chkLen = checkValue ? checkValue.length : 0;
243
- if (value && chkLen && value.length >= chkLen && !(result = value === checkValue)) {
295
+ var chkLen = checkValue ? checkValue[_DYN_LENGTH ] : 0;
296
+ if (value && chkLen && value[_DYN_LENGTH ] >= chkLen && !(result = value === checkValue)) {
244
297
  for (var lp = 0; lp < chkLen; lp++) {
245
298
  if (value[lp] !== checkValue[lp]) {
246
299
  return false;
@@ -252,19 +305,19 @@
252
305
  }
253
306
  function strContains(value, search) {
254
307
  if (value && search) {
255
- return value.indexOf(search) !== -1;
308
+ return value[_DYN_INDEX_OF ](search) !== -1;
256
309
  }
257
310
  return false;
258
311
  }
259
312
  function isDate(obj) {
260
- return !!(obj && _objToString.call(obj) === "[object Date]");
313
+ return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Date]");
261
314
  }
262
315
  var isArray = _isArray || _isArrayPoly;
263
316
  function _isArrayPoly(obj) {
264
- return !!(obj && _objToString.call(obj) === "[object Array]");
317
+ return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
265
318
  }
266
319
  function isError(obj) {
267
- return !!(obj && _objToString.call(obj) === "[object Error]");
320
+ return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
268
321
  }
269
322
  function isString(value) {
270
323
  return typeof value === "string";
@@ -283,10 +336,10 @@
283
336
  result = true;
284
337
  }
285
338
  else {
286
- if (proto[strConstructor] && ObjHasOwnProperty.call(proto, strConstructor)) {
339
+ if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
287
340
  proto = proto[strConstructor];
288
341
  }
289
- result = typeof proto === strShimFunction && _fnToString.call(proto) === _objFunctionString;
342
+ result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
290
343
  }
291
344
  }
292
345
  return result;
@@ -300,7 +353,7 @@
300
353
  if (date && date.getUTCFullYear) {
301
354
  var pad = function (num) {
302
355
  var r = String(num);
303
- if (r.length === 1) {
356
+ if (r[_DYN_LENGTH ] === 1) {
304
357
  r = "0" + r;
305
358
  }
306
359
  return r;
@@ -316,11 +369,11 @@
316
369
  }
317
370
  }
318
371
  function arrForEach(arr, callbackfn, thisArg) {
319
- var len = arr.length;
372
+ var len = arr[_DYN_LENGTH ];
320
373
  try {
321
374
  for (var idx = 0; idx < len; idx++) {
322
375
  if (idx in arr) {
323
- if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
376
+ if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
324
377
  break;
325
378
  }
326
379
  }
@@ -334,7 +387,7 @@
334
387
  if (arr[strIndexOf]) {
335
388
  return arr[strIndexOf](searchElement, fromIndex);
336
389
  }
337
- var len = arr.length;
390
+ var len = arr[_DYN_LENGTH ];
338
391
  var from = fromIndex || 0;
339
392
  try {
340
393
  for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
@@ -354,13 +407,13 @@
354
407
  if (arr[strMap]) {
355
408
  return arr[strMap](callbackfn, thisArg);
356
409
  }
357
- var len = arr.length;
410
+ var len = arr[_DYN_LENGTH ];
358
411
  var _this = thisArg || arr;
359
412
  results = new Array(len);
360
413
  try {
361
414
  for (var lp = 0; lp < len; lp++) {
362
415
  if (lp in arr) {
363
- results[lp] = callbackfn.call(_this, arr[lp], arr);
416
+ results[lp] = callbackfn[_DYN_CALL ](_this, arr[lp], arr);
364
417
  }
365
418
  }
366
419
  }
@@ -375,9 +428,9 @@
375
428
  if (arr[strReduce]) {
376
429
  return arr[strReduce](callbackfn, initialValue);
377
430
  }
378
- var len = arr.length;
431
+ var len = arr[_DYN_LENGTH ];
379
432
  var lp = 0;
380
- if (arguments.length >= 3) {
433
+ if (arguments[_DYN_LENGTH ] >= 3) {
381
434
  value = arguments[2];
382
435
  }
383
436
  else {
@@ -397,7 +450,7 @@
397
450
  }
398
451
  function strTrim(str) {
399
452
  if (str) {
400
- str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str.replace ? str.replace(/^\s+|\s+$/g, "") : str);
453
+ str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE ] ? str[_DYN_REPLACE ](/^\s+|\s+$/g, STR_EMPTY$1) : str);
401
454
  }
402
455
  return str;
403
456
  }
@@ -421,15 +474,15 @@
421
474
  }
422
475
  var result = [];
423
476
  for (var prop in obj) {
424
- if (obj && ObjHasOwnProperty.call(obj, prop)) {
425
- result.push(prop);
477
+ if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
478
+ result[_DYN_PUSH ](prop);
426
479
  }
427
480
  }
428
481
  if (_objKeysHasDontEnumBug) {
429
- var dontEnumsLength = _objKeysDontEnums.length;
482
+ var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH ];
430
483
  for (var lp = 0; lp < dontEnumsLength; lp++) {
431
- if (obj && ObjHasOwnProperty.call(obj, _objKeysDontEnums[lp])) {
432
- result.push(_objKeysDontEnums[lp]);
484
+ if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
485
+ result[_DYN_PUSH ](_objKeysDontEnums[lp]);
433
486
  }
434
487
  }
435
488
  }
@@ -477,9 +530,9 @@
477
530
  }
478
531
  function getExceptionName(object) {
479
532
  if (isError(object)) {
480
- return object.name;
533
+ return object[_DYN_NAME ];
481
534
  }
482
- return strEmpty;
535
+ return STR_EMPTY$1;
483
536
  }
484
537
  function setValue(target, field, value, valChk, srcChk) {
485
538
  var theValue = value;
@@ -506,6 +559,9 @@
506
559
  }
507
560
  return theValue;
508
561
  }
562
+ function getCfgValue(theValue, defaultValue) {
563
+ return !isNullOrUndefined(theValue) ? theValue : defaultValue;
564
+ }
509
565
  function isNotTruthy(value) {
510
566
  return !value;
511
567
  }
@@ -530,7 +586,7 @@
530
586
  src = srcFunc();
531
587
  }
532
588
  if (src) {
533
- return src[funcName].apply(src, originalArguments);
589
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
534
590
  }
535
591
  };
536
592
  }
@@ -590,7 +646,7 @@
590
646
  function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
591
647
  var theArgs = arguments;
592
648
  var extended = theArgs[0] || {};
593
- var argLen = theArgs.length;
649
+ var argLen = theArgs[_DYN_LENGTH ];
594
650
  var deep = false;
595
651
  var idx = 1;
596
652
  if (argLen > 0 && isBoolean(extended)) {
@@ -606,7 +662,7 @@
606
662
  var isArgArray = isArray(arg);
607
663
  var isArgObj = isObject(arg);
608
664
  for (var prop in arg) {
609
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty.call(arg, prop)));
665
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
610
666
  if (!propOk) {
611
667
  continue;
612
668
  }
@@ -651,7 +707,7 @@
651
707
  });
652
708
 
653
709
  /*!
654
- * Microsoft Dynamic Proto Utility, 1.1.4
710
+ * Microsoft Dynamic Proto Utility, 1.1.6
655
711
  * Copyright (c) Microsoft and contributors. All rights reserved.
656
712
  */
657
713
  var Constructor = 'constructor';
@@ -666,10 +722,13 @@
666
722
  var DynProtoDefaultOptions = '_dfOpts';
667
723
  var UnknownValue = '_unknown_';
668
724
  var str__Proto = "__proto__";
725
+ var DynProtoBaseProto = "_dyn" + str__Proto;
726
+ var DynProtoCurrent = "_dynInstProto";
669
727
  var strUseBaseInst = 'useBaseInst';
670
728
  var strSetInstFuncs = 'setInstFuncs';
671
729
  var Obj = Object;
672
730
  var _objGetPrototypeOf = Obj["getPrototypeOf"];
731
+ var _objGetOwnProps = Obj["getOwnPropertyNames"];
673
732
  var _dynamicNames = 0;
674
733
  function _hasOwnProperty(obj, prop) {
675
734
  return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
@@ -681,22 +740,25 @@
681
740
  return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
682
741
  }
683
742
  function _getObjProto(target) {
743
+ var newProto;
684
744
  if (target) {
685
745
  if (_objGetPrototypeOf) {
686
746
  return _objGetPrototypeOf(target);
687
747
  }
688
- var newProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
689
- if (newProto) {
690
- return newProto;
748
+ var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
749
+ newProto = target[DynProtoBaseProto] || curProto;
750
+ if (!_hasOwnProperty(target, DynProtoBaseProto)) {
751
+ delete target[DynProtoCurrent];
752
+ newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
753
+ target[DynProtoCurrent] = curProto;
691
754
  }
692
755
  }
693
- return null;
756
+ return newProto;
694
757
  }
695
758
  function _forEachProp(target, func) {
696
759
  var props = [];
697
- var getOwnProps = Obj["getOwnPropertyNames"];
698
- if (getOwnProps) {
699
- props = getOwnProps(target);
760
+ if (_objGetOwnProps) {
761
+ props = _objGetOwnProps(target);
700
762
  }
701
763
  else {
702
764
  for (var name_1 in target) {
@@ -845,8 +907,9 @@
845
907
  visited.push(thisProto);
846
908
  thisProto = _getObjProto(thisProto);
847
909
  }
910
+ return false;
848
911
  }
849
- return false;
912
+ return true;
850
913
  }
851
914
  function _getObjName(target, unknownValue) {
852
915
  if (_hasOwnProperty(target, Prototype)) {
@@ -1030,9 +1093,9 @@
1030
1093
  }
1031
1094
  function isIE() {
1032
1095
  var nav = getNavigator();
1033
- if (nav && (nav.userAgent !== _navUserAgentCheck || _isTrident === null)) {
1034
- _navUserAgentCheck = nav.userAgent;
1035
- var userAgent = (_navUserAgentCheck || strEmpty).toLowerCase();
1096
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1097
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1098
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1036
1099
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1037
1100
  }
1038
1101
  return _isTrident;
@@ -1041,15 +1104,15 @@
1041
1104
  if (userAgentStr === void 0) { userAgentStr = null; }
1042
1105
  if (!userAgentStr) {
1043
1106
  var navigator_1 = getNavigator() || {};
1044
- userAgentStr = navigator_1 ? (navigator_1.userAgent || strEmpty).toLowerCase() : strEmpty;
1107
+ userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1045
1108
  }
1046
- var ua = (userAgentStr || strEmpty).toLowerCase();
1109
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1047
1110
  if (strContains(ua, strMsie)) {
1048
1111
  var doc = getDocument() || {};
1049
- return Math.max(parseInt(ua.split(strMsie)[1]), (doc[strDocumentMode] || 0));
1112
+ return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
1050
1113
  }
1051
1114
  else if (strContains(ua, strTrident)) {
1052
- var tridentVer = parseInt(ua.split(strTrident)[1]);
1115
+ var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
1053
1116
  if (tridentVer) {
1054
1117
  return tridentVer + 4;
1055
1118
  }
@@ -1057,10 +1120,10 @@
1057
1120
  return null;
1058
1121
  }
1059
1122
  function dumpObj(object) {
1060
- var objectTypeDump = Object[strShimPrototype].toString.call(object);
1061
- var propertyValueDump = strEmpty;
1123
+ var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
1124
+ var propertyValueDump = STR_EMPTY$1;
1062
1125
  if (objectTypeDump === "[object Error]") {
1063
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
1126
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME ] + "'";
1064
1127
  }
1065
1128
  else if (hasJSON()) {
1066
1129
  propertyValueDump = getJSON().stringify(object);
@@ -1105,6 +1168,35 @@
1105
1168
  }
1106
1169
  return isSupported;
1107
1170
  }
1171
+ function _getNamedValue(values, name) {
1172
+ if (values) {
1173
+ for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
1174
+ var value = values[i];
1175
+ if (value[_DYN_NAME ]) {
1176
+ if (value[_DYN_NAME ] === name) {
1177
+ return value;
1178
+ }
1179
+ }
1180
+ }
1181
+ }
1182
+ return {};
1183
+ }
1184
+ function findMetaTag(name) {
1185
+ var doc = getDocument();
1186
+ if (doc && name) {
1187
+ return _getNamedValue(doc.querySelectorAll("meta"), name).content;
1188
+ }
1189
+ return null;
1190
+ }
1191
+ function findNamedServerTiming(name) {
1192
+ var value;
1193
+ var perf = getPerformance();
1194
+ if (perf) {
1195
+ var navPerf = perf.getEntriesByType("navigation") || [];
1196
+ value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
1197
+ }
1198
+ return value;
1199
+ }
1108
1200
 
1109
1201
  var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
1110
1202
  var _aiNamespace = null;
@@ -1116,7 +1208,7 @@
1116
1208
  if (dbgExt) {
1117
1209
  var listener = dbgExt.listener;
1118
1210
  if (listener && listener[name]) {
1119
- listener[name].apply(listener, args);
1211
+ listener[name][_DYN_APPLY ](listener, args);
1120
1212
  }
1121
1213
  }
1122
1214
  };
@@ -1138,7 +1230,7 @@
1138
1230
  function getDebugListener(config) {
1139
1231
  if (!_debugListener) {
1140
1232
  _debugListener = {};
1141
- for (var lp = 0; lp < listenerFuncs.length; lp++) {
1233
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
1142
1234
  _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1143
1235
  }
1144
1236
  }
@@ -1148,13 +1240,11 @@
1148
1240
  var AiNonUserActionablePrefix = "AI (Internal): ";
1149
1241
  var AiUserActionablePrefix = "AI: ";
1150
1242
  var AIInternalMessagePrefix = "AITR_";
1151
- var strErrorToConsole = "errorToConsole";
1152
- var strWarnToConsole = "warnToConsole";
1153
1243
  function _sanitizeDiagnosticText(text) {
1154
1244
  if (text) {
1155
- return "\"" + text.replace(/\"/g, strEmpty) + "\"";
1245
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
1156
1246
  }
1157
- return strEmpty;
1247
+ return STR_EMPTY$1;
1158
1248
  }
1159
1249
  function _logToConsole(func, message) {
1160
1250
  var theConsole = getConsole();
@@ -1172,23 +1262,23 @@
1172
1262
  function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1173
1263
  if (isUserAct === void 0) { isUserAct = false; }
1174
1264
  var _self = this;
1175
- _self.messageId = msgId;
1176
- _self.message =
1265
+ _self[_DYN_MESSAGE_ID ] = msgId;
1266
+ _self[_DYN_MESSAGE ] =
1177
1267
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1178
1268
  msgId;
1179
- var strProps = strEmpty;
1269
+ var strProps = STR_EMPTY$1;
1180
1270
  if (hasJSON()) {
1181
1271
  strProps = getJSON().stringify(properties);
1182
1272
  }
1183
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : strEmpty) +
1184
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : strEmpty);
1185
- _self.message += diagnosticText;
1273
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
1274
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
1275
+ _self[_DYN_MESSAGE ] += diagnosticText;
1186
1276
  }
1187
1277
  _InternalLogMessage.dataType = "MessageData";
1188
1278
  return _InternalLogMessage;
1189
1279
  }());
1190
1280
  function safeGetLogger(core, config) {
1191
- return (core || {}).logger || new DiagnosticLogger(config);
1281
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
1192
1282
  }
1193
1283
  var DiagnosticLogger = /** @class */ (function () {
1194
1284
  function DiagnosticLogger(config) {
@@ -1196,48 +1286,49 @@
1196
1286
  this.queue = [];
1197
1287
  var _messageCount = 0;
1198
1288
  var _messageLogged = {};
1289
+ var _loggingLevelConsole;
1290
+ var _loggingLevelTelemetry;
1291
+ var _maxInternalMessageLimit;
1292
+ var _enableDebugExceptions;
1199
1293
  dynamicProto(DiagnosticLogger, this, function (_self) {
1200
- if (isNullOrUndefined(config)) {
1201
- config = {};
1202
- }
1203
- _self.consoleLoggingLevel = function () { return _getConfigValue("loggingLevelConsole", 0); };
1204
- _self.telemetryLoggingLevel = function () { return _getConfigValue("loggingLevelTelemetry", 1); };
1205
- _self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
1206
- _self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
1294
+ _setDefaultsFromConfig(config || {});
1295
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
1296
+ _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
1297
+ _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
1298
+ _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
1207
1299
  _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1208
1300
  if (isUserAct === void 0) { isUserAct = false; }
1209
1301
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
1210
- if (_self.enableDebugExceptions()) {
1211
- throw message;
1302
+ if (_enableDebugExceptions) {
1303
+ throw dumpObj(message);
1212
1304
  }
1213
1305
  else {
1214
- var logFunc = severity === 1 ? strErrorToConsole : strWarnToConsole;
1215
- if (!isUndefined(message.message)) {
1216
- var logLevel = _self.consoleLoggingLevel();
1306
+ var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
1307
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
1217
1308
  if (isUserAct) {
1218
- var messageKey = +message.messageId;
1219
- if (!_messageLogged[messageKey] && logLevel >= severity) {
1220
- _self[logFunc](message.message);
1309
+ var messageKey = +message[_DYN_MESSAGE_ID ];
1310
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
1311
+ _self[logFunc](message[_DYN_MESSAGE ]);
1221
1312
  _messageLogged[messageKey] = true;
1222
1313
  }
1223
1314
  }
1224
1315
  else {
1225
- if (logLevel >= severity) {
1226
- _self[logFunc](message.message);
1316
+ if (_loggingLevelConsole >= severity) {
1317
+ _self[logFunc](message[_DYN_MESSAGE ]);
1227
1318
  }
1228
1319
  }
1229
- _self.logInternalMessage(severity, message);
1320
+ _logInternalMessage(severity, message);
1230
1321
  }
1231
1322
  else {
1232
1323
  _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
1233
1324
  }
1234
1325
  }
1235
1326
  };
1236
- _self.warnToConsole = function (message) {
1327
+ _self[STR_WARN_TO_CONSOLE ] = function (message) {
1237
1328
  _logToConsole("warn", message);
1238
1329
  _debugExtMsg("warning", message);
1239
1330
  };
1240
- _self.errorToConsole = function (message) {
1331
+ _self[STR_ERROR_TO_CONSOLE ] = function (message) {
1241
1332
  _logToConsole("error", message);
1242
1333
  _debugExtMsg("error", message);
1243
1334
  };
@@ -1245,12 +1336,13 @@
1245
1336
  _messageCount = 0;
1246
1337
  _messageLogged = {};
1247
1338
  };
1248
- _self.logInternalMessage = function (severity, message) {
1339
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
1340
+ function _logInternalMessage(severity, message) {
1249
1341
  if (_areInternalMessagesThrottled()) {
1250
1342
  return;
1251
1343
  }
1252
1344
  var logMessage = true;
1253
- var messageKey = AIInternalMessagePrefix + message.messageId;
1345
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
1254
1346
  if (_messageLogged[messageKey]) {
1255
1347
  logMessage = false;
1256
1348
  }
@@ -1258,42 +1350,42 @@
1258
1350
  _messageLogged[messageKey] = true;
1259
1351
  }
1260
1352
  if (logMessage) {
1261
- if (severity <= _self.telemetryLoggingLevel()) {
1262
- _self.queue.push(message);
1353
+ if (severity <= _loggingLevelTelemetry) {
1354
+ _self.queue[_DYN_PUSH ](message);
1263
1355
  _messageCount++;
1264
1356
  _debugExtMsg((severity === 1 ? "error" : "warn"), message);
1265
1357
  }
1266
- if (_messageCount === _self.maxInternalMessageLimit()) {
1358
+ if (_messageCount === _maxInternalMessageLimit) {
1267
1359
  var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
1268
1360
  var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
1269
- _self.queue.push(throttleMessage);
1361
+ _self.queue[_DYN_PUSH ](throttleMessage);
1270
1362
  if (severity === 1 ) {
1271
- _self.errorToConsole(throttleLimitMessage);
1363
+ _self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
1272
1364
  }
1273
1365
  else {
1274
- _self.warnToConsole(throttleLimitMessage);
1366
+ _self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
1275
1367
  }
1276
1368
  }
1277
1369
  }
1278
- };
1279
- function _getConfigValue(name, defValue) {
1280
- var value = config[name];
1281
- if (!isNullOrUndefined(value)) {
1282
- return value;
1283
- }
1284
- return defValue;
1370
+ }
1371
+ function _setDefaultsFromConfig(config) {
1372
+ _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1373
+ _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1374
+ _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1375
+ _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
1285
1376
  }
1286
1377
  function _areInternalMessagesThrottled() {
1287
- return _messageCount >= _self.maxInternalMessageLimit();
1378
+ return _messageCount >= _maxInternalMessageLimit;
1288
1379
  }
1289
1380
  function _debugExtMsg(name, data) {
1290
- var dbgExt = getDebugExt(config);
1291
- if (dbgExt && dbgExt.diagLog) {
1292
- dbgExt.diagLog(name, data);
1381
+ var dbgExt = getDebugExt(config || {});
1382
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
1383
+ dbgExt[_DYN_DIAG_LOG ](name, data);
1293
1384
  }
1294
1385
  }
1295
1386
  });
1296
1387
  }
1388
+ DiagnosticLogger.__ieDyn=1;
1297
1389
  return DiagnosticLogger;
1298
1390
  }());
1299
1391
  function _getLogger(logger) {
@@ -1301,22 +1393,27 @@
1301
1393
  }
1302
1394
  function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1303
1395
  if (isUserAct === void 0) { isUserAct = false; }
1304
- (logger || new DiagnosticLogger()).throwInternal(severity, msgId, msg, properties, isUserAct);
1396
+ _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
1305
1397
  }
1306
1398
  function _warnToConsole(logger, message) {
1307
- _getLogger(logger).warnToConsole(message);
1399
+ _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
1400
+ }
1401
+ function _logInternalMessage(logger, severity, message) {
1402
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
1308
1403
  }
1309
1404
 
1310
1405
  var strExecutionContextKey = "ctx";
1406
+ var strParentContextKey = "ParentContextKey";
1407
+ var strChildrenContextKey = "ChildrenContextKey";
1311
1408
  var _defaultPerfManager = null;
1312
1409
  var PerfEvent = /** @class */ (function () {
1313
1410
  function PerfEvent(name, payloadDetails, isAsync) {
1314
1411
  var _self = this;
1315
1412
  var accessorDefined = false;
1316
1413
  _self.start = dateNow();
1317
- _self.name = name;
1318
- _self.isAsync = isAsync;
1319
- _self.isChildEvt = function () { return false; };
1414
+ _self[_DYN_NAME ] = name;
1415
+ _self[_DYN_IS_ASYNC ] = isAsync;
1416
+ _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
1320
1417
  if (isFunction(payloadDetails)) {
1321
1418
  var theDetails_1;
1322
1419
  accessorDefined = objDefineAccessors(_self, "payload", function () {
@@ -1327,24 +1424,24 @@
1327
1424
  return theDetails_1;
1328
1425
  });
1329
1426
  }
1330
- _self.getCtx = function (key) {
1427
+ _self[_DYN_GET_CTX ] = function (key) {
1331
1428
  if (key) {
1332
- if (key === PerfEvent.ParentContextKey || key === PerfEvent.ChildrenContextKey) {
1429
+ if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
1333
1430
  return _self[key];
1334
1431
  }
1335
1432
  return (_self[strExecutionContextKey] || {})[key];
1336
1433
  }
1337
1434
  return null;
1338
1435
  };
1339
- _self.setCtx = function (key, value) {
1436
+ _self[_DYN_SET_CTX ] = function (key, value) {
1340
1437
  if (key) {
1341
- if (key === PerfEvent.ParentContextKey) {
1438
+ if (key === PerfEvent[strParentContextKey]) {
1342
1439
  if (!_self[key]) {
1343
- _self.isChildEvt = function () { return true; };
1440
+ _self[_DYN_IS_CHILD_EVT ] = function () { return true; };
1344
1441
  }
1345
1442
  _self[key] = value;
1346
1443
  }
1347
- else if (key === PerfEvent.ChildrenContextKey) {
1444
+ else if (key === PerfEvent[strChildrenContextKey]) {
1348
1445
  _self[key] = value;
1349
1446
  }
1350
1447
  else {
@@ -1353,20 +1450,20 @@
1353
1450
  }
1354
1451
  }
1355
1452
  };
1356
- _self.complete = function () {
1453
+ _self[_DYN_COMPLETE ] = function () {
1357
1454
  var childTime = 0;
1358
- var childEvts = _self.getCtx(PerfEvent.ChildrenContextKey);
1455
+ var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1359
1456
  if (isArray(childEvts)) {
1360
- for (var lp = 0; lp < childEvts.length; lp++) {
1457
+ for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
1361
1458
  var childEvt = childEvts[lp];
1362
1459
  if (childEvt) {
1363
- childTime += childEvt.time;
1460
+ childTime += childEvt[_DYN_TIME ];
1364
1461
  }
1365
1462
  }
1366
1463
  }
1367
- _self.time = dateNow() - _self.start;
1368
- _self.exTime = _self.time - childTime;
1369
- _self.complete = function () { };
1464
+ _self[_DYN_TIME ] = dateNow() - _self.start;
1465
+ _self.exTime = _self[_DYN_TIME ] - childTime;
1466
+ _self[_DYN_COMPLETE ] = function () { };
1370
1467
  if (!accessorDefined && isFunction(payloadDetails)) {
1371
1468
  _self.payload = payloadDetails();
1372
1469
  }
@@ -1385,63 +1482,64 @@
1385
1482
  };
1386
1483
  _self.fire = function (perfEvent) {
1387
1484
  if (perfEvent) {
1388
- perfEvent.complete();
1389
- if (manager && isFunction(manager.perfEvent)) {
1390
- manager.perfEvent(perfEvent);
1485
+ perfEvent[_DYN_COMPLETE ]();
1486
+ if (manager && isFunction(manager[STR_PERF_EVENT ])) {
1487
+ manager[STR_PERF_EVENT ](perfEvent);
1391
1488
  }
1392
1489
  }
1393
1490
  };
1394
- _self.setCtx = function (key, value) {
1491
+ _self[_DYN_SET_CTX ] = function (key, value) {
1395
1492
  if (key) {
1396
1493
  var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
1397
1494
  ctx[key] = value;
1398
1495
  }
1399
1496
  };
1400
- _self.getCtx = function (key) {
1497
+ _self[_DYN_GET_CTX ] = function (key) {
1401
1498
  return (_self[strExecutionContextKey] || {})[key];
1402
1499
  };
1403
1500
  });
1404
1501
  }
1502
+ PerfManager.__ieDyn=1;
1405
1503
  return PerfManager;
1406
1504
  }());
1407
1505
  var doPerfActiveKey = "CoreUtils.doPerf";
1408
1506
  function doPerf(mgrSource, getSource, func, details, isAsync) {
1409
1507
  if (mgrSource) {
1410
1508
  var perfMgr = mgrSource;
1411
- if (isFunction(perfMgr["getPerfMgr"])) {
1412
- perfMgr = perfMgr["getPerfMgr"]();
1509
+ if (perfMgr[STR_GET_PERF_MGR]) {
1510
+ perfMgr = perfMgr[STR_GET_PERF_MGR]();
1413
1511
  }
1414
1512
  if (perfMgr) {
1415
1513
  var perfEvt = void 0;
1416
- var currentActive = perfMgr.getCtx(doPerfActiveKey);
1514
+ var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
1417
1515
  try {
1418
1516
  perfEvt = perfMgr.create(getSource(), details, isAsync);
1419
1517
  if (perfEvt) {
1420
- if (currentActive && perfEvt.setCtx) {
1421
- perfEvt.setCtx(PerfEvent.ParentContextKey, currentActive);
1422
- if (currentActive.getCtx && currentActive.setCtx) {
1423
- var children = currentActive.getCtx(PerfEvent.ChildrenContextKey);
1518
+ if (currentActive && perfEvt[_DYN_SET_CTX ]) {
1519
+ perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
1520
+ if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
1521
+ var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1424
1522
  if (!children) {
1425
1523
  children = [];
1426
- currentActive.setCtx(PerfEvent.ChildrenContextKey, children);
1524
+ currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
1427
1525
  }
1428
- children.push(perfEvt);
1526
+ children[_DYN_PUSH ](perfEvt);
1429
1527
  }
1430
1528
  }
1431
- perfMgr.setCtx(doPerfActiveKey, perfEvt);
1529
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
1432
1530
  return func(perfEvt);
1433
1531
  }
1434
1532
  }
1435
1533
  catch (ex) {
1436
- if (perfEvt && perfEvt.setCtx) {
1437
- perfEvt.setCtx("exception", ex);
1534
+ if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
1535
+ perfEvt[_DYN_SET_CTX ]("exception", ex);
1438
1536
  }
1439
1537
  }
1440
1538
  finally {
1441
1539
  if (perfEvt) {
1442
1540
  perfMgr.fire(perfEvt);
1443
1541
  }
1444
- perfMgr.setCtx(doPerfActiveKey, currentActive);
1542
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
1445
1543
  }
1446
1544
  }
1447
1545
  }
@@ -1520,8 +1618,8 @@
1520
1618
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1521
1619
  var number = random32() >>> 0;
1522
1620
  var chars = 0;
1523
- var result = strEmpty;
1524
- while (result.length < maxLength) {
1621
+ var result = STR_EMPTY$1;
1622
+ while (result[_DYN_LENGTH ] < maxLength) {
1525
1623
  chars++;
1526
1624
  result += base64chars.charAt(number & 0x3F);
1527
1625
  number >>>= 6;
@@ -1534,7 +1632,7 @@
1534
1632
  }
1535
1633
 
1536
1634
  var _objDefineProperty = ObjDefineProperty;
1537
- var version = "2.8.1";
1635
+ var version = '2.8.5';
1538
1636
  var instanceName = "." + newId(6);
1539
1637
  var _dataUid = 0;
1540
1638
  function _createAccessor(target, prop, value) {
@@ -1553,7 +1651,7 @@
1553
1651
  return false;
1554
1652
  }
1555
1653
  function _canAcceptData(target) {
1556
- return target.nodeType === 1 || target.nodeType === 9 || !(+target.nodeType);
1654
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1557
1655
  }
1558
1656
  function _getCache(data, target) {
1559
1657
  var theCache = target[data.id];
@@ -1573,11 +1671,11 @@
1573
1671
  }
1574
1672
  function createUniqueNamespace(name, includeVersion) {
1575
1673
  if (includeVersion === void 0) { includeVersion = false; }
1576
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : "") + instanceName);
1674
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1577
1675
  }
1578
1676
  function createElmNodeData(name) {
1579
1677
  var data = {
1580
- id: createUniqueNamespace("_aiData-" + (name || "") + "." + version),
1678
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1581
1679
  accept: function (target) {
1582
1680
  return _canAcceptData(target);
1583
1681
  },
@@ -1605,190 +1703,938 @@
1605
1703
  return data;
1606
1704
  }
1607
1705
 
1608
- var pluginStateData = createElmNodeData("plugin");
1609
- function _getPluginState(plugin) {
1610
- return pluginStateData.get(plugin, "state", {}, true);
1706
+ var strToGMTString = "toGMTString";
1707
+ var strToUTCString = "toUTCString";
1708
+ var strCookie = "cookie";
1709
+ var strExpires = "expires";
1710
+ var strEnabled = "enabled";
1711
+ var strIsCookieUseDisabled = "isCookieUseDisabled";
1712
+ var strDisableCookiesUsage = "disableCookiesUsage";
1713
+ var strConfigCookieMgr = "_ckMgr";
1714
+ var _supportsCookies = null;
1715
+ var _allowUaSameSite = null;
1716
+ var _parsedCookieValue = null;
1717
+ var _doc = getDocument();
1718
+ var _cookieCache = {};
1719
+ var _globalCookieConfig = {};
1720
+ function _gblCookieMgr(config, logger) {
1721
+ var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
1722
+ if (!inst) {
1723
+ inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
1724
+ _globalCookieConfig[strConfigCookieMgr] = inst;
1725
+ }
1726
+ return inst;
1611
1727
  }
1612
- function initializePlugins(processContext, extensions) {
1613
- var initPlugins = [];
1614
- var lastPlugin = null;
1615
- var proxy = processContext.getNext();
1616
- var pluginState;
1617
- while (proxy) {
1618
- var thePlugin = proxy.getPlugin();
1619
- if (thePlugin) {
1620
- if (lastPlugin &&
1621
- isFunction(lastPlugin[strSetNextPlugin]) &&
1622
- isFunction(thePlugin[strProcessTelemetry])) {
1623
- lastPlugin[strSetNextPlugin](thePlugin);
1624
- }
1625
- var isInitialized = false;
1626
- if (isFunction(thePlugin[strIsInitialized])) {
1627
- isInitialized = thePlugin[strIsInitialized]();
1628
- }
1629
- else {
1630
- pluginState = _getPluginState(thePlugin);
1631
- isInitialized = pluginState[strIsInitialized];
1632
- }
1633
- if (!isInitialized) {
1634
- initPlugins.push(thePlugin);
1635
- }
1636
- lastPlugin = thePlugin;
1637
- proxy = proxy.getNext();
1638
- }
1728
+ function _isMgrEnabled(cookieMgr) {
1729
+ if (cookieMgr) {
1730
+ return cookieMgr.isEnabled();
1639
1731
  }
1640
- arrForEach(initPlugins, function (thePlugin) {
1641
- var core = processContext.core();
1642
- thePlugin.initialize(processContext.getCfg(), core, extensions, processContext.getNext());
1643
- pluginState = _getPluginState(thePlugin);
1644
- if (!thePlugin[strCore] && !pluginState[strCore]) {
1645
- pluginState[strCore] = core;
1646
- }
1647
- pluginState[strIsInitialized] = true;
1648
- delete pluginState[strTeardown];
1649
- });
1732
+ return true;
1650
1733
  }
1651
- function sortPlugins(plugins) {
1652
- return plugins.sort(function (extA, extB) {
1653
- var result = 0;
1654
- var bHasProcess = isFunction(extB[strProcessTelemetry]);
1655
- if (isFunction(extA[strProcessTelemetry])) {
1656
- result = bHasProcess ? extA[strPriority] - extB[strPriority] : 1;
1657
- }
1658
- else if (bHasProcess) {
1659
- result = -1;
1734
+ function _createCookieMgrConfig(rootConfig) {
1735
+ var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
1736
+ setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
1737
+ setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
1738
+ if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
1739
+ var cookieEnabled = void 0;
1740
+ if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
1741
+ cookieEnabled = !rootConfig[strIsCookieUseDisabled];
1660
1742
  }
1661
- return result;
1662
- });
1663
- }
1664
-
1665
- var strTelemetryPluginChain = "TelemetryPluginChain";
1666
- var strHasRunFlags = "_hasRun";
1667
- var strGetTelCtx = "_getTelCtx";
1668
- var _chainId = 0;
1669
- function _getNextProxyStart(proxy, core, startAt) {
1670
- while (proxy) {
1671
- if (proxy.getPlugin() === startAt) {
1672
- return proxy;
1743
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
1744
+ cookieEnabled = !rootConfig[strDisableCookiesUsage];
1673
1745
  }
1674
- proxy = proxy.getNext();
1746
+ cookieMgrCfg[strEnabled] = cookieEnabled;
1675
1747
  }
1676
- return createTelemetryProxyChain([startAt], core.config || {}, core);
1748
+ return cookieMgrCfg;
1677
1749
  }
1678
- function _createInternalContext(telemetryChain, config, core, startAt) {
1679
- var _nextProxy = null;
1680
- var _onComplete = [];
1681
- if (startAt !== null) {
1682
- _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
1750
+ function safeGetCookieMgr(core, config) {
1751
+ var cookieMgr;
1752
+ if (core) {
1753
+ cookieMgr = core.getCookieMgr();
1683
1754
  }
1684
- var context = {
1685
- _next: _moveNext,
1686
- ctx: {
1687
- core: function () {
1688
- return core;
1689
- },
1690
- diagLog: function () {
1691
- return safeGetLogger(core, config);
1692
- },
1693
- getCfg: function () {
1694
- return config;
1695
- },
1696
- getExtCfg: _getExtCfg,
1697
- getConfig: _getConfig,
1698
- hasNext: function () {
1699
- return !!_nextProxy;
1700
- },
1701
- getNext: function () {
1702
- return _nextProxy;
1703
- },
1704
- setNext: function (nextPlugin) {
1705
- _nextProxy = nextPlugin;
1706
- },
1707
- iterate: _iterateChain,
1708
- onComplete: _addOnComplete
1709
- }
1710
- };
1711
- function _addOnComplete(onComplete, that) {
1712
- var args = [];
1713
- for (var _i = 2; _i < arguments.length; _i++) {
1714
- args[_i - 2] = arguments[_i];
1755
+ else if (config) {
1756
+ var cookieCfg = config[_DYN_COOKIE_CFG ];
1757
+ if (cookieCfg[strConfigCookieMgr]) {
1758
+ cookieMgr = cookieCfg[strConfigCookieMgr];
1715
1759
  }
1716
- if (onComplete) {
1717
- _onComplete.push({
1718
- func: onComplete,
1719
- self: !isUndefined(that) ? that : context.ctx,
1720
- args: args
1721
- });
1760
+ else {
1761
+ cookieMgr = createCookieMgr(config);
1722
1762
  }
1723
1763
  }
1724
- function _moveNext() {
1725
- var nextProxy = _nextProxy;
1726
- _nextProxy = nextProxy ? nextProxy.getNext() : null;
1727
- if (!nextProxy) {
1728
- var onComplete = _onComplete;
1729
- if (onComplete && onComplete.length > 0) {
1730
- arrForEach(onComplete, function (completeDetails) {
1731
- try {
1732
- completeDetails.func.call(completeDetails.self, completeDetails.args);
1733
- }
1734
- catch (e) {
1735
- _throwInternal(core.logger, 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
1736
- }
1737
- });
1738
- _onComplete = [];
1739
- }
1740
- }
1741
- return nextProxy;
1764
+ if (!cookieMgr) {
1765
+ cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
1742
1766
  }
1743
- function _getExtCfg(identifier, defaultValue, mergeDefault) {
1744
- if (defaultValue === void 0) { defaultValue = {}; }
1745
- if (mergeDefault === void 0) { mergeDefault = 0 ; }
1746
- var theConfig;
1747
- if (config) {
1748
- var extConfig = config.extensionConfig;
1749
- if (extConfig && identifier) {
1750
- theConfig = extConfig[identifier];
1767
+ return cookieMgr;
1768
+ }
1769
+ function createCookieMgr(rootConfig, logger) {
1770
+ var _a;
1771
+ var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
1772
+ var _path = cookieMgrConfig.path || "/";
1773
+ var _domain = cookieMgrConfig.domain;
1774
+ var _enabled = cookieMgrConfig[strEnabled] !== false;
1775
+ var cookieMgr = (_a = {
1776
+ isEnabled: function () {
1777
+ var enabled = _enabled && areCookiesSupported(logger);
1778
+ var gblManager = _globalCookieConfig[strConfigCookieMgr];
1779
+ if (enabled && gblManager && cookieMgr !== gblManager) {
1780
+ enabled = _isMgrEnabled(gblManager);
1781
+ }
1782
+ return enabled;
1751
1783
  }
1752
- }
1753
- if (!theConfig) {
1754
- theConfig = defaultValue;
1755
- }
1756
- else if (isObject(defaultValue)) {
1757
- if (mergeDefault !== 0 ) {
1758
- var newConfig_1 = objExtend(true, defaultValue, theConfig);
1759
- if (config && mergeDefault === 2 ) {
1760
- objForEachKey(defaultValue, function (field) {
1761
- if (isNullOrUndefined(newConfig_1[field])) {
1762
- var cfgValue = config[field];
1763
- if (!isNullOrUndefined(cfgValue)) {
1764
- newConfig_1[field] = cfgValue;
1765
- }
1784
+ },
1785
+ _a[_DYN_SET_ENABLED ] = function (value) {
1786
+ _enabled = value !== false;
1787
+ },
1788
+ _a.set = function (name, value, maxAgeSec, domain, path) {
1789
+ var result = false;
1790
+ if (_isMgrEnabled(cookieMgr)) {
1791
+ var values = {};
1792
+ var theValue = strTrim(value || STR_EMPTY$1);
1793
+ var idx = theValue[_DYN_INDEX_OF ](";");
1794
+ if (idx !== -1) {
1795
+ theValue = strTrim(value[_DYN_SUBSTRING ](0, idx));
1796
+ values = _extractParts(value[_DYN_SUBSTRING ](idx + 1));
1797
+ }
1798
+ setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
1799
+ if (!isNullOrUndefined(maxAgeSec)) {
1800
+ var _isIE = isIE();
1801
+ if (isUndefined(values[strExpires])) {
1802
+ var nowMs = dateNow();
1803
+ var expireMs = nowMs + (maxAgeSec * 1000);
1804
+ if (expireMs > 0) {
1805
+ var expiry = new Date();
1806
+ expiry.setTime(expireMs);
1807
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
1766
1808
  }
1767
- });
1809
+ }
1810
+ if (!_isIE) {
1811
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
1812
+ }
1768
1813
  }
1769
- theConfig = newConfig_1;
1770
- }
1771
- }
1772
- return theConfig;
1773
- }
1774
- function _getConfig(identifier, field, defaultValue) {
1775
- if (defaultValue === void 0) { defaultValue = false; }
1776
- var theValue;
1777
- var extConfig = _getExtCfg(identifier, null);
1778
- if (extConfig && !isNullOrUndefined(extConfig[field])) {
1779
- theValue = extConfig[field];
1780
- }
1781
- else if (config && !isNullOrUndefined(config[field])) {
1782
- theValue = config[field];
1783
- }
1784
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
1785
- }
1786
- function _iterateChain(cb) {
1787
- var nextPlugin;
1788
- while (!!(nextPlugin = context._next())) {
1789
- var plugin = nextPlugin.getPlugin();
1790
- if (plugin) {
1791
- cb(plugin);
1814
+ var location_1 = getLocation();
1815
+ if (location_1 && location_1.protocol === "https:") {
1816
+ setValue(values, "secure", null, null, isUndefined);
1817
+ if (_allowUaSameSite === null) {
1818
+ _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
1819
+ }
1820
+ if (_allowUaSameSite) {
1821
+ setValue(values, "SameSite", "None", null, isUndefined);
1822
+ }
1823
+ }
1824
+ setValue(values, "path", path || _path, null, isUndefined);
1825
+ var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
1826
+ setCookieFn(name, _formatCookieValue(theValue, values));
1827
+ result = true;
1828
+ }
1829
+ return result;
1830
+ },
1831
+ _a.get = function (name) {
1832
+ var value = STR_EMPTY$1;
1833
+ if (_isMgrEnabled(cookieMgr)) {
1834
+ value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
1835
+ }
1836
+ return value;
1837
+ },
1838
+ _a.del = function (name, path) {
1839
+ var result = false;
1840
+ if (_isMgrEnabled(cookieMgr)) {
1841
+ result = cookieMgr.purge(name, path);
1842
+ }
1843
+ return result;
1844
+ },
1845
+ _a.purge = function (name, path) {
1846
+ var _a;
1847
+ var result = false;
1848
+ if (areCookiesSupported(logger)) {
1849
+ var values = (_a = {},
1850
+ _a["path"] = path ? path : "/",
1851
+ _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
1852
+ _a);
1853
+ if (!isIE()) {
1854
+ values["max-age"] = "0";
1855
+ }
1856
+ var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
1857
+ delCookie(name, _formatCookieValue(STR_EMPTY$1, values));
1858
+ result = true;
1859
+ }
1860
+ return result;
1861
+ },
1862
+ _a);
1863
+ cookieMgr[strConfigCookieMgr] = cookieMgr;
1864
+ return cookieMgr;
1865
+ }
1866
+ function areCookiesSupported(logger) {
1867
+ if (_supportsCookies === null) {
1868
+ _supportsCookies = false;
1869
+ try {
1870
+ var doc = _doc || {};
1871
+ _supportsCookies = doc[strCookie] !== undefined;
1872
+ }
1873
+ catch (e) {
1874
+ _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
1875
+ }
1876
+ }
1877
+ return _supportsCookies;
1878
+ }
1879
+ function _extractParts(theValue) {
1880
+ var values = {};
1881
+ if (theValue && theValue[_DYN_LENGTH ]) {
1882
+ var parts = strTrim(theValue)[_DYN_SPLIT ](";");
1883
+ arrForEach(parts, function (thePart) {
1884
+ thePart = strTrim(thePart || STR_EMPTY$1);
1885
+ if (thePart) {
1886
+ var idx = thePart[_DYN_INDEX_OF ]("=");
1887
+ if (idx === -1) {
1888
+ values[thePart] = null;
1889
+ }
1890
+ else {
1891
+ values[strTrim(thePart[_DYN_SUBSTRING ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING ](idx + 1));
1892
+ }
1893
+ }
1894
+ });
1895
+ }
1896
+ return values;
1897
+ }
1898
+ function _formatDate(theDate, func) {
1899
+ if (isFunction(theDate[func])) {
1900
+ return theDate[func]();
1901
+ }
1902
+ return null;
1903
+ }
1904
+ function _formatCookieValue(value, values) {
1905
+ var cookieValue = value || STR_EMPTY$1;
1906
+ objForEachKey(values, function (name, theValue) {
1907
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
1908
+ });
1909
+ return cookieValue;
1910
+ }
1911
+ function _getCookieValue(name) {
1912
+ var cookieValue = STR_EMPTY$1;
1913
+ if (_doc) {
1914
+ var theCookie = _doc[strCookie] || STR_EMPTY$1;
1915
+ if (_parsedCookieValue !== theCookie) {
1916
+ _cookieCache = _extractParts(theCookie);
1917
+ _parsedCookieValue = theCookie;
1918
+ }
1919
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
1920
+ }
1921
+ return cookieValue;
1922
+ }
1923
+ function _setCookieValue(name, cookieValue) {
1924
+ if (_doc) {
1925
+ _doc[strCookie] = name + "=" + cookieValue;
1926
+ }
1927
+ }
1928
+ function uaDisallowsSameSiteNone(userAgent) {
1929
+ if (!isString(userAgent)) {
1930
+ return false;
1931
+ }
1932
+ if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
1933
+ return true;
1934
+ }
1935
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
1936
+ return true;
1937
+ }
1938
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
1939
+ return true;
1940
+ }
1941
+ if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
1942
+ return true;
1943
+ }
1944
+ if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
1945
+ return true;
1946
+ }
1947
+ if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
1948
+ return true;
1949
+ }
1950
+ return false;
1951
+ }
1952
+
1953
+ var strOnPrefix = "on";
1954
+ var strAttachEvent = "attachEvent";
1955
+ var strAddEventHelper = "addEventListener";
1956
+ var strDetachEvent = "detachEvent";
1957
+ var strRemoveEventListener = "removeEventListener";
1958
+ var strEvents = "events";
1959
+ var strVisibilityChangeEvt = "visibilitychange";
1960
+ var strPageHide = "pagehide";
1961
+ var strPageShow = "pageshow";
1962
+ var strUnload = "unload";
1963
+ var strBeforeUnload = "beforeunload";
1964
+ var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
1965
+ var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
1966
+ var rRemoveEmptyNs = /\.[\.]+/g;
1967
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
1968
+ var _guid = 1;
1969
+ var elmNodeData = createElmNodeData("events");
1970
+ var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
1971
+ function _normalizeNamespace(name) {
1972
+ if (name && name[_DYN_REPLACE ]) {
1973
+ return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY$1);
1974
+ }
1975
+ return name;
1976
+ }
1977
+ function _getEvtNamespace(eventName, evtNamespace) {
1978
+ var _a;
1979
+ if (evtNamespace) {
1980
+ var theNamespace_1 = STR_EMPTY$1;
1981
+ if (isArray(evtNamespace)) {
1982
+ theNamespace_1 = STR_EMPTY$1;
1983
+ arrForEach(evtNamespace, function (name) {
1984
+ name = _normalizeNamespace(name);
1985
+ if (name) {
1986
+ if (name[0] !== ".") {
1987
+ name = "." + name;
1988
+ }
1989
+ theNamespace_1 += name;
1990
+ }
1991
+ });
1992
+ }
1993
+ else {
1994
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
1995
+ }
1996
+ if (theNamespace_1) {
1997
+ if (theNamespace_1[0] !== ".") {
1998
+ theNamespace_1 = "." + theNamespace_1;
1999
+ }
2000
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
2001
+ }
2002
+ }
2003
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
2004
+ return _a = {},
2005
+ _a[_DYN_TYPE ] = parsedEvent[1],
2006
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT ](".").sort()).join("."),
2007
+ _a;
2008
+ }
2009
+ function __getRegisteredEvents(target, eventName, evtNamespace) {
2010
+ var theEvents = [];
2011
+ var eventCache = elmNodeData.get(target, strEvents, {}, false);
2012
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
2013
+ objForEachKey(eventCache, function (evtType, registeredEvents) {
2014
+ arrForEach(registeredEvents, function (value) {
2015
+ var _a;
2016
+ if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
2017
+ if (!evtName.ns || evtName.ns === evtName.ns) {
2018
+ theEvents[_DYN_PUSH ]((_a = {},
2019
+ _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY$1),
2020
+ _a.handler = value[_DYN_HANDLER ],
2021
+ _a));
2022
+ }
2023
+ }
2024
+ });
2025
+ });
2026
+ return theEvents;
2027
+ }
2028
+ function _getRegisteredEvents(target, evtName, addDefault) {
2029
+ if (addDefault === void 0) { addDefault = true; }
2030
+ var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
2031
+ var registeredEvents = aiEvts[evtName];
2032
+ if (!registeredEvents) {
2033
+ registeredEvents = aiEvts[evtName] = [];
2034
+ }
2035
+ return registeredEvents;
2036
+ }
2037
+ function _doDetach(obj, evtName, handlerRef, useCapture) {
2038
+ if (obj && evtName && evtName[_DYN_TYPE ]) {
2039
+ if (obj[strRemoveEventListener]) {
2040
+ obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
2041
+ }
2042
+ else if (obj[strDetachEvent]) {
2043
+ obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
2044
+ }
2045
+ }
2046
+ }
2047
+ function _doAttach(obj, evtName, handlerRef, useCapture) {
2048
+ var result = false;
2049
+ if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
2050
+ if (obj[strAddEventHelper]) {
2051
+ obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
2052
+ result = true;
2053
+ }
2054
+ else if (obj[strAttachEvent]) {
2055
+ obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
2056
+ result = true;
2057
+ }
2058
+ }
2059
+ return result;
2060
+ }
2061
+ function _doUnregister(target, events, evtName, unRegFn) {
2062
+ var idx = events[_DYN_LENGTH ];
2063
+ while (idx--) {
2064
+ var theEvent = events[idx];
2065
+ if (theEvent) {
2066
+ if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
2067
+ if (!unRegFn || unRegFn(theEvent)) {
2068
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
2069
+ events[_DYN_SPLICE ](idx, 1);
2070
+ }
2071
+ }
2072
+ }
2073
+ }
2074
+ }
2075
+ function _unregisterEvents(target, evtName, unRegFn) {
2076
+ if (evtName[_DYN_TYPE ]) {
2077
+ _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
2078
+ }
2079
+ else {
2080
+ var eventCache = elmNodeData.get(target, strEvents, {});
2081
+ objForEachKey(eventCache, function (evtType, events) {
2082
+ _doUnregister(target, events, evtName, unRegFn);
2083
+ });
2084
+ if (objKeys(eventCache)[_DYN_LENGTH ] === 0) {
2085
+ elmNodeData.kill(target, strEvents);
2086
+ }
2087
+ }
2088
+ }
2089
+ function mergeEvtNamespace(theNamespace, namespaces) {
2090
+ var newNamespaces;
2091
+ if (namespaces) {
2092
+ if (isArray(namespaces)) {
2093
+ newNamespaces = [theNamespace].concat(namespaces);
2094
+ }
2095
+ else {
2096
+ newNamespaces = [theNamespace, namespaces];
2097
+ }
2098
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
2099
+ }
2100
+ else {
2101
+ newNamespaces = theNamespace;
2102
+ }
2103
+ return newNamespaces;
2104
+ }
2105
+ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
2106
+ var _a;
2107
+ if (useCapture === void 0) { useCapture = false; }
2108
+ var result = false;
2109
+ if (target) {
2110
+ try {
2111
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
2112
+ result = _doAttach(target, evtName, handlerRef, useCapture);
2113
+ if (result && elmNodeData.accept(target)) {
2114
+ var registeredEvent = (_a = {
2115
+ guid: _guid++,
2116
+ evtName: evtName
2117
+ },
2118
+ _a[_DYN_HANDLER ] = handlerRef,
2119
+ _a.capture = useCapture,
2120
+ _a);
2121
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
2122
+ }
2123
+ }
2124
+ catch (e) {
2125
+ }
2126
+ }
2127
+ return result;
2128
+ }
2129
+ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
2130
+ if (useCapture === void 0) { useCapture = false; }
2131
+ if (target) {
2132
+ try {
2133
+ var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
2134
+ var found_1 = false;
2135
+ _unregisterEvents(target, evtName_1, function (regEvent) {
2136
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
2137
+ found_1 = true;
2138
+ return true;
2139
+ }
2140
+ return false;
2141
+ });
2142
+ if (!found_1) {
2143
+ _doDetach(target, evtName_1, handlerRef, useCapture);
2144
+ }
2145
+ }
2146
+ catch (e) {
2147
+ }
2148
+ }
2149
+ }
2150
+ function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
2151
+ if (useCapture === void 0) { useCapture = false; }
2152
+ return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);
2153
+ }
2154
+ function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
2155
+ if (useCapture === void 0) { useCapture = false; }
2156
+ eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);
2157
+ }
2158
+ function addEventHandler(eventName, callback, evtNamespace) {
2159
+ var result = false;
2160
+ var w = getWindow();
2161
+ if (w) {
2162
+ result = eventOn(w, eventName, callback, evtNamespace);
2163
+ result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
2164
+ }
2165
+ var doc = getDocument();
2166
+ if (doc) {
2167
+ result = eventOn(doc, eventName, callback, evtNamespace) || result;
2168
+ }
2169
+ return result;
2170
+ }
2171
+ function removeEventHandler(eventName, callback, evtNamespace) {
2172
+ var w = getWindow();
2173
+ if (w) {
2174
+ eventOff(w, eventName, callback, evtNamespace);
2175
+ eventOff(w["body"], eventName, callback, evtNamespace);
2176
+ }
2177
+ var doc = getDocument();
2178
+ if (doc) {
2179
+ eventOff(doc, eventName, callback, evtNamespace);
2180
+ }
2181
+ }
2182
+ function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
2183
+ var added = false;
2184
+ if (listener && events && events[_DYN_LENGTH ] > 0) {
2185
+ arrForEach(events, function (name) {
2186
+ if (name) {
2187
+ if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
2188
+ added = addEventHandler(name, listener, evtNamespace) || added;
2189
+ }
2190
+ }
2191
+ });
2192
+ }
2193
+ return added;
2194
+ }
2195
+ function addEventListeners(events, listener, excludeEvents, evtNamespace) {
2196
+ var added = false;
2197
+ if (listener && events && isArray(events)) {
2198
+ added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
2199
+ if (!added && excludeEvents && excludeEvents[_DYN_LENGTH ] > 0) {
2200
+ added = _addEventListeners(events, listener, null, evtNamespace);
2201
+ }
2202
+ }
2203
+ return added;
2204
+ }
2205
+ function removeEventListeners(events, listener, evtNamespace) {
2206
+ if (events && isArray(events)) {
2207
+ arrForEach(events, function (name) {
2208
+ if (name) {
2209
+ removeEventHandler(name, listener, evtNamespace);
2210
+ }
2211
+ });
2212
+ }
2213
+ }
2214
+ function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
2215
+ return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
2216
+ }
2217
+ function removePageUnloadEventListener(listener, evtNamespace) {
2218
+ removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
2219
+ }
2220
+ function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
2221
+ function _handlePageVisibility(evt) {
2222
+ var doc = getDocument();
2223
+ if (listener && doc && doc.visibilityState === "hidden") {
2224
+ listener(evt);
2225
+ }
2226
+ }
2227
+ var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
2228
+ var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
2229
+ if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
2230
+ pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
2231
+ }
2232
+ if (!pageUnloadAdded && excludeEvents) {
2233
+ pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
2234
+ }
2235
+ return pageUnloadAdded;
2236
+ }
2237
+ function removePageHideEventListener(listener, evtNamespace) {
2238
+ var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
2239
+ removeEventListeners([strPageHide], listener, newNamespaces);
2240
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
2241
+ }
2242
+ function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
2243
+ function _handlePageVisibility(evt) {
2244
+ var doc = getDocument();
2245
+ if (listener && doc && doc.visibilityState === "visible") {
2246
+ listener(evt);
2247
+ }
2248
+ }
2249
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
2250
+ var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
2251
+ pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
2252
+ if (!pageShowAdded && excludeEvents) {
2253
+ pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
2254
+ }
2255
+ return pageShowAdded;
2256
+ }
2257
+ function removePageShowEventListener(listener, evtNamespace) {
2258
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
2259
+ removeEventListeners([strPageShow], listener, newNamespaces);
2260
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
2261
+ }
2262
+
2263
+ function newGuid() {
2264
+ function randomHexDigit() {
2265
+ return randomValue(15);
2266
+ }
2267
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[_DYN_REPLACE ](GuidRegex, function (c) {
2268
+ var r = (randomHexDigit() | 0), v = (c === "x" ? r : r & 0x3 | 0x8);
2269
+ return v.toString(16);
2270
+ });
2271
+ }
2272
+ function perfNow() {
2273
+ var perf = getPerformance();
2274
+ if (perf && perf.now) {
2275
+ return perf.now();
2276
+ }
2277
+ return dateNow();
2278
+ }
2279
+ function generateW3CId() {
2280
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2281
+ var oct = STR_EMPTY$1, tmp;
2282
+ for (var a = 0; a < 4; a++) {
2283
+ tmp = random32();
2284
+ oct +=
2285
+ hexValues[tmp & 0xF] +
2286
+ hexValues[tmp >> 4 & 0xF] +
2287
+ hexValues[tmp >> 8 & 0xF] +
2288
+ hexValues[tmp >> 12 & 0xF] +
2289
+ hexValues[tmp >> 16 & 0xF] +
2290
+ hexValues[tmp >> 20 & 0xF] +
2291
+ hexValues[tmp >> 24 & 0xF] +
2292
+ hexValues[tmp >> 28 & 0xF];
2293
+ }
2294
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2295
+ return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
2296
+ }
2297
+ var GuidRegex = /[xy]/g;
2298
+ var EventHelper = {
2299
+ Attach: attachEvent,
2300
+ AttachEvent: attachEvent,
2301
+ Detach: detachEvent,
2302
+ DetachEvent: detachEvent
2303
+ };
2304
+
2305
+ var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
2306
+ var DEFAULT_VERSION = "00";
2307
+ var INVALID_VERSION = "ff";
2308
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
2309
+ var INVALID_SPAN_ID = "0000000000000000";
2310
+ var SAMPLED_FLAG = 0x01;
2311
+ function _isValid(value, len, invalidValue) {
2312
+ if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
2313
+ return !!value.match(/^[\da-f]*$/);
2314
+ }
2315
+ return false;
2316
+ }
2317
+ function _formatValue(value, len, defValue) {
2318
+ if (_isValid(value, len)) {
2319
+ return value;
2320
+ }
2321
+ return defValue;
2322
+ }
2323
+ function _formatFlags(value) {
2324
+ if (isNaN(value) || value < 0 || value > 255) {
2325
+ value = 0x01;
2326
+ }
2327
+ var result = value.toString(16);
2328
+ while (result[_DYN_LENGTH ] < 2) {
2329
+ result = "0" + result;
2330
+ }
2331
+ return result;
2332
+ }
2333
+ function createTraceParent(traceId, spanId, flags, version) {
2334
+ var _a;
2335
+ return _a = {},
2336
+ _a[_DYN_VERSION ] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
2337
+ _a[_DYN_TRACE_ID ] = isValidTraceId(traceId) ? traceId : generateW3CId(),
2338
+ _a.spanId = isValidSpanId(spanId) ? spanId : generateW3CId()[_DYN_SUBSTR ](0, 16),
2339
+ _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,
2340
+ _a;
2341
+ }
2342
+ function parseTraceParent(value) {
2343
+ var _a;
2344
+ if (!value) {
2345
+ return null;
2346
+ }
2347
+ if (isArray(value)) {
2348
+ value = value[0] || "";
2349
+ }
2350
+ if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
2351
+ return null;
2352
+ }
2353
+ var match = TRACE_PARENT_REGEX.exec(strTrim(value));
2354
+ if (!match ||
2355
+ match[1] === INVALID_VERSION ||
2356
+ match[2] === INVALID_TRACE_ID ||
2357
+ match[3] === INVALID_SPAN_ID) {
2358
+ return null;
2359
+ }
2360
+ return _a = {},
2361
+ _a[_DYN_VERSION ] = match[1],
2362
+ _a[_DYN_TRACE_ID ] = match[2],
2363
+ _a[_DYN_SPAN_ID ] = match[3],
2364
+ _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
2365
+ _a;
2366
+ }
2367
+ function isValidTraceId(value) {
2368
+ return _isValid(value, 32, INVALID_TRACE_ID);
2369
+ }
2370
+ function isValidSpanId(value) {
2371
+ return _isValid(value, 16, INVALID_SPAN_ID);
2372
+ }
2373
+ function isValidTraceParent(value) {
2374
+ if (!value ||
2375
+ !_isValid(value[_DYN_VERSION ], 2, INVALID_VERSION) ||
2376
+ !_isValid(value[_DYN_TRACE_ID ], 32, INVALID_TRACE_ID) ||
2377
+ !_isValid(value[_DYN_SPAN_ID ], 16, INVALID_SPAN_ID) ||
2378
+ !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS ]), 2)) {
2379
+ return false;
2380
+ }
2381
+ return true;
2382
+ }
2383
+ function isSampledFlag(value) {
2384
+ if (isValidTraceParent(value)) {
2385
+ return (value[_DYN_TRACE_FLAGS ] & SAMPLED_FLAG) === SAMPLED_FLAG;
2386
+ }
2387
+ return false;
2388
+ }
2389
+ function formatTraceParent(value) {
2390
+ if (value) {
2391
+ var flags = _formatFlags(value[_DYN_TRACE_FLAGS ]);
2392
+ if (!_isValid(flags, 2)) {
2393
+ flags = "01";
2394
+ }
2395
+ var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
2396
+ if (version !== "00" && version !== "ff") {
2397
+ version = DEFAULT_VERSION;
2398
+ }
2399
+ return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
2400
+ }
2401
+ return "";
2402
+ }
2403
+ function findW3cTraceParent() {
2404
+ var name = "traceparent";
2405
+ var traceParent = parseTraceParent(findMetaTag(name));
2406
+ if (!traceParent) {
2407
+ traceParent = parseTraceParent(findNamedServerTiming(name));
2408
+ }
2409
+ return traceParent;
2410
+ }
2411
+
2412
+ var pluginStateData = createElmNodeData("plugin");
2413
+ function _getPluginState(plugin) {
2414
+ return pluginStateData.get(plugin, "state", {}, true);
2415
+ }
2416
+ function initializePlugins(processContext, extensions) {
2417
+ var initPlugins = [];
2418
+ var lastPlugin = null;
2419
+ var proxy = processContext[_DYN_GET_NEXT ]();
2420
+ var pluginState;
2421
+ while (proxy) {
2422
+ var thePlugin = proxy[_DYN_GET_PLUGIN ]();
2423
+ if (thePlugin) {
2424
+ if (lastPlugin &&
2425
+ isFunction(lastPlugin[_DYN_SET_NEXT_PLUGIN ]) &&
2426
+ isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
2427
+ lastPlugin[_DYN_SET_NEXT_PLUGIN ](thePlugin);
2428
+ }
2429
+ var isInitialized = false;
2430
+ if (isFunction(thePlugin[_DYN_IS_INITIALIZED ])) {
2431
+ isInitialized = thePlugin[_DYN_IS_INITIALIZED ]();
2432
+ }
2433
+ else {
2434
+ pluginState = _getPluginState(thePlugin);
2435
+ isInitialized = pluginState[_DYN_IS_INITIALIZED ];
2436
+ }
2437
+ if (!isInitialized) {
2438
+ initPlugins[_DYN_PUSH ](thePlugin);
2439
+ }
2440
+ lastPlugin = thePlugin;
2441
+ proxy = proxy[_DYN_GET_NEXT ]();
2442
+ }
2443
+ }
2444
+ arrForEach(initPlugins, function (thePlugin) {
2445
+ var core = processContext[STR_CORE]();
2446
+ thePlugin[_DYN_INITIALIZE ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
2447
+ pluginState = _getPluginState(thePlugin);
2448
+ if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
2449
+ pluginState[STR_CORE] = core;
2450
+ }
2451
+ pluginState[_DYN_IS_INITIALIZED ] = true;
2452
+ delete pluginState[_DYN_TEARDOWN ];
2453
+ });
2454
+ }
2455
+ function sortPlugins(plugins) {
2456
+ return plugins.sort(function (extA, extB) {
2457
+ var result = 0;
2458
+ if (extB) {
2459
+ var bHasProcess = isFunction(extB[STR_PROCESS_TELEMETRY]);
2460
+ if (isFunction(extA[STR_PROCESS_TELEMETRY])) {
2461
+ result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;
2462
+ }
2463
+ else if (bHasProcess) {
2464
+ result = -1;
2465
+ }
2466
+ }
2467
+ else {
2468
+ result = extA ? 1 : -1;
2469
+ }
2470
+ return result;
2471
+ });
2472
+ }
2473
+ function createDistributedTraceContext(parentCtx) {
2474
+ var trace = {};
2475
+ return {
2476
+ getName: function () {
2477
+ return trace[_DYN_NAME ];
2478
+ },
2479
+ setName: function (newValue) {
2480
+ parentCtx && parentCtx.setName(newValue);
2481
+ trace[_DYN_NAME ] = newValue;
2482
+ },
2483
+ getTraceId: function () {
2484
+ return trace[_DYN_TRACE_ID ];
2485
+ },
2486
+ setTraceId: function (newValue) {
2487
+ parentCtx && parentCtx.setTraceId(newValue);
2488
+ if (isValidTraceId(newValue)) {
2489
+ trace[_DYN_TRACE_ID ] = newValue;
2490
+ }
2491
+ },
2492
+ getSpanId: function () {
2493
+ return trace[_DYN_SPAN_ID ];
2494
+ },
2495
+ setSpanId: function (newValue) {
2496
+ parentCtx && parentCtx.setSpanId(newValue);
2497
+ if (isValidSpanId(newValue)) {
2498
+ trace[_DYN_SPAN_ID ] = newValue;
2499
+ }
2500
+ },
2501
+ getTraceFlags: function () {
2502
+ return trace[_DYN_TRACE_FLAGS ];
2503
+ },
2504
+ setTraceFlags: function (newTraceFlags) {
2505
+ parentCtx && parentCtx.setTraceFlags(newTraceFlags);
2506
+ trace[_DYN_TRACE_FLAGS ] = newTraceFlags;
2507
+ }
2508
+ };
2509
+ }
2510
+
2511
+ var strTelemetryPluginChain = "TelemetryPluginChain";
2512
+ var strHasRunFlags = "_hasRun";
2513
+ var strGetTelCtx = "_getTelCtx";
2514
+ var _chainId = 0;
2515
+ function _getNextProxyStart(proxy, core, startAt) {
2516
+ while (proxy) {
2517
+ if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
2518
+ return proxy;
2519
+ }
2520
+ proxy = proxy[_DYN_GET_NEXT ]();
2521
+ }
2522
+ return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
2523
+ }
2524
+ function _createInternalContext(telemetryChain, config, core, startAt) {
2525
+ var _nextProxy = null;
2526
+ var _onComplete = [];
2527
+ if (startAt !== null) {
2528
+ _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
2529
+ }
2530
+ var context = {
2531
+ _next: _moveNext,
2532
+ ctx: {
2533
+ core: function () {
2534
+ return core;
2535
+ },
2536
+ diagLog: function () {
2537
+ return safeGetLogger(core, config);
2538
+ },
2539
+ getCfg: function () {
2540
+ return config;
2541
+ },
2542
+ getExtCfg: _getExtCfg,
2543
+ getConfig: _getConfig,
2544
+ hasNext: function () {
2545
+ return !!_nextProxy;
2546
+ },
2547
+ getNext: function () {
2548
+ return _nextProxy;
2549
+ },
2550
+ setNext: function (nextPlugin) {
2551
+ _nextProxy = nextPlugin;
2552
+ },
2553
+ iterate: _iterateChain,
2554
+ onComplete: _addOnComplete
2555
+ }
2556
+ };
2557
+ function _addOnComplete(onComplete, that) {
2558
+ var args = [];
2559
+ for (var _i = 2; _i < arguments.length; _i++) {
2560
+ args[_i - 2] = arguments[_i];
2561
+ }
2562
+ if (onComplete) {
2563
+ _onComplete[_DYN_PUSH ]({
2564
+ func: onComplete,
2565
+ self: !isUndefined(that) ? that : context.ctx,
2566
+ args: args
2567
+ });
2568
+ }
2569
+ }
2570
+ function _moveNext() {
2571
+ var nextProxy = _nextProxy;
2572
+ _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
2573
+ if (!nextProxy) {
2574
+ var onComplete = _onComplete;
2575
+ if (onComplete && onComplete[_DYN_LENGTH ] > 0) {
2576
+ arrForEach(onComplete, function (completeDetails) {
2577
+ try {
2578
+ completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
2579
+ }
2580
+ catch (e) {
2581
+ _throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
2582
+ }
2583
+ });
2584
+ _onComplete = [];
2585
+ }
2586
+ }
2587
+ return nextProxy;
2588
+ }
2589
+ function _getExtCfg(identifier, defaultValue, mergeDefault) {
2590
+ if (defaultValue === void 0) { defaultValue = {}; }
2591
+ if (mergeDefault === void 0) { mergeDefault = 0 ; }
2592
+ var theConfig;
2593
+ if (config) {
2594
+ var extConfig = config[STR_EXTENSION_CONFIG ];
2595
+ if (extConfig && identifier) {
2596
+ theConfig = extConfig[identifier];
2597
+ }
2598
+ }
2599
+ if (!theConfig) {
2600
+ theConfig = defaultValue;
2601
+ }
2602
+ else if (isObject(defaultValue)) {
2603
+ if (mergeDefault !== 0 ) {
2604
+ var newConfig_1 = objExtend(true, defaultValue, theConfig);
2605
+ if (config && mergeDefault === 2 ) {
2606
+ objForEachKey(defaultValue, function (field) {
2607
+ if (isNullOrUndefined(newConfig_1[field])) {
2608
+ var cfgValue = config[field];
2609
+ if (!isNullOrUndefined(cfgValue)) {
2610
+ newConfig_1[field] = cfgValue;
2611
+ }
2612
+ }
2613
+ });
2614
+ }
2615
+ theConfig = newConfig_1;
2616
+ }
2617
+ }
2618
+ return theConfig;
2619
+ }
2620
+ function _getConfig(identifier, field, defaultValue) {
2621
+ if (defaultValue === void 0) { defaultValue = false; }
2622
+ var theValue;
2623
+ var extConfig = _getExtCfg(identifier, null);
2624
+ if (extConfig && !isNullOrUndefined(extConfig[field])) {
2625
+ theValue = extConfig[field];
2626
+ }
2627
+ else if (config && !isNullOrUndefined(config[field])) {
2628
+ theValue = config[field];
2629
+ }
2630
+ return !isNullOrUndefined(theValue) ? theValue : defaultValue;
2631
+ }
2632
+ function _iterateChain(cb) {
2633
+ var nextPlugin;
2634
+ while (!!(nextPlugin = context._next())) {
2635
+ var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
2636
+ if (plugin) {
2637
+ cb(plugin);
1792
2638
  }
1793
2639
  }
1794
2640
  }
@@ -1799,7 +2645,7 @@
1799
2645
  var context = internalContext.ctx;
1800
2646
  function _processNext(env) {
1801
2647
  var nextPlugin = internalContext._next();
1802
- nextPlugin && nextPlugin.processTelemetry(env, context);
2648
+ nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
1803
2649
  return !nextPlugin;
1804
2650
  }
1805
2651
  function _createNew(plugins, startAt) {
@@ -1807,14 +2653,14 @@
1807
2653
  if (isArray(plugins)) {
1808
2654
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1809
2655
  }
1810
- return createProcessTelemetryContext(plugins || context.getNext(), config, core, startAt);
2656
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
1811
2657
  }
1812
- context.processNext = _processNext;
1813
- context.createNew = _createNew;
2658
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2659
+ context[_DYN_CREATE_NEW ] = _createNew;
1814
2660
  return context;
1815
2661
  }
1816
2662
  function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
1817
- var config = core.config || {};
2663
+ var config = core[_DYN_CONFIG ] || {};
1818
2664
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1819
2665
  var context = internalContext.ctx;
1820
2666
  function _processNext(unloadState) {
@@ -1827,20 +2673,20 @@
1827
2673
  if (isArray(plugins)) {
1828
2674
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1829
2675
  }
1830
- return createProcessTelemetryUnloadContext(plugins || context.getNext(), core, startAt);
2676
+ return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1831
2677
  }
1832
- context.processNext = _processNext;
1833
- context.createNew = _createNew;
2678
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2679
+ context[_DYN_CREATE_NEW ] = _createNew;
1834
2680
  return context;
1835
2681
  }
1836
2682
  function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
1837
- var config = core.config || {};
2683
+ var config = core[_DYN_CONFIG ] || {};
1838
2684
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1839
2685
  var context = internalContext.ctx;
1840
2686
  function _processNext(updateState) {
1841
2687
  return context.iterate(function (plugin) {
1842
- if (isFunction(plugin.update)) {
1843
- plugin.update(context, updateState);
2688
+ if (isFunction(plugin[_DYN_UPDATE ])) {
2689
+ plugin[_DYN_UPDATE ](context, updateState);
1844
2690
  }
1845
2691
  });
1846
2692
  }
@@ -1849,22 +2695,22 @@
1849
2695
  if (isArray(plugins)) {
1850
2696
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1851
2697
  }
1852
- return createProcessTelemetryUpdateContext(plugins || context.getNext(), core, startAt);
2698
+ return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1853
2699
  }
1854
- context.processNext = _processNext;
1855
- context.createNew = _createNew;
2700
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2701
+ context[_DYN_CREATE_NEW ] = _createNew;
1856
2702
  return context;
1857
2703
  }
1858
2704
  function createTelemetryProxyChain(plugins, config, core, startAt) {
1859
2705
  var firstProxy = null;
1860
2706
  var add = startAt ? false : true;
1861
- if (isArray(plugins) && plugins.length > 0) {
2707
+ if (isArray(plugins) && plugins[_DYN_LENGTH ] > 0) {
1862
2708
  var lastProxy_1 = null;
1863
2709
  arrForEach(plugins, function (thePlugin) {
1864
2710
  if (!add && startAt === thePlugin) {
1865
2711
  add = true;
1866
2712
  }
1867
- if (add && thePlugin && isFunction(thePlugin.processTelemetry)) {
2713
+ if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
1868
2714
  var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
1869
2715
  if (!firstProxy) {
1870
2716
  firstProxy = newProxy;
@@ -1883,11 +2729,11 @@
1883
2729
  }
1884
2730
  function createTelemetryPluginProxy(plugin, config, core) {
1885
2731
  var nextProxy = null;
1886
- var hasProcessTelemetry = isFunction(plugin.processTelemetry);
1887
- var hasSetNext = isFunction(plugin.setNextPlugin);
2732
+ var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
2733
+ var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
1888
2734
  var chainId;
1889
2735
  if (plugin) {
1890
- chainId = plugin.identifier + "-" + plugin.priority + "-" + _chainId++;
2736
+ chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
1891
2737
  }
1892
2738
  else {
1893
2739
  chainId = "Unknown-0-" + _chainId++;
@@ -1919,17 +2765,17 @@
1919
2765
  }
1920
2766
  function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
1921
2767
  var hasRun = false;
1922
- var identifier = plugin ? plugin.identifier : strTelemetryPluginChain;
2768
+ var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
1923
2769
  var hasRunContext = itemCtx[strHasRunFlags];
1924
2770
  if (!hasRunContext) {
1925
2771
  hasRunContext = itemCtx[strHasRunFlags] = {};
1926
2772
  }
1927
2773
  itemCtx.setNext(nextProxy);
1928
2774
  if (plugin) {
1929
- doPerf(itemCtx[strCore](), function () { return identifier + ":" + name; }, function () {
2775
+ doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
1930
2776
  hasRunContext[chainId] = true;
1931
2777
  try {
1932
- var nextId = nextProxy ? nextProxy._id : strEmpty;
2778
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
1933
2779
  if (nextId) {
1934
2780
  hasRunContext[nextId] = false;
1935
2781
  }
@@ -1941,7 +2787,7 @@
1941
2787
  hasRun = true;
1942
2788
  }
1943
2789
  if (!nextProxy || !hasNextRun) {
1944
- _throwInternal(itemCtx.diagLog(), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
2790
+ _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
1945
2791
  }
1946
2792
  }
1947
2793
  }, details, isAsync);
@@ -1955,17 +2801,17 @@
1955
2801
  return false;
1956
2802
  }
1957
2803
  var pluginState = _getPluginState(plugin);
1958
- if (pluginState.teardown || pluginState[strDisabled]) {
2804
+ if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
1959
2805
  return false;
1960
2806
  }
1961
2807
  if (hasSetNext) {
1962
- plugin.setNextPlugin(nextProxy);
2808
+ plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
1963
2809
  }
1964
- plugin.processTelemetry(env, itemCtx);
2810
+ plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
1965
2811
  return true;
1966
2812
  }
1967
2813
  if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
1968
- itemCtx.processNext(env);
2814
+ itemCtx[_DYN_PROCESS_NEXT ](env);
1969
2815
  }
1970
2816
  }
1971
2817
  function _unloadPlugin(unloadCtx, unloadState) {
@@ -1973,20 +2819,20 @@
1973
2819
  var hasRun = false;
1974
2820
  if (plugin) {
1975
2821
  var pluginState = _getPluginState(plugin);
1976
- var pluginCore = plugin[strCore] || pluginState.core;
1977
- if (plugin && (!pluginCore || pluginCore === unloadCtx[strCore]()) && !pluginState[strTeardown]) {
1978
- pluginState[strCore] = null;
1979
- pluginState[strTeardown] = true;
1980
- pluginState[strIsInitialized] = false;
1981
- if (plugin[strTeardown] && plugin[strTeardown](unloadCtx, unloadState) === true) {
2822
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
2823
+ if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
2824
+ pluginState[STR_CORE ] = null;
2825
+ pluginState[_DYN_TEARDOWN ] = true;
2826
+ pluginState[_DYN_IS_INITIALIZED ] = false;
2827
+ if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
1982
2828
  hasRun = true;
1983
2829
  }
1984
2830
  }
1985
2831
  }
1986
2832
  return hasRun;
1987
2833
  }
1988
- if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState.isAsync)) {
1989
- unloadCtx.processNext(unloadState);
2834
+ if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
2835
+ unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
1990
2836
  }
1991
2837
  }
1992
2838
  function _updatePlugin(updateCtx, updateState) {
@@ -1994,9 +2840,9 @@
1994
2840
  var hasRun = false;
1995
2841
  if (plugin) {
1996
2842
  var pluginState = _getPluginState(plugin);
1997
- var pluginCore = plugin[strCore] || pluginState.core;
1998
- if (plugin && (!pluginCore || pluginCore === updateCtx[strCore]()) && !pluginState[strTeardown]) {
1999
- if (plugin[strUpdate] && plugin[strUpdate](updateCtx, updateState) === true) {
2843
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
2844
+ if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
2845
+ if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
2000
2846
  hasRun = true;
2001
2847
  }
2002
2848
  }
@@ -2004,7 +2850,7 @@
2004
2850
  return hasRun;
2005
2851
  }
2006
2852
  if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
2007
- updateCtx.processNext(updateState);
2853
+ updateCtx[_DYN_PROCESS_NEXT ](updateState);
2008
2854
  }
2009
2855
  }
2010
2856
  return objFreeze(proxyChain);
@@ -2018,279 +2864,30 @@
2018
2864
  return ProcessTelemetryContext;
2019
2865
  }());
2020
2866
 
2021
- var strToGMTString = "toGMTString";
2022
- var strToUTCString = "toUTCString";
2023
- var strCookie = "cookie";
2024
- var strExpires = "expires";
2025
- var strEnabled = "enabled";
2026
- var strIsCookieUseDisabled = "isCookieUseDisabled";
2027
- var strDisableCookiesUsage = "disableCookiesUsage";
2028
- var strConfigCookieMgr = "_ckMgr";
2029
- var _supportsCookies = null;
2030
- var _allowUaSameSite = null;
2031
- var _parsedCookieValue = null;
2032
- var _doc = getDocument();
2033
- var _cookieCache = {};
2034
- var _globalCookieConfig = {};
2035
- function _gblCookieMgr(config, logger) {
2036
- var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
2037
- if (!inst) {
2038
- inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
2039
- _globalCookieConfig[strConfigCookieMgr] = inst;
2040
- }
2041
- return inst;
2042
- }
2043
- function _isMgrEnabled(cookieMgr) {
2044
- if (cookieMgr) {
2045
- return cookieMgr.isEnabled();
2046
- }
2047
- return true;
2048
- }
2049
- function _createCookieMgrConfig(rootConfig) {
2050
- var cookieMgrCfg = rootConfig.cookieCfg = rootConfig.cookieCfg || {};
2051
- setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
2052
- setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
2053
- if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
2054
- var cookieEnabled = void 0;
2055
- if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
2056
- cookieEnabled = !rootConfig[strIsCookieUseDisabled];
2057
- }
2058
- if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2059
- cookieEnabled = !rootConfig[strDisableCookiesUsage];
2060
- }
2061
- cookieMgrCfg[strEnabled] = cookieEnabled;
2062
- }
2063
- return cookieMgrCfg;
2064
- }
2065
- function safeGetCookieMgr(core, config) {
2066
- var cookieMgr;
2067
- if (core) {
2068
- cookieMgr = core.getCookieMgr();
2069
- }
2070
- else if (config) {
2071
- var cookieCfg = config.cookieCfg;
2072
- if (cookieCfg[strConfigCookieMgr]) {
2073
- cookieMgr = cookieCfg[strConfigCookieMgr];
2074
- }
2075
- else {
2076
- cookieMgr = createCookieMgr(config);
2077
- }
2078
- }
2079
- if (!cookieMgr) {
2080
- cookieMgr = _gblCookieMgr(config, (core || {}).logger);
2081
- }
2082
- return cookieMgr;
2083
- }
2084
- function createCookieMgr(rootConfig, logger) {
2085
- var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
2086
- var _path = cookieMgrConfig.path || "/";
2087
- var _domain = cookieMgrConfig.domain;
2088
- var _enabled = cookieMgrConfig[strEnabled] !== false;
2089
- var cookieMgr = {
2090
- isEnabled: function () {
2091
- var enabled = _enabled && areCookiesSupported(logger);
2092
- var gblManager = _globalCookieConfig[strConfigCookieMgr];
2093
- if (enabled && gblManager && cookieMgr !== gblManager) {
2094
- enabled = _isMgrEnabled(gblManager);
2095
- }
2096
- return enabled;
2097
- },
2098
- setEnabled: function (value) {
2099
- _enabled = value !== false;
2100
- },
2101
- set: function (name, value, maxAgeSec, domain, path) {
2102
- var result = false;
2103
- if (_isMgrEnabled(cookieMgr)) {
2104
- var values = {};
2105
- var theValue = strTrim(value || strEmpty);
2106
- var idx = theValue.indexOf(";");
2107
- if (idx !== -1) {
2108
- theValue = strTrim(value.substring(0, idx));
2109
- values = _extractParts(value.substring(idx + 1));
2110
- }
2111
- setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
2112
- if (!isNullOrUndefined(maxAgeSec)) {
2113
- var _isIE = isIE();
2114
- if (isUndefined(values[strExpires])) {
2115
- var nowMs = dateNow();
2116
- var expireMs = nowMs + (maxAgeSec * 1000);
2117
- if (expireMs > 0) {
2118
- var expiry = new Date();
2119
- expiry.setTime(expireMs);
2120
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || strEmpty, isTruthy);
2121
- }
2122
- }
2123
- if (!_isIE) {
2124
- setValue(values, "max-age", strEmpty + maxAgeSec, null, isUndefined);
2125
- }
2126
- }
2127
- var location_1 = getLocation();
2128
- if (location_1 && location_1.protocol === "https:") {
2129
- setValue(values, "secure", null, null, isUndefined);
2130
- if (_allowUaSameSite === null) {
2131
- _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {}).userAgent);
2132
- }
2133
- if (_allowUaSameSite) {
2134
- setValue(values, "SameSite", "None", null, isUndefined);
2135
- }
2136
- }
2137
- setValue(values, "path", path || _path, null, isUndefined);
2138
- var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2139
- setCookieFn(name, _formatCookieValue(theValue, values));
2140
- result = true;
2141
- }
2142
- return result;
2143
- },
2144
- get: function (name) {
2145
- var value = strEmpty;
2146
- if (_isMgrEnabled(cookieMgr)) {
2147
- value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
2148
- }
2149
- return value;
2150
- },
2151
- del: function (name, path) {
2152
- var result = false;
2153
- if (_isMgrEnabled(cookieMgr)) {
2154
- result = cookieMgr.purge(name, path);
2155
- }
2156
- return result;
2157
- },
2158
- purge: function (name, path) {
2159
- var _a;
2160
- var result = false;
2161
- if (areCookiesSupported(logger)) {
2162
- var values = (_a = {},
2163
- _a["path"] = path ? path : "/",
2164
- _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2165
- _a);
2166
- if (!isIE()) {
2167
- values["max-age"] = "0";
2168
- }
2169
- var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
2170
- delCookie(name, _formatCookieValue(strEmpty, values));
2171
- result = true;
2172
- }
2173
- return result;
2174
- }
2175
- };
2176
- cookieMgr[strConfigCookieMgr] = cookieMgr;
2177
- return cookieMgr;
2178
- }
2179
- function areCookiesSupported(logger) {
2180
- if (_supportsCookies === null) {
2181
- _supportsCookies = false;
2182
- try {
2183
- var doc = _doc || {};
2184
- _supportsCookies = doc[strCookie] !== undefined;
2185
- }
2186
- catch (e) {
2187
- _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
2188
- }
2189
- }
2190
- return _supportsCookies;
2191
- }
2192
- function _extractParts(theValue) {
2193
- var values = {};
2194
- if (theValue && theValue.length) {
2195
- var parts = strTrim(theValue).split(";");
2196
- arrForEach(parts, function (thePart) {
2197
- thePart = strTrim(thePart || strEmpty);
2198
- if (thePart) {
2199
- var idx = thePart.indexOf("=");
2200
- if (idx === -1) {
2201
- values[thePart] = null;
2202
- }
2203
- else {
2204
- values[strTrim(thePart.substring(0, idx))] = strTrim(thePart.substring(idx + 1));
2205
- }
2206
- }
2207
- });
2208
- }
2209
- return values;
2210
- }
2211
- function _formatDate(theDate, func) {
2212
- if (isFunction(theDate[func])) {
2213
- return theDate[func]();
2214
- }
2215
- return null;
2216
- }
2217
- function _formatCookieValue(value, values) {
2218
- var cookieValue = value || strEmpty;
2219
- objForEachKey(values, function (name, theValue) {
2220
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : strEmpty);
2221
- });
2222
- return cookieValue;
2223
- }
2224
- function _getCookieValue(name) {
2225
- var cookieValue = strEmpty;
2226
- if (_doc) {
2227
- var theCookie = _doc[strCookie] || strEmpty;
2228
- if (_parsedCookieValue !== theCookie) {
2229
- _cookieCache = _extractParts(theCookie);
2230
- _parsedCookieValue = theCookie;
2231
- }
2232
- cookieValue = strTrim(_cookieCache[name] || strEmpty);
2233
- }
2234
- return cookieValue;
2235
- }
2236
- function _setCookieValue(name, cookieValue) {
2237
- if (_doc) {
2238
- _doc[strCookie] = name + "=" + cookieValue;
2239
- }
2240
- }
2241
- function uaDisallowsSameSiteNone(userAgent) {
2242
- if (!isString(userAgent)) {
2243
- return false;
2244
- }
2245
- if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
2246
- return true;
2247
- }
2248
- if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
2249
- return true;
2250
- }
2251
- if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
2252
- return true;
2253
- }
2254
- if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
2255
- return true;
2256
- }
2257
- if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
2258
- return true;
2259
- }
2260
- if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
2261
- return true;
2262
- }
2263
- return false;
2264
- }
2265
-
2266
- var strIKey = "iKey";
2267
- var strExtensionConfig = "extensionConfig";
2268
-
2269
2867
  var ChannelControllerPriority = 500;
2270
2868
  var ChannelValidationMessage = "Channel has invalid priority - ";
2271
- function _addChannelQueue(channelQueue, queue, config, core) {
2272
- if (queue && isArray(queue) && queue.length > 0) {
2869
+ function _addChannelQueue(channelQueue, queue, core) {
2870
+ if (queue && isArray(queue) && queue[_DYN_LENGTH ] > 0) {
2273
2871
  queue = queue.sort(function (a, b) {
2274
- return a.priority - b.priority;
2872
+ return a[STR_PRIORITY ] - b[STR_PRIORITY ];
2275
2873
  });
2276
2874
  arrForEach(queue, function (queueItem) {
2277
- if (queueItem.priority < ChannelControllerPriority) {
2278
- throwError(ChannelValidationMessage + queueItem.identifier);
2875
+ if (queueItem[STR_PRIORITY ] < ChannelControllerPriority) {
2876
+ throwError(ChannelValidationMessage + queueItem[_DYN_IDENTIFIER ]);
2279
2877
  }
2280
2878
  });
2281
- channelQueue.push({
2879
+ channelQueue[_DYN_PUSH ]({
2282
2880
  queue: objFreeze(queue),
2283
- chain: createTelemetryProxyChain(queue, config, core)
2881
+ chain: createTelemetryProxyChain(queue, core[_DYN_CONFIG ], core)
2284
2882
  });
2285
2883
  }
2286
2884
  }
2287
2885
  function createChannelControllerPlugin(channelQueue, core) {
2288
- var _a;
2289
2886
  function _getTelCtx() {
2290
- return createProcessTelemetryContext(null, core.config, core, null);
2887
+ return createProcessTelemetryContext(null, core[_DYN_CONFIG ], core, null);
2291
2888
  }
2292
2889
  function _processChannelQueue(theChannels, itemCtx, processFn, onComplete) {
2293
- var waiting = theChannels ? (theChannels.length + 1) : 1;
2890
+ var waiting = theChannels ? (theChannels[_DYN_LENGTH ] + 1) : 1;
2294
2891
  function _runChainOnComplete() {
2295
2892
  waiting--;
2296
2893
  if (waiting === 0) {
@@ -2300,10 +2897,10 @@
2300
2897
  }
2301
2898
  if (waiting > 0) {
2302
2899
  arrForEach(theChannels, function (channels) {
2303
- if (channels && channels.queue.length > 0) {
2900
+ if (channels && channels.queue[_DYN_LENGTH ] > 0) {
2304
2901
  var channelChain = channels.chain;
2305
- var chainCtx = itemCtx.createNew(channelChain);
2306
- chainCtx.onComplete(_runChainOnComplete);
2902
+ var chainCtx = itemCtx[_DYN_CREATE_NEW ](channelChain);
2903
+ chainCtx[_DYN_ON_COMPLETE ](_runChainOnComplete);
2307
2904
  processFn(chainCtx);
2308
2905
  }
2309
2906
  else {
@@ -2318,9 +2915,9 @@
2318
2915
  reason: 0
2319
2916
  };
2320
2917
  _processChannelQueue(channelQueue, updateCtx, function (chainCtx) {
2321
- chainCtx[strProcessNext](theUpdateState);
2918
+ chainCtx[_DYN_PROCESS_NEXT ](theUpdateState);
2322
2919
  }, function () {
2323
- updateCtx[strProcessNext](theUpdateState);
2920
+ updateCtx[_DYN_PROCESS_NEXT ](theUpdateState);
2324
2921
  });
2325
2922
  return true;
2326
2923
  }
@@ -2330,20 +2927,20 @@
2330
2927
  isAsync: false
2331
2928
  };
2332
2929
  _processChannelQueue(channelQueue, unloadCtx, function (chainCtx) {
2333
- chainCtx[strProcessNext](theUnloadState);
2930
+ chainCtx[_DYN_PROCESS_NEXT ](theUnloadState);
2334
2931
  }, function () {
2335
- unloadCtx[strProcessNext](theUnloadState);
2932
+ unloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
2336
2933
  isInitialized = false;
2337
2934
  });
2338
2935
  return true;
2339
2936
  }
2340
2937
  function _getChannel(pluginIdentifier) {
2341
2938
  var thePlugin = null;
2342
- if (channelQueue && channelQueue.length > 0) {
2939
+ if (channelQueue && channelQueue[_DYN_LENGTH ] > 0) {
2343
2940
  arrForEach(channelQueue, function (channels) {
2344
- if (channels && channels.queue.length > 0) {
2941
+ if (channels && channels.queue[_DYN_LENGTH ] > 0) {
2345
2942
  arrForEach(channels.queue, function (ext) {
2346
- if (ext.identifier === pluginIdentifier) {
2943
+ if (ext[_DYN_IDENTIFIER ] === pluginIdentifier) {
2347
2944
  thePlugin = ext;
2348
2945
  return -1;
2349
2946
  }
@@ -2357,46 +2954,45 @@
2357
2954
  return thePlugin;
2358
2955
  }
2359
2956
  var isInitialized = false;
2360
- var channelController = (_a = {
2361
- identifier: "ChannelControllerPlugin",
2362
- priority: ChannelControllerPriority,
2363
- initialize: function (config, core, extensions, pluginChain) {
2364
- isInitialized = true;
2365
- arrForEach(channelQueue, function (channels) {
2366
- if (channels && channels.queue.length > 0) {
2367
- initializePlugins(createProcessTelemetryContext(channels.chain, config, core), extensions);
2368
- }
2369
- });
2370
- },
2371
- isInitialized: function () {
2372
- return isInitialized;
2373
- },
2374
- processTelemetry: function (item, itemCtx) {
2375
- _processChannelQueue(channelQueue, itemCtx || _getTelCtx(), function (chainCtx) {
2376
- chainCtx[strProcessNext](item);
2377
- }, function () {
2378
- itemCtx[strProcessNext](item);
2379
- });
2380
- },
2381
- update: _doUpdate
2957
+ var channelController = {
2958
+ identifier: "ChannelControllerPlugin",
2959
+ priority: ChannelControllerPriority,
2960
+ initialize: function (config, core, extensions, pluginChain) {
2961
+ isInitialized = true;
2962
+ arrForEach(channelQueue, function (channels) {
2963
+ if (channels && channels.queue[_DYN_LENGTH ] > 0) {
2964
+ initializePlugins(createProcessTelemetryContext(channels.chain, config, core), extensions);
2965
+ }
2966
+ });
2382
2967
  },
2383
- _a[strPause] = function () {
2968
+ isInitialized: function () {
2969
+ return isInitialized;
2970
+ },
2971
+ processTelemetry: function (item, itemCtx) {
2972
+ _processChannelQueue(channelQueue, itemCtx || _getTelCtx(), function (chainCtx) {
2973
+ chainCtx[_DYN_PROCESS_NEXT ](item);
2974
+ }, function () {
2975
+ itemCtx[_DYN_PROCESS_NEXT ](item);
2976
+ });
2977
+ },
2978
+ update: _doUpdate,
2979
+ pause: function () {
2384
2980
  _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {
2385
2981
  chainCtx.iterate(function (plugin) {
2386
- plugin[strPause] && plugin[strPause]();
2982
+ plugin.pause && plugin.pause();
2387
2983
  });
2388
2984
  }, null);
2389
2985
  },
2390
- _a[strResume] = function () {
2986
+ resume: function () {
2391
2987
  _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {
2392
2988
  chainCtx.iterate(function (plugin) {
2393
- plugin[strResume] && plugin[strResume]();
2989
+ plugin.resume && plugin.resume();
2394
2990
  });
2395
2991
  }, null);
2396
2992
  },
2397
- _a[strTeardown] = _doTeardown,
2398
- _a.getChannel = _getChannel,
2399
- _a.flush = function (isAsync, callBack, sendReason, cbTimeout) {
2993
+ teardown: _doTeardown,
2994
+ getChannel: _getChannel,
2995
+ flush: function (isAsync, callBack, sendReason, cbTimeout) {
2400
2996
  var waiting = 1;
2401
2997
  var doneIterating = false;
2402
2998
  var cbTimer = null;
@@ -2414,10 +3010,10 @@
2414
3010
  }
2415
3011
  _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {
2416
3012
  chainCtx.iterate(function (plugin) {
2417
- if (plugin.flush) {
3013
+ if (plugin[_DYN_FLUSH ]) {
2418
3014
  waiting++;
2419
3015
  var handled_1 = false;
2420
- if (!plugin.flush(isAsync, function () {
3016
+ if (!plugin[_DYN_FLUSH ](isAsync, function () {
2421
3017
  handled_1 = true;
2422
3018
  doCallback();
2423
3019
  }, sendReason)) {
@@ -2441,25 +3037,25 @@
2441
3037
  });
2442
3038
  return true;
2443
3039
  },
2444
- _a._setQueue = function (queue) {
3040
+ _setQueue: function (queue) {
2445
3041
  channelQueue = queue;
2446
- },
2447
- _a);
3042
+ }
3043
+ };
2448
3044
  return channelController;
2449
3045
  }
2450
- function createChannelQueues(channels, extensions, config, core) {
3046
+ function createChannelQueues(channels, extensions, core) {
2451
3047
  var channelQueue = [];
2452
3048
  if (channels) {
2453
- arrForEach(channels, function (queue) { return _addChannelQueue(channelQueue, queue, config, core); });
3049
+ arrForEach(channels, function (queue) { return _addChannelQueue(channelQueue, queue, core); });
2454
3050
  }
2455
3051
  if (extensions) {
2456
3052
  var extensionQueue_1 = [];
2457
3053
  arrForEach(extensions, function (plugin) {
2458
- if (plugin.priority > ChannelControllerPriority) {
2459
- extensionQueue_1.push(plugin);
3054
+ if (plugin[STR_PRIORITY ] > ChannelControllerPriority) {
3055
+ extensionQueue_1[_DYN_PUSH ](plugin);
2460
3056
  }
2461
3057
  });
2462
- _addChannelQueue(channelQueue, extensionQueue_1, config, core);
3058
+ _addChannelQueue(channelQueue, extensionQueue_1, core);
2463
3059
  }
2464
3060
  return channelQueue;
2465
3061
  }
@@ -2468,7 +3064,7 @@
2468
3064
  var handlers = [];
2469
3065
  function _addHandler(handler) {
2470
3066
  if (handler) {
2471
- handlers.push(handler);
3067
+ handlers[_DYN_PUSH ](handler);
2472
3068
  }
2473
3069
  }
2474
3070
  function _runHandlers(unloadCtx, unloadState) {
@@ -2477,7 +3073,7 @@
2477
3073
  handler(unloadCtx, unloadState);
2478
3074
  }
2479
3075
  catch (e) {
2480
- _throwInternal(unloadCtx.diagLog(), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
3076
+ _throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
2481
3077
  }
2482
3078
  });
2483
3079
  handlers = [];
@@ -2499,37 +3095,40 @@
2499
3095
  var _hooks;
2500
3096
  _initDefaults();
2501
3097
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
2502
- _self.initialize = function (config, core, extensions, pluginChain) {
3098
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
2503
3099
  _setDefaults(config, core, pluginChain);
2504
3100
  _isinitialized = true;
2505
3101
  };
2506
- _self.teardown = function (unloadCtx, unloadState) {
2507
- var core = _self.core;
2508
- if (!core || (unloadCtx && core !== unloadCtx.core())) {
3102
+ _self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
3103
+ var _a;
3104
+ var core = _self[STR_CORE ];
3105
+ if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
2509
3106
  return;
2510
3107
  }
2511
3108
  var result;
2512
3109
  var unloadDone = false;
2513
3110
  var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
2514
- var theUnloadState = unloadState || {
2515
- reason: 0 ,
2516
- isAsync: false
2517
- };
3111
+ var theUnloadState = unloadState || (_a = {
3112
+ reason: 0
3113
+ },
3114
+ _a[_DYN_IS_ASYNC ] = false,
3115
+ _a);
2518
3116
  function _unloadCallback() {
2519
3117
  if (!unloadDone) {
2520
3118
  unloadDone = true;
2521
3119
  _unloadHandlerContainer.run(theUnloadCtx, unloadState);
2522
- arrForEach(_hooks, function (fn) {
3120
+ var oldHooks = _hooks;
3121
+ _hooks = [];
3122
+ arrForEach(oldHooks, function (fn) {
2523
3123
  fn.rm();
2524
3124
  });
2525
- _hooks = [];
2526
3125
  if (result === true) {
2527
- theUnloadCtx.processNext(theUnloadState);
3126
+ theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
2528
3127
  }
2529
3128
  _initDefaults();
2530
3129
  }
2531
3130
  }
2532
- if (!_self[strDoTeardown] || _self[strDoTeardown](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
3131
+ if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
2533
3132
  _unloadCallback();
2534
3133
  }
2535
3134
  else {
@@ -2537,9 +3136,9 @@
2537
3136
  }
2538
3137
  return result;
2539
3138
  };
2540
- _self.update = function (updateCtx, updateState) {
2541
- var core = _self.core;
2542
- if (!core || (updateCtx && core !== updateCtx.core())) {
3139
+ _self[_DYN_UPDATE ] = function (updateCtx, updateState) {
3140
+ var core = _self[STR_CORE ];
3141
+ if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
2543
3142
  return;
2544
3143
  }
2545
3144
  var result;
@@ -2551,7 +3150,7 @@
2551
3150
  function _updateCallback() {
2552
3151
  if (!updateDone) {
2553
3152
  updateDone = true;
2554
- _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx.getNext());
3153
+ _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
2555
3154
  }
2556
3155
  }
2557
3156
  if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
@@ -2568,30 +3167,30 @@
2568
3167
  _hooks = _hooks.concat(hooks);
2569
3168
  }
2570
3169
  else {
2571
- _hooks.push(hooks);
3170
+ _hooks[_DYN_PUSH ](hooks);
2572
3171
  }
2573
3172
  }
2574
3173
  };
2575
3174
  proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
2576
3175
  });
2577
- _self.diagLog = function (itemCtx) {
2578
- return _getTelCtx(itemCtx).diagLog();
3176
+ _self[_DYN_DIAG_LOG ] = function (itemCtx) {
3177
+ return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
2579
3178
  };
2580
- _self[strIsInitialized] = function () {
3179
+ _self[_DYN_IS_INITIALIZED ] = function () {
2581
3180
  return _isinitialized;
2582
3181
  };
2583
3182
  _self.setInitialized = function (isInitialized) {
2584
3183
  _isinitialized = isInitialized;
2585
3184
  };
2586
- _self[strSetNextPlugin] = function (next) {
3185
+ _self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
2587
3186
  _nextPlugin = next;
2588
3187
  };
2589
- _self.processNext = function (env, itemCtx) {
3188
+ _self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
2590
3189
  if (itemCtx) {
2591
- itemCtx.processNext(env);
3190
+ itemCtx[_DYN_PROCESS_NEXT ](env);
2592
3191
  }
2593
- else if (_nextPlugin && isFunction(_nextPlugin.processTelemetry)) {
2594
- _nextPlugin.processTelemetry(env, null);
3192
+ else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
3193
+ _nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
2595
3194
  }
2596
3195
  };
2597
3196
  _self._getTelCtx = _getTelCtx;
@@ -2599,39 +3198,40 @@
2599
3198
  if (currentCtx === void 0) { currentCtx = null; }
2600
3199
  var itemCtx = currentCtx;
2601
3200
  if (!itemCtx) {
2602
- var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self.core);
3201
+ var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
2603
3202
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
2604
- itemCtx = rootCtx.createNew(null, _nextPlugin[strGetPlugin]);
3203
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
2605
3204
  }
2606
3205
  else {
2607
- itemCtx = rootCtx.createNew(null, _nextPlugin);
3206
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
2608
3207
  }
2609
3208
  }
2610
3209
  return itemCtx;
2611
3210
  }
2612
3211
  function _setDefaults(config, core, pluginChain) {
2613
3212
  if (config) {
2614
- setValue(config, strExtensionConfig, [], null, isNullOrUndefined);
3213
+ setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
2615
3214
  }
2616
3215
  if (!pluginChain && core) {
2617
- pluginChain = core.getProcessTelContext().getNext();
3216
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
2618
3217
  }
2619
3218
  var nextPlugin = _nextPlugin;
2620
3219
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
2621
3220
  nextPlugin = _nextPlugin[strGetPlugin]();
2622
3221
  }
2623
- _self.core = core;
3222
+ _self[STR_CORE ] = core;
2624
3223
  _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
2625
3224
  }
2626
3225
  function _initDefaults() {
2627
3226
  _isinitialized = false;
2628
- _self.core = null;
3227
+ _self[STR_CORE ] = null;
2629
3228
  _rootCtx = null;
2630
3229
  _nextPlugin = null;
2631
3230
  _hooks = [];
2632
3231
  _unloadHandlerContainer = createUnloadHandlerContainer();
2633
3232
  }
2634
3233
  }
3234
+ BaseTelemetryPlugin.__ieDyn=1;
2635
3235
  return BaseTelemetryPlugin;
2636
3236
  }());
2637
3237
 
@@ -2650,12 +3250,12 @@
2650
3250
  id: _id++,
2651
3251
  fn: telemetryInitializer
2652
3252
  };
2653
- _initializers.push(theInitializer);
3253
+ _initializers[_DYN_PUSH ](theInitializer);
2654
3254
  var handler = {
2655
3255
  remove: function () {
2656
3256
  arrForEach(_initializers, function (initializer, idx) {
2657
3257
  if (initializer.id === theInitializer.id) {
2658
- _initializers.splice(idx, 1);
3258
+ _initializers[_DYN_SPLICE ](idx, 1);
2659
3259
  return -1;
2660
3260
  }
2661
3261
  });
@@ -2663,28 +3263,28 @@
2663
3263
  };
2664
3264
  return handler;
2665
3265
  };
2666
- _self.processTelemetry = function (item, itemCtx) {
3266
+ _self[STR_PROCESS_TELEMETRY ] = function (item, itemCtx) {
2667
3267
  var doNotSendItem = false;
2668
- var telemetryInitializersCount = _initializers.length;
3268
+ var telemetryInitializersCount = _initializers[_DYN_LENGTH ];
2669
3269
  for (var i = 0; i < telemetryInitializersCount; ++i) {
2670
3270
  var telemetryInitializer = _initializers[i];
2671
3271
  if (telemetryInitializer) {
2672
3272
  try {
2673
- if (telemetryInitializer.fn.apply(null, [item]) === false) {
3273
+ if (telemetryInitializer.fn[_DYN_APPLY ](null, [item]) === false) {
2674
3274
  doNotSendItem = true;
2675
3275
  break;
2676
3276
  }
2677
3277
  }
2678
3278
  catch (e) {
2679
- _throwInternal(itemCtx.diagLog(), 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
3279
+ _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
2680
3280
  }
2681
3281
  }
2682
3282
  }
2683
3283
  if (!doNotSendItem) {
2684
- _self.processNext(item, itemCtx);
3284
+ _self[_DYN_PROCESS_NEXT ](item, itemCtx);
2685
3285
  }
2686
3286
  };
2687
- _self[strDoTeardown] = function () {
3287
+ _self[_DYN__DO_TEARDOWN ] = function () {
2688
3288
  _initDefaults();
2689
3289
  };
2690
3290
  });
@@ -2694,6 +3294,7 @@
2694
3294
  }
2695
3295
  return _this;
2696
3296
  }
3297
+ TelemetryInitializerPlugin.__ieDyn=1;
2697
3298
  return TelemetryInitializerPlugin;
2698
3299
  }(BaseTelemetryPlugin));
2699
3300
 
@@ -2708,14 +3309,15 @@
2708
3309
  return new PerfManager(notificationMgr);
2709
3310
  }
2710
3311
  function _validateExtensions(logger, channelPriority, allExtensions) {
3312
+ var _a;
2711
3313
  var coreExtensions = [];
2712
3314
  var extPriorities = {};
2713
3315
  arrForEach(allExtensions, function (ext) {
2714
- if (isNullOrUndefined(ext) || isNullOrUndefined(ext.initialize)) {
3316
+ if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE ])) {
2715
3317
  throwError(strValidationError);
2716
3318
  }
2717
- var extPriority = ext.priority;
2718
- var identifier = ext.identifier;
3319
+ var extPriority = ext[STR_PRIORITY ];
3320
+ var identifier = ext[_DYN_IDENTIFIER ];
2719
3321
  if (ext && extPriority) {
2720
3322
  if (!isNullOrUndefined(extPriorities[extPriority])) {
2721
3323
  _warnToConsole(logger, "Two extensions have same priority #" + extPriority + " - " + extPriorities[extPriority] + ", " + identifier);
@@ -2725,13 +3327,14 @@
2725
3327
  }
2726
3328
  }
2727
3329
  if (!extPriority || extPriority < channelPriority) {
2728
- coreExtensions.push(ext);
3330
+ coreExtensions[_DYN_PUSH ](ext);
2729
3331
  }
2730
3332
  });
2731
- return {
2732
- all: allExtensions,
2733
- core: coreExtensions
2734
- };
3333
+ return _a = {
3334
+ all: allExtensions
3335
+ },
3336
+ _a[STR_CORE ] = coreExtensions,
3337
+ _a;
2735
3338
  }
2736
3339
  function _isPluginPresent(thePlugin, plugins) {
2737
3340
  var exists = false;
@@ -2746,15 +3349,16 @@
2746
3349
  function _createDummyNotificationManager() {
2747
3350
  var _a;
2748
3351
  return objCreateFn((_a = {},
2749
- _a[strAddNotificationListener] = function (listener) { },
2750
- _a[strRemoveNotificationListener] = function (listener) { },
2751
- _a[strEventsSent] = function (events) { },
2752
- _a[strEventsDiscarded] = function (events, reason) { },
2753
- _a[strEventsSendRequest] = function (sendReason, isAsync) { },
3352
+ _a[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) { },
3353
+ _a[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) { },
3354
+ _a[STR_EVENTS_SENT ] = function (events) { },
3355
+ _a[STR_EVENTS_DISCARDED ] = function (events, reason) { },
3356
+ _a[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) { },
2754
3357
  _a));
2755
3358
  }
2756
3359
  var BaseCore$2 = /** @class */ (function () {
2757
3360
  function BaseCore() {
3361
+ var _config;
2758
3362
  var _isInitialized;
2759
3363
  var _eventQueue;
2760
3364
  var _notificationManager;
@@ -2773,36 +3377,38 @@
2773
3377
  var _evtNamespace;
2774
3378
  var _unloadHandlers;
2775
3379
  var _debugListener;
3380
+ var _traceCtx;
2776
3381
  var _internalLogPoller = 0;
2777
3382
  dynamicProto(BaseCore, this, function (_self) {
2778
3383
  _initDefaults();
2779
- _self.isInitialized = function () { return _isInitialized; };
2780
- _self.initialize = function (config, extensions, logger, notificationManager) {
3384
+ _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
3385
+ _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
2781
3386
  if (_isUnloading) {
2782
3387
  throwError(strSdkUnloadingError);
2783
3388
  }
2784
- if (_self.isInitialized()) {
3389
+ if (_self[_DYN_IS_INITIALIZED ]()) {
2785
3390
  throwError("Core should not be initialized more than once");
2786
3391
  }
2787
- if (!config || isNullOrUndefined(config.instrumentationKey)) {
3392
+ _config = config || {};
3393
+ _self[_DYN_CONFIG ] = _config;
3394
+ if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY ])) {
2788
3395
  throwError("Please provide instrumentation key");
2789
3396
  }
2790
3397
  _notificationManager = notificationManager;
2791
3398
  _self[strNotificationManager] = notificationManager;
2792
- _self.config = config || {};
2793
- _initDebugListener(config);
2794
- _initPerfManager(config);
2795
- config.extensions = isNullOrUndefined(config.extensions) ? [] : config.extensions;
2796
- _initExtConfig(config);
3399
+ _initDebugListener();
3400
+ _initPerfManager();
3401
+ _initExtConfig();
2797
3402
  if (logger) {
2798
- _self.logger = logger;
3403
+ _self[_DYN_LOGGER ] = logger;
2799
3404
  }
3405
+ var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []);
2800
3406
  _configExtensions = [];
2801
- _configExtensions.push.apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), config.extensions));
2802
- _channelConfig = (config || {}).channels;
2803
- _initPluginChain(config, null);
2804
- if (!_channelQueue || _channelQueue.length === 0) {
2805
- throwError("No channels available");
3407
+ _configExtensions[_DYN_PUSH ].apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), cfgExtensions));
3408
+ _channelConfig = getSetValue(_config, STR_CHANNELS, []);
3409
+ _initPluginChain(null);
3410
+ if (!_channelQueue || _channelQueue[_DYN_LENGTH ] === 0) {
3411
+ throwError("No " + STR_CHANNELS + " available");
2806
3412
  }
2807
3413
  _isInitialized = true;
2808
3414
  _self.releaseQueue();
@@ -2811,53 +3417,56 @@
2811
3417
  var controls = [];
2812
3418
  if (_channelQueue) {
2813
3419
  arrForEach(_channelQueue, function (channels) {
2814
- controls.push(channels.queue);
3420
+ controls[_DYN_PUSH ](channels.queue);
2815
3421
  });
2816
3422
  }
2817
3423
  return objFreeze(controls);
2818
3424
  };
2819
3425
  _self.track = function (telemetryItem) {
2820
- setValue(telemetryItem, strIKey, _self.config.instrumentationKey, null, isNotTruthy);
2821
- setValue(telemetryItem, "time", toISOString(new Date()), null, isNotTruthy);
2822
- setValue(telemetryItem, "ver", "4.0", null, isNullOrUndefined);
2823
- if (!_isUnloading && _self.isInitialized()) {
2824
- _createTelCtx().processNext(telemetryItem);
3426
+ telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY ];
3427
+ telemetryItem[_DYN_TIME ] = telemetryItem[_DYN_TIME ] || toISOString(new Date());
3428
+ telemetryItem.ver = telemetryItem.ver || "4.0";
3429
+ if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]()) {
3430
+ _createTelCtx()[_DYN_PROCESS_NEXT ](telemetryItem);
2825
3431
  }
2826
3432
  else {
2827
- _eventQueue.push(telemetryItem);
3433
+ _eventQueue[_DYN_PUSH ](telemetryItem);
2828
3434
  }
2829
3435
  };
2830
- _self.getProcessTelContext = _createTelCtx;
2831
- _self.getNotifyMgr = function () {
3436
+ _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
3437
+ _self[_DYN_GET_NOTIFY_MGR ] = function () {
2832
3438
  if (!_notificationManager) {
2833
3439
  _notificationManager = _createDummyNotificationManager();
2834
3440
  _self[strNotificationManager] = _notificationManager;
2835
3441
  }
2836
3442
  return _notificationManager;
2837
3443
  };
2838
- _self[strAddNotificationListener] = function (listener) {
3444
+ _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
2839
3445
  if (_notificationManager) {
2840
- _notificationManager[strAddNotificationListener](listener);
3446
+ _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
2841
3447
  }
2842
3448
  };
2843
- _self[strRemoveNotificationListener] = function (listener) {
3449
+ _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
2844
3450
  if (_notificationManager) {
2845
- _notificationManager[strRemoveNotificationListener](listener);
3451
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
2846
3452
  }
2847
3453
  };
2848
3454
  _self.getCookieMgr = function () {
2849
3455
  if (!_cookieManager) {
2850
- _cookieManager = createCookieMgr(_self.config, _self.logger);
3456
+ _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER ]);
2851
3457
  }
2852
3458
  return _cookieManager;
2853
3459
  };
2854
3460
  _self.setCookieMgr = function (cookieMgr) {
2855
3461
  _cookieManager = cookieMgr;
2856
3462
  };
2857
- _self.getPerfMgr = function () {
3463
+ _self[STR_GET_PERF_MGR ] = function () {
2858
3464
  if (!_perfManager && !_cfgPerfManager) {
2859
- if (_self.config && _self.config.enablePerfMgr && isFunction(_self.config.createPerfMgr)) {
2860
- _cfgPerfManager = _self.config.createPerfMgr(_self, _self.getNotifyMgr());
3465
+ if (getCfgValue(_config.enablePerfMgr)) {
3466
+ var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR ]);
3467
+ if (isFunction(createPerfMgr)) {
3468
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
3469
+ }
2861
3470
  }
2862
3471
  }
2863
3472
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
@@ -2866,20 +3475,20 @@
2866
3475
  _perfManager = perfMgr;
2867
3476
  };
2868
3477
  _self.eventCnt = function () {
2869
- return _eventQueue.length;
3478
+ return _eventQueue[_DYN_LENGTH ];
2870
3479
  };
2871
3480
  _self.releaseQueue = function () {
2872
- if (_isInitialized && _eventQueue.length > 0) {
3481
+ if (_isInitialized && _eventQueue[_DYN_LENGTH ] > 0) {
2873
3482
  var eventQueue = _eventQueue;
2874
3483
  _eventQueue = [];
2875
3484
  arrForEach(eventQueue, function (event) {
2876
- _createTelCtx().processNext(event);
3485
+ _createTelCtx()[_DYN_PROCESS_NEXT ](event);
2877
3486
  });
2878
3487
  }
2879
3488
  };
2880
3489
  _self.pollInternalLogs = function (eventName) {
2881
3490
  _internalLogsEventName = eventName || null;
2882
- var interval = _self.config.diagnosticLogInterval;
3491
+ var interval = getCfgValue(_config.diagnosticLogInterval);
2883
3492
  if (!interval || !(interval > 0)) {
2884
3493
  interval = 10000;
2885
3494
  }
@@ -2891,7 +3500,7 @@
2891
3500
  }, interval);
2892
3501
  return _internalLogPoller;
2893
3502
  };
2894
- _self.stopPollingInternalLogs = function () {
3503
+ _self[_DYN_STOP_POLLING_INTERNA3 ] = function () {
2895
3504
  if (_internalLogPoller) {
2896
3505
  clearInterval(_internalLogPoller);
2897
3506
  _internalLogPoller = 0;
@@ -2900,6 +3509,7 @@
2900
3509
  };
2901
3510
  proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, ["addTelemetryInitializer"]);
2902
3511
  _self.unload = function (isAsync, unloadComplete, cbTimeout) {
3512
+ var _a;
2903
3513
  if (isAsync === void 0) { isAsync = true; }
2904
3514
  if (!_isInitialized) {
2905
3515
  throwError(strSdkNotInitialized);
@@ -2907,13 +3517,14 @@
2907
3517
  if (_isUnloading) {
2908
3518
  throwError(strSdkUnloadingError);
2909
3519
  }
2910
- var unloadState = {
2911
- reason: 50 ,
2912
- isAsync: isAsync,
2913
- flushComplete: false
2914
- };
3520
+ var unloadState = (_a = {
3521
+ reason: 50
3522
+ },
3523
+ _a[_DYN_IS_ASYNC ] = isAsync,
3524
+ _a.flushComplete = false,
3525
+ _a);
2915
3526
  var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);
2916
- processUnloadCtx.onComplete(function () {
3527
+ processUnloadCtx[_DYN_ON_COMPLETE ](function () {
2917
3528
  _initDefaults();
2918
3529
  unloadComplete && unloadComplete(unloadState);
2919
3530
  }, _self);
@@ -2921,33 +3532,33 @@
2921
3532
  unloadState.flushComplete = flushComplete;
2922
3533
  _isUnloading = true;
2923
3534
  _unloadHandlers.run(processUnloadCtx, unloadState);
2924
- _self.stopPollingInternalLogs();
2925
- processUnloadCtx.processNext(unloadState);
3535
+ _self[_DYN_STOP_POLLING_INTERNA3 ]();
3536
+ processUnloadCtx[_DYN_PROCESS_NEXT ](unloadState);
2926
3537
  }
2927
3538
  if (!_flushChannels(isAsync, _doUnload, 6 , cbTimeout)) {
2928
3539
  _doUnload(false);
2929
3540
  }
2930
3541
  };
2931
- _self.getPlugin = _getPlugin;
3542
+ _self[_DYN_GET_PLUGIN ] = _getPlugin;
2932
3543
  _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {
2933
3544
  if (!plugin) {
2934
3545
  addCb && addCb(false);
2935
3546
  _logOrThrowError(strValidationError);
2936
3547
  return;
2937
3548
  }
2938
- var existingPlugin = _getPlugin(plugin.identifier);
3549
+ var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER ]);
2939
3550
  if (existingPlugin && !replaceExisting) {
2940
3551
  addCb && addCb(false);
2941
- _logOrThrowError("Plugin [" + plugin.identifier + "] is already loaded!");
3552
+ _logOrThrowError("Plugin [" + plugin[_DYN_IDENTIFIER ] + "] is already loaded!");
2942
3553
  return;
2943
3554
  }
2944
3555
  var updateState = {
2945
3556
  reason: 16
2946
3557
  };
2947
3558
  function _addPlugin(removed) {
2948
- _configExtensions.push(plugin);
3559
+ _configExtensions[_DYN_PUSH ](plugin);
2949
3560
  updateState.added = [plugin];
2950
- _initPluginChain(_self.config, updateState);
3561
+ _initPluginChain(updateState);
2951
3562
  addCb && addCb(true);
2952
3563
  }
2953
3564
  if (existingPlugin) {
@@ -2974,13 +3585,23 @@
2974
3585
  _self.evtNamespace = function () {
2975
3586
  return _evtNamespace;
2976
3587
  };
2977
- _self.flush = _flushChannels;
3588
+ _self[_DYN_FLUSH ] = _flushChannels;
3589
+ _self.getTraceCtx = function (createNew) {
3590
+ if (!_traceCtx) {
3591
+ _traceCtx = createDistributedTraceContext();
3592
+ }
3593
+ return _traceCtx;
3594
+ };
3595
+ _self.setTraceCtx = function (traceCtx) {
3596
+ _traceCtx = traceCtx || null;
3597
+ };
2978
3598
  proxyFunctionAs(_self, "addUnloadCb", function () { return _unloadHandlers; }, "add");
2979
3599
  function _initDefaults() {
2980
3600
  _isInitialized = false;
2981
- _self.config = objExtend(true, {}, defaultInitConfig);
2982
- _self.logger = new DiagnosticLogger(_self.config);
2983
- _self._extensions = [];
3601
+ _config = objExtend(true, {}, defaultInitConfig);
3602
+ _self[_DYN_CONFIG ] = _config;
3603
+ _self[_DYN_LOGGER ] = new DiagnosticLogger(_config);
3604
+ _self[_DYN__EXTENSIONS ] = [];
2984
3605
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
2985
3606
  _eventQueue = [];
2986
3607
  _notificationManager = null;
@@ -2997,45 +3618,47 @@
2997
3618
  _internalLogsEventName = null;
2998
3619
  _evtNamespace = createUniqueNamespace("AIBaseCore", true);
2999
3620
  _unloadHandlers = createUnloadHandlerContainer();
3621
+ _traceCtx = null;
3000
3622
  }
3001
3623
  function _createTelCtx() {
3002
- return createProcessTelemetryContext(_getPluginChain(), _self.config, _self);
3624
+ return createProcessTelemetryContext(_getPluginChain(), _config, _self);
3003
3625
  }
3004
- function _initPluginChain(config, updateState) {
3005
- var theExtensions = _validateExtensions(_self.logger, ChannelControllerPriority, _configExtensions);
3006
- _coreExtensions = theExtensions.core;
3626
+ function _initPluginChain(updateState) {
3627
+ var theExtensions = _validateExtensions(_self[_DYN_LOGGER ], ChannelControllerPriority, _configExtensions);
3628
+ _coreExtensions = theExtensions[STR_CORE ];
3007
3629
  _pluginChain = null;
3008
3630
  var allExtensions = theExtensions.all;
3009
- _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, config, _self));
3631
+ _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, _self));
3010
3632
  if (_channelControl) {
3011
- var idx = allExtensions.indexOf(_channelControl);
3633
+ var idx = arrIndexOf(allExtensions, _channelControl);
3012
3634
  if (idx !== -1) {
3013
- allExtensions.splice(idx, 1);
3635
+ allExtensions[_DYN_SPLICE ](idx, 1);
3014
3636
  }
3015
- idx = _coreExtensions.indexOf(_channelControl);
3637
+ idx = arrIndexOf(_coreExtensions, _channelControl);
3016
3638
  if (idx !== -1) {
3017
- _coreExtensions.splice(idx, 1);
3639
+ _coreExtensions[_DYN_SPLICE ](idx, 1);
3018
3640
  }
3019
3641
  _channelControl._setQueue(_channelQueue);
3020
3642
  }
3021
3643
  else {
3022
3644
  _channelControl = createChannelControllerPlugin(_channelQueue, _self);
3023
3645
  }
3024
- allExtensions.push(_channelControl);
3025
- _coreExtensions.push(_channelControl);
3026
- _self._extensions = sortPlugins(allExtensions);
3027
- _channelControl.initialize(config, _self, allExtensions);
3646
+ allExtensions[_DYN_PUSH ](_channelControl);
3647
+ _coreExtensions[_DYN_PUSH ](_channelControl);
3648
+ _self[_DYN__EXTENSIONS ] = sortPlugins(allExtensions);
3649
+ _channelControl[_DYN_INITIALIZE ](_config, _self, allExtensions);
3028
3650
  initializePlugins(_createTelCtx(), allExtensions);
3029
- _self._extensions = objFreeze(sortPlugins(_coreExtensions || [])).slice();
3651
+ _self[_DYN__EXTENSIONS ] = objFreeze(sortPlugins(_coreExtensions || [])).slice();
3030
3652
  if (updateState) {
3031
3653
  _doUpdate(updateState);
3032
3654
  }
3033
3655
  }
3034
3656
  function _getPlugin(pluginIdentifier) {
3657
+ var _a;
3035
3658
  var theExt = null;
3036
3659
  var thePlugin = null;
3037
- arrForEach(_self._extensions, function (ext) {
3038
- if (ext.identifier === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) {
3660
+ arrForEach(_self[_DYN__EXTENSIONS ], function (ext) {
3661
+ if (ext[_DYN_IDENTIFIER ] === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) {
3039
3662
  thePlugin = ext;
3040
3663
  return -1;
3041
3664
  }
@@ -3044,56 +3667,59 @@
3044
3667
  thePlugin = _channelControl.getChannel(pluginIdentifier);
3045
3668
  }
3046
3669
  if (thePlugin) {
3047
- theExt = {
3048
- plugin: thePlugin,
3049
- setEnabled: function (enabled) {
3050
- _getPluginState(thePlugin)[strDisabled] = !enabled;
3670
+ theExt = (_a = {
3671
+ plugin: thePlugin
3672
+ },
3673
+ _a[_DYN_SET_ENABLED ] = function (enabled) {
3674
+ _getPluginState(thePlugin)[STR_DISABLED] = !enabled;
3051
3675
  },
3052
- isEnabled: function () {
3676
+ _a.isEnabled = function () {
3053
3677
  var pluginState = _getPluginState(thePlugin);
3054
- return !pluginState[strTeardown] && !pluginState[strDisabled];
3678
+ return !pluginState[_DYN_TEARDOWN ] && !pluginState[STR_DISABLED];
3055
3679
  },
3056
- remove: function (isAsync, removeCb) {
3680
+ _a.remove = function (isAsync, removeCb) {
3681
+ var _a;
3057
3682
  if (isAsync === void 0) { isAsync = true; }
3058
3683
  var pluginsToRemove = [thePlugin];
3059
- var unloadState = {
3060
- reason: 1 ,
3061
- isAsync: isAsync
3062
- };
3684
+ var unloadState = (_a = {
3685
+ reason: 1
3686
+ },
3687
+ _a[_DYN_IS_ASYNC ] = isAsync,
3688
+ _a);
3063
3689
  _removePlugins(pluginsToRemove, unloadState, function (removed) {
3064
3690
  if (removed) {
3065
- _initPluginChain(_self.config, {
3691
+ _initPluginChain({
3066
3692
  reason: 32 ,
3067
3693
  removed: pluginsToRemove
3068
3694
  });
3069
3695
  }
3070
3696
  removeCb && removeCb(removed);
3071
3697
  });
3072
- }
3073
- };
3698
+ },
3699
+ _a);
3074
3700
  }
3075
3701
  return theExt;
3076
3702
  }
3077
3703
  function _getPluginChain() {
3078
3704
  if (!_pluginChain) {
3079
3705
  var extensions = (_coreExtensions || []).slice();
3080
- if (extensions.indexOf(_telemetryInitializerPlugin) === -1) {
3081
- extensions.push(_telemetryInitializerPlugin);
3706
+ if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {
3707
+ extensions[_DYN_PUSH ](_telemetryInitializerPlugin);
3082
3708
  }
3083
- _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _self.config, _self);
3709
+ _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self);
3084
3710
  }
3085
3711
  return _pluginChain;
3086
3712
  }
3087
3713
  function _removePlugins(thePlugins, unloadState, removeComplete) {
3088
- if (thePlugins && thePlugins.length > 0) {
3089
- var unloadChain = createTelemetryProxyChain(thePlugins, _self.config, _self);
3714
+ if (thePlugins && thePlugins[_DYN_LENGTH ] > 0) {
3715
+ var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self);
3090
3716
  var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);
3091
- unloadCtx.onComplete(function () {
3717
+ unloadCtx[_DYN_ON_COMPLETE ](function () {
3092
3718
  var removed = false;
3093
3719
  var newConfigExtensions = [];
3094
3720
  arrForEach(_configExtensions, function (plugin, idx) {
3095
3721
  if (!_isPluginPresent(plugin, thePlugins)) {
3096
- newConfigExtensions.push(plugin);
3722
+ newConfigExtensions[_DYN_PUSH ](plugin);
3097
3723
  }
3098
3724
  else {
3099
3725
  removed = true;
@@ -3106,626 +3732,301 @@
3106
3732
  var newQueue = [];
3107
3733
  arrForEach(queue, function (channel) {
3108
3734
  if (!_isPluginPresent(channel, thePlugins)) {
3109
- newQueue.push(channel);
3735
+ newQueue[_DYN_PUSH ](channel);
3110
3736
  }
3111
3737
  else {
3112
3738
  removed = true;
3113
3739
  }
3114
3740
  });
3115
- newChannelConfig.push(newQueue);
3741
+ newChannelConfig[_DYN_PUSH ](newQueue);
3116
3742
  });
3117
3743
  _channelConfig = newChannelConfig;
3118
3744
  }
3119
3745
  removeComplete && removeComplete(removed);
3120
3746
  });
3121
- unloadCtx.processNext(unloadState);
3747
+ unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
3122
3748
  }
3123
3749
  else {
3124
3750
  removeComplete(false);
3125
3751
  }
3126
3752
  }
3127
3753
  function _flushInternalLogs() {
3128
- var queue = _self.logger ? _self.logger.queue : [];
3754
+ var queue = _self[_DYN_LOGGER ] ? _self[_DYN_LOGGER ].queue : [];
3129
3755
  if (queue) {
3130
3756
  arrForEach(queue, function (logMessage) {
3131
- var item = {
3132
- name: _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage.messageId,
3133
- iKey: _self.config.instrumentationKey,
3134
- time: toISOString(new Date()),
3135
- baseType: _InternalLogMessage.dataType,
3136
- baseData: { message: logMessage.message }
3137
- };
3757
+ var _a;
3758
+ var item = (_a = {},
3759
+ _a[_DYN_NAME ] = _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage[_DYN_MESSAGE_ID ],
3760
+ _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY ]),
3761
+ _a.time = toISOString(new Date()),
3762
+ _a.baseType = _InternalLogMessage.dataType,
3763
+ _a.baseData = { message: logMessage[_DYN_MESSAGE ] },
3764
+ _a);
3138
3765
  _self.track(item);
3139
3766
  });
3140
- queue.length = 0;
3767
+ queue[_DYN_LENGTH ] = 0;
3141
3768
  }
3142
3769
  }
3143
3770
  function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {
3144
3771
  if (_channelControl) {
3145
- return _channelControl.flush(isAsync, callBack, sendReason || 6 , cbTimeout);
3772
+ return _channelControl[_DYN_FLUSH ](isAsync, callBack, sendReason || 6 , cbTimeout);
3146
3773
  }
3147
3774
  callBack && callBack(false);
3148
3775
  return true;
3149
3776
  }
3150
- function _initDebugListener(config) {
3151
- if (config.disableDbgExt === true && _debugListener) {
3152
- _notificationManager[strRemoveNotificationListener](_debugListener);
3777
+ function _initDebugListener() {
3778
+ var disableDbgExt = getCfgValue(_config.disableDbgExt);
3779
+ if (disableDbgExt === true && _debugListener) {
3780
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
3153
3781
  _debugListener = null;
3154
3782
  }
3155
- if (_notificationManager && !_debugListener && config.disableDbgExt !== true) {
3156
- _debugListener = getDebugListener(config);
3157
- _notificationManager[strAddNotificationListener](_debugListener);
3158
- }
3159
- }
3160
- function _initPerfManager(config) {
3161
- if (!config.enablePerfMgr && _cfgPerfManager) {
3162
- _cfgPerfManager = null;
3163
- }
3164
- if (config.enablePerfMgr) {
3165
- setValue(_self.config, "createPerfMgr", _createPerfManager);
3166
- }
3167
- }
3168
- function _initExtConfig(config) {
3169
- var extConfig = getSetValue(config, strExtensionConfig);
3170
- extConfig.NotificationManager = _notificationManager;
3171
- }
3172
- function _doUpdate(updateState) {
3173
- var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);
3174
- if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {
3175
- updateCtx.processNext(updateState);
3176
- }
3177
- }
3178
- function _logOrThrowError(message) {
3179
- var logger = _self.logger;
3180
- if (logger) {
3181
- _throwInternal(logger, 2 , 73 , message);
3182
- }
3183
- else {
3184
- throwError(message);
3185
- }
3186
- }
3187
- });
3188
- }
3189
- return BaseCore;
3190
- }());
3191
-
3192
- function _runListeners(listeners, name, isAsync, callback) {
3193
- arrForEach(listeners, function (listener) {
3194
- if (listener && listener[name]) {
3195
- if (isAsync) {
3196
- setTimeout(function () { return callback(listener); }, 0);
3197
- }
3198
- else {
3199
- try {
3200
- callback(listener);
3201
- }
3202
- catch (e) {
3203
- }
3204
- }
3205
- }
3206
- });
3207
- }
3208
- var NotificationManager = /** @class */ (function () {
3209
- function NotificationManager(config) {
3210
- this.listeners = [];
3211
- var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
3212
- dynamicProto(NotificationManager, this, function (_self) {
3213
- _self[strAddNotificationListener] = function (listener) {
3214
- _self.listeners.push(listener);
3215
- };
3216
- _self[strRemoveNotificationListener] = function (listener) {
3217
- var index = arrIndexOf(_self.listeners, listener);
3218
- while (index > -1) {
3219
- _self.listeners.splice(index, 1);
3220
- index = arrIndexOf(_self.listeners, listener);
3221
- }
3222
- };
3223
- _self[strEventsSent] = function (events) {
3224
- _runListeners(_self.listeners, strEventsSent, true, function (listener) {
3225
- listener[strEventsSent](events);
3226
- });
3227
- };
3228
- _self[strEventsDiscarded] = function (events, reason) {
3229
- _runListeners(_self.listeners, strEventsDiscarded, true, function (listener) {
3230
- listener[strEventsDiscarded](events, reason);
3231
- });
3232
- };
3233
- _self[strEventsSendRequest] = function (sendReason, isAsync) {
3234
- _runListeners(_self.listeners, strEventsSendRequest, isAsync, function (listener) {
3235
- listener[strEventsSendRequest](sendReason, isAsync);
3236
- });
3237
- };
3238
- _self[strPerfEvent] = function (perfEvent) {
3239
- if (perfEvent) {
3240
- if (perfEvtsSendAll || !perfEvent.isChildEvt()) {
3241
- _runListeners(_self.listeners, strPerfEvent, false, function (listener) {
3242
- if (perfEvent.isAsync) {
3243
- setTimeout(function () { return listener[strPerfEvent](perfEvent); }, 0);
3244
- }
3245
- else {
3246
- listener[strPerfEvent](perfEvent);
3247
- }
3248
- });
3249
- }
3250
- }
3251
- };
3252
- });
3253
- }
3254
- return NotificationManager;
3255
- }());
3256
-
3257
- var AppInsightsCore$2 = /** @class */ (function (_super) {
3258
- __extendsFn(AppInsightsCore, _super);
3259
- function AppInsightsCore() {
3260
- var _this = _super.call(this) || this;
3261
- dynamicProto(AppInsightsCore, _this, function (_self, _base) {
3262
- _self.initialize = function (config, extensions, logger, notificationManager) {
3263
- _base.initialize(config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
3264
- };
3265
- _self.track = function (telemetryItem) {
3266
- doPerf(_self.getPerfMgr(), function () { return "AppInsightsCore:track"; }, function () {
3267
- if (telemetryItem === null) {
3268
- _notifyInvalidEvent(telemetryItem);
3269
- throwError("Invalid telemetry item");
3270
- }
3271
- _validateTelemetryItem(telemetryItem);
3272
- _base.track(telemetryItem);
3273
- }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
3274
- };
3275
- function _validateTelemetryItem(telemetryItem) {
3276
- if (isNullOrUndefined(telemetryItem.name)) {
3277
- _notifyInvalidEvent(telemetryItem);
3278
- throwError("telemetry name required");
3279
- }
3280
- }
3281
- function _notifyInvalidEvent(telemetryItem) {
3282
- var manager = _self.getNotifyMgr();
3283
- if (manager) {
3284
- manager.eventsDiscarded([telemetryItem], 2 );
3285
- }
3286
- }
3287
- });
3288
- return _this;
3289
- }
3290
- return AppInsightsCore;
3291
- }(BaseCore$2));
3292
-
3293
- var strOnPrefix = "on";
3294
- var strAttachEvent = "attachEvent";
3295
- var strAddEventHelper = "addEventListener";
3296
- var strDetachEvent = "detachEvent";
3297
- var strRemoveEventListener = "removeEventListener";
3298
- var strEvents = "events";
3299
- var strVisibilityChangeEvt = "visibilitychange";
3300
- var strPageHide = "pagehide";
3301
- var strPageShow = "pageshow";
3302
- var strUnload = "unload";
3303
- var strBeforeUnload = "beforeunload";
3304
- var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
3305
- var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
3306
- var rRemoveEmptyNs = /\.[\.]+/g;
3307
- var rRemoveTrailingEmptyNs = /[\.]+$/;
3308
- var _guid = 1;
3309
- var elmNodeData = createElmNodeData("events");
3310
- var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3311
- function _normalizeNamespace(name) {
3312
- if (name && name.replace) {
3313
- return name.replace(/^\s*\.*|\.*\s*$/g, "");
3314
- }
3315
- return name;
3316
- }
3317
- function _getEvtNamespace(eventName, evtNamespace) {
3318
- if (evtNamespace) {
3319
- var theNamespace_1 = "";
3320
- if (isArray(evtNamespace)) {
3321
- theNamespace_1 = "";
3322
- arrForEach(evtNamespace, function (name) {
3323
- name = _normalizeNamespace(name);
3324
- if (name) {
3325
- if (name[0] !== ".") {
3326
- name = "." + name;
3327
- }
3328
- theNamespace_1 += name;
3329
- }
3330
- });
3331
- }
3332
- else {
3333
- theNamespace_1 = _normalizeNamespace(evtNamespace);
3334
- }
3335
- if (theNamespace_1) {
3336
- if (theNamespace_1[0] !== ".") {
3337
- theNamespace_1 = "." + theNamespace_1;
3338
- }
3339
- eventName = (eventName || "") + theNamespace_1;
3340
- }
3341
- }
3342
- var parsedEvent = (eventNamespace.exec(eventName || "") || []);
3343
- return {
3344
- type: parsedEvent[1],
3345
- ns: ((parsedEvent[2] || "").replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, "").split(".").sort()).join(".")
3346
- };
3347
- }
3348
- function __getRegisteredEvents(target, eventName, evtNamespace) {
3349
- var theEvents = [];
3350
- var eventCache = elmNodeData.get(target, strEvents, {}, false);
3351
- var evtName = _getEvtNamespace(eventName, evtNamespace);
3352
- objForEachKey(eventCache, function (evtType, registeredEvents) {
3353
- arrForEach(registeredEvents, function (value) {
3354
- if (!evtName.type || evtName.type === value.evtName.type) {
3355
- if (!evtName.ns || evtName.ns === evtName.ns) {
3356
- theEvents.push({
3357
- name: value.evtName.type + (value.evtName.ns ? "." + value.evtName.ns : ""),
3358
- handler: value.handler
3359
- });
3360
- }
3361
- }
3362
- });
3363
- });
3364
- return theEvents;
3365
- }
3366
- function _getRegisteredEvents(target, evtName, addDefault) {
3367
- if (addDefault === void 0) { addDefault = true; }
3368
- var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
3369
- var registeredEvents = aiEvts[evtName];
3370
- if (!registeredEvents) {
3371
- registeredEvents = aiEvts[evtName] = [];
3372
- }
3373
- return registeredEvents;
3374
- }
3375
- function _doDetach(obj, evtName, handlerRef, useCapture) {
3376
- if (obj && evtName && evtName.type) {
3377
- if (obj[strRemoveEventListener]) {
3378
- obj[strRemoveEventListener](evtName.type, handlerRef, useCapture);
3379
- }
3380
- else if (obj[strDetachEvent]) {
3381
- obj[strDetachEvent](strOnPrefix + evtName.type, handlerRef);
3382
- }
3383
- }
3384
- }
3385
- function _doAttach(obj, evtName, handlerRef, useCapture) {
3386
- var result = false;
3387
- if (obj && evtName && evtName.type && handlerRef) {
3388
- if (obj[strAddEventHelper]) {
3389
- obj[strAddEventHelper](evtName.type, handlerRef, useCapture);
3390
- result = true;
3391
- }
3392
- else if (obj[strAttachEvent]) {
3393
- obj[strAttachEvent](strOnPrefix + evtName.type, handlerRef);
3394
- result = true;
3395
- }
3396
- }
3397
- return result;
3398
- }
3399
- function _doUnregister(target, events, evtName, unRegFn) {
3400
- var idx = events.length;
3401
- while (idx--) {
3402
- var theEvent = events[idx];
3403
- if (theEvent) {
3404
- if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
3405
- if (!unRegFn || unRegFn(theEvent)) {
3406
- _doDetach(target, theEvent.evtName, theEvent.handler, theEvent.capture);
3407
- events.splice(idx, 1);
3408
- }
3409
- }
3410
- }
3411
- }
3412
- }
3413
- function _unregisterEvents(target, evtName, unRegFn) {
3414
- if (evtName.type) {
3415
- _doUnregister(target, _getRegisteredEvents(target, evtName.type), evtName, unRegFn);
3416
- }
3417
- else {
3418
- var eventCache = elmNodeData.get(target, strEvents, {});
3419
- objForEachKey(eventCache, function (evtType, events) {
3420
- _doUnregister(target, events, evtName, unRegFn);
3421
- });
3422
- if (objKeys(eventCache).length === 0) {
3423
- elmNodeData.kill(target, strEvents);
3424
- }
3425
- }
3426
- }
3427
- function mergeEvtNamespace(theNamespace, namespaces) {
3428
- var newNamespaces;
3429
- if (namespaces) {
3430
- if (isArray(namespaces)) {
3431
- newNamespaces = [theNamespace].concat(namespaces);
3432
- }
3433
- else {
3434
- newNamespaces = [theNamespace, namespaces];
3435
- }
3436
- newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns).split(".");
3437
- }
3438
- else {
3439
- newNamespaces = theNamespace;
3440
- }
3441
- return newNamespaces;
3442
- }
3443
- function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
3444
- if (useCapture === void 0) { useCapture = false; }
3445
- var result = false;
3446
- if (target) {
3447
- try {
3448
- var evtName = _getEvtNamespace(eventName, evtNamespace);
3449
- result = _doAttach(target, evtName, handlerRef, useCapture);
3450
- if (result && elmNodeData.accept(target)) {
3451
- var registeredEvent = {
3452
- guid: _guid++,
3453
- evtName: evtName,
3454
- handler: handlerRef,
3455
- capture: useCapture
3456
- };
3457
- _getRegisteredEvents(target, evtName.type).push(registeredEvent);
3783
+ if (_notificationManager && !_debugListener && disableDbgExt !== true) {
3784
+ _debugListener = getDebugListener(_config);
3785
+ _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
3786
+ }
3458
3787
  }
3459
- }
3460
- catch (e) {
3461
- }
3462
- }
3463
- return result;
3464
- }
3465
- function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
3466
- if (useCapture === void 0) { useCapture = false; }
3467
- if (target) {
3468
- try {
3469
- var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
3470
- var found_1 = false;
3471
- _unregisterEvents(target, evtName_1, function (regEvent) {
3472
- if ((evtName_1.ns && !handlerRef) || regEvent.handler === handlerRef) {
3473
- found_1 = true;
3474
- return true;
3788
+ function _initPerfManager() {
3789
+ var enablePerfMgr = getCfgValue(_config.enablePerfMgr);
3790
+ if (!enablePerfMgr && _cfgPerfManager) {
3791
+ _cfgPerfManager = null;
3792
+ }
3793
+ if (enablePerfMgr) {
3794
+ getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager);
3475
3795
  }
3476
- return false;
3477
- });
3478
- if (!found_1) {
3479
- _doDetach(target, evtName_1, handlerRef, useCapture);
3480
3796
  }
3481
- }
3482
- catch (e) {
3483
- }
3484
- }
3485
- }
3486
- function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
3487
- if (useCapture === void 0) { useCapture = false; }
3488
- return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);
3489
- }
3490
- function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
3491
- if (useCapture === void 0) { useCapture = false; }
3492
- eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);
3493
- }
3494
- function addEventHandler(eventName, callback, evtNamespace) {
3495
- var result = false;
3496
- var w = getWindow();
3497
- if (w) {
3498
- result = eventOn(w, eventName, callback, evtNamespace);
3499
- result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
3500
- }
3501
- var doc = getDocument();
3502
- if (doc) {
3503
- result = eventOn(doc, eventName, callback, evtNamespace) || result;
3504
- }
3505
- return result;
3506
- }
3507
- function removeEventHandler(eventName, callback, evtNamespace) {
3508
- var w = getWindow();
3509
- if (w) {
3510
- eventOff(w, eventName, callback, evtNamespace);
3511
- eventOff(w["body"], eventName, callback, evtNamespace);
3512
- }
3513
- var doc = getDocument();
3514
- if (doc) {
3515
- eventOff(doc, eventName, callback, evtNamespace);
3516
- }
3517
- }
3518
- function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
3519
- var added = false;
3520
- if (listener && events && events.length > 0) {
3521
- arrForEach(events, function (name) {
3522
- if (name) {
3523
- if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
3524
- added = addEventHandler(name, listener, evtNamespace) || added;
3797
+ function _initExtConfig() {
3798
+ var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {});
3799
+ extConfig.NotificationManager = _notificationManager;
3800
+ }
3801
+ function _doUpdate(updateState) {
3802
+ var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);
3803
+ if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {
3804
+ updateCtx[_DYN_PROCESS_NEXT ](updateState);
3525
3805
  }
3526
3806
  }
3527
- });
3528
- }
3529
- return added;
3530
- }
3531
- function addEventListeners(events, listener, excludeEvents, evtNamespace) {
3532
- var added = false;
3533
- if (listener && events && isArray(events)) {
3534
- added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
3535
- if (!added && excludeEvents && excludeEvents.length > 0) {
3536
- added = _addEventListeners(events, listener, null, evtNamespace);
3537
- }
3538
- }
3539
- return added;
3540
- }
3541
- function removeEventListeners(events, listener, evtNamespace) {
3542
- if (events && isArray(events)) {
3543
- arrForEach(events, function (name) {
3544
- if (name) {
3545
- removeEventHandler(name, listener, evtNamespace);
3807
+ function _logOrThrowError(message) {
3808
+ var logger = _self[_DYN_LOGGER ];
3809
+ if (logger) {
3810
+ _throwInternal(logger, 2 , 73 , message);
3811
+ }
3812
+ else {
3813
+ throwError(message);
3814
+ }
3546
3815
  }
3547
3816
  });
3548
3817
  }
3549
- }
3550
- function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
3551
- return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
3552
- }
3553
- function removePageUnloadEventListener(listener, evtNamespace) {
3554
- removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
3555
- }
3556
- function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
3557
- function _handlePageVisibility(evt) {
3558
- var doc = getDocument();
3559
- if (listener && doc && doc.visibilityState === "hidden") {
3560
- listener(evt);
3561
- }
3562
- }
3563
- var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
3564
- var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
3565
- if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
3566
- pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
3567
- }
3568
- if (!pageUnloadAdded && excludeEvents) {
3569
- pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
3570
- }
3571
- return pageUnloadAdded;
3572
- }
3573
- function removePageHideEventListener(listener, evtNamespace) {
3574
- var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
3575
- removeEventListeners([strPageHide], listener, newNamespaces);
3576
- removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
3577
- }
3578
- function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
3579
- function _handlePageVisibility(evt) {
3580
- var doc = getDocument();
3581
- if (listener && doc && doc.visibilityState === "visible") {
3582
- listener(evt);
3583
- }
3584
- }
3585
- var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
3586
- var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
3587
- pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
3588
- if (!pageShowAdded && excludeEvents) {
3589
- pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
3590
- }
3591
- return pageShowAdded;
3592
- }
3593
- function removePageShowEventListener(listener, evtNamespace) {
3594
- var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
3595
- removeEventListeners([strPageShow], listener, newNamespaces);
3596
- removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
3597
- }
3818
+ BaseCore.__ieDyn=1;
3819
+ return BaseCore;
3820
+ }());
3598
3821
 
3599
- function newGuid() {
3600
- function randomHexDigit() {
3601
- return randomValue(15);
3602
- }
3603
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(GuidRegex, function (c) {
3604
- var r = (randomHexDigit() | 0), v = (c === "x" ? r : r & 0x3 | 0x8);
3605
- return v.toString(16);
3822
+ function _runListeners(listeners, name, isAsync, callback) {
3823
+ arrForEach(listeners, function (listener) {
3824
+ if (listener && listener[name]) {
3825
+ if (isAsync) {
3826
+ setTimeout(function () { return callback(listener); }, 0);
3827
+ }
3828
+ else {
3829
+ try {
3830
+ callback(listener);
3831
+ }
3832
+ catch (e) {
3833
+ }
3834
+ }
3835
+ }
3606
3836
  });
3607
3837
  }
3608
- function perfNow() {
3609
- var perf = getPerformance();
3610
- if (perf && perf.now) {
3611
- return perf.now();
3838
+ var NotificationManager = /** @class */ (function () {
3839
+ function NotificationManager(config) {
3840
+ this.listeners = [];
3841
+ var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
3842
+ dynamicProto(NotificationManager, this, function (_self) {
3843
+ _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3844
+ _self.listeners[_DYN_PUSH ](listener);
3845
+ };
3846
+ _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3847
+ var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3848
+ while (index > -1) {
3849
+ _self.listeners[_DYN_SPLICE ](index, 1);
3850
+ index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3851
+ }
3852
+ };
3853
+ _self[STR_EVENTS_SENT ] = function (events) {
3854
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3855
+ listener[STR_EVENTS_SENT ](events);
3856
+ });
3857
+ };
3858
+ _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3859
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3860
+ listener[STR_EVENTS_DISCARDED ](events, reason);
3861
+ });
3862
+ };
3863
+ _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3864
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3865
+ listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3866
+ });
3867
+ };
3868
+ _self[STR_PERF_EVENT ] = function (perfEvent) {
3869
+ if (perfEvent) {
3870
+ if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3871
+ _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
3872
+ if (perfEvent[_DYN_IS_ASYNC ]) {
3873
+ setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3874
+ }
3875
+ else {
3876
+ listener[STR_PERF_EVENT ](perfEvent);
3877
+ }
3878
+ });
3879
+ }
3880
+ }
3881
+ };
3882
+ });
3612
3883
  }
3613
- return dateNow();
3614
- }
3615
- function generateW3CId() {
3616
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3617
- var oct = strEmpty, tmp;
3618
- for (var a = 0; a < 4; a++) {
3619
- tmp = random32();
3620
- oct +=
3621
- hexValues[tmp & 0xF] +
3622
- hexValues[tmp >> 4 & 0xF] +
3623
- hexValues[tmp >> 8 & 0xF] +
3624
- hexValues[tmp >> 12 & 0xF] +
3625
- hexValues[tmp >> 16 & 0xF] +
3626
- hexValues[tmp >> 20 & 0xF] +
3627
- hexValues[tmp >> 24 & 0xF] +
3628
- hexValues[tmp >> 28 & 0xF];
3884
+ NotificationManager.__ieDyn=1;
3885
+ return NotificationManager;
3886
+ }());
3887
+
3888
+ var AppInsightsCore$2 = /** @class */ (function (_super) {
3889
+ __extendsFn(AppInsightsCore, _super);
3890
+ function AppInsightsCore() {
3891
+ var _this = _super.call(this) || this;
3892
+ dynamicProto(AppInsightsCore, _this, function (_self, _base) {
3893
+ _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
3894
+ _base[_DYN_INITIALIZE ](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
3895
+ };
3896
+ _self.track = function (telemetryItem) {
3897
+ doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
3898
+ if (telemetryItem === null) {
3899
+ _notifyInvalidEvent(telemetryItem);
3900
+ throwError("Invalid telemetry item");
3901
+ }
3902
+ _validateTelemetryItem(telemetryItem);
3903
+ _base.track(telemetryItem);
3904
+ }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
3905
+ };
3906
+ function _validateTelemetryItem(telemetryItem) {
3907
+ if (isNullOrUndefined(telemetryItem[_DYN_NAME ])) {
3908
+ _notifyInvalidEvent(telemetryItem);
3909
+ throwError("telemetry name required");
3910
+ }
3911
+ }
3912
+ function _notifyInvalidEvent(telemetryItem) {
3913
+ var manager = _self[_DYN_GET_NOTIFY_MGR ]();
3914
+ if (manager) {
3915
+ manager[STR_EVENTS_DISCARDED ]([telemetryItem], 2 );
3916
+ }
3917
+ }
3918
+ });
3919
+ return _this;
3629
3920
  }
3630
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
3631
- return oct.substr(0, 8) + oct.substr(9, 4) + "4" + oct.substr(13, 3) + clockSequenceHi + oct.substr(16, 3) + oct.substr(19, 12);
3632
- }
3633
- var GuidRegex = /[xy]/g;
3634
- var EventHelper = {
3635
- Attach: attachEvent,
3636
- AttachEvent: attachEvent,
3637
- Detach: detachEvent,
3638
- DetachEvent: detachEvent
3639
- };
3921
+ AppInsightsCore.__ieDyn=1;
3922
+ return AppInsightsCore;
3923
+ }(BaseCore$2));
3640
3924
 
3925
+ var _a$1;
3926
+ var FAILED = "Failed";
3927
+ var FAILED_MONITOR_AJAX = FAILED + "MonitorAjax";
3928
+ var TRACK = "Track";
3929
+ var START = "Start";
3930
+ var STOP = "Stop";
3931
+ var EVENT = "Event";
3932
+ var AUTH_CONTEXT = "AuthContext";
3933
+ var EXCEPTION = "Exception";
3934
+ var LOCAL = "Local";
3935
+ var SESSION = "Session";
3936
+ var STORAGE = "Storage";
3937
+ var BROWSER = "Browser";
3938
+ var CANNOT = "Cannot";
3939
+ var BUFFER = "Buffer";
3940
+ var INSTRUMENTATION_KEY = "InstrumentationKey";
3641
3941
  var LoggingSeverity = createEnumStyle({
3642
3942
  CRITICAL: 1 ,
3643
3943
  WARNING: 2
3644
3944
  });
3645
- var _InternalMessageId = createEnumStyle({
3646
- BrowserDoesNotSupportLocalStorage: 0 ,
3647
- BrowserCannotReadLocalStorage: 1 ,
3648
- BrowserCannotReadSessionStorage: 2 ,
3649
- BrowserCannotWriteLocalStorage: 3 ,
3650
- BrowserCannotWriteSessionStorage: 4 ,
3651
- BrowserFailedRemovalFromLocalStorage: 5 ,
3652
- BrowserFailedRemovalFromSessionStorage: 6 ,
3653
- CannotSendEmptyTelemetry: 7 ,
3654
- ClientPerformanceMathError: 8 ,
3655
- ErrorParsingAISessionCookie: 9 ,
3656
- ErrorPVCalc: 10 ,
3657
- ExceptionWhileLoggingError: 11 ,
3658
- FailedAddingTelemetryToBuffer: 12 ,
3659
- FailedMonitorAjaxAbort: 13 ,
3660
- FailedMonitorAjaxDur: 14 ,
3661
- FailedMonitorAjaxOpen: 15 ,
3662
- FailedMonitorAjaxRSC: 16 ,
3663
- FailedMonitorAjaxSend: 17 ,
3664
- FailedMonitorAjaxGetCorrelationHeader: 18 ,
3665
- FailedToAddHandlerForOnBeforeUnload: 19 ,
3666
- FailedToSendQueuedTelemetry: 20 ,
3667
- FailedToReportDataLoss: 21 ,
3668
- FlushFailed: 22 ,
3669
- MessageLimitPerPVExceeded: 23 ,
3670
- MissingRequiredFieldSpecification: 24 ,
3671
- NavigationTimingNotSupported: 25 ,
3672
- OnError: 26 ,
3673
- SessionRenewalDateIsZero: 27 ,
3674
- SenderNotInitialized: 28 ,
3675
- StartTrackEventFailed: 29 ,
3676
- StopTrackEventFailed: 30 ,
3677
- StartTrackFailed: 31 ,
3678
- StopTrackFailed: 32 ,
3679
- TelemetrySampledAndNotSent: 33 ,
3680
- TrackEventFailed: 34 ,
3681
- TrackExceptionFailed: 35 ,
3682
- TrackMetricFailed: 36 ,
3683
- TrackPVFailed: 37 ,
3684
- TrackPVFailedCalc: 38 ,
3685
- TrackTraceFailed: 39 ,
3686
- TransmissionFailed: 40 ,
3687
- FailedToSetStorageBuffer: 41 ,
3688
- FailedToRestoreStorageBuffer: 42 ,
3689
- InvalidBackendResponse: 43 ,
3690
- FailedToFixDepricatedValues: 44 ,
3691
- InvalidDurationValue: 45 ,
3692
- TelemetryEnvelopeInvalid: 46 ,
3693
- CreateEnvelopeError: 47 ,
3694
- CannotSerializeObject: 48 ,
3695
- CannotSerializeObjectNonSerializable: 49 ,
3696
- CircularReferenceDetected: 50 ,
3697
- ClearAuthContextFailed: 51 ,
3698
- ExceptionTruncated: 52 ,
3699
- IllegalCharsInName: 53 ,
3700
- ItemNotInArray: 54 ,
3701
- MaxAjaxPerPVExceeded: 55 ,
3702
- MessageTruncated: 56 ,
3703
- NameTooLong: 57 ,
3704
- SampleRateOutOfRange: 58 ,
3705
- SetAuthContextFailed: 59 ,
3706
- SetAuthContextFailedAccountName: 60 ,
3707
- StringValueTooLong: 61 ,
3708
- StartCalledMoreThanOnce: 62 ,
3709
- StopCalledWithoutStart: 63 ,
3710
- TelemetryInitializerFailed: 64 ,
3711
- TrackArgumentsNotSpecified: 65 ,
3712
- UrlTooLong: 66 ,
3713
- SessionStorageBufferFull: 67 ,
3714
- CannotAccessCookie: 68 ,
3715
- IdTooLong: 69 ,
3716
- InvalidEvent: 70 ,
3717
- FailedMonitorAjaxSetRequestHeader: 71 ,
3718
- SendBrowserInfoOnUserInit: 72 ,
3719
- PluginException: 73 ,
3720
- NotificationException: 74 ,
3721
- SnippetScriptLoadFailure: 99 ,
3722
- InvalidInstrumentationKey: 100 ,
3723
- CannotParseAiBlobValue: 101 ,
3724
- InvalidContentBlob: 102 ,
3725
- TrackPageActionEventFailed: 103 ,
3726
- FailedAddingCustomDefinedRequestContext: 104 ,
3727
- InMemoryStorageBufferFull: 105
3728
- });
3945
+ var _InternalMessageId = createEnumStyle((_a$1 = {},
3946
+ _a$1[BROWSER + "DoesNotSupport" + LOCAL + STORAGE] = 0 ,
3947
+ _a$1[BROWSER + CANNOT + "Read" + LOCAL + STORAGE] = 1 ,
3948
+ _a$1[BROWSER + CANNOT + "Read" + SESSION + STORAGE] = 2 ,
3949
+ _a$1[BROWSER + CANNOT + "Write" + LOCAL + STORAGE] = 3 ,
3950
+ _a$1[BROWSER + CANNOT + "Write" + SESSION + STORAGE] = 4 ,
3951
+ _a$1[BROWSER + FAILED + "RemovalFrom" + LOCAL + STORAGE] = 5 ,
3952
+ _a$1[BROWSER + FAILED + "RemovalFrom" + SESSION + STORAGE] = 6 ,
3953
+ _a$1[CANNOT + "SendEmptyTelemetry"] = 7 ,
3954
+ _a$1.ClientPerformanceMathError = 8 ,
3955
+ _a$1["ErrorParsingAI" + SESSION + "Cookie"] = 9 ,
3956
+ _a$1.ErrorPVCalc = 10 ,
3957
+ _a$1[EXCEPTION + "WhileLoggingError"] = 11 ,
3958
+ _a$1[FAILED + "AddingTelemetryTo" + BUFFER] = 12 ,
3959
+ _a$1[FAILED_MONITOR_AJAX + "Abort"] = 13 ,
3960
+ _a$1[FAILED_MONITOR_AJAX + "Dur"] = 14 ,
3961
+ _a$1[FAILED_MONITOR_AJAX + "Open"] = 15 ,
3962
+ _a$1[FAILED_MONITOR_AJAX + "RSC"] = 16 ,
3963
+ _a$1[FAILED_MONITOR_AJAX + "Send"] = 17 ,
3964
+ _a$1[FAILED_MONITOR_AJAX + "GetCorrelationHeader"] = 18 ,
3965
+ _a$1[FAILED + "ToAddHandlerForOnBeforeUnload"] = 19 ,
3966
+ _a$1[FAILED + "ToSendQueuedTelemetry"] = 20 ,
3967
+ _a$1[FAILED + "ToReportDataLoss"] = 21 ,
3968
+ _a$1["Flush" + FAILED] = 22 ,
3969
+ _a$1.MessageLimitPerPVExceeded = 23 ,
3970
+ _a$1.MissingRequiredFieldSpecification = 24 ,
3971
+ _a$1.NavigationTimingNotSupported = 25 ,
3972
+ _a$1.OnError = 26 ,
3973
+ _a$1[SESSION + "RenewalDateIsZero"] = 27 ,
3974
+ _a$1.SenderNotInitialized = 28 ,
3975
+ _a$1[START + TRACK + EVENT + FAILED] = 29 ,
3976
+ _a$1[STOP + TRACK + EVENT + FAILED] = 30 ,
3977
+ _a$1[START + TRACK + FAILED] = 31 ,
3978
+ _a$1[STOP + TRACK + FAILED] = 32 ,
3979
+ _a$1.TelemetrySampledAndNotSent = 33 ,
3980
+ _a$1[TRACK + EVENT + FAILED] = 34 ,
3981
+ _a$1[TRACK + EXCEPTION + FAILED] = 35 ,
3982
+ _a$1[TRACK + "Metric" + FAILED] = 36 ,
3983
+ _a$1[TRACK + "PV" + FAILED] = 37 ,
3984
+ _a$1[TRACK + "PV" + FAILED + "Calc"] = 38 ,
3985
+ _a$1[TRACK + "Trace" + FAILED] = 39 ,
3986
+ _a$1["Transmission" + FAILED] = 40 ,
3987
+ _a$1[FAILED + "ToSet" + STORAGE + BUFFER] = 41 ,
3988
+ _a$1[FAILED + "ToRestore" + STORAGE + BUFFER] = 42 ,
3989
+ _a$1.InvalidBackendResponse = 43 ,
3990
+ _a$1[FAILED + "ToFixDepricatedValues"] = 44 ,
3991
+ _a$1.InvalidDurationValue = 45 ,
3992
+ _a$1.TelemetryEnvelopeInvalid = 46 ,
3993
+ _a$1.CreateEnvelopeError = 47 ,
3994
+ _a$1[CANNOT + "SerializeObject"] = 48 ,
3995
+ _a$1[CANNOT + "SerializeObjectNonSerializable"] = 49 ,
3996
+ _a$1.CircularReferenceDetected = 50 ,
3997
+ _a$1["Clear" + AUTH_CONTEXT + FAILED] = 51 ,
3998
+ _a$1[EXCEPTION + "Truncated"] = 52 ,
3999
+ _a$1.IllegalCharsInName = 53 ,
4000
+ _a$1.ItemNotInArray = 54 ,
4001
+ _a$1.MaxAjaxPerPVExceeded = 55 ,
4002
+ _a$1.MessageTruncated = 56 ,
4003
+ _a$1.NameTooLong = 57 ,
4004
+ _a$1.SampleRateOutOfRange = 58 ,
4005
+ _a$1["Set" + AUTH_CONTEXT + FAILED] = 59 ,
4006
+ _a$1["Set" + AUTH_CONTEXT + FAILED + "AccountName"] = 60 ,
4007
+ _a$1.StringValueTooLong = 61 ,
4008
+ _a$1.StartCalledMoreThanOnce = 62 ,
4009
+ _a$1.StopCalledWithoutStart = 63 ,
4010
+ _a$1["TelemetryInitializer" + FAILED] = 64 ,
4011
+ _a$1.TrackArgumentsNotSpecified = 65 ,
4012
+ _a$1.UrlTooLong = 66 ,
4013
+ _a$1[SESSION + STORAGE + BUFFER + "Full"] = 67 ,
4014
+ _a$1[CANNOT + "AccessCookie"] = 68 ,
4015
+ _a$1.IdTooLong = 69 ,
4016
+ _a$1.InvalidEvent = 70 ,
4017
+ _a$1[FAILED_MONITOR_AJAX + "SetRequestHeader"] = 71 ,
4018
+ _a$1["Send" + BROWSER + "InfoOnUserInit"] = 72 ,
4019
+ _a$1["Plugin" + EXCEPTION] = 73 ,
4020
+ _a$1["Notification" + EXCEPTION] = 74 ,
4021
+ _a$1.SnippetScriptLoadFailure = 99 ,
4022
+ _a$1["Invalid" + INSTRUMENTATION_KEY] = 100 ,
4023
+ _a$1[CANNOT + "ParseAiBlobValue"] = 101 ,
4024
+ _a$1.InvalidContentBlob = 102 ,
4025
+ _a$1[TRACK + "PageAction" + EVENT + FAILED] = 103 ,
4026
+ _a$1[FAILED + "AddingCustomDefinedRequestContext"] = 104 ,
4027
+ _a$1["InMemory" + STORAGE + BUFFER + "Full"] = 105 ,
4028
+ _a$1[INSTRUMENTATION_KEY + "Deprecation"] = 106 ,
4029
+ _a$1));
3729
4030
 
3730
4031
  var ValueKind = createEnumStyle({
3731
4032
  NotSet: 0 ,
@@ -3795,8 +4096,13 @@
3795
4096
  SDKNotInitialized: 520
3796
4097
  })));
3797
4098
 
4099
+ var STR_EMPTY = "";
4100
+ var STR_DEFAULT_ENDPOINT_URL = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
4101
+ var STR_VERSION = "version";
4102
+ var STR_PROPERTIES = "properties";
4103
+
3798
4104
  var _a;
3799
- var Version = '3.2.1';
4105
+ var Version = '3.2.4';
3800
4106
  var FullVersionString = "1DS-Web-JS-" + Version;
3801
4107
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3802
4108
  var strWithCredentials = "withCredentials";
@@ -3814,7 +4120,7 @@
3814
4120
  var isDocumentObjectAvailable = Boolean(getDocument());
3815
4121
  var isWindowObjectAvailable = Boolean(getWindow());
3816
4122
  function isValueAssigned(value) {
3817
- return !(value === "" || isNullOrUndefined(value));
4123
+ return !(value === STR_EMPTY || isNullOrUndefined(value));
3818
4124
  }
3819
4125
  function getTenantId(apiKey) {
3820
4126
  if (apiKey) {
@@ -3823,7 +4129,7 @@
3823
4129
  return apiKey.substring(0, indexTenantId);
3824
4130
  }
3825
4131
  }
3826
- return "";
4132
+ return STR_EMPTY;
3827
4133
  }
3828
4134
  function isUint8ArrayAvailable() {
3829
4135
  if (uInt8ArraySupported === null) {
@@ -3845,11 +4151,11 @@
3845
4151
  if (propType === "string" || propType === "number" || propType === "boolean" || isArray(property)) {
3846
4152
  property = { value: property };
3847
4153
  }
3848
- else if (propType === "object" && !property.hasOwnProperty("value")) {
4154
+ else if (propType === "object" && !ObjHasOwnProperty.call(property, "value")) {
3849
4155
  property = { value: stringifyObjects ? JSON.stringify(property) : property };
3850
4156
  }
3851
4157
  else if (isNullOrUndefined(property.value)
3852
- || property.value === "" || (!isString(property.value)
4158
+ || property.value === STR_EMPTY || (!isString(property.value)
3853
4159
  && !isNumber(property.value) && !isBoolean(property.value)
3854
4160
  && !isArray(property.value))) {
3855
4161
  return null;
@@ -3912,7 +4218,7 @@
3912
4218
  if (areCookiesSupported(null)) {
3913
4219
  return getCookieValue(safeGetCookieMgr(null), name);
3914
4220
  }
3915
- return "";
4221
+ return STR_EMPTY;
3916
4222
  }
3917
4223
  function getCookieValue(cookieMgr, name, decode) {
3918
4224
  if (decode === void 0) { decode = true; }
@@ -3923,7 +4229,7 @@
3923
4229
  cookieValue = decodeURIComponent(cookieValue);
3924
4230
  }
3925
4231
  }
3926
- return cookieValue || "";
4232
+ return cookieValue || STR_EMPTY;
3927
4233
  }
3928
4234
  function createGuid(style) {
3929
4235
  if (style === void 0) { style = "D" ; }
@@ -3935,7 +4241,7 @@
3935
4241
  theGuid = "(" + theGuid + ")";
3936
4242
  }
3937
4243
  else if (style === "N" ) {
3938
- theGuid = theGuid.replace(/-/g, "");
4244
+ theGuid = theGuid.replace(/-/g, STR_EMPTY);
3939
4245
  }
3940
4246
  return theGuid;
3941
4247
  }
@@ -4029,7 +4335,7 @@
4029
4335
  theType |= getFieldValueType(value[0]);
4030
4336
  }
4031
4337
  }
4032
- else if (hasOwnProperty(value, "value")) {
4338
+ else if (ObjHasOwnProperty.call(value, "value")) {
4033
4339
  theType = 8192 | getFieldValueType(value.value);
4034
4340
  }
4035
4341
  }
@@ -4151,27 +4457,25 @@
4151
4457
  return xhr;
4152
4458
  }
4153
4459
 
4154
- var PropVersion = "version";
4155
- var properties = "properties";
4156
4460
  var AppInsightsCore = /** @class */ (function (_super) {
4157
4461
  __extendsFn(AppInsightsCore, _super);
4158
4462
  function AppInsightsCore() {
4159
4463
  var _this = _super.call(this) || this;
4160
4464
  _this.pluginVersionStringArr = [];
4161
- _this.pluginVersionString = "";
4162
4465
  dynamicProto(AppInsightsCore, _this, function (_self, _base) {
4163
4466
  if (!_self.logger || !_self.logger.queue) {
4164
4467
  _self.logger = new DiagnosticLogger({ loggingLevelConsole: 1 });
4165
4468
  }
4166
4469
  _self.initialize = function (config, extensions, logger, notificationManager) {
4167
4470
  doPerf(_self, function () { return "AppInsightsCore.initialize"; }, function () {
4471
+ var _pluginVersionStringArr = _self.pluginVersionStringArr;
4168
4472
  if (config) {
4169
4473
  if (!config.endpointUrl) {
4170
- config.endpointUrl = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
4474
+ config.endpointUrl = STR_DEFAULT_ENDPOINT_URL;
4171
4475
  }
4172
4476
  var propertyStorageOverride = config.propertyStorageOverride;
4173
4477
  if (propertyStorageOverride && (!propertyStorageOverride.getProperty || !propertyStorageOverride.setProperty)) {
4174
- throw new Error("Invalid property storage override passed.");
4478
+ throwError("Invalid property storage override passed.");
4175
4479
  }
4176
4480
  if (config.channels) {
4177
4481
  arrForEach(config.channels, function (channels) {
@@ -4179,7 +4483,7 @@
4179
4483
  arrForEach(channels, function (channel) {
4180
4484
  if (channel.identifier && channel.version) {
4181
4485
  var ver = channel.identifier + "=" + channel.version;
4182
- _self.pluginVersionStringArr.push(ver);
4486
+ _pluginVersionStringArr.push(ver);
4183
4487
  }
4184
4488
  });
4185
4489
  }
@@ -4193,11 +4497,12 @@
4193
4497
  arrForEach(extensions, function (ext) {
4194
4498
  if (ext && ext.identifier && ext.version) {
4195
4499
  var ver = ext.identifier + "=" + ext.version;
4196
- _self.pluginVersionStringArr.push(ver);
4500
+ _pluginVersionStringArr.push(ver);
4197
4501
  }
4198
4502
  });
4199
4503
  }
4200
- _self.pluginVersionString = _self.pluginVersionStringArr.join(";");
4504
+ _self.pluginVersionString = _pluginVersionStringArr.join(";");
4505
+ _self.pluginVersionStringArr = _pluginVersionStringArr;
4201
4506
  try {
4202
4507
  _base.initialize(config, extensions, logger, notificationManager);
4203
4508
  _self.pollInternalLogs("InternalLog");
@@ -4208,7 +4513,7 @@
4208
4513
  if (message.indexOf("channels") !== -1) {
4209
4514
  message += "\n - Channels must be provided through config.channels only!";
4210
4515
  }
4211
- logger_1.throwInternal(1 , 514 , "SDK Initialization Failed - no telemetry will be sent: " + message);
4516
+ _throwInternal(logger_1, 1 , 514 , "SDK Initialization Failed - no telemetry will be sent: " + message);
4212
4517
  }
4213
4518
  }, function () { return ({ config: config, extensions: extensions, logger: logger, notificationManager: notificationManager }); });
4214
4519
  };
@@ -4225,16 +4530,9 @@
4225
4530
  itemExt.sdk = itemExt.sdk || {};
4226
4531
  itemExt.sdk.ver = FullVersionString;
4227
4532
  var baseData = telemetryItem.baseData = telemetryItem.baseData || {};
4228
- if (!baseData[properties]) {
4229
- baseData[properties] = {};
4230
- }
4231
- var itemProperties = baseData[properties];
4232
- if (!itemProperties[PropVersion]) {
4233
- itemProperties[PropVersion] = "";
4234
- }
4235
- if (_self.pluginVersionString !== "") {
4236
- itemProperties[PropVersion] = _self.pluginVersionString;
4237
- }
4533
+ baseData[STR_PROPERTIES] = baseData[STR_PROPERTIES] || {};
4534
+ var itemProperties = baseData[STR_PROPERTIES];
4535
+ itemProperties[STR_VERSION] = _self.pluginVersionString || itemProperties[STR_VERSION] || STR_EMPTY;
4238
4536
  }
4239
4537
  _base.track(telemetryItem);
4240
4538
  }, function () { return ({ item: item }); }, !(item.sync));
@@ -4242,6 +4540,7 @@
4242
4540
  });
4243
4541
  return _this;
4244
4542
  }
4543
+ AppInsightsCore.__ieDyn=1;
4245
4544
  return AppInsightsCore;
4246
4545
  }(AppInsightsCore$2));
4247
4546
  var AppInsightsCore$1 = AppInsightsCore;
@@ -4253,7 +4552,7 @@
4253
4552
  dynamicProto(BaseCore, _this, function (_self, _base) {
4254
4553
  _self.initialize = function (config, extensions, logger, notificationManager) {
4255
4554
  if (config && !config.endpointUrl) {
4256
- config.endpointUrl = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
4555
+ config.endpointUrl = STR_DEFAULT_ENDPOINT_URL;
4257
4556
  }
4258
4557
  _self.getWParam = function () {
4259
4558
  return isDocumentObjectAvailable ? 0 : -1;
@@ -4277,6 +4576,7 @@
4277
4576
  });
4278
4577
  return _this;
4279
4578
  }
4579
+ BaseCore.__ieDyn=1;
4280
4580
  return BaseCore;
4281
4581
  }(BaseCore$2));
4282
4582
  var BaseCore$1 = BaseCore;
@@ -4658,7 +4958,7 @@
4658
4958
  }
4659
4959
  }
4660
4960
  function _warnLog(message) {
4661
- diagLog && diagLog.warnToConsole("ESPromiseScheduler[" + _scheduledName + "] " + message);
4961
+ _warnToConsole(diagLog, "ESPromiseScheduler[" + _scheduledName + "] " + message);
4662
4962
  }
4663
4963
  }
4664
4964
  ESPromiseScheduler.incomplete = function () {
@@ -4750,7 +5050,7 @@
4750
5050
  if (mapValue.handler) {
4751
5051
  return mapValue.handler.value(path, name, value, stringifyObjects);
4752
5052
  }
4753
- if (!isString(name) || isNullOrUndefined(value) || value === "") {
5053
+ if (!isString(name) || isNullOrUndefined(value) || value === STR_EMPTY) {
4754
5054
  return null;
4755
5055
  }
4756
5056
  var property = null;
@@ -4882,7 +5182,9 @@
4882
5182
  exports._InternalLogMessage = _InternalLogMessage;
4883
5183
  exports._InternalMessageId = _InternalMessageId;
4884
5184
  exports.__getRegisteredEvents = __getRegisteredEvents;
5185
+ exports._logInternalMessage = _logInternalMessage;
4885
5186
  exports._throwInternal = _throwInternal;
5187
+ exports._warnToConsole = _warnToConsole;
4886
5188
  exports.addEventHandler = addEventHandler;
4887
5189
  exports.addEventListeners = addEventListeners;
4888
5190
  exports.addPageHideEventListener = addPageHideEventListener;
@@ -4899,6 +5201,7 @@
4899
5201
  exports.createEnumStyle = createEnumStyle;
4900
5202
  exports.createGuid = createGuid;
4901
5203
  exports.createProcessTelemetryContext = createProcessTelemetryContext;
5204
+ exports.createTraceParent = createTraceParent;
4902
5205
  exports.createUniqueNamespace = createUniqueNamespace;
4903
5206
  exports.createUnloadHandlerContainer = createUnloadHandlerContainer;
4904
5207
  exports.dateNow = dateNow;
@@ -4911,6 +5214,8 @@
4911
5214
  exports.eventOff = eventOff;
4912
5215
  exports.eventOn = eventOn;
4913
5216
  exports.extend = extend;
5217
+ exports.findW3cTraceParent = findW3cTraceParent;
5218
+ exports.formatTraceParent = formatTraceParent;
4914
5219
  exports.generateW3CId = generateW3CId;
4915
5220
  exports.getCommonSchemaMetaData = getCommonSchemaMetaData;
4916
5221
  exports.getConsole = getConsole;
@@ -4957,11 +5262,15 @@
4957
5262
  exports.isNumber = isNumber;
4958
5263
  exports.isObject = isObject;
4959
5264
  exports.isReactNative = isReactNative;
5265
+ exports.isSampledFlag = isSampledFlag;
4960
5266
  exports.isString = isString;
4961
5267
  exports.isTruthy = isTruthy;
4962
5268
  exports.isTypeof = isTypeof;
4963
5269
  exports.isUint8ArrayAvailable = isUint8ArrayAvailable;
4964
5270
  exports.isUndefined = isUndefined;
5271
+ exports.isValidSpanId = isValidSpanId;
5272
+ exports.isValidTraceId = isValidTraceId;
5273
+ exports.isValidTraceParent = isValidTraceParent;
4965
5274
  exports.isValueAssigned = isValueAssigned;
4966
5275
  exports.isValueKind = isValueKind;
4967
5276
  exports.isWindowObjectAvailable = isWindowObjectAvailable;
@@ -4978,6 +5287,7 @@
4978
5287
  exports.objSeal = objSeal;
4979
5288
  exports.openXhr = openXhr;
4980
5289
  exports.optimizeObject = optimizeObject;
5290
+ exports.parseTraceParent = parseTraceParent;
4981
5291
  exports.perfNow = perfNow;
4982
5292
  exports.proxyAssign = proxyAssign;
4983
5293
  exports.proxyFunctionAs = proxyFunctionAs;
@@ -5011,4 +5321,4 @@
5011
5321
  (function(obj, prop, descriptor) { /* ai_es3_polyfil defineProperty */ var func = Object["defineProperty"]; if (func) { try { return func(obj, prop, descriptor); } catch(e) { /* IE8 defines defineProperty, but will throw */ } } if (descriptor && typeof descriptor.value !== undefined) { obj[prop] = descriptor.value; } return obj; })(exports, '__esModule', { value: true });
5012
5322
 
5013
5323
  }));
5014
- //# sourceMappingURL=ms.core-3.2.1.js.map
5324
+ //# sourceMappingURL=ms.core-3.2.4.js.map