{"version":3,"sources":["webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.io.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/simplerestclients/dist/utils.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/Enums.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogManager.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTSemanticContext.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTSerializer.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/DataModels.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogManagerSettings.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTEventProperties.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/Utils.js","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AriaSDK.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/simplerestclients/dist/GenericRestClient.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTHttpManager.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTRetryPolicy.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/simplerestclients/index.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTStatsManager.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogger.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/Version.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/Enums.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.floatutils.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTTransmissionManagerCore.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.primitives.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.utils.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/simplerestclients/dist/SimpleWebRequest.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTAutoCollection.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTKillSwitch.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/simplerestclients/dist/ExponentialTime.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/simplerestclients/dist/SimpleRestClients.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.encoding.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTQueueManager.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/bond_const.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTRecordBatcher.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTNotificationManager.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTClockSkewManager.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTTransmissionManager.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_Set.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/synctasks/dist/SyncTasks.js","webpack:///./node_modules/lodash/identity.js"],"names":["assocIndexOf","module","exports","key","this","__data__","Object","defineProperty","value","microsoft_bond_primitives_1","MemoryStream","_buffer","prototype","_WriteByte","byte","push","Number","_ToByte","_Write","buffer","offset","count","_GetBuffer","baseIsArguments","isObjectLike","objectProto","hasOwnProperty","propertyIsEnumerable","isArguments","arguments","call","ListCache","Map","MapCache","data","pairs","length","LARGE_ARRAY_SIZE","size","set","setCacheAdd","setCacheHas","SetCache","values","index","add","has","coreJsData","funcToString","Function","toString","func","e","__assign","assign","t","s","i","n","p","apply","assert","cond","message","Error","isObject","isString","attempt","args","_i","remove","array","splice","clone","Array","isArray","map","keys","reduce","res","_a","AWTPropertyType","AWTPiiKind","AWTCustomerContentKind","AWTEventPriority","AWTEventsDroppedReason","AWTEventsRejectedReason","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","entries","clear","entry","get","Enums_1","Enums_2","AWTLogManagerSettings_1","AWTLogger_1","AWTTransmissionManagerCore_1","AWTNotificationManager_1","AWTAutoCollection_1","AWTLogManager","initialize","tenantToken","configuration","_isInitialized","default","defaultTenantToken","_overrideValuesFromConfig","_config","disableCookiesUsage","propertyStorageOverride","sessionEnabled","addPropertyStorageOverride","autoCollect","semanticContext","userAgent","loggingEnabled","enableAutoUserSession","getLogger","logSession","AWTSessionState","Started","window","addEventListener","flushAndTeardown","getSemanticContext","flush","callback","_isDestroyed","Ended","pauseTransmission","resumeTransmision","setTransmitProfile","profileName","loadTransmitProfiles","profiles","setContext","name","type","Unspecified","logManagerContext","setProperty","setContextWithPii","pii","setPropertyWithPii","setContextWithCustomerContent","customerContent","setPropertyWithCustomerContent","_loggers","addNotificationListener","listener","removeNotificationListener","config","collectorUri","cacheMemorySizeLimitInNumberOfEvents","httpXHROverride","sendPOST","getProperty","canSendStatEvent","clockSkewRefreshDurationInMins","eventName","AWTSemanticContext","_allowDeviceFields","_properties","setAppId","appId","_addContext","setAppVersion","appVersion","setAppLanguage","appLanguage","setDeviceId","deviceId","checkAndSaveDeviceId","setDeviceOsName","deviceOsName","setDeviceOsVersion","deviceOsVersion","setDeviceBrowserName","deviceBrowserName","setDeviceBrowserVersion","deviceBrowserVersion","setDeviceMake","deviceMake","setDeviceModel","deviceModel","setUserId","userId","userIdType","isNaN","inferredUserIdType","SipAddress","AWTUserIdType","PhoneNumber","SmtpAddress","EmailAddress","Unknown","NotSet","Skype","Identity","_addContextWithPii","setUserAdvertisingId","userAdvertisingId","setUserTimeZone","userTimeZone","setUserLanguage","userLanguage","Bond","Utils","AWTSerializer","getPayloadBlob","requestDictionary","tokenCount","remainingRequest","stream","IO","writer","CompactBinaryProtocolWriter","token","_WriteFieldBegin","_BondDataType","_BT_MAP","_WriteMapContainerBegin","_BT_STRING","_BT_LIST","_WriteString","dataPackage","_WriteContainerBegin","_BT_STRUCT","newGuid","_BT_INT64","_WriteInt64","numberToBondInt64","Date","now","dpSizePos","dpSizeSerialized","currentStreamPos","writeEvent","eventsRejected","SizeLimitExceeded","_addNewDataPackageSize","_WriteStructEnd","payloadBlob","oldDpSize","streamPos","newRecordCountSerialized","_Encoding","_Varint_GetBytes","_ToUInt32","j","slice","eventData","id","timestamp","propsString","propStringCount","propsInt64","propInt64Count","propsDouble","propDoubleCount","propsBool","propBoolCount","propsDate","propDateCount","piiProps","piiPropCount","ccProps","ccPropCount","properties","property","cc","String","Int64","Double","Boolean","_BT_INT32","_WriteInt32","_BT_BOOL","_WriteBool","_BT_DOUBLE","_WriteDouble","base64Encode","_Base64_GetString","Ctor","constructor","AWT_REAL_TIME","AWT_NEAR_REAL_TIME","AWT_BEST_EFFORT","AWTEventProperties_1","AWTSemanticContext_1","AWTLogManagerSettings","AWTEventProperties","_event","setName","getName","setType","getType","setTimestamp","timestampInEpochMillis","getTimestamp","setEventPriority","priority","getEventPriority","sanitizeProperty","getPropertyMap","getEvent","nativeNow","lastCalled","stamp","remaining","undefined","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","GuidRegex","EventNameAndTypeRegex","EventNameDotRegex","PropertyNameRegex","StatsApiKey","beaconsSupported","uInt8ArraySupported","useXDR","isNumber","isBoolean","isDate","msToTicks","timeInMs","isReactNative","navigator","product","twoDigit","isNotDefined","bond_value","low","high","Math","floor","replace","c","r","random","getTenantId","apiKey","indexTenantId","indexOf","substring","isBeaconsSupported","sendBeacon","isUint8ArrayAvailable","Uint8Array","ua","toLowerCase","isSafariOrFirefox","isPriority","test","isPropertyType","getCorrectType","NaN","getTime","sanitizePropertyType","isPii","isCustomerContent","getISOString","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","threeDigit","getUTCMilliseconds","useXDomainRequest","conn","XMLHttpRequest","withCredentials","XDomainRequest","css","location","baseUrl","protocol","host","currentDir","pathname","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","o","$1","JSON","stringify","Symbol","nativeObjectToString","symToStringTag","toStringTag","isOwn","tag","unmasked","result","fromIndex","baseIsNative","getValue","object","stubFalse","freeExports","nodeType","freeModule","Buffer","root","isBuffer","uid","maskSrcKey","exec","IE_PROTO","DataModels_1","AWTLogger","AWTLogManager_1","AWTTransmissionManager_1","AWTTransmissionManager","AWTSerializer_1","AWT_COLLECTOR_URL_UNITED_STATES","AWT_COLLECTOR_URL_GERMANY","AWT_COLLECTOR_URL_JAPAN","AWT_COLLECTOR_URL_AUSTRALIA","AWT_COLLECTOR_URL_EUROPE","AWT_COLLECTOR_URL_USGOV_DOD","AWT_COLLECTOR_URL_USGOV_DOJ","utils_1","SimpleWebRequest_1","GenericRestClient","endpointUrl","_defaultOptions","excludeEndpointUrl","retries","_endpointUrl","_performApiCall","apiPath","action","objToPost","givenOptions","_this","options","sendData","eTag","augmentHeaders","contentType","finalUrl","SimpleWebRequest","_getHeaders","_blockRequestUntil","start","then","response","_processSuccessResponse","resp","performApiGet","performApiGetDetailed","body","performApiPost","performApiPostDetailed","performApiPatch","objToPatch","performApiPatchDetailed","performApiPut","objToPut","performApiPutDetailed","performApiDelete","objToDelete","performApiDeleteDetailed","getMapData","useSourceMap","list","item","content","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","modules","mediaQuery","alreadyImportedModules","nativeCreate","baseGetTag","AWTRetryPolicy_1","AWTKillSwitch_1","AWTClockSkewManager_1","Version","AWTHttpManager","_requestQueue","collectorUrl","_queueManager","_httpInterface","_urlString","FullVersionString","_killSwitch","_paused","_useBeacons","_activeConnections","_clockSkewManager","urlString","ontimeout","onerror","onload","sync","xdr","open","send","fetch","method","headerMap","headers","forEach","status","catch","error","xhr_1","_convertAllHeadersToMap","getAllResponseHeaders","hasIdleConnection","sendQueuedRequests","allowRequestSending","_sendRequest","shift","scheduleTimer","isCompletelyIdle","teardown","pause","resume","removeQueuedRequests","sendSynchronousRequest","request","High","retryCount","isTeardown","isSynchronous","addBackRequest","tokenCount_1","apikey_1","isTenantKilled","KillSwitch","payloadResult","shouldAddClockSkewHeaders","getClockSkewHeaderValue","sendAttempt","_retryRequestIfNeeded","_handleRequestFinished","apikey","shouldRetry","killedTokens","setKillSwitchTenants","setClockSkew","shouldRetryForStatus","eventsRetrying","getMillisToBackoffForRetry","backOffTransmission","success","clearBackOff","eventsSent","eventsDropped","NonRetryableStatus","headersString","headersArray","split","header","predicate","fromRight","freeGlobal","freeSelf","self","isFunction","isLength","bond_const_1","UInt64","_stream","_WriteBlob","blob","elementType","_WriteUInt8","_WriteUInt32","keyType","valueType","_Double_GetBytes","metadata","_Zigzag_EncodeZigzag32","_WriteUInt64","_Zigzag_EncodeZigzag64","_Utf8_GetBytes","isBase","_BT_STOP_BASE","_BT_STOP","_Varint64_GetBytes","_ToUInt8","AWTRetryPolicy","httpStatusCode","retriesSoFar","waitDuration","randomBackoff","BaseBackoff","pow","min","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","RegExp","getRawTag","objectToString","AWTStatsManager","sendStats","_sendStats","_isInitalized","events","_addStat","reason","QueueFull","InvalidEvent","eventReceived","tenantId","_stats","statName","getNative","isKeyable","baseFindIndex","baseIsNaN","strictIndexOf","AWTStatsManager_1","_apiKey","_contextProperties","_semanticContext","_sessionStartTime","_createInitId","logEvent","event","sanitizeProperties","_logEvent","_getInternalEvent","state","sessionEvent","_addPropertiesToEvent","_sessionId","sessionDurationSec","_getSessionDurationFromTime","firstLaunchTime","getSessionId","logFailure","signature","detail","category","failureEvent","logPageView","pageName","uri","referrerUri","pageViewEvent","_initIdMap","propertiesEvent","name_1","timeInSec","eventWithMetaData","contextProperties","_addContextIfAbsent","_setDefaultProperty","_getInitId","_getSequenceId","toISOString","Normal","_sendEvent","name_2","sendEvent","name_3","internalEvent","_sequenceIdMap","iteratee","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setImmediate","global","clearImmediate","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","document","attachTo","getPrototypeOf","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","createElement","documentElement","script","onreadystatechange","removeChild","appendChild","attachEvent","task","webpackPolyfill","deprecate","paths","children","enumerable","l","fn","memo","stylesInDom","isOldIE","all","atob","getTarget","target","querySelector","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","parts","addStyle","listToStyles","newStyles","base","part","media","insertStyleElement","style","insertInto","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","before","removeStyleElement","parentNode","idx","createStyleElement","attrs","addAttrs","el","setAttribute","obj","update","transform","styleIndex","applyToSingletonTag","bind","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","href","applyToTag","newObj","DEBUG","newList","mayRemove","textStore","replaceText","replacement","filter","styleSheet","cssText","cssNode","createTextNode","childNodes","autoFixUrls","convertToAbsoluteUrls","oldSrc","pop","baseTimes","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","FloatUtils","_ConvertNumberToArray","num","isDouble","_doubleZero","_floatZero","precisionBits","bias","minExponent","maxExponent","sign","abs","intPart","floatPart","firstBit","exponent","lastBit","_doubleNegInifinity","_floatNegInifinity","_doubleInifinity","_floatInifinity","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","baseFor","createBaseFor","AWTQueueManager_1","AWTTransmissionManagerCore","setEventsHandler","eventsHandler","_eventHandler","getEventsHandler","timer","_profiles","_currentProfile","_timeout","hasEvents","_currentBackoffCount","_batchAndSendEvents","_timerCount","_newEventsAllowed","_initializeProfiles","stats","event_1","statKey","_resetTransmitProfiles","timerMultiplier","ceil","Immediate_sync","addEvent","currentTime","_lastUploadNowCall","uploadNow","resumeTransmission","Low","sendEventsForPriorityAndAbove","typedArrayTags","objectCreate","create","baseCreate","proto","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","numberStr","parseInt","_Equals","tmp","_ToInt32","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","BrowserChecker","_IsDataViewSupport","ArrayBuffer","DataView","thisArg","baseIndexOf","extendStatics","__extends","d","b","setPrototypeOf","__proto__","__","WebRequestPriority","ErrorHandlingType","SyncTasks","ExponentialTime_1","isJsonContentType","ct","DefaultErrorHandler","webRequest","errResp","canceled","statusCode","DoNotRetry","RetryCountedWithBackoff","DefaultOptions","SimpleWebRequestOptions","MaxSimultaneousRequests","HungRequestCleanupIntervalMs","timeoutMs","hungRequestCleanupTimer","requestQueue","blockedList","executingList","onLoadErrorSupportStatus","timeoutSupportStatus","SimpleWebRequestBase","_action","_url","_aborted","_timedOut","_created","_finishHandled","_retryExponentialTime","ExponentialTime","_options","getPriority","DontCare","checkQueueProcessing","_loop_1","req","Resolved","finally","_scheduleHungRequestCleanupIfNeeded","_fire","_enqueue","err","_respond","_hungRequestCleanupTimerCallback","_removeFromQueue","_assertAndClean","expression","console","_xhr","_xhrRequestHeaders","openError","timeoutSupported_1","_requestTimeoutTimer","abort","onLoadErrorSupported","readyState","streamingDownloadProgress","responseText","onabort","upload","onProgress","onprogress","acceptType","responseType","customResponseType","_getResponseType","responseTypeError","_setRequestHeader","mapContentType","nextHeaders","getRequestHeaders","headersCheck","headerLower","warn","mapBody","xhr","xhrRequestHeaders","val","setRequestHeader","params_1","param","isFormDataContentType","formData_1","FormData","params_2","append","setUrl","setHeader","overrideGetHeaders","getOptions","setPriority","newPriority","resumeRetrying","findIndex","_super","url","getHeaders","blockRequestUntil","_retryTimer","_deferred","Rejected","Defer","onCancel","promise","errorStatusText","statusText","responseParsingException","line","substr","check","getResponseHeader","parse","ex","responseURL","requestOptions","requestHeaders","resolve","timedOut","augmentErrorResponse","handleResponse","customErrorHandler","PauseUntilResumed","RetryUncountedImmediately","RetryUncountedWithBackoff","getTimeAndCalculateNext","reject","DEVICE_ID_COOKIE","FIRSTLAUNCHTIME_COOKIE","BROWSERS","OPERATING_SYSTEMS","OSNAMEREGEX","VERSION_MAPPINGS","AWTAutoCollection","propertyStorage","_propertyStorage","disableCookies","_disableCookies","_autoCollect","_autoCollectFromUserAgent","_deleteCookie","_areCookiesAvailable","_autoCollectDeviceId","oldDeviceId","_getData","flt","_saveData","_setFirstLaunchTime","lang","language","timeZone","getTimezoneOffset","minutes","hours","timeZonePrefix","browserName","_getBrowserName","_getBrowserVersion","osName","_getOsName","_getOsVersion","_userAgentContainsString","fltDate","setTime","searchString","_getIeVersion","_getOtherVersion","classicIeVersionMatches","match","ieVersionMatches","browserString","matches","_getGenericOsVersion","_getMacOsxVersion","ntVersionMatches","macOsxVersionInUserAgentMatches","versionString","delimiter","_getDelimiter","expires","toUTCString","cookie","ca","charAt","arg","other","AWTKillSwitch","_killedTokenDictionary","killTokens","killDuration","durationMs","keysFunc","iterable","props","freeProcess","types","require","DEFAULT_TIME_GROW_FACTOR","DEFAULT_TIME_JITTER","_initialTime","_maxTime","_growFactor","_jitterFactor","reset","_incrementCount","_currentTime","round","getIncrementCount","calculateNext","delay","constant","identity","baseSetToString","string","__export","m","microsoft_bond_floatutils_1","microsoft_bond_utils_1","char","charCodeAt","inArray","lookup","output","paddingBytes","length_1","temp","temp2","view","setFloat64","getUint8","tmpH","tmpL","AWTHttpManager_1","AWTRecordBatcher_1","AWTQueueManager","_queueSizeLimit","xhrOverride","_isCurrentlyUploadingNow","_uploadNowQueue","_shouldDropEventsOnPause","_queueSize","_outboundQueue","_inboundQueues","_addEmptyQueues","_batcher","_httpManager","addEventToBatch","_dropEventWithPriorityOrLess","_addEventToProperQueue","_batchEvents","hasBatch","_uploadNow","shouldDropEventsOnPause","_removeFirstQueues","currentPriority","priorityToProcess","flushBatch","_checkOutboundQueueEmptyAndSent","AWTRecordBatcher","_maxNumberOfEvents","_currentBatch","_currentNumEventsInBatch","immediateBatch","AWTNotificationManager","this_1","_loop_2","this_2","_loop_3","this_3","_loop_4","this_4","reIsUint","setToString","shortOut","AWTClockSkewManager","_reset","_isFirstRequest","_clockSkewSet","_allowRequestSending","_shouldAddClockSkewHeaders","_clockSkewHeaderValue","timeDeltaInMillis","cache","eq","Set","g","isThenable","isCancelable","cancel","trier","catcher","catchExceptions","exceptionsToConsole","traceEnabled","exceptionHandler","unhandledErrorHandler","fromThenable","thenable","deferred","thenAsync","x","Internal","asyncCallbacks","useSetImmediate","asyncCallback","resolveAsyncCallbacks","savedCallbacks","SyncTask","race","items","outTask","hasSettled","cancelOtherInternal","_completedSuccess","_completedFail","_traceEnabled","_cancelCallbacks","_wasCanceled","_wasExplicitlyCanceled","_resolving","_storedCallbackSets","_mustHandleError","_addCallbackSet","callbackWillChain","context","wasCanceled","cancelContext","_cancelInternal","_resolveSuccesses","_resolveFailures","_cancelContext","successFunc","errorFunc","failFunc","always","setTracingEnabled","enabled","done","fail","_checkState","_storedResolution","_storedErrResolution","_enforceErrorHandled","_completeStack","stack","_rejectedTasks","_enforceErrorHandledTimer","rejectedTasks","rejectedTask","callbacks","_resolveSuccessCallback","ret","_handleException","_resolveFailureCallback","toEs6Promise","Promise","foundError","countRemaining","results","checkFinish","raceTimer","timeMs","timerDef"],"mappings":"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","file":"js/vendors~meetings~meetnow~mnJoin.9496184231e8ed6e2ea1.js","sourcesContent":["var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* microsoft.bond.io.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nvar microsoft_bond_primitives_1 = require(\"./microsoft.bond.primitives\");\r\nvar MemoryStream = /** @class */ (function () {\r\n function MemoryStream() {\r\n this._buffer = [];\r\n }\r\n /*override*/\r\n MemoryStream.prototype._WriteByte = function (byte) {\r\n this._buffer.push(microsoft_bond_primitives_1.Number._ToByte(byte));\r\n };\r\n /*override*/\r\n MemoryStream.prototype._Write = function (buffer, offset, count) {\r\n while (count--) {\r\n this._WriteByte(buffer[offset++]);\r\n }\r\n };\r\n /**\r\n * Returns the array of unsigned bytes from which this stream was created.\r\n */\r\n MemoryStream.prototype._GetBuffer = function () {\r\n return this._buffer;\r\n };\r\n return MemoryStream;\r\n}());\r\nexports.MemoryStream = MemoryStream;\r\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","\"use strict\";\n/**\n * utils.ts\n * Copyright: Microsoft 2019\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assert = function (cond, message) {\n if (!cond) {\n throw new Error(message);\n }\n};\nexports.isObject = function (value) { return (value !== null && typeof value === 'object'); };\nexports.isString = function (value) { return (typeof value === 'string'); };\nexports.attempt = function (func) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n try {\n return func.apply(void 0, args);\n }\n catch (e) {\n return new Error(e);\n }\n};\nexports.remove = function (array, value) {\n for (var i = array.length - 1; i >= 0; i--) {\n if (array[i] === value) {\n array.splice(i, 1);\n }\n }\n};\nexports.clone = function (value) {\n if (Array.isArray(value)) {\n return value.map(exports.clone);\n }\n if (exports.isObject(value)) {\n return Object.keys(value)\n .reduce(function (res, key) {\n var _a;\n return (__assign(__assign({}, res), (_a = {}, _a[key] = exports.clone(value[key]), _a)));\n }, {});\n }\n return value;\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Enums.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n* File containing the enums.\r\n*/\r\n/**\r\n * The AWTPropertyType enumeration contains a set of values that specify types of properties.\r\n * @enum {number}\r\n */\r\nvar AWTPropertyType;\r\n(function (AWTPropertyType) {\r\n /**\r\n * Property type is unspecified.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Unspecified\"] = 0] = \"Unspecified\";\r\n /**\r\n * A string.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"String\"] = 1] = \"String\";\r\n /**\r\n * A 64-bit integer.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Int64\"] = 2] = \"Int64\";\r\n /**\r\n * A double.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Double\"] = 3] = \"Double\";\r\n /**\r\n * A boolean.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Boolean\"] = 4] = \"Boolean\";\r\n /**\r\n * A date.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Date\"] = 5] = \"Date\";\r\n})(AWTPropertyType = exports.AWTPropertyType || (exports.AWTPropertyType = {}));\r\n/**\r\n * The AWTPiiKind enumeration contains a set of values that specify the kind of PII (Personal Identifiable Information).\r\n * @enum {number}\r\n */\r\nvar AWTPiiKind;\r\n(function (AWTPiiKind) {\r\n /**\r\n * No kind.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"NotSet\"] = 0] = \"NotSet\";\r\n /**\r\n * An LDAP distinguished name. For example, CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"DistinguishedName\"] = 1] = \"DistinguishedName\";\r\n /**\r\n * Generic information.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"GenericData\"] = 2] = \"GenericData\";\r\n /**\r\n * An IPV4 Internet address. For example, 192.0.2.1.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPV4Address\"] = 3] = \"IPV4Address\";\r\n /**\r\n * An IPV6 Internet address. For example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPv6Address\"] = 4] = \"IPv6Address\";\r\n /**\r\n * The Subject of an e-mail message.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"MailSubject\"] = 5] = \"MailSubject\";\r\n /**\r\n * A telephone number.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"PhoneNumber\"] = 6] = \"PhoneNumber\";\r\n /**\r\n * A query string.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"QueryString\"] = 7] = \"QueryString\";\r\n /**\r\n * An SIP (Session Internet Protocol) address.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"SipAddress\"] = 8] = \"SipAddress\";\r\n /**\r\n * An e-mail address.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"SmtpAddress\"] = 9] = \"SmtpAddress\";\r\n /**\r\n * An user ID.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Identity\"] = 10] = \"Identity\";\r\n /**\r\n * A URI (Uniform Resource Identifier).\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Uri\"] = 11] = \"Uri\";\r\n /**\r\n * The fully-qualified domain name.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Fqdn\"] = 12] = \"Fqdn\";\r\n /**\r\n * Scrubs the last octet in a IPV4 Internet address.\r\n * For example: 10.121.227.147 becomes 10.121.227.*\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPV4AddressLegacy\"] = 13] = \"IPV4AddressLegacy\";\r\n})(AWTPiiKind = exports.AWTPiiKind || (exports.AWTPiiKind = {}));\r\n/**\r\n * The AWTCustomerContentKind enumeration contains a set of values that specify the kind of customer content.\r\n * @enum {number}\r\n */\r\nvar AWTCustomerContentKind;\r\n(function (AWTCustomerContentKind) {\r\n /**\r\n * No kind.\r\n */\r\n AWTCustomerContentKind[AWTCustomerContentKind[\"NotSet\"] = 0] = \"NotSet\";\r\n /**\r\n * Generic content.\r\n */\r\n AWTCustomerContentKind[AWTCustomerContentKind[\"GenericContent\"] = 1] = \"GenericContent\";\r\n})(AWTCustomerContentKind = exports.AWTCustomerContentKind || (exports.AWTCustomerContentKind = {}));\r\n/**\r\n * The AWTEventPriority enumeration contains a set of values that specify an event's priority.\r\n * @enum {number}\r\n */\r\nvar AWTEventPriority;\r\n(function (AWTEventPriority) {\r\n /**\r\n * Low priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Low\"] = 1] = \"Low\";\r\n /**\r\n * Normal priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Normal\"] = 2] = \"Normal\";\r\n /**\r\n * High priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"High\"] = 3] = \"High\";\r\n /**\r\n * Immediate_sync priority (Events are sent sync immediately).\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Immediate_sync\"] = 5] = \"Immediate_sync\";\r\n})(AWTEventPriority = exports.AWTEventPriority || (exports.AWTEventPriority = {}));\r\n/**\r\n * The AWTEventsDroppedReason enumeration contains a set of values that specify the reason for dropping an event.\r\n * @enum {number}\r\n */\r\nvar AWTEventsDroppedReason;\r\n(function (AWTEventsDroppedReason) {\r\n /**\r\n * Status set to non-retryable.\r\n */\r\n AWTEventsDroppedReason[AWTEventsDroppedReason[\"NonRetryableStatus\"] = 1] = \"NonRetryableStatus\";\r\n /**\r\n * The event queue is full.\r\n */\r\n AWTEventsDroppedReason[AWTEventsDroppedReason[\"QueueFull\"] = 3] = \"QueueFull\";\r\n})(AWTEventsDroppedReason = exports.AWTEventsDroppedReason || (exports.AWTEventsDroppedReason = {}));\r\n/**\r\n * The AWTEventsRejectedReason enumeration contains a set of values that specify the reason for rejecting an event.\r\n * @enum {number}\r\n */\r\nvar AWTEventsRejectedReason;\r\n(function (AWTEventsRejectedReason) {\r\n /**\r\n * The event is invalid.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"InvalidEvent\"] = 1] = \"InvalidEvent\";\r\n /**\r\n * The size of the event is too large.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"SizeLimitExceeded\"] = 2] = \"SizeLimitExceeded\";\r\n /**\r\n * The server is not accepting events from this token.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"KillSwitch\"] = 3] = \"KillSwitch\";\r\n})(AWTEventsRejectedReason = exports.AWTEventsRejectedReason || (exports.AWTEventsRejectedReason = {}));\r\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar AWTLogManagerSettings_1 = require(\"./AWTLogManagerSettings\");\r\nvar AWTLogger_1 = require(\"./AWTLogger\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\n/**\r\n* The AWTLogManager class manages the Aria SDK.\r\n*/\r\nvar AWTLogManager = /** @class */ (function () {\r\n function AWTLogManager() {\r\n }\r\n /**\r\n * Initializes the log manager. After this method is called, events are\r\n * accepted for transmission.\r\n * @param {string} tenantToken - A string that contains the default tenant token.\r\n * @param {object} config - [Optional] Configuration settings for initialize, as an AWTLogConfiguration object.\r\n */\r\n AWTLogManager.initialize = function (tenantToken, configuration) {\r\n if (configuration === void 0) { configuration = {}; }\r\n if (this._isInitialized) {\r\n return;\r\n }\r\n this._isInitialized = true;\r\n AWTLogManagerSettings_1.default.defaultTenantToken = tenantToken;\r\n this._overrideValuesFromConfig(configuration);\r\n if (this._config.disableCookiesUsage && !this._config.propertyStorageOverride) {\r\n AWTLogManagerSettings_1.default.sessionEnabled = false;\r\n }\r\n AWTAutoCollection_1.default.addPropertyStorageOverride(this._config.propertyStorageOverride);\r\n AWTAutoCollection_1.default.autoCollect(AWTLogManagerSettings_1.default.semanticContext, this._config.disableCookiesUsage, this._config.userAgent);\r\n //Create sender\r\n AWTTransmissionManagerCore_1.default.initialize(this._config);\r\n AWTLogManagerSettings_1.default.loggingEnabled = true;\r\n //Autolog session events for browsers\r\n if (this._config.enableAutoUserSession) {\r\n this.getLogger().logSession(Enums_2.AWTSessionState.Started);\r\n window.addEventListener('beforeunload', this.flushAndTeardown);\r\n }\r\n return this.getLogger();\r\n };\r\n /**\r\n * Gets the global semantic context.\r\n *\r\n * @return A AWTSemanticContext object, through which you can set common semantic properties.\r\n */\r\n AWTLogManager.getSemanticContext = function () {\r\n return AWTLogManagerSettings_1.default.semanticContext;\r\n };\r\n /**\r\n * Asynchronously sends events currently in the queue. New events added\r\n * are sent after the current flush finishes. The passed callback is\r\n * called when flush finishes. Note: If LogManager is paused, or if\r\n * flush is called again in less than 30 seconds, then flush is no-op, and\r\n * the callback is not called.\r\n * @param {function} callback - The function that is called when flush finishes.\r\n */\r\n AWTLogManager.flush = function (callback) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.flush(callback);\r\n }\r\n };\r\n /**\r\n * Prevents new events from being added for transmission. It also batches all\r\n * events currently in the queue, and creates requests for them to be sent. If\r\n * HTML5 Beacons are supported, then they will be used.\r\n */\r\n AWTLogManager.flushAndTeardown = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n if (this._config.enableAutoUserSession) {\r\n this.getLogger().logSession(Enums_2.AWTSessionState.Ended);\r\n }\r\n AWTTransmissionManagerCore_1.default.flushAndTeardown();\r\n AWTLogManagerSettings_1.default.loggingEnabled = false;\r\n this._isDestroyed = true;\r\n }\r\n };\r\n /**\r\n * Pasues the transmission of events.\r\n */\r\n AWTLogManager.pauseTransmission = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.pauseTransmission();\r\n }\r\n };\r\n /**\r\n * Resumes the tranmission of events.\r\n */\r\n AWTLogManager.resumeTransmision = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.resumeTransmision();\r\n }\r\n };\r\n /**\r\n * Sets the transmit profile. This changes the transmission timers\r\n * based on the transmit profile.\r\n * @param {string} profileName - A string that contains the name of the transmit profile.\r\n */\r\n AWTLogManager.setTransmitProfile = function (profileName) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.setTransmitProfile(profileName);\r\n }\r\n };\r\n /**\r\n * Loads custom transmission profiles. Each profile should have timers for\r\n * high, normal, and low. Each profile should make sure\r\n * that a each priority timer is a multiple of the priority higher than it.\r\n * Setting the timer value to -1 means the events for that priority will\r\n * not be sent. Note that once a priority has been set to not send, then all priorities\r\n * below it will also not be sent. The timers should be in the form of [low, normal, high].\r\n * E.g, Custom: [30,10,5].\r\n * This method removes any previously loaded custom profiles.\r\n * @param {object} profiles - A dictionary that contains the transmit profiles.\r\n */\r\n AWTLogManager.loadTransmitProfiles = function (profiles) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.loadTransmitProfiles(profiles);\r\n }\r\n };\r\n /**\r\n * Sets the context sent with every event.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContext = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setProperty(name, value, type);\r\n };\r\n /**\r\n * Sets the context sents with every event, and tags it as PII.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} pii - The kind of PII for the context property.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContextWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setPropertyWithPii(name, value, pii, type);\r\n };\r\n /**\r\n * Sets the context sent with every event from this logger, and tags it as customer content.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} customerContent - The kind of customer content for the context property, as one of the\r\n * AWTCustomerContentKind enumeration values.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContextWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setPropertyWithCustomerContent(name, value, customerContent, type);\r\n };\r\n /**\r\n * Gets the logger for the specified tenant token.\r\n * @param {string} tenantToken - A string that contains the tenant token.\r\n * @return An AWTLogger object which sends data with the specified tenant token. If the tenant token is\r\n * undefined, or null, or empty, then undefined is returned.\r\n */\r\n AWTLogManager.getLogger = function (tenantToken) {\r\n var key = tenantToken;\r\n if (!key || key === AWTLogManagerSettings_1.default.defaultTenantToken) {\r\n key = '';\r\n }\r\n if (!this._loggers[key]) {\r\n this._loggers[key] = new AWTLogger_1.default(key);\r\n }\r\n return this._loggers[key];\r\n };\r\n /**\r\n * Adds a notification listener. The Aria SDK calls methods on the listener\r\n * when an appropriate notification is raised.\r\n * @param {object} listener - An AWTNotificationListener object.\r\n */\r\n AWTLogManager.addNotificationListener = function (listener) {\r\n AWTNotificationManager_1.default.addNotificationListener(listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {object} listener - AWTNotificationListener to remove.\r\n */\r\n AWTLogManager.removeNotificationListener = function (listener) {\r\n AWTNotificationManager_1.default.removeNotificationListener(listener);\r\n };\r\n AWTLogManager._overrideValuesFromConfig = function (config) {\r\n if (config.collectorUri) {\r\n this._config.collectorUri = config.collectorUri;\r\n }\r\n if (config.cacheMemorySizeLimitInNumberOfEvents > 0) {\r\n this._config.cacheMemorySizeLimitInNumberOfEvents = config.cacheMemorySizeLimitInNumberOfEvents;\r\n }\r\n if (config.httpXHROverride && config.httpXHROverride.sendPOST) {\r\n this._config.httpXHROverride = config.httpXHROverride;\r\n }\r\n if (config.propertyStorageOverride && config.propertyStorageOverride.getProperty &&\r\n config.propertyStorageOverride.setProperty) {\r\n this._config.propertyStorageOverride = config.propertyStorageOverride;\r\n }\r\n if (config.userAgent) {\r\n this._config.userAgent = config.userAgent;\r\n }\r\n if (config.disableCookiesUsage) {\r\n this._config.disableCookiesUsage = config.disableCookiesUsage;\r\n }\r\n if (config.canSendStatEvent) {\r\n this._config.canSendStatEvent = config.canSendStatEvent;\r\n }\r\n if (config.enableAutoUserSession && typeof window !== 'undefined' && window.addEventListener) {\r\n this._config.enableAutoUserSession = config.enableAutoUserSession;\r\n }\r\n if (config.clockSkewRefreshDurationInMins > 0) {\r\n this._config.clockSkewRefreshDurationInMins = config.clockSkewRefreshDurationInMins;\r\n }\r\n };\r\n AWTLogManager._loggers = {};\r\n AWTLogManager._isInitialized = false;\r\n AWTLogManager._isDestroyed = false;\r\n AWTLogManager._config = {\r\n collectorUri: 'https://browser.pipe.aria.microsoft.com/Collector/3.0/',\r\n cacheMemorySizeLimitInNumberOfEvents: 10000,\r\n disableCookiesUsage: false,\r\n canSendStatEvent: function (eventName) { return true; },\r\n clockSkewRefreshDurationInMins: 0\r\n };\r\n return AWTLogManager;\r\n}());\r\nexports.default = AWTLogManager;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar UI_IDTYPE = 'UserInfo.IdType';\r\n/**\r\n * Class to allow users to set semantic context properties.\r\n */\r\nvar AWTSemanticContext = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * @param {boolean} _allowDeviceFields - Allow setting of device semantic context.\r\n * @param {object} _properties - The event properties where to add the semantic context.\r\n */\r\n function AWTSemanticContext(_allowDeviceFields, _properties) {\r\n this._allowDeviceFields = _allowDeviceFields;\r\n this._properties = _properties;\r\n }\r\n /**\r\n * Sets the field AppInfo.Id with the given value.\r\n * @param {string} appId - The Id uniquely identifies the App from this this event originated.\r\n * In the multi-tenant Aria Platform, this is the Application Id of the\r\n * registered Application. Example, \"735d47645f7c4de69964e2c01888d6b6\".\r\n */\r\n AWTSemanticContext.prototype.setAppId = function (appId) {\r\n this._addContext('AppInfo.Id', appId);\r\n };\r\n /**\r\n * Sets the field AppInfo.Version with the given value.\r\n * @param {string} appVersion - The version of the App, retrieved programmatically where possible. This\r\n * is app/platform dependent. Examples such as \"7.0.0.100\" for Skype,\r\n * or \"12.0.30723.00 Update 3\" for Microsoft Visual Studio Ultimate 2013\r\n */\r\n AWTSemanticContext.prototype.setAppVersion = function (appVersion) {\r\n this._addContext('AppInfo.Version', appVersion);\r\n };\r\n /**\r\n * Sets the field AppInfo.Language with the given value.\r\n * @param {string} appLanguage - Language of the App in IETF language tag format, as described in RFC 4646.\r\n * Examples of acceptable values include \"en\", \"pt-BR\" and \"zh-Hant-CN\".\r\n */\r\n AWTSemanticContext.prototype.setAppLanguage = function (appLanguage) {\r\n this._addContext('AppInfo.Language', appLanguage);\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceId - The device Id uniquely identifies the physical device, using platform\r\n * available API's. This allows correlation against Aria Hardware Inventory.\r\n */\r\n AWTSemanticContext.prototype.setDeviceId = function (deviceId) {\r\n if (this._allowDeviceFields) {\r\n AWTAutoCollection_1.default.checkAndSaveDeviceId(deviceId);\r\n this._addContext('DeviceInfo.Id', deviceId);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.OsName with the given value.\r\n * @param {string} deviceOsName - The name of the OS. The SDK should ensure this is a limited normalized\r\n * set. Asimov is using very high level value e.g. Windows/Android/iOS.\r\n * Examples such as \"iOS\" or \"Windows Phone\".\r\n */\r\n AWTSemanticContext.prototype.setDeviceOsName = function (deviceOsName) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.OsName', deviceOsName);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.OsVersion with the given value.\r\n * @param {string} deviceOsVersion - The version of the OS, retrieved programmatically, which can be used\r\n * for aggregation or filtering for scenarios like real time monitoring\r\n * or metrics reporting. Flurry and GA provide aggregation at this level.\r\n * Examples such as \"8.1.2\" for iOS, or \"8.1\" for Windows Phone.\r\n */\r\n AWTSemanticContext.prototype.setDeviceOsVersion = function (deviceOsVersion) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.OsVersion', deviceOsVersion);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceBrowserName - he name of the OS. The SDK should ensure this is a limited normalized set.\r\n * Examples such as \"Chrome\" or \"Edge\".\r\n */\r\n AWTSemanticContext.prototype.setDeviceBrowserName = function (deviceBrowserName) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.BrowserName', deviceBrowserName);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceBrowserVersion - The version of the browser, retrieved programmatically, which can be used\r\n * for aggregation or filtering for scenarios like real time monitoring or metrics reporting.\r\n * Examples such as \"57.0.2987.133\" for Chrome, or \"15.15063\" for Edge.\r\n */\r\n AWTSemanticContext.prototype.setDeviceBrowserVersion = function (deviceBrowserVersion) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.BrowserVersion', deviceBrowserVersion);\r\n }\r\n };\r\n /**\r\n * Set the device manufacturer context information of telemetry event.\r\n * Can only be set at the LogManager level. Setting it via the object obtained from ILogger\r\n * will be no-op.\r\n * @param {string} deviceMake The manufacturer of the device, retrieved\r\n * programmatically where possible and is app/platform specific\r\n */\r\n AWTSemanticContext.prototype.setDeviceMake = function (deviceMake) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.Make', deviceMake);\r\n }\r\n };\r\n /**\r\n * Set the device model context information of telemetry event.\r\n * Can only be set at the LogManager level. Setting it via the object obtained from ILogger\r\n * will be no-op.\r\n * @param {string} deviceModel The model of the device, retrieved programmatically\r\n * where possible and is app/platform specific\r\n */\r\n AWTSemanticContext.prototype.setDeviceModel = function (deviceModel) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.Model', deviceModel);\r\n }\r\n };\r\n /**\r\n * Sets the field UserInfo.Id with the given value.\r\n * @param {string} userId - The id uniquely identifies the user in an application-specific\r\n * user namespace, such as a Skype ID in the Skype App. This may be empty for Apps\r\n * which do not require user sign-in.\r\n * @param {enum} pii - Optional pii type for the user id.\r\n * @param {enum} userIdType - Optional id type for the user id.\r\n */\r\n AWTSemanticContext.prototype.setUserId = function (userId, pii, userIdType) {\r\n if (!isNaN(userIdType) && userIdType !== null && userIdType >= 0 && userIdType <= 12) {\r\n this._addContext(UI_IDTYPE, userIdType.toString());\r\n }\r\n else {\r\n var inferredUserIdType = void 0;\r\n switch (pii) {\r\n case Enums_1.AWTPiiKind.SipAddress:\r\n inferredUserIdType = Enums_2.AWTUserIdType.SipAddress;\r\n break;\r\n case Enums_1.AWTPiiKind.PhoneNumber:\r\n inferredUserIdType = Enums_2.AWTUserIdType.PhoneNumber;\r\n break;\r\n case Enums_1.AWTPiiKind.SmtpAddress:\r\n inferredUserIdType = Enums_2.AWTUserIdType.EmailAddress;\r\n break;\r\n default:\r\n inferredUserIdType = Enums_2.AWTUserIdType.Unknown;\r\n break;\r\n }\r\n this._addContext(UI_IDTYPE, inferredUserIdType.toString());\r\n }\r\n if (isNaN(pii) || pii === null || pii === Enums_1.AWTPiiKind.NotSet || pii > 13) {\r\n switch (userIdType) {\r\n case Enums_2.AWTUserIdType.Skype:\r\n pii = Enums_1.AWTPiiKind.Identity;\r\n break;\r\n case Enums_2.AWTUserIdType.EmailAddress:\r\n pii = Enums_1.AWTPiiKind.SmtpAddress;\r\n break;\r\n case Enums_2.AWTUserIdType.PhoneNumber:\r\n pii = Enums_1.AWTPiiKind.PhoneNumber;\r\n break;\r\n case Enums_2.AWTUserIdType.SipAddress:\r\n pii = Enums_1.AWTPiiKind.SipAddress;\r\n break;\r\n default:\r\n pii = Enums_1.AWTPiiKind.NotSet;\r\n break;\r\n }\r\n }\r\n this._addContextWithPii('UserInfo.Id', userId, pii);\r\n };\r\n /**\r\n * Sets the field UserInfo.AdvertisingId with the given value.\r\n * @param {string} userAdvertisingId - The AdvertisingId is the user-specific device id obtainable through\r\n * platform API's. This may not be available if users choose to opt-out\r\n * of this id, or if the underlying platform does not support it.\r\n */\r\n AWTSemanticContext.prototype.setUserAdvertisingId = function (userAdvertisingId) {\r\n this._addContext('UserInfo.AdvertisingId', userAdvertisingId);\r\n };\r\n /**\r\n * Sets the field UserInfo.TimeZone with the given value.\r\n * @param {string} userTimeZone - The user's time zone relative to UTC, in ISO 8601 time zone format.\r\n * Examples of acceptable values include \"+00\", \"+07:00\", and \"-1130\".\r\n */\r\n AWTSemanticContext.prototype.setUserTimeZone = function (userTimeZone) {\r\n this._addContext('UserInfo.TimeZone', userTimeZone);\r\n };\r\n /**\r\n * Sets the field UserInfo.Language with the given value.\r\n * @param {string} userLanguage - The user's language in IETF language tag format, as described in RFC 4646.\r\n * Examples of acceptable values include \"en\", \"pt-BR\" and \"zh-Hant-CN\".\r\n */\r\n AWTSemanticContext.prototype.setUserLanguage = function (userLanguage) {\r\n this._addContext('UserInfo.Language', userLanguage);\r\n };\r\n AWTSemanticContext.prototype._addContext = function (key, value) {\r\n if (typeof value === 'string') {\r\n this._properties.setProperty(key, value);\r\n }\r\n };\r\n AWTSemanticContext.prototype._addContextWithPii = function (key, value, pii) {\r\n if (typeof value === 'string') {\r\n this._properties.setPropertyWithPii(key, value, pii);\r\n }\r\n };\r\n return AWTSemanticContext;\r\n}());\r\nexports.default = AWTSemanticContext;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTSerializer.ts\r\n* @author Brent Erickson (brericks) and Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Bond = require(\"../bond/microsoft.bond\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar AWTNotificationManager_1 = require(\"./AWTNotificationManager\");\r\nvar Utils = require(\"./Utils\");\r\nvar RequestSizeLimitBytes = 2936012; //approx 2.8 Mb\r\n/**\r\n* Class to handle serialization of event and request.\r\n* Currently uses Bond for serialization. Please note that this may be subject to change.\r\n*/\r\nvar AWTSerializer = /** @class */ (function () {\r\n function AWTSerializer() {\r\n }\r\n /**\r\n * Serialies a request using Bond.\r\n * @param {object} requestDictionary - A dictionary containing the token to event mapping.\r\n * @param {number} tokenCount - Number of tenant tokens to be sent in the request.\r\n * @return {number[]} The serialized bond request.\r\n */\r\n AWTSerializer.getPayloadBlob = function (requestDictionary, tokenCount) {\r\n var requestFull = false;\r\n var remainingRequest;\r\n var stream = new Bond.IO.MemoryStream();\r\n var writer = new Bond.CompactBinaryProtocolWriter(stream);\r\n //Write TokenToDataPackagesMap\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 3, null);\r\n writer._WriteMapContainerBegin(tokenCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_LIST);\r\n for (var token in requestDictionary) {\r\n if (!requestFull) {\r\n if (requestDictionary.hasOwnProperty(token)) {\r\n //write token\r\n writer._WriteString(token);\r\n var dataPackage = requestDictionary[token];\r\n // Write list of DataPackages\r\n writer._WriteContainerBegin(1, Bond._BondDataType._BT_STRUCT);\r\n // Source\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 2, null);\r\n writer._WriteString('act_default_source');\r\n // DataPackageId\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 5, null);\r\n writer._WriteString(Utils.newGuid());\r\n // Timestamp\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT64, 6, null);\r\n writer._WriteInt64(Utils.numberToBondInt64(Date.now()));\r\n // Records\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_LIST, 8, null);\r\n //Advance position by 1 for the elementy type which is always struct\r\n var dpSizePos = stream._GetBuffer().length + 1;\r\n writer._WriteContainerBegin(requestDictionary[token].length, Bond._BondDataType._BT_STRUCT);\r\n var dpSizeSerialized = stream._GetBuffer().length - dpSizePos;\r\n for (var i = 0; i < dataPackage.length; ++i) {\r\n var currentStreamPos = stream._GetBuffer().length;\r\n this.writeEvent(dataPackage[i], writer);\r\n if (stream._GetBuffer().length - currentStreamPos > RequestSizeLimitBytes) {\r\n //single event too big\r\n AWTNotificationManager_1.default.eventsRejected([dataPackage[i]], Enums_1.AWTEventsRejectedReason.SizeLimitExceeded);\r\n //move i one place back so that we can evaluate the next element once we delete the current element at pos i\r\n dataPackage.splice(i--, 1);\r\n stream._GetBuffer().splice(currentStreamPos);\r\n //Bond serialization to change the datapackage length since we couldnt send this event\r\n this._addNewDataPackageSize(dataPackage.length, stream, dpSizeSerialized, dpSizePos);\r\n continue;\r\n }\r\n if (stream._GetBuffer().length > RequestSizeLimitBytes) {\r\n //Adding this event exceeded the max request size. We should rever this event and send the serialized request.\r\n //The remaining events should be returned to send in a separate request.\r\n stream._GetBuffer().splice(currentStreamPos);\r\n if (!remainingRequest) {\r\n remainingRequest = {};\r\n }\r\n requestDictionary[token] = dataPackage.splice(0, i);\r\n remainingRequest[token] = dataPackage;\r\n this._addNewDataPackageSize(requestDictionary[token].length, stream, dpSizeSerialized, dpSizePos);\r\n break;\r\n }\r\n }\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n else {\r\n if (!remainingRequest) {\r\n remainingRequest = {};\r\n }\r\n remainingRequest[token] = requestDictionary[token];\r\n delete requestDictionary[token];\r\n }\r\n }\r\n // End ClientCollector\r\n writer._WriteStructEnd(false);\r\n return { payloadBlob: stream._GetBuffer(), remainingRequest: remainingRequest };\r\n };\r\n AWTSerializer._addNewDataPackageSize = function (size, stream, oldDpSize, streamPos) {\r\n //Bond serialization to change the datapackage length since we couldnt send everything\r\n var newRecordCountSerialized = Bond._Encoding._Varint_GetBytes(Bond.Number._ToUInt32(size));\r\n for (var j = 0; j < oldDpSize; ++j) {\r\n if (j < newRecordCountSerialized.length) {\r\n stream._GetBuffer()[streamPos + j] = newRecordCountSerialized[j];\r\n }\r\n else {\r\n stream._GetBuffer().slice(streamPos + j, oldDpSize - j);\r\n break;\r\n }\r\n }\r\n };\r\n /**\r\n * Bond serialize the event.\r\n * @param {object} eventData - The event that needs to be serialized.\r\n * @return {number[]} The serialized bond event.\r\n */\r\n AWTSerializer.writeEvent = function (eventData, writer) {\r\n // ID\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 1, null);\r\n writer._WriteString(eventData.id);\r\n // Timestamp\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT64, 3, null);\r\n writer._WriteInt64(Utils.numberToBondInt64(eventData.timestamp));\r\n // Type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 5, null);\r\n writer._WriteString(eventData.type);\r\n // Event Type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 6, null);\r\n writer._WriteString(eventData.name);\r\n var propsString = {};\r\n var propStringCount = 0;\r\n var propsInt64 = {};\r\n var propInt64Count = 0;\r\n var propsDouble = {};\r\n var propDoubleCount = 0;\r\n var propsBool = {};\r\n var propBoolCount = 0;\r\n var propsDate = {};\r\n var propDateCount = 0;\r\n var piiProps = {};\r\n var piiPropCount = 0;\r\n var ccProps = {};\r\n var ccPropCount = 0;\r\n // Iterate across event data properties and separate based on pii\r\n for (var key in eventData.properties) {\r\n if (eventData.properties.hasOwnProperty(key)) {\r\n var property = eventData.properties[key];\r\n if (property.cc > 0) {\r\n ccProps[key] = property;\r\n ccPropCount++;\r\n }\r\n else if (property.pii > 0) {\r\n piiProps[key] = property;\r\n piiPropCount++;\r\n }\r\n else {\r\n switch (property.type) {\r\n case Enums_1.AWTPropertyType.String:\r\n propsString[key] = property.value;\r\n propStringCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Int64:\r\n propsInt64[key] = property.value;\r\n propInt64Count++;\r\n break;\r\n case Enums_1.AWTPropertyType.Double:\r\n propsDouble[key] = property.value;\r\n propDoubleCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Boolean:\r\n propsBool[key] = property.value;\r\n propBoolCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Date:\r\n propsDate[key] = property.value;\r\n propDateCount++;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n //Extension map\r\n if (propStringCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 13, null);\r\n writer._WriteMapContainerBegin(propStringCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRING);\r\n for (var key in propsString) {\r\n if (propsString.hasOwnProperty(key)) {\r\n var value = propsString[key];\r\n writer._WriteString(key);\r\n writer._WriteString(value.toString());\r\n }\r\n }\r\n }\r\n // Pii\r\n if (piiPropCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 30, null);\r\n writer._WriteMapContainerBegin(piiPropCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRUCT);\r\n for (var key in piiProps) {\r\n if (piiProps.hasOwnProperty(key)) {\r\n var property = piiProps[key];\r\n writer._WriteString(key);\r\n // PII Data\r\n // O365 scrubber type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 1, null);\r\n writer._WriteInt32(1);\r\n // PII Kind\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 2, null);\r\n writer._WriteInt32(property.pii);\r\n // Value\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 3, null);\r\n writer._WriteString(property.value.toString());\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n }\r\n // TypedExtensionBoolean map\r\n if (propBoolCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 31, null);\r\n writer._WriteMapContainerBegin(propBoolCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_BOOL);\r\n for (var key in propsBool) {\r\n if (propsBool.hasOwnProperty(key)) {\r\n var value = propsBool[key];\r\n writer._WriteString(key);\r\n writer._WriteBool(value);\r\n }\r\n }\r\n }\r\n //TypedExtensionDateTime map\r\n if (propDateCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 32, null);\r\n writer._WriteMapContainerBegin(propDateCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_INT64);\r\n for (var key in propsDate) {\r\n if (propsDate.hasOwnProperty(key)) {\r\n var value = propsDate[key];\r\n writer._WriteString(key);\r\n writer._WriteInt64(Utils.numberToBondInt64(value));\r\n }\r\n }\r\n }\r\n //TypedExtensionInt64 map\r\n if (propInt64Count) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 33, null);\r\n writer._WriteMapContainerBegin(propInt64Count, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_INT64);\r\n for (var key in propsInt64) {\r\n if (propsInt64.hasOwnProperty(key)) {\r\n var value = propsInt64[key];\r\n writer._WriteString(key);\r\n writer._WriteInt64(Utils.numberToBondInt64(value));\r\n }\r\n }\r\n }\r\n //TypedExtensionDouble map\r\n if (propDoubleCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 34, null);\r\n writer._WriteMapContainerBegin(propDoubleCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_DOUBLE);\r\n for (var key in propsDouble) {\r\n if (propsDouble.hasOwnProperty(key)) {\r\n var value = propsDouble[key];\r\n writer._WriteString(key);\r\n writer._WriteDouble(value);\r\n }\r\n }\r\n }\r\n //CustomerContentExtensions map\r\n if (ccPropCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 36, null);\r\n writer._WriteMapContainerBegin(ccPropCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRUCT);\r\n for (var key in ccProps) {\r\n if (ccProps.hasOwnProperty(key)) {\r\n var property = ccProps[key];\r\n writer._WriteString(key);\r\n // CustomerContent Data\r\n // CustomerContentKind\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 1, null);\r\n writer._WriteInt32(property.cc);\r\n // RawContent\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 2, null);\r\n writer._WriteString(property.value.toString());\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n }\r\n writer._WriteStructEnd(false);\r\n };\r\n /**\r\n * Base64 encode the given number[].\r\n * @param {number[]} data - The data to be base64 encoded.\r\n * @return {string} The base64 encoded data.\r\n */\r\n AWTSerializer.base64Encode = function (data) {\r\n return Bond._Encoding._Base64_GetString(data);\r\n };\r\n return AWTSerializer;\r\n}());\r\nexports.default = AWTSerializer;\r\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.AWT_REAL_TIME = 'REAL_TIME';\r\nexports.AWT_NEAR_REAL_TIME = 'NEAR_REAL_TIME';\r\nexports.AWT_BEST_EFFORT = 'BEST_EFFORT';\r\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTLogManagerSettings.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\n/**\r\n* Class that stores LogManagers context.\r\n*/\r\nvar AWTLogManagerSettings = /** @class */ (function () {\r\n function AWTLogManagerSettings() {\r\n }\r\n AWTLogManagerSettings.logManagerContext = new AWTEventProperties_1.default();\r\n AWTLogManagerSettings.sessionEnabled = true;\r\n AWTLogManagerSettings.loggingEnabled = false;\r\n AWTLogManagerSettings.defaultTenantToken = '';\r\n AWTLogManagerSettings.semanticContext = new AWTSemanticContext_1.default(true, AWTLogManagerSettings.logManagerContext);\r\n return AWTLogManagerSettings;\r\n}());\r\nexports.default = AWTLogManagerSettings;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTEventProperties.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n*/\r\nvar Utils = require(\"../common/Utils\");\r\nvar Enums_1 = require(\"../common/Enums\");\r\n/**\r\n* The AWTEventProperties class is used for creating an event.\r\n*/\r\nvar AWTEventProperties = /** @class */ (function () {\r\n /**\r\n * The AWTEventProperties class constructor.\r\n * @constructor\r\n * @param {string} - [Optional] The name of the event.\r\n */\r\n function AWTEventProperties(name) {\r\n this._event = { name: '', properties: {} };\r\n if (name) {\r\n this.setName(name);\r\n }\r\n }\r\n /**\r\n * Sets the name of the event.\r\n * @param {string} name - The name of the event.\r\n */\r\n AWTEventProperties.prototype.setName = function (name) {\r\n this._event.name = name;\r\n };\r\n /**\r\n * Gets the name of the event.\r\n * @return {string|undefined} - The name of the event, or undefined if the name has not been set.\r\n */\r\n AWTEventProperties.prototype.getName = function () {\r\n return this._event.name;\r\n };\r\n /**\r\n * Sets the base type of the event.\r\n * @param {string} type - The base type of the event.\r\n */\r\n AWTEventProperties.prototype.setType = function (type) {\r\n this._event.type = type;\r\n };\r\n /**\r\n * Gets the base type of the event.\r\n * @return {string|undefined} The base type of the event, or undefined if the base type has not been set.\r\n */\r\n AWTEventProperties.prototype.getType = function () {\r\n return this._event.type;\r\n };\r\n /**\r\n * Sets the timestamp for the event.\r\n * @param {number} timestampInEpochMillis - The timestamp (in milliseconds) since UNIX Epoch.\r\n */\r\n AWTEventProperties.prototype.setTimestamp = function (timestampInEpochMillis) {\r\n this._event.timestamp = timestampInEpochMillis;\r\n };\r\n /**\r\n * Gets the timestamp for the event.\r\n * @return {number|undefined} The timestamp for the event, or undefined if it has not been set.\r\n */\r\n AWTEventProperties.prototype.getTimestamp = function () {\r\n return this._event.timestamp;\r\n };\r\n /**\r\n * Sets the priority for sending the event. The default priority\r\n * of the event is Normal.\r\n * @param {enum} priority - An AWTEventPriority enumeration value that specifies the priority of the event.\r\n */\r\n AWTEventProperties.prototype.setEventPriority = function (priority) {\r\n this._event.priority = priority;\r\n };\r\n /**\r\n * Gets the priority for the event.\r\n * @return {AWTEventPriority} - An AWTEventPriority enumeration value that specifies the priority of the event.\r\n */\r\n AWTEventProperties.prototype.getEventPriority = function () {\r\n return this._event.priority;\r\n };\r\n /**\r\n * Sets a property with a name and value. Optionally sets the property type.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setProperty = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: Enums_1.AWTPiiKind.NotSet, cc: Enums_1.AWTCustomerContentKind.NotSet };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Sets a property with a name, a value, and a PII. Optionally sets the property type.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} pii - The kind of PII for the property.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setPropertyWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: pii, cc: Enums_1.AWTCustomerContentKind.NotSet };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Sets a property with name, value and customer content. Optionally set the property type of the value.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} customerContent - The customer content kind for the property.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setPropertyWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: Enums_1.AWTPiiKind.NotSet, cc: customerContent };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Gets the properties currently added to the event.\r\n * @return {object} A Map containing the current properties.\r\n */\r\n AWTEventProperties.prototype.getPropertyMap = function () {\r\n return this._event.properties;\r\n };\r\n /**\r\n * Gets the event from this event properties object.\r\n * @return {object} The event properties compiled into AWTEventData.\r\n */\r\n AWTEventProperties.prototype.getEvent = function () {\r\n return this._event;\r\n };\r\n return AWTEventProperties;\r\n}());\r\nexports.default = AWTEventProperties;\r\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Utils.ts\r\n* @author Brent Erickson (brericks) and Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n* File containing utility functions.\r\n*/\r\nvar microsoft_bond_primitives_1 = require(\"../bond/microsoft.bond.primitives\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar GuidRegex = /[xy]/g;\r\nvar MSTillUnixEpoch = 62135596800000;\r\nvar MSToTicksMultiplier = 10000;\r\nvar NullValue = null;\r\nexports.EventNameAndTypeRegex = /^[a-zA-Z]([a-zA-Z0-9]|_){2,98}[a-zA-Z0-9]$/;\r\nexports.EventNameDotRegex = /\\./g;\r\nexports.PropertyNameRegex = /^[a-zA-Z](([a-zA-Z0-9|_|\\.]){0,98}[a-zA-Z0-9])?$/;\r\nexports.StatsApiKey = 'a387cfcf60114a43a7699f9fbb49289e-9bceb9fe-1c06-460f-96c5-6a0b247358bc-7238';\r\nvar beaconsSupported = NullValue;\r\nvar uInt8ArraySupported = NullValue;\r\nvar useXDR = NullValue;\r\n/**\r\n * Converts a number to Bond Int64.\r\n * @param {number} value - The number to be converted.\r\n * @return {object} The Int64 value for the passed number.\r\n */\r\nfunction numberToBondInt64(value) {\r\n // Construct bond timestamp for aria\r\n var bond_value = new microsoft_bond_primitives_1.Int64('0');\r\n bond_value.low = value & 0xffffffff;\r\n bond_value.high = Math.floor(value / 0x100000000);\r\n return bond_value;\r\n}\r\nexports.numberToBondInt64 = numberToBondInt64;\r\n/**\r\n * Creates a new GUID.\r\n * @return {string} A GUID.\r\n */\r\nfunction newGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(GuidRegex, function (c) {\r\n var r = (Math.random() * 16 | 0), v = (c === 'x' ? r : r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n}\r\nexports.newGuid = newGuid;\r\n/**\r\n * Checks if the type of value is a string.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a string, false otherwise.\r\n */\r\nfunction isString(value) {\r\n return typeof value === 'string';\r\n}\r\nexports.isString = isString;\r\n/**\r\n * Checks if the type of value is a number.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a number, false otherwise.\r\n */\r\nfunction isNumber(value) {\r\n return typeof value === 'number';\r\n}\r\nexports.isNumber = isNumber;\r\n/**\r\n * Checks if the type of value is a boolean.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\nfunction isBoolean(value) {\r\n return typeof value === 'boolean';\r\n}\r\nexports.isBoolean = isBoolean;\r\n/**\r\n * Check if the type of value is a date.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a date, false otherwise.\r\n */\r\nfunction isDate(value) {\r\n return value instanceof Date;\r\n}\r\nexports.isDate = isDate;\r\n/**\r\n * Converts milliseconds to ticks since 00:00:00 Jan 1, 0001.\r\n * @param {number} msToTicks - The milliseconds value to be converted.\r\n * @return {number} The value of the milliseconds in .Net Ticks.\r\n */\r\nfunction msToTicks(timeInMs) {\r\n return (timeInMs + MSTillUnixEpoch) * MSToTicksMultiplier;\r\n}\r\nexports.msToTicks = msToTicks;\r\n/**\r\n * Gets the tenant id from the tenant token.\r\n * @param {string} apiKey - The token from which the tenant id is to be extracted.\r\n * @return {string} The tenant id.\r\n */\r\nfunction getTenantId(apiKey) {\r\n var indexTenantId = apiKey.indexOf('-');\r\n if (indexTenantId > -1) {\r\n return apiKey.substring(0, indexTenantId);\r\n }\r\n return '';\r\n}\r\nexports.getTenantId = getTenantId;\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @return {boolean} True if supported, false otherwise.\r\n */\r\nfunction isBeaconsSupported() {\r\n if (beaconsSupported === NullValue) {\r\n beaconsSupported = typeof navigator !== 'undefined' && Boolean(navigator.sendBeacon);\r\n }\r\n return beaconsSupported;\r\n}\r\nexports.isBeaconsSupported = isBeaconsSupported;\r\n/**\r\n * Checks if Uint8Array are available in the current environment. Safari and Firefox along with\r\n * ReactNative are known to not support Uint8Array properly.\r\n * @return {boolean} True if available, false otherwise.\r\n */\r\nfunction isUint8ArrayAvailable() {\r\n if (uInt8ArraySupported === NullValue) {\r\n uInt8ArraySupported = typeof Uint8Array !== 'undefined' && !isSafariOrFirefox() && !isReactNative();\r\n }\r\n return uInt8ArraySupported;\r\n}\r\nexports.isUint8ArrayAvailable = isUint8ArrayAvailable;\r\n/**\r\n * Checks if the value is an AWTEventPriority.\r\n * @param {enum} value - The value that needs to be checked.\r\n * @return {boolean} True if the value is in AWTEventPriority, false otherwise.\r\n */\r\nfunction isPriority(value) {\r\n if (isNumber(value) && ((value >= 1 && value <= 3) || value === 5)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isPriority = isPriority;\r\n/**\r\n * Sanitizes the Property. It checks the that the property name and value are valid. It also\r\n * checks/populates the correct type and pii of the property value.\r\n * @param {string} name - The property name.\r\n * @param {string|number|boolean|Date|object} property - The property value or an AWTEventProperty containing value,\r\n * type ,pii and customer content.\r\n * @return {object} AWTEventProperty containing valid name, value, pii and type or null if invalid.\r\n */\r\nfunction sanitizeProperty(name, property) {\r\n //Check that property is valid\r\n if (!exports.PropertyNameRegex.test(name) || isNotDefined(property)) {\r\n return NullValue;\r\n }\r\n //Check if type is AWTEventProperty. If not convert to AWTEventProperty\r\n if (isNotDefined(property.value)) {\r\n property = { value: property, type: Enums_1.AWTPropertyType.Unspecified };\r\n }\r\n property.type = sanitizePropertyType(property.value, property.type);\r\n if (!property.type) {\r\n return NullValue;\r\n }\r\n //If value is date. Then convert to number in Ticks.\r\n if (isDate(property.value)) {\r\n property.value = msToTicks(property.value.getTime());\r\n }\r\n //Ensure that only one of pii or customer content can be set\r\n if (property.pii > 0 && property.cc > 0) {\r\n return NullValue;\r\n }\r\n //If pii is set we need to validate its enum value.\r\n if (property.pii) {\r\n return isPii(property.pii) ? property : NullValue;\r\n }\r\n //If cc is set we need to validate its enum value.\r\n if (property.cc) {\r\n return isCustomerContent(property.cc) ? property : NullValue;\r\n }\r\n return property;\r\n}\r\nexports.sanitizeProperty = sanitizeProperty;\r\n/**\r\n * Converts a date object into an ISO string. This is needed because not all browsers support ISO string format\r\n * on the date.\r\n * @param {object} date - The date which needs to be converted to ISO format.\r\n * @return {string} The date in ISO format.\r\n */\r\nfunction getISOString(date) {\r\n return date.getUTCFullYear() + '-' +\r\n twoDigit(date.getUTCMonth() + 1) + '-' +\r\n twoDigit(date.getUTCDate()) + 'T' +\r\n twoDigit(date.getUTCHours()) + ':' +\r\n twoDigit(date.getUTCMinutes()) + ':' +\r\n twoDigit(date.getUTCSeconds()) + '.' +\r\n threeDigit(date.getUTCMilliseconds()) + 'Z';\r\n}\r\nexports.getISOString = getISOString;\r\nfunction useXDomainRequest() {\r\n if (useXDR === NullValue) {\r\n var conn = new XMLHttpRequest();\r\n if (typeof conn.withCredentials === 'undefined' &&\r\n typeof XDomainRequest !== 'undefined') {\r\n useXDR = true;\r\n }\r\n else {\r\n useXDR = false;\r\n }\r\n }\r\n return useXDR;\r\n}\r\nexports.useXDomainRequest = useXDomainRequest;\r\nfunction isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n if (typeof navigator !== 'undefined' && navigator.product) {\r\n return navigator.product === 'ReactNative';\r\n }\r\n return false;\r\n}\r\nexports.isReactNative = isReactNative;\r\nfunction twoDigit(n) {\r\n // Format integers to have at least two digits.\r\n return n < 10 ? '0' + n : n.toString();\r\n}\r\nfunction threeDigit(n) {\r\n // Format integers to have at least three digits.\r\n if (n < 10) {\r\n return '00' + n;\r\n }\r\n else if (n < 100) {\r\n return '0' + n;\r\n }\r\n return n.toString();\r\n}\r\nfunction sanitizePropertyType(value, type) {\r\n type = !isPropertyType(type) ? Enums_1.AWTPropertyType.Unspecified : type;\r\n switch (type) {\r\n case Enums_1.AWTPropertyType.Unspecified:\r\n return getCorrectType(value);\r\n case Enums_1.AWTPropertyType.String:\r\n return isString(value) ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Boolean:\r\n return isBoolean(value) ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Date:\r\n return isDate(value) && value.getTime() !== NaN ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Int64:\r\n return isNumber(value) && value % 1 === 0 ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Double:\r\n return isNumber(value) ? type : NullValue;\r\n }\r\n return NullValue;\r\n}\r\nfunction getCorrectType(value) {\r\n switch (typeof value) {\r\n case 'string':\r\n return Enums_1.AWTPropertyType.String;\r\n case 'boolean':\r\n return Enums_1.AWTPropertyType.Boolean;\r\n case 'number':\r\n return Enums_1.AWTPropertyType.Double;\r\n case 'object':\r\n return isDate(value) ? Enums_1.AWTPropertyType.Date : NullValue;\r\n }\r\n return NullValue;\r\n}\r\nfunction isPii(value) {\r\n if (isNumber(value) && value >= 0 && value <= 13) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isCustomerContent(value) {\r\n if (isNumber(value) && value >= 0 && value <= 1) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isPropertyType(value) {\r\n if (isNumber(value) && value >= 0 && value <= 4) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isSafariOrFirefox() {\r\n // If non-browser navigator will be undefined\r\n if (typeof navigator !== 'undefined' && navigator.userAgent) {\r\n var ua = navigator.userAgent.toLowerCase();\r\n if ((ua.indexOf('safari') >= 0 || ua.indexOf('firefox') >= 0) && ua.indexOf('chrome') < 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction isNotDefined(value) {\r\n return value === undefined || value === NullValue || value === '';\r\n}\r\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AriaSDK.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n* File to export public classes, interfaces and enums.\r\n*/\r\nvar Enums_1 = require(\"../common/Enums\");\r\nexports.AWTPropertyType = Enums_1.AWTPropertyType;\r\nexports.AWTPiiKind = Enums_1.AWTPiiKind;\r\nexports.AWTEventPriority = Enums_1.AWTEventPriority;\r\nexports.AWTEventsDroppedReason = Enums_1.AWTEventsDroppedReason;\r\nexports.AWTEventsRejectedReason = Enums_1.AWTEventsRejectedReason;\r\nexports.AWTCustomerContentKind = Enums_1.AWTCustomerContentKind;\r\nvar Enums_2 = require(\"./Enums\");\r\nexports.AWTUserIdType = Enums_2.AWTUserIdType;\r\nexports.AWTSessionState = Enums_2.AWTSessionState;\r\nvar DataModels_1 = require(\"./DataModels\");\r\nexports.AWT_BEST_EFFORT = DataModels_1.AWT_BEST_EFFORT;\r\nexports.AWT_NEAR_REAL_TIME = DataModels_1.AWT_NEAR_REAL_TIME;\r\nexports.AWT_REAL_TIME = DataModels_1.AWT_REAL_TIME;\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nexports.AWTEventProperties = AWTEventProperties_1.default;\r\nvar AWTLogger_1 = require(\"./AWTLogger\");\r\nexports.AWTLogger = AWTLogger_1.default;\r\nvar AWTLogManager_1 = require(\"./AWTLogManager\");\r\nexports.AWTLogManager = AWTLogManager_1.default;\r\nvar AWTTransmissionManager_1 = require(\"./AWTTransmissionManager\");\r\nexports.AWTTransmissionManager = AWTTransmissionManager_1.default;\r\nvar AWTSerializer_1 = require(\"../common/AWTSerializer\");\r\nexports.AWTSerializer = AWTSerializer_1.default;\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\nexports.AWTSemanticContext = AWTSemanticContext_1.default;\r\nexports.AWT_COLLECTOR_URL_UNITED_STATES = 'https://us.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_GERMANY = 'https://de.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_JAPAN = 'https://jp.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_AUSTRALIA = 'https://au.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_EUROPE = 'https://eu.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_USGOV_DOD = 'https://pf.pipe.aria.microsoft.com/Collector/3.0';\r\nexports.AWT_COLLECTOR_URL_USGOV_DOJ = 'https://tb.pipe.aria.microsoft.com/Collector/3.0';\r\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","\"use strict\";\n/**\n * GenericRestClient.ts\n * Author: David de Regt\n * Copyright: Microsoft 2015\n *\n * Base client type for accessing RESTful services\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"./utils\");\nvar SimpleWebRequest_1 = require(\"./SimpleWebRequest\");\nvar GenericRestClient = /** @class */ (function () {\n function GenericRestClient(endpointUrl) {\n this._defaultOptions = {\n excludeEndpointUrl: false,\n withCredentials: false,\n retries: 0,\n };\n this._endpointUrl = endpointUrl;\n }\n GenericRestClient.prototype._performApiCall = function (apiPath, action, objToPost, givenOptions) {\n var _this = this;\n if (givenOptions === void 0) { givenOptions = {}; }\n var options = __assign(__assign({}, this._defaultOptions), givenOptions);\n if (objToPost) {\n options.sendData = objToPost;\n }\n if (options.eTag) {\n if (!options.augmentHeaders) {\n options.augmentHeaders = {};\n }\n options.augmentHeaders['If-None-Match'] = options.eTag;\n }\n if (!options.contentType) {\n options.contentType = utils_1.isString(options.sendData) ? 'form' : 'json';\n }\n var finalUrl = options.excludeEndpointUrl ? apiPath : this._endpointUrl + apiPath;\n return new SimpleWebRequest_1.SimpleWebRequest(action, finalUrl, options, function () { return _this._getHeaders(options); }, function () { return _this._blockRequestUntil(options); })\n .start()\n .then(function (response) {\n _this._processSuccessResponse(response);\n return response;\n });\n };\n GenericRestClient.prototype._getHeaders = function (options) {\n // Virtual function -- No-op by default\n return {};\n };\n // Override (but make sure to call super and chain appropriately) this function if you want to add more blocking criteria.\n // Also, this might be called multiple times to check if the conditions changed\n GenericRestClient.prototype._blockRequestUntil = function (options) {\n // No-op by default\n return undefined;\n };\n // Override this function to process any generic headers that come down with a successful response\n GenericRestClient.prototype._processSuccessResponse = function (resp) {\n // No-op by default\n };\n GenericRestClient.prototype.performApiGet = function (apiPath, options) {\n return this\n .performApiGetDetailed(apiPath, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiGetDetailed = function (apiPath, options) {\n return this._performApiCall(apiPath, 'GET', undefined, options);\n };\n GenericRestClient.prototype.performApiPost = function (apiPath, objToPost, options) {\n return this\n .performApiPostDetailed(apiPath, objToPost, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiPostDetailed = function (apiPath, objToPost, options) {\n return this._performApiCall(apiPath, 'POST', objToPost, options);\n };\n GenericRestClient.prototype.performApiPatch = function (apiPath, objToPatch, options) {\n return this\n .performApiPatchDetailed(apiPath, objToPatch, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiPatchDetailed = function (apiPath, objToPatch, options) {\n return this._performApiCall(apiPath, 'PATCH', objToPatch, options);\n };\n GenericRestClient.prototype.performApiPut = function (apiPath, objToPut, options) {\n return this\n .performApiPutDetailed(apiPath, objToPut, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiPutDetailed = function (apiPath, objToPut, options) {\n return this._performApiCall(apiPath, 'PUT', objToPut, options);\n };\n GenericRestClient.prototype.performApiDelete = function (apiPath, objToDelete, options) {\n return this\n .performApiDeleteDetailed(apiPath, objToDelete, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiDeleteDetailed = function (apiPath, objToDelete, options) {\n return this._performApiCall(apiPath, 'DELETE', objToDelete, options);\n };\n return GenericRestClient;\n}());\nexports.GenericRestClient = GenericRestClient;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar AWTSerializer_1 = require(\"../common/AWTSerializer\");\r\nvar AWTRetryPolicy_1 = require(\"../common/AWTRetryPolicy\");\r\nvar AWTKillSwitch_1 = require(\"../common/AWTKillSwitch\");\r\nvar AWTClockSkewManager_1 = require(\"../common/AWTClockSkewManager\");\r\nvar Version = require(\"./Version\");\r\nvar Utils = require(\"../common/Utils\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar MaxConnections = 2;\r\nvar MaxRetries = 1;\r\nvar Method = 'POST';\r\n/**\r\n * Class managing the sending of requests.\r\n */\r\nvar AWTHttpManager = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * @param {object} requestQueue - The queue that contains the requests to be sent.\r\n * @param {string} collectorUrl - The collector url to which the requests must be sent.\r\n * @param {object} _queueManager - The queue manager that we should add requests back to if needed.\r\n * @param {object} _httpInterface - The http interface that should be used to send HTTP requests.\r\n */\r\n function AWTHttpManager(_requestQueue, collectorUrl, _queueManager, _httpInterface, clockSkewRefreshDurationInMins) {\r\n var _this = this;\r\n this._requestQueue = _requestQueue;\r\n this._queueManager = _queueManager;\r\n this._httpInterface = _httpInterface;\r\n this._urlString = '?qsp=true&content-type=application%2Fbond-compact-binary&client-id=NO_AUTH&sdk-version='\r\n + Version.FullVersionString;\r\n this._killSwitch = new AWTKillSwitch_1.default();\r\n this._paused = false;\r\n this._useBeacons = false;\r\n this._activeConnections = 0;\r\n this._clockSkewManager = new AWTClockSkewManager_1.default(clockSkewRefreshDurationInMins);\r\n if (!Utils.isUint8ArrayAvailable()) {\r\n this._urlString += '&content-encoding=base64';\r\n }\r\n this._urlString = collectorUrl + this._urlString;\r\n if (!this._httpInterface) {\r\n this._useBeacons = !Utils.isReactNative(); //Only use beacons if not running in React Native\r\n this._httpInterface = {\r\n sendPOST: function (urlString, data, ontimeout, onerror, onload, sync) {\r\n try {\r\n if (Utils.useXDomainRequest()) {\r\n var xdr = new XDomainRequest();\r\n xdr.open(Method, urlString);\r\n //can't get the status code in xdr.\r\n xdr.onload = function () {\r\n // we will assume onload means the request succeeded.\r\n onload(200, null);\r\n };\r\n xdr.onerror = function () {\r\n // we will assume onerror means we need to drop the events.\r\n onerror(400, null);\r\n };\r\n xdr.ontimeout = function () {\r\n // we will assume ontimeout means we need to retry the events.\r\n ontimeout(500, null);\r\n };\r\n xdr.send(data);\r\n }\r\n else if (Utils.isReactNative()) {\r\n //Use the fetch API to send events in React Native\r\n fetch(urlString, {\r\n body: data,\r\n method: Method\r\n }).then(function (response) {\r\n var headerMap = {};\r\n if (response.headers) {\r\n response.headers.forEach(function (value, name) {\r\n headerMap[name] = value;\r\n });\r\n }\r\n onload(response.status, headerMap);\r\n }).catch(function (error) {\r\n //In case there is an error in the request. Set the status to 0\r\n //so that the events can be retried later.\r\n onerror(0, {});\r\n });\r\n }\r\n else {\r\n var xhr_1 = new XMLHttpRequest();\r\n xhr_1.open(Method, urlString, !sync);\r\n xhr_1.onload = function () {\r\n onload(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.onerror = function () {\r\n onerror(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.ontimeout = function () {\r\n ontimeout(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.send(data);\r\n }\r\n }\r\n catch (e) {\r\n // we will assume exception means we need to drop the events.\r\n onerror(400, null);\r\n }\r\n }\r\n };\r\n }\r\n }\r\n /**\r\n * Check if there is an idle connection overwhich we can send a request.\r\n * @return {boolean} True if there is an idle connection, false otherwise.\r\n */\r\n AWTHttpManager.prototype.hasIdleConnection = function () {\r\n return this._activeConnections < MaxConnections;\r\n };\r\n /**\r\n * Send requests in the request queue up if there is an idle connection, sending is\r\n * not pause and clock skew manager allows sending request.\r\n */\r\n AWTHttpManager.prototype.sendQueuedRequests = function () {\r\n while (this.hasIdleConnection() && !this._paused && this._requestQueue.length > 0\r\n && this._clockSkewManager.allowRequestSending()) {\r\n this._activeConnections++;\r\n this._sendRequest(this._requestQueue.shift(), 0, false);\r\n }\r\n //No more requests to send, tell TPM to try to schedule timer\r\n //in case it was waiting for idle connections\r\n if (this.hasIdleConnection()) {\r\n AWTTransmissionManagerCore_1.default.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Check if there are no active requests being sent.\r\n * @return {boolean} True if idle, false otherwise.\r\n */\r\n AWTHttpManager.prototype.isCompletelyIdle = function () {\r\n return this._activeConnections === 0;\r\n };\r\n /**\r\n * Queue all the remaning requests to be sent. The requests will be\r\n * sent using HTML5 Beacons if they are available.\r\n */\r\n AWTHttpManager.prototype.teardown = function () {\r\n while (this._requestQueue.length > 0) {\r\n this._sendRequest(this._requestQueue.shift(), 0, true);\r\n }\r\n };\r\n /**\r\n * Pause the sending of requests. No new requests will be sent.\r\n */\r\n AWTHttpManager.prototype.pause = function () {\r\n this._paused = true;\r\n };\r\n /**\r\n * Resume the sending of requests.\r\n */\r\n AWTHttpManager.prototype.resume = function () {\r\n this._paused = false;\r\n this.sendQueuedRequests();\r\n };\r\n /**\r\n * Removes any pending requests to be sent.\r\n */\r\n AWTHttpManager.prototype.removeQueuedRequests = function () {\r\n this._requestQueue.length = 0;\r\n };\r\n /**\r\n * Sends a request synchronously to the Aria collector. This api is used to send\r\n * a request containing a single immediate event.\r\n *\r\n * @param request - The request to be sent.\r\n * @param token - The token used to send the request.\r\n */\r\n AWTHttpManager.prototype.sendSynchronousRequest = function (request, token) {\r\n //This will not take into account the max connections restriction. Since this is sync, we can \r\n //only send one of this request at a time and thus should not worry about multiple connections \r\n //being used to send synchronoush events.\r\n if (this._paused) {\r\n //If paused then convert to High priority. It will be added back to queue in _sendRequest\r\n request[token][0].priority = Enums_1.AWTEventPriority.High;\r\n }\r\n //Increment active connection since we are still going to use a connection to send the request.\r\n this._activeConnections++;\r\n //For sync requests we will not wait for the clock skew. \r\n this._sendRequest(request, 0, false, true);\r\n };\r\n AWTHttpManager.prototype._sendRequest = function (request, retryCount, isTeardown, isSynchronous) {\r\n var _this = this;\r\n if (isSynchronous === void 0) { isSynchronous = false; }\r\n try {\r\n if (this._paused) {\r\n this._activeConnections--;\r\n this._queueManager.addBackRequest(request);\r\n return;\r\n }\r\n var tokenCount_1 = 0;\r\n var apikey_1 = '';\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n if (!this._killSwitch.isTenantKilled(token)) {\r\n if (apikey_1.length > 0) {\r\n apikey_1 += ',';\r\n }\r\n apikey_1 += token;\r\n tokenCount_1++;\r\n }\r\n else {\r\n AWTNotificationManager_1.default.eventsRejected(request[token], Enums_1.AWTEventsRejectedReason.KillSwitch);\r\n delete request[token];\r\n }\r\n }\r\n }\r\n if (tokenCount_1 > 0) {\r\n var payloadResult = AWTSerializer_1.default.getPayloadBlob(request, tokenCount_1);\r\n if (payloadResult.remainingRequest) {\r\n this._requestQueue.push(payloadResult.remainingRequest);\r\n }\r\n var urlString = this._urlString + '&x-apikey=' + apikey_1 + '&client-time-epoch-millis='\r\n + Date.now().toString();\r\n if (this._clockSkewManager.shouldAddClockSkewHeaders()) {\r\n urlString = urlString + '&time-delta-to-apply-millis=' + this._clockSkewManager.getClockSkewHeaderValue();\r\n }\r\n var data = void 0;\r\n if (!Utils.isUint8ArrayAvailable()) {\r\n data = AWTSerializer_1.default.base64Encode(payloadResult.payloadBlob);\r\n }\r\n else {\r\n data = new Uint8Array(payloadResult.payloadBlob);\r\n }\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n //Increment the send attempt count\r\n for (var i = 0; i < request[token].length; ++i) {\r\n request[token][i].sendAttempt > 0 ? request[token][i].sendAttempt++ : request[token][i].sendAttempt = 1;\r\n }\r\n }\r\n }\r\n //beacons will not be used if an http interface was passed by the customer\r\n if (this._useBeacons && isTeardown && Utils.isBeaconsSupported()) {\r\n if (navigator.sendBeacon(urlString, data)) {\r\n //Request sent via beacon.\r\n return;\r\n }\r\n }\r\n //Send sync requests if the request is immediate or we are tearing down telemetry.\r\n this._httpInterface.sendPOST(urlString, data, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, isTeardown || isSynchronous);\r\n }\r\n else if (!isTeardown) {\r\n this._handleRequestFinished(false, {}, isTeardown, isSynchronous);\r\n }\r\n }\r\n catch (e) {\r\n //If we catch any error while sending the request, drop the request.\r\n this._handleRequestFinished(false, {}, isTeardown, isSynchronous);\r\n }\r\n };\r\n AWTHttpManager.prototype._retryRequestIfNeeded = function (status, headers, request, tokenCount, apikey, retryCount, isTeardown, isSynchronous) {\r\n var _this = this;\r\n var shouldRetry = true;\r\n if (typeof status !== 'undefined') {\r\n if (headers) {\r\n var killedTokens = this._killSwitch.setKillSwitchTenants(headers['kill-tokens'], headers['kill-duration-seconds']);\r\n this._clockSkewManager.setClockSkew(headers['time-delta-millis']);\r\n for (var i = 0; i < killedTokens.length; ++i) {\r\n AWTNotificationManager_1.default.eventsRejected(request[killedTokens[i]], Enums_1.AWTEventsRejectedReason.KillSwitch);\r\n delete request[killedTokens[i]];\r\n tokenCount--;\r\n }\r\n }\r\n else {\r\n this._clockSkewManager.setClockSkew(null);\r\n }\r\n if (status === 200) {\r\n this._handleRequestFinished(true, request, isTeardown, isSynchronous);\r\n return;\r\n }\r\n if (!AWTRetryPolicy_1.default.shouldRetryForStatus(status) || tokenCount <= 0) {\r\n shouldRetry = false;\r\n }\r\n }\r\n if (shouldRetry) {\r\n if (isSynchronous) {\r\n //Synchronous events only contain a single event so the apiKey is equal to the token for that event.\r\n //Convert the event to High priority and add back to queue to be sent as High event.\r\n this._activeConnections--;\r\n request[apikey][0].priority = Enums_1.AWTEventPriority.High;\r\n this._queueManager.addBackRequest(request);\r\n }\r\n else if (retryCount < MaxRetries) {\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n AWTNotificationManager_1.default.eventsRetrying(request[token]);\r\n }\r\n }\r\n setTimeout(function () { return _this._sendRequest(request, retryCount + 1, false); }, AWTRetryPolicy_1.default.getMillisToBackoffForRetry(retryCount));\r\n }\r\n else {\r\n this._activeConnections--;\r\n AWTTransmissionManagerCore_1.default.backOffTransmission();\r\n this._queueManager.addBackRequest(request);\r\n }\r\n }\r\n else {\r\n this._handleRequestFinished(false, request, isTeardown, isSynchronous);\r\n }\r\n };\r\n AWTHttpManager.prototype._handleRequestFinished = function (success, request, isTeardown, isSynchronous) {\r\n if (success) {\r\n AWTTransmissionManagerCore_1.default.clearBackOff();\r\n }\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n if (success) {\r\n AWTNotificationManager_1.default.eventsSent(request[token]);\r\n }\r\n else {\r\n AWTNotificationManager_1.default.eventsDropped(request[token], Enums_1.AWTEventsDroppedReason.NonRetryableStatus);\r\n }\r\n }\r\n }\r\n this._activeConnections--;\r\n if (!isSynchronous && !isTeardown) {\r\n //Only continue sending more requests as long as the current request was not an synchronous request or sent\r\n //during teardown. We want to return after just sending this one sync request.\r\n this.sendQueuedRequests();\r\n }\r\n };\r\n /**\r\n * Converts the XHR getAllResponseHeaders to a map containing the header key and value.\r\n */\r\n AWTHttpManager.prototype._convertAllHeadersToMap = function (headersString) {\r\n var headers = {};\r\n if (headersString) {\r\n var headersArray = headersString.split('\\n');\r\n for (var i = 0; i < headersArray.length; ++i) {\r\n var header = headersArray[i].split(': ');\r\n headers[header[0]] = header[1];\r\n }\r\n }\r\n return headers;\r\n };\r\n return AWTHttpManager;\r\n}());\r\nexports.default = AWTHttpManager;\r\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","\"use strict\";\r\n/**\r\n* microsoft.bond.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar bond_const_1 = require(\"./bond_const\");\r\nexports._BondDataType = bond_const_1._BondDataType;\r\nvar _Encoding = require(\"./microsoft.bond.encoding\");\r\nexports._Encoding = _Encoding;\r\nvar IO = require(\"./microsoft.bond.io\");\r\nexports.IO = IO;\r\nvar microsoft_bond_primitives_1 = require(\"./microsoft.bond.primitives\");\r\nexports.Int64 = microsoft_bond_primitives_1.Int64;\r\nexports.UInt64 = microsoft_bond_primitives_1.UInt64;\r\nexports.Number = microsoft_bond_primitives_1.Number;\r\nvar CompactBinaryProtocolWriter = /** @class */ (function () {\r\n function CompactBinaryProtocolWriter(stream) {\r\n this._stream = stream;\r\n }\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteBlob = function (blob) {\r\n this._stream._Write(blob, 0, blob.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteBool = function (value) {\r\n this._stream._WriteByte(value ? 1 : 0);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteContainerBegin = function (size, elementType) {\r\n this._WriteUInt8(elementType);\r\n this._WriteUInt32(size);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteMapContainerBegin = function (size, keyType, valueType) {\r\n this._WriteUInt8(keyType);\r\n this._WriteUInt8(valueType);\r\n this._WriteUInt32(size);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteDouble = function (value) {\r\n var array = _Encoding._Double_GetBytes(value);\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteFieldBegin = function (type, id, metadata) {\r\n if (id <= 5) {\r\n this._stream._WriteByte(type | (id << 5));\r\n }\r\n else if (id <= 0xff) {\r\n this._stream._WriteByte(type | (6 << 5));\r\n this._stream._WriteByte(id);\r\n }\r\n else {\r\n this._stream._WriteByte(type | (7 << 5));\r\n this._stream._WriteByte(id);\r\n this._stream._WriteByte(id >> 8);\r\n }\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteInt32 = function (value) {\r\n value = _Encoding._Zigzag_EncodeZigzag32(value);\r\n this._WriteUInt32(value);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteInt64 = function (value) {\r\n this._WriteUInt64(_Encoding._Zigzag_EncodeZigzag64(value));\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteString = function (value) {\r\n if (value === '') {\r\n this._WriteUInt32(0 /*length*/);\r\n }\r\n else {\r\n var array = _Encoding._Utf8_GetBytes(value);\r\n this._WriteUInt32(array.length);\r\n this._stream._Write(array, 0, array.length);\r\n }\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteStructEnd = function (isBase) {\r\n this._WriteUInt8(isBase ? bond_const_1._BondDataType._BT_STOP_BASE : bond_const_1._BondDataType._BT_STOP);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt32 = function (value) {\r\n var array = _Encoding._Varint_GetBytes(microsoft_bond_primitives_1.Number._ToUInt32(value));\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt64 = function (value) {\r\n var array = _Encoding._Varint64_GetBytes(value);\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt8 = function (value) {\r\n this._stream._WriteByte(microsoft_bond_primitives_1.Number._ToUInt8(value));\r\n };\r\n return CompactBinaryProtocolWriter;\r\n}());\r\nexports.CompactBinaryProtocolWriter = CompactBinaryProtocolWriter;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTRetryPolicy.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar RandomizationLowerThreshold = 0.8;\r\nvar RandomizationUpperThreshold = 1.2;\r\nvar BaseBackoff = 3000;\r\nvar MaxBackoff = 120000;\r\n/**\r\n* Class for retry policy.\r\n*/\r\nvar AWTRetryPolicy = /** @class */ (function () {\r\n function AWTRetryPolicy() {\r\n }\r\n /**\r\n * Determine if the request should be retried for the given status code.\r\n * The below expression reads that we should only retry for:\r\n * - HttpStatusCodes that are smaller than 300.\r\n * - HttpStatusCodes greater or equal to 500 (except for 501-NotImplement\r\n * and 505-HttpVersionNotSupport).\r\n * - HttpStatusCode 408-RequestTimeout.\r\n * This is based on Microsoft.WindowsAzure.Storage.RetryPolicies.ExponentialRetry class\r\n * @param {number} httpStatusCode - The status code returned for the request.\r\n * @return {boolean} True if request should be retried, false otherwise.\r\n */\r\n AWTRetryPolicy.shouldRetryForStatus = function (httpStatusCode) {\r\n /* */\r\n return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode !== 408)\r\n || (httpStatusCode === 501)\r\n || (httpStatusCode === 505));\r\n };\r\n /**\r\n * Gets the number of milliseconds to back off before retrying the request. The\r\n * back off duration is exponentially scaled based on the number of retries already\r\n * done for the request.\r\n * @param {number} retriesSoFar - The number of times the request has already been retried.\r\n * @return {number} The back off duration for the request before it can be retried.\r\n */\r\n AWTRetryPolicy.getMillisToBackoffForRetry = function (retriesSoFar) {\r\n var waitDuration = 0;\r\n var minBackoff = BaseBackoff * RandomizationLowerThreshold;\r\n var maxBackoff = BaseBackoff * RandomizationUpperThreshold;\r\n var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;\r\n waitDuration = Math.pow(4, retriesSoFar) * randomBackoff;\r\n return Math.min(waitDuration, MaxBackoff);\r\n };\r\n return AWTRetryPolicy;\r\n}());\r\nexports.default = AWTRetryPolicy;\r\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n* index.js\n* Copyright: Microsoft 2016\n*\n* Points at typescript source for using with webpack/TSC.\n*/\n\nmodule.exports = require('./dist/SimpleRestClients');\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTStatsManager.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Utils = require(\"./Utils\");\r\nvar AWTNotificationManager_1 = require(\"./AWTNotificationManager\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar StatsTimer = 60000;\r\n/**\r\n* Class that manages the stats.\r\n*/\r\nvar AWTStatsManager = /** @class */ (function () {\r\n function AWTStatsManager() {\r\n }\r\n /**\r\n * Intiailizes the stats collection.\r\n * @param {function} sendStats - The function to call when the stats are ready to be sent.\r\n */\r\n AWTStatsManager.initialize = function (sendStats) {\r\n var _this = this;\r\n this._sendStats = sendStats;\r\n this._isInitalized = true;\r\n AWTNotificationManager_1.default.addNotificationListener({\r\n eventsSent: function (events) {\r\n _this._addStat('records_sent_count', events.length, events[0].apiKey);\r\n },\r\n eventsDropped: function (events, reason) {\r\n switch (reason) {\r\n case Enums_1.AWTEventsDroppedReason.NonRetryableStatus:\r\n _this._addStat('d_send_fail', events.length, events[0].apiKey);\r\n _this._addStat('records_dropped_count', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsDroppedReason.QueueFull:\r\n _this._addStat('d_queue_full', events.length, events[0].apiKey);\r\n break;\r\n }\r\n },\r\n eventsRejected: function (events, reason) {\r\n switch (reason) {\r\n case Enums_1.AWTEventsRejectedReason.InvalidEvent:\r\n _this._addStat('r_inv', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsRejectedReason.KillSwitch:\r\n _this._addStat('r_kl', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsRejectedReason.SizeLimitExceeded:\r\n _this._addStat('r_size', events.length, events[0].apiKey);\r\n break;\r\n }\r\n _this._addStat('r_count', events.length, events[0].apiKey);\r\n },\r\n eventsRetrying: null\r\n });\r\n setTimeout(function () { return _this.flush(); }, StatsTimer);\r\n };\r\n /**\r\n * Flush the current stats and stop the stats collection.\r\n */\r\n AWTStatsManager.teardown = function () {\r\n if (this._isInitalized) {\r\n this.flush();\r\n this._isInitalized = false;\r\n }\r\n };\r\n /**\r\n * Increments the stat for event received.\r\n * @param {string} apiKey - The apiKey for which the event was received\r\n */\r\n AWTStatsManager.eventReceived = function (apiKey) {\r\n AWTStatsManager._addStat('records_received_count', 1, apiKey);\r\n };\r\n /**\r\n * Creates an event for each tenant token which had a stat and calls the\r\n * sendStats for that token.\r\n */\r\n AWTStatsManager.flush = function () {\r\n var _this = this;\r\n if (this._isInitalized) {\r\n for (var tenantId in this._stats) {\r\n if (this._stats.hasOwnProperty(tenantId)) {\r\n this._sendStats(this._stats[tenantId], tenantId);\r\n }\r\n }\r\n this._stats = {};\r\n setTimeout(function () { return _this.flush(); }, StatsTimer);\r\n }\r\n };\r\n AWTStatsManager._addStat = function (statName, value, apiKey) {\r\n if (this._isInitalized && apiKey !== Utils.StatsApiKey) {\r\n var tenantId = Utils.getTenantId(apiKey);\r\n if (!this._stats[tenantId]) {\r\n this._stats[tenantId] = {};\r\n }\r\n if (!this._stats[tenantId][statName]) {\r\n this._stats[tenantId][statName] = value;\r\n }\r\n else {\r\n this._stats[tenantId][statName] = this._stats[tenantId][statName] + value;\r\n }\r\n }\r\n };\r\n AWTStatsManager._isInitalized = false;\r\n AWTStatsManager._stats = {};\r\n return AWTStatsManager;\r\n}());\r\nexports.default = AWTStatsManager;\r\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTLogger.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nvar Utils = require(\"../common/Utils\");\r\nvar AWTStatsManager_1 = require(\"../common/AWTStatsManager\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar AWTLogManagerSettings_1 = require(\"./AWTLogManagerSettings\");\r\nvar Version = require(\"./Version\");\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\n/**\r\n* The AWTLogger class defines a logger.\r\n*/\r\nvar AWTLogger = /** @class */ (function () {\r\n /**\r\n * The AWTLogger class constructor.\r\n * @constructor\r\n * @param {string} _apiKey - The API key (also known as application key, and tenant token).\r\n */\r\n function AWTLogger(_apiKey) {\r\n this._apiKey = _apiKey;\r\n this._contextProperties = new AWTEventProperties_1.default();\r\n this._semanticContext = new AWTSemanticContext_1.default(false, this._contextProperties);\r\n this._sessionStartTime = 0;\r\n this._createInitId();\r\n }\r\n /**\r\n * Sets the context sent with every event from this logger.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContext = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setProperty(name, value, type);\r\n };\r\n /**\r\n * Sets context that will be sent with every event from this logger, and tags it as PII.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} pii - The kind of PII for the context property, as one of the AWTPiiKind enumeration values.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContextWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setPropertyWithPii(name, value, pii, type);\r\n };\r\n /**\r\n * Sets the context that sent with every event from this logger, and tags it as customer content.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} customerContent - The customer content kind, as one of the AWTCustomerContentKind enumeration values.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContextWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setPropertyWithCustomerContent(name, value, customerContent, type);\r\n };\r\n /**\r\n * Gets the logger semantic context.\r\n * Note: Device properties are not permitted at the logger level, but you can set them\r\n * at the global level using the AWTLogManager class.\r\n *\r\n * @return A AWTSemanticContext object that you can use to set common semantic properties.\r\n */\r\n AWTLogger.prototype.getSemanticContext = function () {\r\n return this._semanticContext;\r\n };\r\n /**\r\n * Logs a custom event with the specified name and fields - to track information\r\n * such as how a particular feature is used.\r\n * @param {Object} event - Can be either an AWTEventProperties object or an AWTEventData object or an event name.\r\n */\r\n AWTLogger.prototype.logEvent = function (event) {\r\n if (AWTLogManagerSettings_1.default.loggingEnabled) {\r\n if (!this._apiKey) {\r\n this._apiKey = AWTLogManagerSettings_1.default.defaultTenantToken;\r\n this._createInitId();\r\n }\r\n var sanitizeProperties = true;\r\n if (Utils.isString(event)) {\r\n event = {\r\n name: event\r\n };\r\n }\r\n else if (event instanceof AWTEventProperties_1.default) {\r\n event = event.getEvent();\r\n //AWTEventProperties will already sanitize properties\r\n sanitizeProperties = false;\r\n }\r\n AWTStatsManager_1.default.eventReceived(this._apiKey);\r\n AWTLogger._logEvent(AWTLogger._getInternalEvent(event, this._apiKey, sanitizeProperties), this._contextProperties);\r\n }\r\n };\r\n /**\r\n * Logs the session state.\r\n * Note: Calling Logging session start while a session already exists will produce a no-op. Similarly, calling logging\r\n * session end while a session does not exist will also produce a no-op.\r\n * @param {enum} state - The session's state.\r\n * @param {obbject} properties - [Optional] Properties of the session event as either a AWTEventProperties object,\r\n * or a AWTEventData object.\r\n */\r\n AWTLogger.prototype.logSession = function (state, properties) {\r\n if (AWTLogManagerSettings_1.default.sessionEnabled) {\r\n var sessionEvent = {\r\n name: 'session',\r\n type: 'session',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(sessionEvent, properties);\r\n sessionEvent.priority = Enums_1.AWTEventPriority.High;\r\n if (state === Enums_2.AWTSessionState.Started) {\r\n if (this._sessionStartTime > 0) {\r\n //Session start called out of order. Session start time being non zero indicates an ongoing session.\r\n return;\r\n }\r\n this._sessionStartTime = (new Date()).getTime();\r\n this._sessionId = Utils.newGuid();\r\n this.setContext('Session.Id', this._sessionId);\r\n sessionEvent.properties['Session.State'] = 'Started';\r\n }\r\n else if (state === Enums_2.AWTSessionState.Ended) {\r\n if (this._sessionStartTime === 0) {\r\n //Session end called out of order. Session start time being zero indicates no ongoing session.\r\n return;\r\n }\r\n var sessionDurationSec = Math.floor(((new Date()).getTime() - this._sessionStartTime) / 1000);\r\n sessionEvent.properties['Session.Id'] = this._sessionId;\r\n sessionEvent.properties['Session.State'] = 'Ended';\r\n sessionEvent.properties['Session.Duration'] = sessionDurationSec.toString();\r\n sessionEvent.properties['Session.DurationBucket'] =\r\n AWTLogger._getSessionDurationFromTime(sessionDurationSec);\r\n this._sessionStartTime = 0;\r\n this.setContext('Session.Id', null);\r\n this._sessionId = undefined;\r\n }\r\n else {\r\n return;\r\n }\r\n sessionEvent.properties['Session.FirstLaunchTime'] = AWTAutoCollection_1.default.firstLaunchTime;\r\n this.logEvent(sessionEvent);\r\n }\r\n };\r\n /**\r\n * Gets the session ID for the ongoing session.\r\n * @return {string} A string that contains the session ID for the ongoing session. Returns undefined if there is\r\n * no ongoing session.\r\n */\r\n AWTLogger.prototype.getSessionId = function () {\r\n return this._sessionId;\r\n };\r\n /**\r\n * Logs a failure event, such as an application exception.\r\n * @param {string} signature - A string that identifies the bucket of the failure.\r\n * @param {string} detail - A string that contains the a description of the failure.\r\n * @param {string} category - [Optional] A string that identifies the category of the failure, such as an application error,\r\n * a hang, or a crash.\r\n * @param {string} id - [Optional] A string that that uniquely identifies this failure.\r\n * @param {object} properties - [Optional] Properties of the failure event, as either an AWTEventProperties object or an\r\n * AWTEventData object. This value can also be null.\r\n */\r\n AWTLogger.prototype.logFailure = function (signature, detail, category, id, properties) {\r\n if (!signature || !detail) {\r\n return;\r\n }\r\n var failureEvent = {\r\n name: 'failure',\r\n type: 'failure',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(failureEvent, properties);\r\n failureEvent.properties['Failure.Signature'] = signature;\r\n failureEvent.properties['Failure.Detail'] = detail;\r\n if (category) {\r\n failureEvent.properties['Failure.Category'] = category;\r\n }\r\n if (id) {\r\n failureEvent.properties['Failure.Id'] = id;\r\n }\r\n failureEvent.priority = Enums_1.AWTEventPriority.High;\r\n this.logEvent(failureEvent);\r\n };\r\n /**\r\n * Logs a page view event which is normally a result of a user action on a UI page - such as search query,\r\n * a content request, or a page navigation.\r\n *\r\n * @param {string} id - A string that uniquely identifies this page.\r\n * @param {string} pageName - The name of the page.\r\n * @param {string} category - [Optional] A string that contains the category to which this page belongs.\r\n * @param {string} uri - [Optional] A string that contains the URI of this page.\r\n * @param {string} referrerUri - [Optional] A string that contains the URI that refers to this page.\r\n * @param {object} properties - [Optional] Properties of the page view event, as an AWTEventProperties object.\r\n * This value can also be null.\r\n */\r\n AWTLogger.prototype.logPageView = function (id, pageName, category, uri, referrerUri, properties) {\r\n if (!id || !pageName) {\r\n return;\r\n }\r\n var pageViewEvent = {\r\n name: 'pageview',\r\n type: 'pageview',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(pageViewEvent, properties);\r\n pageViewEvent.properties['PageView.Id'] = id;\r\n pageViewEvent.properties['PageView.Name'] = pageName;\r\n if (category) {\r\n pageViewEvent.properties['PageView.Category'] = category;\r\n }\r\n if (uri) {\r\n pageViewEvent.properties['PageView.Uri'] = uri;\r\n }\r\n if (referrerUri) {\r\n pageViewEvent.properties['PageView.ReferrerUri'] = referrerUri;\r\n }\r\n this.logEvent(pageViewEvent);\r\n };\r\n AWTLogger.prototype._createInitId = function () {\r\n // If no init ID for this tenant token exists, create one\r\n if (!AWTLogger._initIdMap[this._apiKey] && this._apiKey) {\r\n AWTLogger._initIdMap[this._apiKey] = Utils.newGuid();\r\n }\r\n };\r\n AWTLogger._addPropertiesToEvent = function (event, propertiesEvent) {\r\n if (propertiesEvent) {\r\n if (propertiesEvent instanceof AWTEventProperties_1.default) {\r\n propertiesEvent = propertiesEvent.getEvent();\r\n }\r\n if (propertiesEvent.name) {\r\n event.name = propertiesEvent.name;\r\n }\r\n if (propertiesEvent.priority) {\r\n event.priority = propertiesEvent.priority;\r\n }\r\n for (var name_1 in propertiesEvent.properties) {\r\n if (propertiesEvent.properties.hasOwnProperty(name_1)) {\r\n event.properties[name_1] = propertiesEvent.properties[name_1];\r\n }\r\n }\r\n }\r\n };\r\n AWTLogger._getSessionDurationFromTime = function (timeInSec) {\r\n if (timeInSec < 0) {\r\n return 'Undefined';\r\n }\r\n else if (timeInSec <= 3) {\r\n return 'UpTo3Sec';\r\n }\r\n else if (timeInSec <= 10) {\r\n return 'UpTo10Sec';\r\n }\r\n else if (timeInSec <= 30) {\r\n return 'UpTo30Sec';\r\n }\r\n else if (timeInSec <= 60) {\r\n return 'UpTo60Sec';\r\n }\r\n else if (timeInSec <= 180) {\r\n return 'UpTo3Min';\r\n }\r\n else if (timeInSec <= 600) {\r\n return 'UpTo10Min';\r\n }\r\n else if (timeInSec <= 1800) {\r\n return 'UpTo30Min';\r\n }\r\n return 'Above30Min';\r\n };\r\n AWTLogger._logEvent = function (eventWithMetaData, contextProperties) {\r\n if (!eventWithMetaData.name || !Utils.isString(eventWithMetaData.name)) {\r\n AWTNotificationManager_1.default.eventsRejected([eventWithMetaData], Enums_1.AWTEventsRejectedReason.InvalidEvent);\r\n return;\r\n }\r\n eventWithMetaData.name = eventWithMetaData.name.toLowerCase();\r\n //Check if name is a string and replace . with _ if it is. Drop otherwise.\r\n eventWithMetaData.name = eventWithMetaData.name.replace(Utils.EventNameDotRegex, '_');\r\n if (!eventWithMetaData.type || !Utils.isString(eventWithMetaData.type)) {\r\n eventWithMetaData.type = 'custom';\r\n }\r\n else {\r\n eventWithMetaData.type = eventWithMetaData.type.toLowerCase();\r\n }\r\n //Validate name and type and drop if invalid\r\n if (!Utils.EventNameAndTypeRegex.test(eventWithMetaData.name) || !Utils.EventNameAndTypeRegex.test(eventWithMetaData.type)) {\r\n AWTNotificationManager_1.default.eventsRejected([eventWithMetaData], Enums_1.AWTEventsRejectedReason.InvalidEvent);\r\n return;\r\n }\r\n //Add the timestamp if the timestamp is not set or is negative.\r\n if (!Utils.isNumber(eventWithMetaData.timestamp) || eventWithMetaData.timestamp < 0) {\r\n eventWithMetaData.timestamp = (new Date()).getTime();\r\n }\r\n //If no properties create one for EventInfo and context \r\n if (!eventWithMetaData.properties) {\r\n eventWithMetaData.properties = {};\r\n }\r\n // Logger ContextProperties\r\n this._addContextIfAbsent(eventWithMetaData, contextProperties.getPropertyMap());\r\n // LogManager ContextProperties\r\n this._addContextIfAbsent(eventWithMetaData, AWTLogManagerSettings_1.default.logManagerContext.getPropertyMap());\r\n //Add event info\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.InitId', this._getInitId(eventWithMetaData.apiKey));\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Sequence', this._getSequenceId(eventWithMetaData.apiKey));\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.SdkVersion', Version.FullVersionString);\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Name', eventWithMetaData.name);\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Time', (new Date(eventWithMetaData.timestamp)).toISOString());\r\n if (!Utils.isPriority(eventWithMetaData.priority)) {\r\n eventWithMetaData.priority = Enums_1.AWTEventPriority.Normal;\r\n }\r\n this._sendEvent(eventWithMetaData);\r\n };\r\n AWTLogger._addContextIfAbsent = function (event, contextProperties) {\r\n if (contextProperties) {\r\n for (var name_2 in contextProperties) {\r\n if (contextProperties.hasOwnProperty(name_2)) {\r\n if (!event.properties[name_2]) {\r\n event.properties[name_2] = contextProperties[name_2];\r\n }\r\n }\r\n }\r\n }\r\n };\r\n AWTLogger._setDefaultProperty = function (event, name, value) {\r\n event.properties[name] = { value: value, pii: Enums_1.AWTPiiKind.NotSet, type: Enums_1.AWTPropertyType.String };\r\n };\r\n AWTLogger._sendEvent = function (event) {\r\n AWTTransmissionManagerCore_1.default.sendEvent(event);\r\n };\r\n AWTLogger._getInternalEvent = function (event, apiKey, sanitizeProperties) {\r\n event.properties = event.properties || {};\r\n if (sanitizeProperties) {\r\n // Event Properties \r\n for (var name_3 in event.properties) {\r\n if (event.properties.hasOwnProperty(name_3)) {\r\n event.properties[name_3] = Utils.sanitizeProperty(name_3, event.properties[name_3]);\r\n if (event.properties[name_3] === null) {\r\n delete event.properties[name_3];\r\n }\r\n }\r\n }\r\n }\r\n var internalEvent = event;\r\n internalEvent.id = Utils.newGuid();\r\n internalEvent.apiKey = apiKey;\r\n return internalEvent;\r\n };\r\n AWTLogger._getInitId = function (apiKey) {\r\n return AWTLogger._initIdMap[apiKey];\r\n };\r\n AWTLogger._getSequenceId = function (apiKey) {\r\n if (AWTLogger._sequenceIdMap[apiKey] === undefined) {\r\n AWTLogger._sequenceIdMap[apiKey] = 0;\r\n }\r\n return (++AWTLogger._sequenceIdMap[apiKey]).toString();\r\n };\r\n AWTLogger._sequenceIdMap = {};\r\n AWTLogger._initIdMap = {};\r\n return AWTLogger;\r\n}());\r\nexports.default = AWTLogger;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Version.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n* File for SDK version.\r\n*/\r\nexports.Version = '1.8.1';\r\nexports.FullVersionString = 'AWT-Web-JS-' + exports.Version;\r\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a