{"version":3,"file":"vendors-2246825a.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./node_modules/@azure/msal-common/dist/crypto/ICrypto.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/JoseHeaderErrorCodes.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/JoseHeaderError.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/crypto/JoseHeader.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/crypto/PopTokenGenerator.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/AuthError.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/AuthErrorCodes.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/CacheError.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/CacheErrorCodes.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/ClientAuthError.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/ClientAuthErrorCodes.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/ClientConfigurationError.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/ClientConfigurationErrorCodes.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthErrorCodes.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/error/ServerError.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/logger/Logger.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/network/INetworkModule.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/network/NetworkManager.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/network/ThrottlingUtils.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/packageMetadata.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/request/RequestParameterBuilder.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/request/RequestValidator.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/request/ScopeSet.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/response/ResponseHandler.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvent.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/telemetry/performance/StubPerformanceClient.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/url/UrlString.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/utils/ClientAssertionUtils.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/utils/Constants.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/utils/FunctionWrappers.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/utils/ProtocolUtils.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/utils/StringUtils.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/utils/TimeUtils.mjs","webpack://iadviser/./node_modules/@azure/msal-common/dist/utils/UrlUtils.mjs"],"sourcesContent":["/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { createClientAuthError } from '../error/ClientAuthError.mjs';\nimport { methodNotImplemented } from '../error/ClientAuthErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst DEFAULT_CRYPTO_IMPLEMENTATION = {\r\n createNewGuid: () => {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n base64Decode: () => {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n base64Encode: () => {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n base64UrlEncode: () => {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n encodeKid: () => {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n async getPublicKeyThumbprint() {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n async removeTokenBindingKey() {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n async clearKeystore() {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n async signJwt() {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n async hashString() {\r\n throw createClientAuthError(methodNotImplemented);\r\n },\r\n};\n\nexport { DEFAULT_CRYPTO_IMPLEMENTATION };\n//# sourceMappingURL=ICrypto.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst missingKidError = \"missing_kid_error\";\r\nconst missingAlgError = \"missing_alg_error\";\n\nexport { missingAlgError, missingKidError };\n//# sourceMappingURL=JoseHeaderErrorCodes.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { AuthError } from './AuthError.mjs';\nimport { missingKidError, missingAlgError } from './JoseHeaderErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst JoseHeaderErrorMessages = {\r\n [missingKidError]: \"The JOSE Header for the requested JWT, JWS or JWK object requires a keyId to be configured as the 'kid' header claim. No 'kid' value was provided.\",\r\n [missingAlgError]: \"The JOSE Header for the requested JWT, JWS or JWK object requires an algorithm to be specified as the 'alg' header claim. No 'alg' value was provided.\",\r\n};\r\n/**\r\n * Error thrown when there is an error in the client code running on the browser.\r\n */\r\nclass JoseHeaderError extends AuthError {\r\n constructor(errorCode, errorMessage) {\r\n super(errorCode, errorMessage);\r\n this.name = \"JoseHeaderError\";\r\n Object.setPrototypeOf(this, JoseHeaderError.prototype);\r\n }\r\n}\r\n/** Returns JoseHeaderError object */\r\nfunction createJoseHeaderError(code) {\r\n return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);\r\n}\n\nexport { JoseHeaderError, JoseHeaderErrorMessages, createJoseHeaderError };\n//# sourceMappingURL=JoseHeaderError.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { createJoseHeaderError } from '../error/JoseHeaderError.mjs';\nimport { JsonWebTokenTypes } from '../utils/Constants.mjs';\nimport { missingKidError, missingAlgError } from '../error/JoseHeaderErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/** @internal */\r\nclass JoseHeader {\r\n constructor(options) {\r\n this.typ = options.typ;\r\n this.alg = options.alg;\r\n this.kid = options.kid;\r\n }\r\n /**\r\n * Builds SignedHttpRequest formatted JOSE Header from the\r\n * JOSE Header options provided or previously set on the object and returns\r\n * the stringified header object.\r\n * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.\r\n * @param shrHeaderOptions\r\n * @returns\r\n */\r\n static getShrHeaderString(shrHeaderOptions) {\r\n // KeyID is required on the SHR header\r\n if (!shrHeaderOptions.kid) {\r\n throw createJoseHeaderError(missingKidError);\r\n }\r\n // Alg is required on the SHR header\r\n if (!shrHeaderOptions.alg) {\r\n throw createJoseHeaderError(missingAlgError);\r\n }\r\n const shrHeader = new JoseHeader({\r\n // Access Token PoP headers must have type pop, but the type header can be overriden for special cases\r\n typ: shrHeaderOptions.typ || JsonWebTokenTypes.Pop,\r\n kid: shrHeaderOptions.kid,\r\n alg: shrHeaderOptions.alg,\r\n });\r\n return JSON.stringify(shrHeader);\r\n }\r\n}\n\nexport { JoseHeader };\n//# sourceMappingURL=JoseHeader.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { nowSeconds } from '../utils/TimeUtils.mjs';\nimport { UrlString } from '../url/UrlString.mjs';\nimport { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';\nimport { invokeAsync } from '../utils/FunctionWrappers.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst KeyLocation = {\r\n SW: \"sw\",\r\n UHW: \"uhw\",\r\n};\r\n/** @internal */\r\nclass PopTokenGenerator {\r\n constructor(cryptoUtils, performanceClient) {\r\n this.cryptoUtils = cryptoUtils;\r\n this.performanceClient = performanceClient;\r\n }\r\n /**\r\n * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters\r\n * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash\r\n * @param request\r\n * @returns\r\n */\r\n async generateCnf(request, logger) {\r\n this.performanceClient?.addQueueMeasurement(PerformanceEvents.PopTokenGenerateCnf, request.correlationId);\r\n const reqCnf = await invokeAsync(this.generateKid.bind(this), PerformanceEvents.PopTokenGenerateCnf, logger, this.performanceClient, request.correlationId)(request);\r\n const reqCnfString = this.cryptoUtils.base64UrlEncode(JSON.stringify(reqCnf));\r\n return {\r\n kid: reqCnf.kid,\r\n reqCnfString,\r\n };\r\n }\r\n /**\r\n * Generates key_id for a SHR token request\r\n * @param request\r\n * @returns\r\n */\r\n async generateKid(request) {\r\n this.performanceClient?.addQueueMeasurement(PerformanceEvents.PopTokenGenerateKid, request.correlationId);\r\n const kidThumbprint = await this.cryptoUtils.getPublicKeyThumbprint(request);\r\n return {\r\n kid: kidThumbprint,\r\n xms_ksl: KeyLocation.SW,\r\n };\r\n }\r\n /**\r\n * Signs the POP access_token with the local generated key-pair\r\n * @param accessToken\r\n * @param request\r\n * @returns\r\n */\r\n async signPopToken(accessToken, keyId, request) {\r\n return this.signPayload(accessToken, keyId, request);\r\n }\r\n /**\r\n * Utility function to generate the signed JWT for an access_token\r\n * @param payload\r\n * @param kid\r\n * @param request\r\n * @param claims\r\n * @returns\r\n */\r\n async signPayload(payload, keyId, request, claims) {\r\n // Deconstruct request to extract SHR parameters\r\n const { resourceRequestMethod, resourceRequestUri, shrClaims, shrNonce, shrOptions, } = request;\r\n const resourceUrlString = resourceRequestUri\r\n ? new UrlString(resourceRequestUri)\r\n : undefined;\r\n const resourceUrlComponents = resourceUrlString?.getUrlComponents();\r\n return this.cryptoUtils.signJwt({\r\n at: payload,\r\n ts: nowSeconds(),\r\n m: resourceRequestMethod?.toUpperCase(),\r\n u: resourceUrlComponents?.HostNameAndPort,\r\n nonce: shrNonce || this.cryptoUtils.createNewGuid(),\r\n p: resourceUrlComponents?.AbsolutePath,\r\n q: resourceUrlComponents?.QueryString\r\n ? [[], resourceUrlComponents.QueryString]\r\n : undefined,\r\n client_claims: shrClaims || undefined,\r\n ...claims,\r\n }, keyId, shrOptions, request.correlationId);\r\n }\r\n}\n\nexport { PopTokenGenerator };\n//# sourceMappingURL=PopTokenGenerator.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { Constants } from '../utils/Constants.mjs';\nimport { unexpectedError, postRequestFailed } from './AuthErrorCodes.mjs';\nimport * as AuthErrorCodes from './AuthErrorCodes.mjs';\nexport { AuthErrorCodes };\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst AuthErrorMessages = {\r\n [unexpectedError]: \"Unexpected error in authentication.\",\r\n [postRequestFailed]: \"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details.\",\r\n};\r\n/**\r\n * AuthErrorMessage class containing string constants used by error codes and messages.\r\n * @deprecated Use AuthErrorCodes instead\r\n */\r\nconst AuthErrorMessage = {\r\n unexpectedError: {\r\n code: unexpectedError,\r\n desc: AuthErrorMessages[unexpectedError],\r\n },\r\n postRequestFailed: {\r\n code: postRequestFailed,\r\n desc: AuthErrorMessages[postRequestFailed],\r\n },\r\n};\r\n/**\r\n * General error class thrown by the MSAL.js library.\r\n */\r\nclass AuthError extends Error {\r\n constructor(errorCode, errorMessage, suberror) {\r\n const errorString = errorMessage\r\n ? `${errorCode}: ${errorMessage}`\r\n : errorCode;\r\n super(errorString);\r\n Object.setPrototypeOf(this, AuthError.prototype);\r\n this.errorCode = errorCode || Constants.EMPTY_STRING;\r\n this.errorMessage = errorMessage || Constants.EMPTY_STRING;\r\n this.subError = suberror || Constants.EMPTY_STRING;\r\n this.name = \"AuthError\";\r\n }\r\n setCorrelationId(correlationId) {\r\n this.correlationId = correlationId;\r\n }\r\n}\r\nfunction createAuthError(code, additionalMessage) {\r\n return new AuthError(code, additionalMessage\r\n ? `${AuthErrorMessages[code]} ${additionalMessage}`\r\n : AuthErrorMessages[code]);\r\n}\n\nexport { AuthError, AuthErrorMessage, AuthErrorMessages, createAuthError };\n//# sourceMappingURL=AuthError.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * AuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nconst unexpectedError = \"unexpected_error\";\r\nconst postRequestFailed = \"post_request_failed\";\n\nexport { postRequestFailed, unexpectedError };\n//# sourceMappingURL=AuthErrorCodes.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { cacheUnknownErrorCode, cacheQuotaExceededErrorCode } from './CacheErrorCodes.mjs';\nimport * as CacheErrorCodes from './CacheErrorCodes.mjs';\nexport { CacheErrorCodes };\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst CacheErrorMessages = {\r\n [cacheQuotaExceededErrorCode]: \"Exceeded cache storage capacity.\",\r\n [cacheUnknownErrorCode]: \"Unexpected error occurred when using cache storage.\",\r\n};\r\n/**\r\n * Error thrown when there is an error with the cache\r\n */\r\nclass CacheError extends Error {\r\n constructor(errorCode, errorMessage) {\r\n const message = errorMessage ||\r\n (CacheErrorMessages[errorCode]\r\n ? CacheErrorMessages[errorCode]\r\n : CacheErrorMessages[cacheUnknownErrorCode]);\r\n super(`${errorCode}: ${message}`);\r\n Object.setPrototypeOf(this, CacheError.prototype);\r\n this.name = \"CacheError\";\r\n this.errorCode = errorCode;\r\n this.errorMessage = message;\r\n }\r\n}\n\nexport { CacheError, CacheErrorMessages };\n//# sourceMappingURL=CacheError.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst cacheQuotaExceededErrorCode = \"cache_quota_exceeded\";\r\nconst cacheUnknownErrorCode = \"cache_error_unknown\";\n\nexport { cacheQuotaExceededErrorCode, cacheUnknownErrorCode };\n//# sourceMappingURL=CacheErrorCodes.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { AuthError } from './AuthError.mjs';\nimport { clientInfoDecodingError, clientInfoEmptyError, tokenParsingError, nullOrEmptyToken, endpointResolutionError, networkError, openIdConfigError, hashNotDeserialized, invalidState, stateMismatch, stateNotFound, nonceMismatch, authTimeNotFound, maxAgeTranspired, multipleMatchingTokens, multipleMatchingAccounts, multipleMatchingAppMetadata, requestCannotBeMade, cannotRemoveEmptyScope, cannotAppendScopeSet, emptyInputScopeSet, deviceCodePollingCancelled, deviceCodeExpired, deviceCodeUnknownError, noAccountInSilentRequest, invalidCacheRecord, invalidCacheEnvironment, noAccountFound, noCryptoObject, unexpectedCredentialType, invalidAssertion, invalidClientCredential, tokenRefreshRequired, userTimeoutReached, tokenClaimsCnfRequiredForSignedJwt, authorizationCodeMissingFromServerResponse, bindingKeyNotRemoved, endSessionEndpointNotSupported, keyIdMissing, noNetworkConnectivity, userCanceled, missingTenantIdError, nestedAppAuthBridgeDisabled, methodNotImplemented } from './ClientAuthErrorCodes.mjs';\nimport * as ClientAuthErrorCodes from './ClientAuthErrorCodes.mjs';\nexport { ClientAuthErrorCodes };\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nconst ClientAuthErrorMessages = {\r\n [clientInfoDecodingError]: \"The client info could not be parsed/decoded correctly\",\r\n [clientInfoEmptyError]: \"The client info was empty\",\r\n [tokenParsingError]: \"Token cannot be parsed\",\r\n [nullOrEmptyToken]: \"The token is null or empty\",\r\n [endpointResolutionError]: \"Endpoints cannot be resolved\",\r\n [networkError]: \"Network request failed\",\r\n [openIdConfigError]: \"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.\",\r\n [hashNotDeserialized]: \"The hash parameters could not be deserialized\",\r\n [invalidState]: \"State was not the expected format\",\r\n [stateMismatch]: \"State mismatch error\",\r\n [stateNotFound]: \"State not found\",\r\n [nonceMismatch]: \"Nonce mismatch error\",\r\n [authTimeNotFound]: \"Max Age was requested and the ID token is missing the auth_time variable.\" +\r\n \" auth_time is an optional claim and is not enabled by default - it must be enabled.\" +\r\n \" See https://aka.ms/msaljs/optional-claims for more information.\",\r\n [maxAgeTranspired]: \"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.\",\r\n [multipleMatchingTokens]: \"The cache contains multiple tokens satisfying the requirements. \" +\r\n \"Call AcquireToken again providing more requirements such as authority or account.\",\r\n [multipleMatchingAccounts]: \"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account\",\r\n [multipleMatchingAppMetadata]: \"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata\",\r\n [requestCannotBeMade]: \"Token request cannot be made without authorization code or refresh token.\",\r\n [cannotRemoveEmptyScope]: \"Cannot remove null or empty scope from ScopeSet\",\r\n [cannotAppendScopeSet]: \"Cannot append ScopeSet\",\r\n [emptyInputScopeSet]: \"Empty input ScopeSet cannot be processed\",\r\n [deviceCodePollingCancelled]: \"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.\",\r\n [deviceCodeExpired]: \"Device code is expired.\",\r\n [deviceCodeUnknownError]: \"Device code stopped polling for unknown reasons.\",\r\n [noAccountInSilentRequest]: \"Please pass an account object, silent flow is not supported without account information\",\r\n [invalidCacheRecord]: \"Cache record object was null or undefined.\",\r\n [invalidCacheEnvironment]: \"Invalid environment when attempting to create cache entry\",\r\n [noAccountFound]: \"No account found in cache for given key.\",\r\n [noCryptoObject]: \"No crypto object detected.\",\r\n [unexpectedCredentialType]: \"Unexpected credential type.\",\r\n [invalidAssertion]: \"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515\",\r\n [invalidClientCredential]: \"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential\",\r\n [tokenRefreshRequired]: \"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.\",\r\n [userTimeoutReached]: \"User defined timeout for device code polling reached\",\r\n [tokenClaimsCnfRequiredForSignedJwt]: \"Cannot generate a POP jwt if the token_claims are not populated\",\r\n [authorizationCodeMissingFromServerResponse]: \"Server response does not contain an authorization code to proceed\",\r\n [bindingKeyNotRemoved]: \"Could not remove the credential's binding key from storage.\",\r\n [endSessionEndpointNotSupported]: \"The provided authority does not support logout\",\r\n [keyIdMissing]: \"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.\",\r\n [noNetworkConnectivity]: \"No network connectivity. Check your internet connection.\",\r\n [userCanceled]: \"User cancelled the flow.\",\r\n [missingTenantIdError]: \"A tenant id - not common, organizations, or consumers - must be specified when using the client_credentials flow.\",\r\n [methodNotImplemented]: \"This method has not been implemented\",\r\n [nestedAppAuthBridgeDisabled]: \"The nested app auth bridge is disabled\",\r\n};\r\n/**\r\n * String constants used by error codes and messages.\r\n * @deprecated Use ClientAuthErrorCodes instead\r\n */\r\nconst ClientAuthErrorMessage = {\r\n clientInfoDecodingError: {\r\n code: clientInfoDecodingError,\r\n desc: ClientAuthErrorMessages[clientInfoDecodingError],\r\n },\r\n clientInfoEmptyError: {\r\n code: clientInfoEmptyError,\r\n desc: ClientAuthErrorMessages[clientInfoEmptyError],\r\n },\r\n tokenParsingError: {\r\n code: tokenParsingError,\r\n desc: ClientAuthErrorMessages[tokenParsingError],\r\n },\r\n nullOrEmptyToken: {\r\n code: nullOrEmptyToken,\r\n desc: ClientAuthErrorMessages[nullOrEmptyToken],\r\n },\r\n endpointResolutionError: {\r\n code: endpointResolutionError,\r\n desc: ClientAuthErrorMessages[endpointResolutionError],\r\n },\r\n networkError: {\r\n code: networkError,\r\n desc: ClientAuthErrorMessages[networkError],\r\n },\r\n unableToGetOpenidConfigError: {\r\n code: openIdConfigError,\r\n desc: ClientAuthErrorMessages[openIdConfigError],\r\n },\r\n hashNotDeserialized: {\r\n code: hashNotDeserialized,\r\n desc: ClientAuthErrorMessages[hashNotDeserialized],\r\n },\r\n invalidStateError: {\r\n code: invalidState,\r\n desc: ClientAuthErrorMessages[invalidState],\r\n },\r\n stateMismatchError: {\r\n code: stateMismatch,\r\n desc: ClientAuthErrorMessages[stateMismatch],\r\n },\r\n stateNotFoundError: {\r\n code: stateNotFound,\r\n desc: ClientAuthErrorMessages[stateNotFound],\r\n },\r\n nonceMismatchError: {\r\n code: nonceMismatch,\r\n desc: ClientAuthErrorMessages[nonceMismatch],\r\n },\r\n authTimeNotFoundError: {\r\n code: authTimeNotFound,\r\n desc: ClientAuthErrorMessages[authTimeNotFound],\r\n },\r\n maxAgeTranspired: {\r\n code: maxAgeTranspired,\r\n desc: ClientAuthErrorMessages[maxAgeTranspired],\r\n },\r\n multipleMatchingTokens: {\r\n code: multipleMatchingTokens,\r\n desc: ClientAuthErrorMessages[multipleMatchingTokens],\r\n },\r\n multipleMatchingAccounts: {\r\n code: multipleMatchingAccounts,\r\n desc: ClientAuthErrorMessages[multipleMatchingAccounts],\r\n },\r\n multipleMatchingAppMetadata: {\r\n code: multipleMatchingAppMetadata,\r\n desc: ClientAuthErrorMessages[multipleMatchingAppMetadata],\r\n },\r\n tokenRequestCannotBeMade: {\r\n code: requestCannotBeMade,\r\n desc: ClientAuthErrorMessages[requestCannotBeMade],\r\n },\r\n removeEmptyScopeError: {\r\n code: cannotRemoveEmptyScope,\r\n desc: ClientAuthErrorMessages[cannotRemoveEmptyScope],\r\n },\r\n appendScopeSetError: {\r\n code: cannotAppendScopeSet,\r\n desc: ClientAuthErrorMessages[cannotAppendScopeSet],\r\n },\r\n emptyInputScopeSetError: {\r\n code: emptyInputScopeSet,\r\n desc: ClientAuthErrorMessages[emptyInputScopeSet],\r\n },\r\n DeviceCodePollingCancelled: {\r\n code: deviceCodePollingCancelled,\r\n desc: ClientAuthErrorMessages[deviceCodePollingCancelled],\r\n },\r\n DeviceCodeExpired: {\r\n code: deviceCodeExpired,\r\n desc: ClientAuthErrorMessages[deviceCodeExpired],\r\n },\r\n DeviceCodeUnknownError: {\r\n code: deviceCodeUnknownError,\r\n desc: ClientAuthErrorMessages[deviceCodeUnknownError],\r\n },\r\n NoAccountInSilentRequest: {\r\n code: noAccountInSilentRequest,\r\n desc: ClientAuthErrorMessages[noAccountInSilentRequest],\r\n },\r\n invalidCacheRecord: {\r\n code: invalidCacheRecord,\r\n desc: ClientAuthErrorMessages[invalidCacheRecord],\r\n },\r\n invalidCacheEnvironment: {\r\n code: invalidCacheEnvironment,\r\n desc: ClientAuthErrorMessages[invalidCacheEnvironment],\r\n },\r\n noAccountFound: {\r\n code: noAccountFound,\r\n desc: ClientAuthErrorMessages[noAccountFound],\r\n },\r\n noCryptoObj: {\r\n code: noCryptoObject,\r\n desc: ClientAuthErrorMessages[noCryptoObject],\r\n },\r\n unexpectedCredentialType: {\r\n code: unexpectedCredentialType,\r\n desc: ClientAuthErrorMessages[unexpectedCredentialType],\r\n },\r\n invalidAssertion: {\r\n code: invalidAssertion,\r\n desc: ClientAuthErrorMessages[invalidAssertion],\r\n },\r\n invalidClientCredential: {\r\n code: invalidClientCredential,\r\n desc: ClientAuthErrorMessages[invalidClientCredential],\r\n },\r\n tokenRefreshRequired: {\r\n code: tokenRefreshRequired,\r\n desc: ClientAuthErrorMessages[tokenRefreshRequired],\r\n },\r\n userTimeoutReached: {\r\n code: userTimeoutReached,\r\n desc: ClientAuthErrorMessages[userTimeoutReached],\r\n },\r\n tokenClaimsRequired: {\r\n code: tokenClaimsCnfRequiredForSignedJwt,\r\n desc: ClientAuthErrorMessages[tokenClaimsCnfRequiredForSignedJwt],\r\n },\r\n noAuthorizationCodeFromServer: {\r\n code: authorizationCodeMissingFromServerResponse,\r\n desc: ClientAuthErrorMessages[authorizationCodeMissingFromServerResponse],\r\n },\r\n bindingKeyNotRemovedError: {\r\n code: bindingKeyNotRemoved,\r\n desc: ClientAuthErrorMessages[bindingKeyNotRemoved],\r\n },\r\n logoutNotSupported: {\r\n code: endSessionEndpointNotSupported,\r\n desc: ClientAuthErrorMessages[endSessionEndpointNotSupported],\r\n },\r\n keyIdMissing: {\r\n code: keyIdMissing,\r\n desc: ClientAuthErrorMessages[keyIdMissing],\r\n },\r\n noNetworkConnectivity: {\r\n code: noNetworkConnectivity,\r\n desc: ClientAuthErrorMessages[noNetworkConnectivity],\r\n },\r\n userCanceledError: {\r\n code: userCanceled,\r\n desc: ClientAuthErrorMessages[userCanceled],\r\n },\r\n missingTenantIdError: {\r\n code: missingTenantIdError,\r\n desc: ClientAuthErrorMessages[missingTenantIdError],\r\n },\r\n nestedAppAuthBridgeDisabled: {\r\n code: nestedAppAuthBridgeDisabled,\r\n desc: ClientAuthErrorMessages[nestedAppAuthBridgeDisabled],\r\n },\r\n};\r\n/**\r\n * Error thrown when there is an error in the client code running on the browser.\r\n */\r\nclass ClientAuthError extends AuthError {\r\n constructor(errorCode, additionalMessage) {\r\n super(errorCode, additionalMessage\r\n ? `${ClientAuthErrorMessages[errorCode]}: ${additionalMessage}`\r\n : ClientAuthErrorMessages[errorCode]);\r\n this.name = \"ClientAuthError\";\r\n Object.setPrototypeOf(this, ClientAuthError.prototype);\r\n }\r\n}\r\nfunction createClientAuthError(errorCode, additionalMessage) {\r\n return new ClientAuthError(errorCode, additionalMessage);\r\n}\n\nexport { ClientAuthError, ClientAuthErrorMessage, ClientAuthErrorMessages, createClientAuthError };\n//# sourceMappingURL=ClientAuthError.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst clientInfoDecodingError = \"client_info_decoding_error\";\r\nconst clientInfoEmptyError = \"client_info_empty_error\";\r\nconst tokenParsingError = \"token_parsing_error\";\r\nconst nullOrEmptyToken = \"null_or_empty_token\";\r\nconst endpointResolutionError = \"endpoints_resolution_error\";\r\nconst networkError = \"network_error\";\r\nconst openIdConfigError = \"openid_config_error\";\r\nconst hashNotDeserialized = \"hash_not_deserialized\";\r\nconst invalidState = \"invalid_state\";\r\nconst stateMismatch = \"state_mismatch\";\r\nconst stateNotFound = \"state_not_found\";\r\nconst nonceMismatch = \"nonce_mismatch\";\r\nconst authTimeNotFound = \"auth_time_not_found\";\r\nconst maxAgeTranspired = \"max_age_transpired\";\r\nconst multipleMatchingTokens = \"multiple_matching_tokens\";\r\nconst multipleMatchingAccounts = \"multiple_matching_accounts\";\r\nconst multipleMatchingAppMetadata = \"multiple_matching_appMetadata\";\r\nconst requestCannotBeMade = \"request_cannot_be_made\";\r\nconst cannotRemoveEmptyScope = \"cannot_remove_empty_scope\";\r\nconst cannotAppendScopeSet = \"cannot_append_scopeset\";\r\nconst emptyInputScopeSet = \"empty_input_scopeset\";\r\nconst deviceCodePollingCancelled = \"device_code_polling_cancelled\";\r\nconst deviceCodeExpired = \"device_code_expired\";\r\nconst deviceCodeUnknownError = \"device_code_unknown_error\";\r\nconst noAccountInSilentRequest = \"no_account_in_silent_request\";\r\nconst invalidCacheRecord = \"invalid_cache_record\";\r\nconst invalidCacheEnvironment = \"invalid_cache_environment\";\r\nconst noAccountFound = \"no_account_found\";\r\nconst noCryptoObject = \"no_crypto_object\";\r\nconst unexpectedCredentialType = \"unexpected_credential_type\";\r\nconst invalidAssertion = \"invalid_assertion\";\r\nconst invalidClientCredential = \"invalid_client_credential\";\r\nconst tokenRefreshRequired = \"token_refresh_required\";\r\nconst userTimeoutReached = \"user_timeout_reached\";\r\nconst tokenClaimsCnfRequiredForSignedJwt = \"token_claims_cnf_required_for_signedjwt\";\r\nconst authorizationCodeMissingFromServerResponse = \"authorization_code_missing_from_server_response\";\r\nconst bindingKeyNotRemoved = \"binding_key_not_removed\";\r\nconst endSessionEndpointNotSupported = \"end_session_endpoint_not_supported\";\r\nconst keyIdMissing = \"key_id_missing\";\r\nconst noNetworkConnectivity = \"no_network_connectivity\";\r\nconst userCanceled = \"user_canceled\";\r\nconst missingTenantIdError = \"missing_tenant_id_error\";\r\nconst methodNotImplemented = \"method_not_implemented\";\r\nconst nestedAppAuthBridgeDisabled = \"nested_app_auth_bridge_disabled\";\n\nexport { authTimeNotFound, authorizationCodeMissingFromServerResponse, bindingKeyNotRemoved, cannotAppendScopeSet, cannotRemoveEmptyScope, clientInfoDecodingError, clientInfoEmptyError, deviceCodeExpired, deviceCodePollingCancelled, deviceCodeUnknownError, emptyInputScopeSet, endSessionEndpointNotSupported, endpointResolutionError, hashNotDeserialized, invalidAssertion, invalidCacheEnvironment, invalidCacheRecord, invalidClientCredential, invalidState, keyIdMissing, maxAgeTranspired, methodNotImplemented, missingTenantIdError, multipleMatchingAccounts, multipleMatchingAppMetadata, multipleMatchingTokens, nestedAppAuthBridgeDisabled, networkError, noAccountFound, noAccountInSilentRequest, noCryptoObject, noNetworkConnectivity, nonceMismatch, nullOrEmptyToken, openIdConfigError, requestCannotBeMade, stateMismatch, stateNotFound, tokenClaimsCnfRequiredForSignedJwt, tokenParsingError, tokenRefreshRequired, unexpectedCredentialType, userCanceled, userTimeoutReached };\n//# sourceMappingURL=ClientAuthErrorCodes.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { AuthError } from './AuthError.mjs';\nimport { redirectUriEmpty, claimsRequestParsingError, authorityUriInsecure, urlParseError, urlEmptyError, emptyInputScopesError, invalidPromptValue, invalidClaims, tokenRequestEmpty, logoutRequestEmpty, invalidCodeChallengeMethod, pkceParamsMissing, invalidCloudDiscoveryMetadata, invalidAuthorityMetadata, untrustedAuthority, missingSshJwk, missingSshKid, missingNonceAuthenticationHeader, invalidAuthenticationHeader, cannotSetOIDCOptions, cannotAllowNativeBroker, authorityMismatch } from './ClientConfigurationErrorCodes.mjs';\nimport * as ClientConfigurationErrorCodes from './ClientConfigurationErrorCodes.mjs';\nexport { ClientConfigurationErrorCodes };\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst ClientConfigurationErrorMessages = {\r\n [redirectUriEmpty]: \"A redirect URI is required for all calls, and none has been set.\",\r\n [claimsRequestParsingError]: \"Could not parse the given claims request object.\",\r\n [authorityUriInsecure]: \"Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options\",\r\n [urlParseError]: \"URL could not be parsed into appropriate segments.\",\r\n [urlEmptyError]: \"URL was empty or null.\",\r\n [emptyInputScopesError]: \"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.\",\r\n [invalidPromptValue]: \"Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest\",\r\n [invalidClaims]: \"Given claims parameter must be a stringified JSON object.\",\r\n [tokenRequestEmpty]: \"Token request was empty and not found in cache.\",\r\n [logoutRequestEmpty]: \"The logout request was null or undefined.\",\r\n [invalidCodeChallengeMethod]: 'code_challenge_method passed is invalid. Valid values are \"plain\" and \"S256\".',\r\n [pkceParamsMissing]: \"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request\",\r\n [invalidCloudDiscoveryMetadata]: \"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields\",\r\n [invalidAuthorityMetadata]: \"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.\",\r\n [untrustedAuthority]: \"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.\",\r\n [missingSshJwk]: \"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.\",\r\n [missingSshKid]: \"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.\",\r\n [missingNonceAuthenticationHeader]: \"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.\",\r\n [invalidAuthenticationHeader]: \"Invalid authentication header provided\",\r\n [cannotSetOIDCOptions]: \"Cannot set OIDCOptions parameter. Please change the protocol mode to OIDC or use a non-Microsoft authority.\",\r\n [cannotAllowNativeBroker]: \"Cannot set allowNativeBroker parameter to true when not in AAD protocol mode.\",\r\n [authorityMismatch]: \"Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority.\",\r\n};\r\n/**\r\n * ClientConfigurationErrorMessage class containing string constants used by error codes and messages.\r\n * @deprecated Use ClientConfigurationErrorCodes instead\r\n */\r\nconst ClientConfigurationErrorMessage = {\r\n redirectUriNotSet: {\r\n code: redirectUriEmpty,\r\n desc: ClientConfigurationErrorMessages[redirectUriEmpty],\r\n },\r\n claimsRequestParsingError: {\r\n code: claimsRequestParsingError,\r\n desc: ClientConfigurationErrorMessages[claimsRequestParsingError],\r\n },\r\n authorityUriInsecure: {\r\n code: authorityUriInsecure,\r\n desc: ClientConfigurationErrorMessages[authorityUriInsecure],\r\n },\r\n urlParseError: {\r\n code: urlParseError,\r\n desc: ClientConfigurationErrorMessages[urlParseError],\r\n },\r\n urlEmptyError: {\r\n code: urlEmptyError,\r\n desc: ClientConfigurationErrorMessages[urlEmptyError],\r\n },\r\n emptyScopesError: {\r\n code: emptyInputScopesError,\r\n desc: ClientConfigurationErrorMessages[emptyInputScopesError],\r\n },\r\n invalidPrompt: {\r\n code: invalidPromptValue,\r\n desc: ClientConfigurationErrorMessages[invalidPromptValue],\r\n },\r\n invalidClaimsRequest: {\r\n code: invalidClaims,\r\n desc: ClientConfigurationErrorMessages[invalidClaims],\r\n },\r\n tokenRequestEmptyError: {\r\n code: tokenRequestEmpty,\r\n desc: ClientConfigurationErrorMessages[tokenRequestEmpty],\r\n },\r\n logoutRequestEmptyError: {\r\n code: logoutRequestEmpty,\r\n desc: ClientConfigurationErrorMessages[logoutRequestEmpty],\r\n },\r\n invalidCodeChallengeMethod: {\r\n code: invalidCodeChallengeMethod,\r\n desc: ClientConfigurationErrorMessages[invalidCodeChallengeMethod],\r\n },\r\n invalidCodeChallengeParams: {\r\n code: pkceParamsMissing,\r\n desc: ClientConfigurationErrorMessages[pkceParamsMissing],\r\n },\r\n invalidCloudDiscoveryMetadata: {\r\n code: invalidCloudDiscoveryMetadata,\r\n desc: ClientConfigurationErrorMessages[invalidCloudDiscoveryMetadata],\r\n },\r\n invalidAuthorityMetadata: {\r\n code: invalidAuthorityMetadata,\r\n desc: ClientConfigurationErrorMessages[invalidAuthorityMetadata],\r\n },\r\n untrustedAuthority: {\r\n code: untrustedAuthority,\r\n desc: ClientConfigurationErrorMessages[untrustedAuthority],\r\n },\r\n missingSshJwk: {\r\n code: missingSshJwk,\r\n desc: ClientConfigurationErrorMessages[missingSshJwk],\r\n },\r\n missingSshKid: {\r\n code: missingSshKid,\r\n desc: ClientConfigurationErrorMessages[missingSshKid],\r\n },\r\n missingNonceAuthenticationHeader: {\r\n code: missingNonceAuthenticationHeader,\r\n desc: ClientConfigurationErrorMessages[missingNonceAuthenticationHeader],\r\n },\r\n invalidAuthenticationHeader: {\r\n code: invalidAuthenticationHeader,\r\n desc: ClientConfigurationErrorMessages[invalidAuthenticationHeader],\r\n },\r\n cannotSetOIDCOptions: {\r\n code: cannotSetOIDCOptions,\r\n desc: ClientConfigurationErrorMessages[cannotSetOIDCOptions],\r\n },\r\n cannotAllowNativeBroker: {\r\n code: cannotAllowNativeBroker,\r\n desc: ClientConfigurationErrorMessages[cannotAllowNativeBroker],\r\n },\r\n authorityMismatch: {\r\n code: authorityMismatch,\r\n desc: ClientConfigurationErrorMessages[authorityMismatch],\r\n },\r\n};\r\n/**\r\n * Error thrown when there is an error in configuration of the MSAL.js library.\r\n */\r\nclass ClientConfigurationError extends AuthError {\r\n constructor(errorCode) {\r\n super(errorCode, ClientConfigurationErrorMessages[errorCode]);\r\n this.name = \"ClientConfigurationError\";\r\n Object.setPrototypeOf(this, ClientConfigurationError.prototype);\r\n }\r\n}\r\nfunction createClientConfigurationError(errorCode) {\r\n return new ClientConfigurationError(errorCode);\r\n}\n\nexport { ClientConfigurationError, ClientConfigurationErrorMessage, ClientConfigurationErrorMessages, createClientConfigurationError };\n//# sourceMappingURL=ClientConfigurationError.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst redirectUriEmpty = \"redirect_uri_empty\";\r\nconst claimsRequestParsingError = \"claims_request_parsing_error\";\r\nconst authorityUriInsecure = \"authority_uri_insecure\";\r\nconst urlParseError = \"url_parse_error\";\r\nconst urlEmptyError = \"empty_url_error\";\r\nconst emptyInputScopesError = \"empty_input_scopes_error\";\r\nconst invalidPromptValue = \"invalid_prompt_value\";\r\nconst invalidClaims = \"invalid_claims\";\r\nconst tokenRequestEmpty = \"token_request_empty\";\r\nconst logoutRequestEmpty = \"logout_request_empty\";\r\nconst invalidCodeChallengeMethod = \"invalid_code_challenge_method\";\r\nconst pkceParamsMissing = \"pkce_params_missing\";\r\nconst invalidCloudDiscoveryMetadata = \"invalid_cloud_discovery_metadata\";\r\nconst invalidAuthorityMetadata = \"invalid_authority_metadata\";\r\nconst untrustedAuthority = \"untrusted_authority\";\r\nconst missingSshJwk = \"missing_ssh_jwk\";\r\nconst missingSshKid = \"missing_ssh_kid\";\r\nconst missingNonceAuthenticationHeader = \"missing_nonce_authentication_header\";\r\nconst invalidAuthenticationHeader = \"invalid_authentication_header\";\r\nconst cannotSetOIDCOptions = \"cannot_set_OIDCOptions\";\r\nconst cannotAllowNativeBroker = \"cannot_allow_native_broker\";\r\nconst authorityMismatch = \"authority_mismatch\";\n\nexport { authorityMismatch, authorityUriInsecure, cannotAllowNativeBroker, cannotSetOIDCOptions, claimsRequestParsingError, emptyInputScopesError, invalidAuthenticationHeader, invalidAuthorityMetadata, invalidClaims, invalidCloudDiscoveryMetadata, invalidCodeChallengeMethod, invalidPromptValue, logoutRequestEmpty, missingNonceAuthenticationHeader, missingSshJwk, missingSshKid, pkceParamsMissing, redirectUriEmpty, tokenRequestEmpty, untrustedAuthority, urlEmptyError, urlParseError };\n//# sourceMappingURL=ClientConfigurationErrorCodes.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { Constants } from '../utils/Constants.mjs';\nimport { AuthError } from './AuthError.mjs';\nimport { noTokensFound, nativeAccountUnavailable, badToken, refreshTokenExpired, interactionRequired, consentRequired, loginRequired } from './InteractionRequiredAuthErrorCodes.mjs';\nimport * as InteractionRequiredAuthErrorCodes from './InteractionRequiredAuthErrorCodes.mjs';\nexport { InteractionRequiredAuthErrorCodes };\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * InteractionRequiredServerErrorMessage contains string constants used by error codes and messages returned by the server indicating interaction is required\r\n */\r\nconst InteractionRequiredServerErrorMessage = [\r\n interactionRequired,\r\n consentRequired,\r\n loginRequired,\r\n badToken,\r\n];\r\nconst InteractionRequiredAuthSubErrorMessage = [\r\n \"message_only\",\r\n \"additional_action\",\r\n \"basic_action\",\r\n \"user_password_expired\",\r\n \"consent_required\",\r\n \"bad_token\",\r\n];\r\nconst InteractionRequiredAuthErrorMessages = {\r\n [noTokensFound]: \"No refresh token found in the cache. Please sign-in.\",\r\n [nativeAccountUnavailable]: \"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.\",\r\n [refreshTokenExpired]: \"Refresh token has expired.\",\r\n [badToken]: \"Identity provider returned bad_token due to an expired or invalid refresh token. Please invoke an interactive API to resolve.\",\r\n};\r\n/**\r\n * Interaction required errors defined by the SDK\r\n * @deprecated Use InteractionRequiredAuthErrorCodes instead\r\n */\r\nconst InteractionRequiredAuthErrorMessage = {\r\n noTokensFoundError: {\r\n code: noTokensFound,\r\n desc: InteractionRequiredAuthErrorMessages[noTokensFound],\r\n },\r\n native_account_unavailable: {\r\n code: nativeAccountUnavailable,\r\n desc: InteractionRequiredAuthErrorMessages[nativeAccountUnavailable],\r\n },\r\n bad_token: {\r\n code: badToken,\r\n desc: InteractionRequiredAuthErrorMessages[badToken],\r\n },\r\n};\r\n/**\r\n * Error thrown when user interaction is required.\r\n */\r\nclass InteractionRequiredAuthError extends AuthError {\r\n constructor(errorCode, errorMessage, subError, timestamp, traceId, correlationId, claims, errorNo) {\r\n super(errorCode, errorMessage, subError);\r\n Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype);\r\n this.timestamp = timestamp || Constants.EMPTY_STRING;\r\n this.traceId = traceId || Constants.EMPTY_STRING;\r\n this.correlationId = correlationId || Constants.EMPTY_STRING;\r\n this.claims = claims || Constants.EMPTY_STRING;\r\n this.name = \"InteractionRequiredAuthError\";\r\n this.errorNo = errorNo;\r\n }\r\n}\r\n/**\r\n * Helper function used to determine if an error thrown by the server requires interaction to resolve\r\n * @param errorCode\r\n * @param errorString\r\n * @param subError\r\n */\r\nfunction isInteractionRequiredError(errorCode, errorString, subError) {\r\n const isInteractionRequiredErrorCode = !!errorCode &&\r\n InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1;\r\n const isInteractionRequiredSubError = !!subError &&\r\n InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1;\r\n const isInteractionRequiredErrorDesc = !!errorString &&\r\n InteractionRequiredServerErrorMessage.some((irErrorCode) => {\r\n return errorString.indexOf(irErrorCode) > -1;\r\n });\r\n return (isInteractionRequiredErrorCode ||\r\n isInteractionRequiredErrorDesc ||\r\n isInteractionRequiredSubError);\r\n}\r\n/**\r\n * Creates an InteractionRequiredAuthError\r\n */\r\nfunction createInteractionRequiredAuthError(errorCode) {\r\n return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);\r\n}\n\nexport { InteractionRequiredAuthError, InteractionRequiredAuthErrorMessage, InteractionRequiredAuthSubErrorMessage, InteractionRequiredServerErrorMessage, createInteractionRequiredAuthError, isInteractionRequiredError };\n//# sourceMappingURL=InteractionRequiredAuthError.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n// Codes defined by MSAL\r\nconst noTokensFound = \"no_tokens_found\";\r\nconst nativeAccountUnavailable = \"native_account_unavailable\";\r\nconst refreshTokenExpired = \"refresh_token_expired\";\r\n// Codes potentially returned by server\r\nconst interactionRequired = \"interaction_required\";\r\nconst consentRequired = \"consent_required\";\r\nconst loginRequired = \"login_required\";\r\nconst badToken = \"bad_token\";\n\nexport { badToken, consentRequired, interactionRequired, loginRequired, nativeAccountUnavailable, noTokensFound, refreshTokenExpired };\n//# sourceMappingURL=InteractionRequiredAuthErrorCodes.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { AuthError } from './AuthError.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Error thrown when there is an error with the server code, for example, unavailability.\r\n */\r\nclass ServerError extends AuthError {\r\n constructor(errorCode, errorMessage, subError, errorNo, status) {\r\n super(errorCode, errorMessage, subError);\r\n this.name = \"ServerError\";\r\n this.errorNo = errorNo;\r\n this.status = status;\r\n Object.setPrototypeOf(this, ServerError.prototype);\r\n }\r\n}\n\nexport { ServerError };\n//# sourceMappingURL=ServerError.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { Constants } from '../utils/Constants.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Log message level.\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Error\"] = 0] = \"Error\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\r\n LogLevel[LogLevel[\"Verbose\"] = 3] = \"Verbose\";\r\n LogLevel[LogLevel[\"Trace\"] = 4] = \"Trace\";\r\n})(LogLevel || (LogLevel = {}));\r\n/**\r\n * Class which facilitates logging of messages to a specific place.\r\n */\r\nclass Logger {\r\n constructor(loggerOptions, packageName, packageVersion) {\r\n // Current log level, defaults to info.\r\n this.level = LogLevel.Info;\r\n const defaultLoggerCallback = () => {\r\n return;\r\n };\r\n const setLoggerOptions = loggerOptions || Logger.createDefaultLoggerOptions();\r\n this.localCallback =\r\n setLoggerOptions.loggerCallback || defaultLoggerCallback;\r\n this.piiLoggingEnabled = setLoggerOptions.piiLoggingEnabled || false;\r\n this.level =\r\n typeof setLoggerOptions.logLevel === \"number\"\r\n ? setLoggerOptions.logLevel\r\n : LogLevel.Info;\r\n this.correlationId =\r\n setLoggerOptions.correlationId || Constants.EMPTY_STRING;\r\n this.packageName = packageName || Constants.EMPTY_STRING;\r\n this.packageVersion = packageVersion || Constants.EMPTY_STRING;\r\n }\r\n static createDefaultLoggerOptions() {\r\n return {\r\n loggerCallback: () => {\r\n // allow users to not set loggerCallback\r\n },\r\n piiLoggingEnabled: false,\r\n logLevel: LogLevel.Info,\r\n };\r\n }\r\n /**\r\n * Create new Logger with existing configurations.\r\n */\r\n clone(packageName, packageVersion, correlationId) {\r\n return new Logger({\r\n loggerCallback: this.localCallback,\r\n piiLoggingEnabled: this.piiLoggingEnabled,\r\n logLevel: this.level,\r\n correlationId: correlationId || this.correlationId,\r\n }, packageName, packageVersion);\r\n }\r\n /**\r\n * Log message with required options.\r\n */\r\n logMessage(logMessage, options) {\r\n if (options.logLevel > this.level ||\r\n (!this.piiLoggingEnabled && options.containsPii)) {\r\n return;\r\n }\r\n const timestamp = new Date().toUTCString();\r\n // Add correlationId to logs if set, correlationId provided on log messages take precedence\r\n const logHeader = `[${timestamp}] : [${options.correlationId || this.correlationId || \"\"}]`;\r\n const log = `${logHeader} : ${this.packageName}@${this.packageVersion} : ${LogLevel[options.logLevel]} - ${logMessage}`;\r\n // debug(`msal:${LogLevel[options.logLevel]}${options.containsPii ? \"-Pii\": Constants.EMPTY_STRING}${options.context ? `:${options.context}` : Constants.EMPTY_STRING}`)(logMessage);\r\n this.executeCallback(options.logLevel, log, options.containsPii || false);\r\n }\r\n /**\r\n * Execute callback with message.\r\n */\r\n executeCallback(level, message, containsPii) {\r\n if (this.localCallback) {\r\n this.localCallback(level, message, containsPii);\r\n }\r\n }\r\n /**\r\n * Logs error messages.\r\n */\r\n error(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Error,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs error messages with PII.\r\n */\r\n errorPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Error,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs warning messages.\r\n */\r\n warning(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Warning,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs warning messages with PII.\r\n */\r\n warningPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Warning,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs info messages.\r\n */\r\n info(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Info,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs info messages with PII.\r\n */\r\n infoPii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Info,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs verbose messages.\r\n */\r\n verbose(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Verbose,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs verbose messages with PII.\r\n */\r\n verbosePii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Verbose,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs trace messages.\r\n */\r\n trace(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Trace,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Logs trace messages with PII.\r\n */\r\n tracePii(message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Trace,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING,\r\n });\r\n }\r\n /**\r\n * Returns whether PII Logging is enabled or not.\r\n */\r\n isPiiLoggingEnabled() {\r\n return this.piiLoggingEnabled || false;\r\n }\r\n}\n\nexport { LogLevel, Logger };\n//# sourceMappingURL=Logger.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { createClientAuthError } from '../error/ClientAuthError.mjs';\nimport { methodNotImplemented } from '../error/ClientAuthErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst StubbedNetworkModule = {\r\n sendGetRequestAsync: () => {\r\n return Promise.reject(createClientAuthError(methodNotImplemented));\r\n },\r\n sendPostRequestAsync: () => {\r\n return Promise.reject(createClientAuthError(methodNotImplemented));\r\n },\r\n};\n\nexport { StubbedNetworkModule };\n//# sourceMappingURL=INetworkModule.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { ThrottlingUtils } from './ThrottlingUtils.mjs';\nimport { AuthError } from '../error/AuthError.mjs';\nimport { createClientAuthError } from '../error/ClientAuthError.mjs';\nimport { networkError } from '../error/ClientAuthErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/** @internal */\r\nclass NetworkManager {\r\n constructor(networkClient, cacheManager) {\r\n this.networkClient = networkClient;\r\n this.cacheManager = cacheManager;\r\n }\r\n /**\r\n * Wraps sendPostRequestAsync with necessary preflight and postflight logic\r\n * @param thumbprint\r\n * @param tokenEndpoint\r\n * @param options\r\n */\r\n async sendPostRequest(thumbprint, tokenEndpoint, options) {\r\n ThrottlingUtils.preProcess(this.cacheManager, thumbprint);\r\n let response;\r\n try {\r\n response = await this.networkClient.sendPostRequestAsync(tokenEndpoint, options);\r\n }\r\n catch (e) {\r\n if (e instanceof AuthError) {\r\n throw e;\r\n }\r\n else {\r\n throw createClientAuthError(networkError);\r\n }\r\n }\r\n ThrottlingUtils.postProcess(this.cacheManager, thumbprint, response);\r\n return response;\r\n }\r\n}\n\nexport { NetworkManager };\n//# sourceMappingURL=NetworkManager.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { ThrottlingConstants, Constants, HeaderNames } from '../utils/Constants.mjs';\nimport { ServerError } from '../error/ServerError.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/** @internal */\r\nclass ThrottlingUtils {\r\n /**\r\n * Prepares a RequestThumbprint to be stored as a key.\r\n * @param thumbprint\r\n */\r\n static generateThrottlingStorageKey(thumbprint) {\r\n return `${ThrottlingConstants.THROTTLING_PREFIX}.${JSON.stringify(thumbprint)}`;\r\n }\r\n /**\r\n * Performs necessary throttling checks before a network request.\r\n * @param cacheManager\r\n * @param thumbprint\r\n */\r\n static preProcess(cacheManager, thumbprint) {\r\n const key = ThrottlingUtils.generateThrottlingStorageKey(thumbprint);\r\n const value = cacheManager.getThrottlingCache(key);\r\n if (value) {\r\n if (value.throttleTime < Date.now()) {\r\n cacheManager.removeItem(key);\r\n return;\r\n }\r\n throw new ServerError(value.errorCodes?.join(\" \") || Constants.EMPTY_STRING, value.errorMessage, value.subError);\r\n }\r\n }\r\n /**\r\n * Performs necessary throttling checks after a network request.\r\n * @param cacheManager\r\n * @param thumbprint\r\n * @param response\r\n */\r\n static postProcess(cacheManager, thumbprint, response) {\r\n if (ThrottlingUtils.checkResponseStatus(response) ||\r\n ThrottlingUtils.checkResponseForRetryAfter(response)) {\r\n const thumbprintValue = {\r\n throttleTime: ThrottlingUtils.calculateThrottleTime(parseInt(response.headers[HeaderNames.RETRY_AFTER])),\r\n error: response.body.error,\r\n errorCodes: response.body.error_codes,\r\n errorMessage: response.body.error_description,\r\n subError: response.body.suberror,\r\n };\r\n cacheManager.setThrottlingCache(ThrottlingUtils.generateThrottlingStorageKey(thumbprint), thumbprintValue);\r\n }\r\n }\r\n /**\r\n * Checks a NetworkResponse object's status codes against 429 or 5xx\r\n * @param response\r\n */\r\n static checkResponseStatus(response) {\r\n return (response.status === 429 ||\r\n (response.status >= 500 && response.status < 600));\r\n }\r\n /**\r\n * Checks a NetworkResponse object's RetryAfter header\r\n * @param response\r\n */\r\n static checkResponseForRetryAfter(response) {\r\n if (response.headers) {\r\n return (response.headers.hasOwnProperty(HeaderNames.RETRY_AFTER) &&\r\n (response.status < 200 || response.status >= 300));\r\n }\r\n return false;\r\n }\r\n /**\r\n * Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.\r\n * @param throttleTime\r\n */\r\n static calculateThrottleTime(throttleTime) {\r\n const time = throttleTime <= 0 ? 0 : throttleTime;\r\n const currentSeconds = Date.now() / 1000;\r\n return Math.floor(Math.min(currentSeconds +\r\n (time || ThrottlingConstants.DEFAULT_THROTTLE_TIME_SECONDS), currentSeconds +\r\n ThrottlingConstants.DEFAULT_MAX_THROTTLE_TIME_SECONDS) * 1000);\r\n }\r\n static removeThrottle(cacheManager, clientId, request, homeAccountIdentifier) {\r\n const thumbprint = {\r\n clientId: clientId,\r\n authority: request.authority,\r\n scopes: request.scopes,\r\n homeAccountIdentifier: homeAccountIdentifier,\r\n claims: request.claims,\r\n authenticationScheme: request.authenticationScheme,\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n resourceRequestUri: request.resourceRequestUri,\r\n shrClaims: request.shrClaims,\r\n sshKid: request.sshKid,\r\n };\r\n const key = this.generateThrottlingStorageKey(thumbprint);\r\n cacheManager.removeItem(key);\r\n }\r\n}\n\nexport { ThrottlingUtils };\n//# sourceMappingURL=ThrottlingUtils.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/* eslint-disable header/header */\r\nconst name = \"@azure/msal-common\";\r\nconst version = \"14.14.2\";\n\nexport { name, version };\n//# sourceMappingURL=packageMetadata.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { Constants, ResponseMode, OIDC_DEFAULT_SCOPES, HeaderNames, CLIENT_INFO, ClaimsRequestKeys, PasswordGrantConstants, AuthenticationScheme, ThrottlingConstants } from '../utils/Constants.mjs';\nimport { RESPONSE_TYPE, RESPONSE_MODE, NATIVE_BROKER, SCOPE, CLIENT_ID, REDIRECT_URI, POST_LOGOUT_URI, ID_TOKEN_HINT, DOMAIN_HINT, LOGIN_HINT, SID, CLAIMS, CLIENT_REQUEST_ID, X_CLIENT_SKU, X_CLIENT_VER, X_CLIENT_OS, X_CLIENT_CPU, X_APP_NAME, X_APP_VER, PROMPT, STATE, NONCE, CODE_CHALLENGE, CODE_CHALLENGE_METHOD, CODE, DEVICE_CODE, REFRESH_TOKEN, CODE_VERIFIER, CLIENT_SECRET, CLIENT_ASSERTION, CLIENT_ASSERTION_TYPE, OBO_ASSERTION, REQUESTED_TOKEN_USE, GRANT_TYPE, TOKEN_TYPE, REQ_CNF, X_CLIENT_CURR_TELEM, X_CLIENT_LAST_TELEM, X_MS_LIB_CAPABILITY, LOGOUT_HINT } from '../constants/AADServerParamKeys.mjs';\nimport { ScopeSet } from './ScopeSet.mjs';\nimport { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';\nimport { RequestValidator } from './RequestValidator.mjs';\nimport { pkceParamsMissing, invalidClaims } from '../error/ClientConfigurationErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/** @internal */\r\nclass RequestParameterBuilder {\r\n constructor() {\r\n this.parameters = new Map();\r\n }\r\n /**\r\n * add response_type = code\r\n */\r\n addResponseTypeCode() {\r\n this.parameters.set(RESPONSE_TYPE, encodeURIComponent(Constants.CODE_RESPONSE_TYPE));\r\n }\r\n /**\r\n * add response_type = token id_token\r\n */\r\n addResponseTypeForTokenAndIdToken() {\r\n this.parameters.set(RESPONSE_TYPE, encodeURIComponent(`${Constants.TOKEN_RESPONSE_TYPE} ${Constants.ID_TOKEN_RESPONSE_TYPE}`));\r\n }\r\n /**\r\n * add response_mode. defaults to query.\r\n * @param responseMode\r\n */\r\n addResponseMode(responseMode) {\r\n this.parameters.set(RESPONSE_MODE, encodeURIComponent(responseMode ? responseMode : ResponseMode.QUERY));\r\n }\r\n /**\r\n * Add flag to indicate STS should attempt to use WAM if available\r\n */\r\n addNativeBroker() {\r\n this.parameters.set(NATIVE_BROKER, encodeURIComponent(\"1\"));\r\n }\r\n /**\r\n * add scopes. set addOidcScopes to false to prevent default scopes in non-user scenarios\r\n * @param scopeSet\r\n * @param addOidcScopes\r\n */\r\n addScopes(scopes, addOidcScopes = true, defaultScopes = OIDC_DEFAULT_SCOPES) {\r\n // Always add openid to the scopes when adding OIDC scopes\r\n if (addOidcScopes &&\r\n !defaultScopes.includes(\"openid\") &&\r\n !scopes.includes(\"openid\")) {\r\n defaultScopes.push(\"openid\");\r\n }\r\n const requestScopes = addOidcScopes\r\n ? [...(scopes || []), ...defaultScopes]\r\n : scopes || [];\r\n const scopeSet = new ScopeSet(requestScopes);\r\n this.parameters.set(SCOPE, encodeURIComponent(scopeSet.printScopes()));\r\n }\r\n /**\r\n * add clientId\r\n * @param clientId\r\n */\r\n addClientId(clientId) {\r\n this.parameters.set(CLIENT_ID, encodeURIComponent(clientId));\r\n }\r\n /**\r\n * add redirect_uri\r\n * @param redirectUri\r\n */\r\n addRedirectUri(redirectUri) {\r\n RequestValidator.validateRedirectUri(redirectUri);\r\n this.parameters.set(REDIRECT_URI, encodeURIComponent(redirectUri));\r\n }\r\n /**\r\n * add post logout redirectUri\r\n * @param redirectUri\r\n */\r\n addPostLogoutRedirectUri(redirectUri) {\r\n RequestValidator.validateRedirectUri(redirectUri);\r\n this.parameters.set(POST_LOGOUT_URI, encodeURIComponent(redirectUri));\r\n }\r\n /**\r\n * add id_token_hint to logout request\r\n * @param idTokenHint\r\n */\r\n addIdTokenHint(idTokenHint) {\r\n this.parameters.set(ID_TOKEN_HINT, encodeURIComponent(idTokenHint));\r\n }\r\n /**\r\n * add domain_hint\r\n * @param domainHint\r\n */\r\n addDomainHint(domainHint) {\r\n this.parameters.set(DOMAIN_HINT, encodeURIComponent(domainHint));\r\n }\r\n /**\r\n * add login_hint\r\n * @param loginHint\r\n */\r\n addLoginHint(loginHint) {\r\n this.parameters.set(LOGIN_HINT, encodeURIComponent(loginHint));\r\n }\r\n /**\r\n * Adds the CCS (Cache Credential Service) query parameter for login_hint\r\n * @param loginHint\r\n */\r\n addCcsUpn(loginHint) {\r\n this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(`UPN:${loginHint}`));\r\n }\r\n /**\r\n * Adds the CCS (Cache Credential Service) query parameter for account object\r\n * @param loginHint\r\n */\r\n addCcsOid(clientInfo) {\r\n this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(`Oid:${clientInfo.uid}@${clientInfo.utid}`));\r\n }\r\n /**\r\n * add sid\r\n * @param sid\r\n */\r\n addSid(sid) {\r\n this.parameters.set(SID, encodeURIComponent(sid));\r\n }\r\n /**\r\n * add claims\r\n * @param claims\r\n */\r\n addClaims(claims, clientCapabilities) {\r\n const mergedClaims = this.addClientCapabilitiesToClaims(claims, clientCapabilities);\r\n RequestValidator.validateClaims(mergedClaims);\r\n this.parameters.set(CLAIMS, encodeURIComponent(mergedClaims));\r\n }\r\n /**\r\n * add correlationId\r\n * @param correlationId\r\n */\r\n addCorrelationId(correlationId) {\r\n this.parameters.set(CLIENT_REQUEST_ID, encodeURIComponent(correlationId));\r\n }\r\n /**\r\n * add library info query params\r\n * @param libraryInfo\r\n */\r\n addLibraryInfo(libraryInfo) {\r\n // Telemetry Info\r\n this.parameters.set(X_CLIENT_SKU, libraryInfo.sku);\r\n this.parameters.set(X_CLIENT_VER, libraryInfo.version);\r\n if (libraryInfo.os) {\r\n this.parameters.set(X_CLIENT_OS, libraryInfo.os);\r\n }\r\n if (libraryInfo.cpu) {\r\n this.parameters.set(X_CLIENT_CPU, libraryInfo.cpu);\r\n }\r\n }\r\n /**\r\n * Add client telemetry parameters\r\n * @param appTelemetry\r\n */\r\n addApplicationTelemetry(appTelemetry) {\r\n if (appTelemetry?.appName) {\r\n this.parameters.set(X_APP_NAME, appTelemetry.appName);\r\n }\r\n if (appTelemetry?.appVersion) {\r\n this.parameters.set(X_APP_VER, appTelemetry.appVersion);\r\n }\r\n }\r\n /**\r\n * add prompt\r\n * @param prompt\r\n */\r\n addPrompt(prompt) {\r\n RequestValidator.validatePrompt(prompt);\r\n this.parameters.set(`${PROMPT}`, encodeURIComponent(prompt));\r\n }\r\n /**\r\n * add state\r\n * @param state\r\n */\r\n addState(state) {\r\n if (state) {\r\n this.parameters.set(STATE, encodeURIComponent(state));\r\n }\r\n }\r\n /**\r\n * add nonce\r\n * @param nonce\r\n */\r\n addNonce(nonce) {\r\n this.parameters.set(NONCE, encodeURIComponent(nonce));\r\n }\r\n /**\r\n * add code_challenge and code_challenge_method\r\n * - throw if either of them are not passed\r\n * @param codeChallenge\r\n * @param codeChallengeMethod\r\n */\r\n addCodeChallengeParams(codeChallenge, codeChallengeMethod) {\r\n RequestValidator.validateCodeChallengeParams(codeChallenge, codeChallengeMethod);\r\n if (codeChallenge && codeChallengeMethod) {\r\n this.parameters.set(CODE_CHALLENGE, encodeURIComponent(codeChallenge));\r\n this.parameters.set(CODE_CHALLENGE_METHOD, encodeURIComponent(codeChallengeMethod));\r\n }\r\n else {\r\n throw createClientConfigurationError(pkceParamsMissing);\r\n }\r\n }\r\n /**\r\n * add the `authorization_code` passed by the user to exchange for a token\r\n * @param code\r\n */\r\n addAuthorizationCode(code) {\r\n this.parameters.set(CODE, encodeURIComponent(code));\r\n }\r\n /**\r\n * add the `authorization_code` passed by the user to exchange for a token\r\n * @param code\r\n */\r\n addDeviceCode(code) {\r\n this.parameters.set(DEVICE_CODE, encodeURIComponent(code));\r\n }\r\n /**\r\n * add the `refreshToken` passed by the user\r\n * @param refreshToken\r\n */\r\n addRefreshToken(refreshToken) {\r\n this.parameters.set(REFRESH_TOKEN, encodeURIComponent(refreshToken));\r\n }\r\n /**\r\n * add the `code_verifier` passed by the user to exchange for a token\r\n * @param codeVerifier\r\n */\r\n addCodeVerifier(codeVerifier) {\r\n this.parameters.set(CODE_VERIFIER, encodeURIComponent(codeVerifier));\r\n }\r\n /**\r\n * add client_secret\r\n * @param clientSecret\r\n */\r\n addClientSecret(clientSecret) {\r\n this.parameters.set(CLIENT_SECRET, encodeURIComponent(clientSecret));\r\n }\r\n /**\r\n * add clientAssertion for confidential client flows\r\n * @param clientAssertion\r\n */\r\n addClientAssertion(clientAssertion) {\r\n if (clientAssertion) {\r\n this.parameters.set(CLIENT_ASSERTION, encodeURIComponent(clientAssertion));\r\n }\r\n }\r\n /**\r\n * add clientAssertionType for confidential client flows\r\n * @param clientAssertionType\r\n */\r\n addClientAssertionType(clientAssertionType) {\r\n if (clientAssertionType) {\r\n this.parameters.set(CLIENT_ASSERTION_TYPE, encodeURIComponent(clientAssertionType));\r\n }\r\n }\r\n /**\r\n * add OBO assertion for confidential client flows\r\n * @param clientAssertion\r\n */\r\n addOboAssertion(oboAssertion) {\r\n this.parameters.set(OBO_ASSERTION, encodeURIComponent(oboAssertion));\r\n }\r\n /**\r\n * add grant type\r\n * @param grantType\r\n */\r\n addRequestTokenUse(tokenUse) {\r\n this.parameters.set(REQUESTED_TOKEN_USE, encodeURIComponent(tokenUse));\r\n }\r\n /**\r\n * add grant type\r\n * @param grantType\r\n */\r\n addGrantType(grantType) {\r\n this.parameters.set(GRANT_TYPE, encodeURIComponent(grantType));\r\n }\r\n /**\r\n * add client info\r\n *\r\n */\r\n addClientInfo() {\r\n this.parameters.set(CLIENT_INFO, \"1\");\r\n }\r\n /**\r\n * add extraQueryParams\r\n * @param eQParams\r\n */\r\n addExtraQueryParameters(eQParams) {\r\n Object.entries(eQParams).forEach(([key, value]) => {\r\n if (!this.parameters.has(key) && value) {\r\n this.parameters.set(key, value);\r\n }\r\n });\r\n }\r\n addClientCapabilitiesToClaims(claims, clientCapabilities) {\r\n let mergedClaims;\r\n // Parse provided claims into JSON object or initialize empty object\r\n if (!claims) {\r\n mergedClaims = {};\r\n }\r\n else {\r\n try {\r\n mergedClaims = JSON.parse(claims);\r\n }\r\n catch (e) {\r\n throw createClientConfigurationError(invalidClaims);\r\n }\r\n }\r\n if (clientCapabilities && clientCapabilities.length > 0) {\r\n if (!mergedClaims.hasOwnProperty(ClaimsRequestKeys.ACCESS_TOKEN)) {\r\n // Add access_token key to claims object\r\n mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN] = {};\r\n }\r\n // Add xms_cc claim with provided clientCapabilities to access_token key\r\n mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN][ClaimsRequestKeys.XMS_CC] = {\r\n values: clientCapabilities,\r\n };\r\n }\r\n return JSON.stringify(mergedClaims);\r\n }\r\n /**\r\n * adds `username` for Password Grant flow\r\n * @param username\r\n */\r\n addUsername(username) {\r\n this.parameters.set(PasswordGrantConstants.username, encodeURIComponent(username));\r\n }\r\n /**\r\n * adds `password` for Password Grant flow\r\n * @param password\r\n */\r\n addPassword(password) {\r\n this.parameters.set(PasswordGrantConstants.password, encodeURIComponent(password));\r\n }\r\n /**\r\n * add pop_jwk to query params\r\n * @param cnfString\r\n */\r\n addPopToken(cnfString) {\r\n if (cnfString) {\r\n this.parameters.set(TOKEN_TYPE, AuthenticationScheme.POP);\r\n this.parameters.set(REQ_CNF, encodeURIComponent(cnfString));\r\n }\r\n }\r\n /**\r\n * add SSH JWK and key ID to query params\r\n */\r\n addSshJwk(sshJwkString) {\r\n if (sshJwkString) {\r\n this.parameters.set(TOKEN_TYPE, AuthenticationScheme.SSH);\r\n this.parameters.set(REQ_CNF, encodeURIComponent(sshJwkString));\r\n }\r\n }\r\n /**\r\n * add server telemetry fields\r\n * @param serverTelemetryManager\r\n */\r\n addServerTelemetry(serverTelemetryManager) {\r\n this.parameters.set(X_CLIENT_CURR_TELEM, serverTelemetryManager.generateCurrentRequestHeaderValue());\r\n this.parameters.set(X_CLIENT_LAST_TELEM, serverTelemetryManager.generateLastRequestHeaderValue());\r\n }\r\n /**\r\n * Adds parameter that indicates to the server that throttling is supported\r\n */\r\n addThrottling() {\r\n this.parameters.set(X_MS_LIB_CAPABILITY, ThrottlingConstants.X_MS_LIB_CAPABILITY_VALUE);\r\n }\r\n /**\r\n * Adds logout_hint parameter for \"silent\" logout which prevent server account picker\r\n */\r\n addLogoutHint(logoutHint) {\r\n this.parameters.set(LOGOUT_HINT, encodeURIComponent(logoutHint));\r\n }\r\n /**\r\n * Utility to create a URL from the params map\r\n */\r\n createQueryString() {\r\n const queryParameterArray = new Array();\r\n this.parameters.forEach((value, key) => {\r\n queryParameterArray.push(`${key}=${value}`);\r\n });\r\n return queryParameterArray.join(\"&\");\r\n }\r\n}\n\nexport { RequestParameterBuilder };\n//# sourceMappingURL=RequestParameterBuilder.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';\nimport { CodeChallengeMethodValues, PromptValue } from '../utils/Constants.mjs';\nimport { redirectUriEmpty, invalidPromptValue, invalidClaims, pkceParamsMissing, invalidCodeChallengeMethod } from '../error/ClientConfigurationErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Validates server consumable params from the \"request\" objects\r\n */\r\nclass RequestValidator {\r\n /**\r\n * Utility to check if the `redirectUri` in the request is a non-null value\r\n * @param redirectUri\r\n */\r\n static validateRedirectUri(redirectUri) {\r\n if (!redirectUri) {\r\n throw createClientConfigurationError(redirectUriEmpty);\r\n }\r\n }\r\n /**\r\n * Utility to validate prompt sent by the user in the request\r\n * @param prompt\r\n */\r\n static validatePrompt(prompt) {\r\n const promptValues = [];\r\n for (const value in PromptValue) {\r\n promptValues.push(PromptValue[value]);\r\n }\r\n if (promptValues.indexOf(prompt) < 0) {\r\n throw createClientConfigurationError(invalidPromptValue);\r\n }\r\n }\r\n static validateClaims(claims) {\r\n try {\r\n JSON.parse(claims);\r\n }\r\n catch (e) {\r\n throw createClientConfigurationError(invalidClaims);\r\n }\r\n }\r\n /**\r\n * Utility to validate code_challenge and code_challenge_method\r\n * @param codeChallenge\r\n * @param codeChallengeMethod\r\n */\r\n static validateCodeChallengeParams(codeChallenge, codeChallengeMethod) {\r\n if (!codeChallenge || !codeChallengeMethod) {\r\n throw createClientConfigurationError(pkceParamsMissing);\r\n }\r\n else {\r\n this.validateCodeChallengeMethod(codeChallengeMethod);\r\n }\r\n }\r\n /**\r\n * Utility to validate code_challenge_method\r\n * @param codeChallengeMethod\r\n */\r\n static validateCodeChallengeMethod(codeChallengeMethod) {\r\n if ([\r\n CodeChallengeMethodValues.PLAIN,\r\n CodeChallengeMethodValues.S256,\r\n ].indexOf(codeChallengeMethod) < 0) {\r\n throw createClientConfigurationError(invalidCodeChallengeMethod);\r\n }\r\n }\r\n}\n\nexport { RequestValidator };\n//# sourceMappingURL=RequestValidator.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';\nimport { StringUtils } from '../utils/StringUtils.mjs';\nimport { createClientAuthError } from '../error/ClientAuthError.mjs';\nimport { Constants, OIDC_SCOPES } from '../utils/Constants.mjs';\nimport { emptyInputScopesError } from '../error/ClientConfigurationErrorCodes.mjs';\nimport { cannotAppendScopeSet, cannotRemoveEmptyScope, emptyInputScopeSet } from '../error/ClientAuthErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * The ScopeSet class creates a set of scopes. Scopes are case-insensitive, unique values, so the Set object in JS makes\r\n * the most sense to implement for this class. All scopes are trimmed and converted to lower case strings in intersection and union functions\r\n * to ensure uniqueness of strings.\r\n */\r\nclass ScopeSet {\r\n constructor(inputScopes) {\r\n // Filter empty string and null/undefined array items\r\n const scopeArr = inputScopes\r\n ? StringUtils.trimArrayEntries([...inputScopes])\r\n : [];\r\n const filteredInput = scopeArr\r\n ? StringUtils.removeEmptyStringsFromArray(scopeArr)\r\n : [];\r\n // Validate and filter scopes (validate function throws if validation fails)\r\n this.validateInputScopes(filteredInput);\r\n this.scopes = new Set(); // Iterator in constructor not supported by IE11\r\n filteredInput.forEach((scope) => this.scopes.add(scope));\r\n }\r\n /**\r\n * Factory method to create ScopeSet from space-delimited string\r\n * @param inputScopeString\r\n * @param appClientId\r\n * @param scopesRequired\r\n */\r\n static fromString(inputScopeString) {\r\n const scopeString = inputScopeString || Constants.EMPTY_STRING;\r\n const inputScopes = scopeString.split(\" \");\r\n return new ScopeSet(inputScopes);\r\n }\r\n /**\r\n * Creates the set of scopes to search for in cache lookups\r\n * @param inputScopeString\r\n * @returns\r\n */\r\n static createSearchScopes(inputScopeString) {\r\n const scopeSet = new ScopeSet(inputScopeString);\r\n if (!scopeSet.containsOnlyOIDCScopes()) {\r\n scopeSet.removeOIDCScopes();\r\n }\r\n else {\r\n scopeSet.removeScope(Constants.OFFLINE_ACCESS_SCOPE);\r\n }\r\n return scopeSet;\r\n }\r\n /**\r\n * Used to validate the scopes input parameter requested by the developer.\r\n * @param {Array} inputScopes - Developer requested permissions. Not all scopes are guaranteed to be included in the access token returned.\r\n * @param {boolean} scopesRequired - Boolean indicating whether the scopes array is required or not\r\n */\r\n validateInputScopes(inputScopes) {\r\n // Check if scopes are required but not given or is an empty array\r\n if (!inputScopes || inputScopes.length < 1) {\r\n throw createClientConfigurationError(emptyInputScopesError);\r\n }\r\n }\r\n /**\r\n * Check if a given scope is present in this set of scopes.\r\n * @param scope\r\n */\r\n containsScope(scope) {\r\n const lowerCaseScopes = this.printScopesLowerCase().split(\" \");\r\n const lowerCaseScopesSet = new ScopeSet(lowerCaseScopes);\r\n // compare lowercase scopes\r\n return scope\r\n ? lowerCaseScopesSet.scopes.has(scope.toLowerCase())\r\n : false;\r\n }\r\n /**\r\n * Check if a set of scopes is present in this set of scopes.\r\n * @param scopeSet\r\n */\r\n containsScopeSet(scopeSet) {\r\n if (!scopeSet || scopeSet.scopes.size <= 0) {\r\n return false;\r\n }\r\n return (this.scopes.size >= scopeSet.scopes.size &&\r\n scopeSet.asArray().every((scope) => this.containsScope(scope)));\r\n }\r\n /**\r\n * Check if set of scopes contains only the defaults\r\n */\r\n containsOnlyOIDCScopes() {\r\n let defaultScopeCount = 0;\r\n OIDC_SCOPES.forEach((defaultScope) => {\r\n if (this.containsScope(defaultScope)) {\r\n defaultScopeCount += 1;\r\n }\r\n });\r\n return this.scopes.size === defaultScopeCount;\r\n }\r\n /**\r\n * Appends single scope if passed\r\n * @param newScope\r\n */\r\n appendScope(newScope) {\r\n if (newScope) {\r\n this.scopes.add(newScope.trim());\r\n }\r\n }\r\n /**\r\n * Appends multiple scopes if passed\r\n * @param newScopes\r\n */\r\n appendScopes(newScopes) {\r\n try {\r\n newScopes.forEach((newScope) => this.appendScope(newScope));\r\n }\r\n catch (e) {\r\n throw createClientAuthError(cannotAppendScopeSet);\r\n }\r\n }\r\n /**\r\n * Removes element from set of scopes.\r\n * @param scope\r\n */\r\n removeScope(scope) {\r\n if (!scope) {\r\n throw createClientAuthError(cannotRemoveEmptyScope);\r\n }\r\n this.scopes.delete(scope.trim());\r\n }\r\n /**\r\n * Removes default scopes from set of scopes\r\n * Primarily used to prevent cache misses if the default scopes are not returned from the server\r\n */\r\n removeOIDCScopes() {\r\n OIDC_SCOPES.forEach((defaultScope) => {\r\n this.scopes.delete(defaultScope);\r\n });\r\n }\r\n /**\r\n * Combines an array of scopes with the current set of scopes.\r\n * @param otherScopes\r\n */\r\n unionScopeSets(otherScopes) {\r\n if (!otherScopes) {\r\n throw createClientAuthError(emptyInputScopeSet);\r\n }\r\n const unionScopes = new Set(); // Iterator in constructor not supported in IE11\r\n otherScopes.scopes.forEach((scope) => unionScopes.add(scope.toLowerCase()));\r\n this.scopes.forEach((scope) => unionScopes.add(scope.toLowerCase()));\r\n return unionScopes;\r\n }\r\n /**\r\n * Check if scopes intersect between this set and another.\r\n * @param otherScopes\r\n */\r\n intersectingScopeSets(otherScopes) {\r\n if (!otherScopes) {\r\n throw createClientAuthError(emptyInputScopeSet);\r\n }\r\n // Do not allow OIDC scopes to be the only intersecting scopes\r\n if (!otherScopes.containsOnlyOIDCScopes()) {\r\n otherScopes.removeOIDCScopes();\r\n }\r\n const unionScopes = this.unionScopeSets(otherScopes);\r\n const sizeOtherScopes = otherScopes.getScopeCount();\r\n const sizeThisScopes = this.getScopeCount();\r\n const sizeUnionScopes = unionScopes.size;\r\n return sizeUnionScopes < sizeThisScopes + sizeOtherScopes;\r\n }\r\n /**\r\n * Returns size of set of scopes.\r\n */\r\n getScopeCount() {\r\n return this.scopes.size;\r\n }\r\n /**\r\n * Returns the scopes as an array of string values\r\n */\r\n asArray() {\r\n const array = [];\r\n this.scopes.forEach((val) => array.push(val));\r\n return array;\r\n }\r\n /**\r\n * Prints scopes into a space-delimited string\r\n */\r\n printScopes() {\r\n if (this.scopes) {\r\n const scopeArr = this.asArray();\r\n return scopeArr.join(\" \");\r\n }\r\n return Constants.EMPTY_STRING;\r\n }\r\n /**\r\n * Prints scopes into a space-delimited lower-case string (used for caching)\r\n */\r\n printScopesLowerCase() {\r\n return this.printScopes().toLowerCase();\r\n }\r\n}\n\nexport { ScopeSet };\n//# sourceMappingURL=ScopeSet.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { createClientAuthError } from '../error/ClientAuthError.mjs';\nimport { ServerError } from '../error/ServerError.mjs';\nimport { ScopeSet } from '../request/ScopeSet.mjs';\nimport { AccountEntity } from '../cache/entities/AccountEntity.mjs';\nimport { isInteractionRequiredError, InteractionRequiredAuthError } from '../error/InteractionRequiredAuthError.mjs';\nimport { ProtocolUtils } from '../utils/ProtocolUtils.mjs';\nimport { HttpStatus, Constants, AuthenticationScheme, THE_FAMILY_ID } from '../utils/Constants.mjs';\nimport { PopTokenGenerator } from '../crypto/PopTokenGenerator.mjs';\nimport { TokenCacheContext } from '../cache/persistence/TokenCacheContext.mjs';\nimport { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';\nimport { extractTokenClaims, checkMaxAge } from '../account/AuthToken.mjs';\nimport { getTenantIdFromIdTokenClaims } from '../account/TokenClaims.mjs';\nimport { updateAccountTenantProfileData, buildTenantProfile } from '../account/AccountInfo.mjs';\nimport { createAccessTokenEntity, createRefreshTokenEntity, createIdTokenEntity } from '../cache/utils/CacheHelpers.mjs';\nimport { stateNotFound, invalidState, stateMismatch, nonceMismatch, authTimeNotFound, invalidCacheEnvironment, keyIdMissing } from '../error/ClientAuthErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nfunction parseServerErrorNo(serverResponse) {\r\n const errorCodePrefix = \"code=\";\r\n const errorCodePrefixIndex = serverResponse.error_uri?.lastIndexOf(errorCodePrefix);\r\n return errorCodePrefixIndex && errorCodePrefixIndex >= 0\r\n ? serverResponse.error_uri?.substring(errorCodePrefixIndex + errorCodePrefix.length)\r\n : undefined;\r\n}\r\n/**\r\n * Class that handles response parsing.\r\n * @internal\r\n */\r\nclass ResponseHandler {\r\n constructor(clientId, cacheStorage, cryptoObj, logger, serializableCache, persistencePlugin, performanceClient) {\r\n this.clientId = clientId;\r\n this.cacheStorage = cacheStorage;\r\n this.cryptoObj = cryptoObj;\r\n this.logger = logger;\r\n this.serializableCache = serializableCache;\r\n this.persistencePlugin = persistencePlugin;\r\n this.performanceClient = performanceClient;\r\n }\r\n /**\r\n * Function which validates server authorization code response.\r\n * @param serverResponseHash\r\n * @param requestState\r\n * @param cryptoObj\r\n */\r\n validateServerAuthorizationCodeResponse(serverResponse, requestState) {\r\n if (!serverResponse.state || !requestState) {\r\n throw serverResponse.state\r\n ? createClientAuthError(stateNotFound, \"Cached State\")\r\n : createClientAuthError(stateNotFound, \"Server State\");\r\n }\r\n let decodedServerResponseState;\r\n let decodedRequestState;\r\n try {\r\n decodedServerResponseState = decodeURIComponent(serverResponse.state);\r\n }\r\n catch (e) {\r\n throw createClientAuthError(invalidState, serverResponse.state);\r\n }\r\n try {\r\n decodedRequestState = decodeURIComponent(requestState);\r\n }\r\n catch (e) {\r\n throw createClientAuthError(invalidState, serverResponse.state);\r\n }\r\n if (decodedServerResponseState !== decodedRequestState) {\r\n throw createClientAuthError(stateMismatch);\r\n }\r\n // Check for error\r\n if (serverResponse.error ||\r\n serverResponse.error_description ||\r\n serverResponse.suberror) {\r\n const serverErrorNo = parseServerErrorNo(serverResponse);\r\n if (isInteractionRequiredError(serverResponse.error, serverResponse.error_description, serverResponse.suberror)) {\r\n throw new InteractionRequiredAuthError(serverResponse.error || \"\", serverResponse.error_description, serverResponse.suberror, serverResponse.timestamp || \"\", serverResponse.trace_id || \"\", serverResponse.correlation_id || \"\", serverResponse.claims || \"\", serverErrorNo);\r\n }\r\n throw new ServerError(serverResponse.error || \"\", serverResponse.error_description, serverResponse.suberror, serverErrorNo);\r\n }\r\n }\r\n /**\r\n * Function which validates server authorization token response.\r\n * @param serverResponse\r\n * @param refreshAccessToken\r\n */\r\n validateTokenResponse(serverResponse, refreshAccessToken) {\r\n // Check for error\r\n if (serverResponse.error ||\r\n serverResponse.error_description ||\r\n serverResponse.suberror) {\r\n const errString = `Error(s): ${serverResponse.error_codes || Constants.NOT_AVAILABLE} - Timestamp: ${serverResponse.timestamp || Constants.NOT_AVAILABLE} - Description: ${serverResponse.error_description || Constants.NOT_AVAILABLE} - Correlation ID: ${serverResponse.correlation_id || Constants.NOT_AVAILABLE} - Trace ID: ${serverResponse.trace_id || Constants.NOT_AVAILABLE}`;\r\n const serverErrorNo = serverResponse.error_codes?.length\r\n ? serverResponse.error_codes[0]\r\n : undefined;\r\n const serverError = new ServerError(serverResponse.error, errString, serverResponse.suberror, serverErrorNo, serverResponse.status);\r\n // check if 500 error\r\n if (refreshAccessToken &&\r\n serverResponse.status &&\r\n serverResponse.status >= HttpStatus.SERVER_ERROR_RANGE_START &&\r\n serverResponse.status <= HttpStatus.SERVER_ERROR_RANGE_END) {\r\n this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently unavailable and the access token is unable to be refreshed.\\n${serverError}`);\r\n // don't throw an exception, but alert the user via a log that the token was unable to be refreshed\r\n return;\r\n // check if 400 error\r\n }\r\n else if (refreshAccessToken &&\r\n serverResponse.status &&\r\n serverResponse.status >= HttpStatus.CLIENT_ERROR_RANGE_START &&\r\n serverResponse.status <= HttpStatus.CLIENT_ERROR_RANGE_END) {\r\n this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently available but is unable to refresh the access token.\\n${serverError}`);\r\n // don't throw an exception, but alert the user via a log that the token was unable to be refreshed\r\n return;\r\n }\r\n if (isInteractionRequiredError(serverResponse.error, serverResponse.error_description, serverResponse.suberror)) {\r\n throw new InteractionRequiredAuthError(serverResponse.error, serverResponse.error_description, serverResponse.suberror, serverResponse.timestamp || Constants.EMPTY_STRING, serverResponse.trace_id || Constants.EMPTY_STRING, serverResponse.correlation_id || Constants.EMPTY_STRING, serverResponse.claims || Constants.EMPTY_STRING, serverErrorNo);\r\n }\r\n throw serverError;\r\n }\r\n }\r\n /**\r\n * Returns a constructed token response based on given string. Also manages the cache updates and cleanups.\r\n * @param serverTokenResponse\r\n * @param authority\r\n */\r\n async handleServerTokenResponse(serverTokenResponse, authority, reqTimestamp, request, authCodePayload, userAssertionHash, handlingRefreshTokenResponse, forceCacheRefreshTokenResponse, serverRequestId) {\r\n this.performanceClient?.addQueueMeasurement(PerformanceEvents.HandleServerTokenResponse, serverTokenResponse.correlation_id);\r\n // create an idToken object (not entity)\r\n let idTokenClaims;\r\n if (serverTokenResponse.id_token) {\r\n idTokenClaims = extractTokenClaims(serverTokenResponse.id_token || Constants.EMPTY_STRING, this.cryptoObj.base64Decode);\r\n // token nonce check (TODO: Add a warning if no nonce is given?)\r\n if (authCodePayload && authCodePayload.nonce) {\r\n if (idTokenClaims.nonce !== authCodePayload.nonce) {\r\n throw createClientAuthError(nonceMismatch);\r\n }\r\n }\r\n // token max_age check\r\n if (request.maxAge || request.maxAge === 0) {\r\n const authTime = idTokenClaims.auth_time;\r\n if (!authTime) {\r\n throw createClientAuthError(authTimeNotFound);\r\n }\r\n checkMaxAge(authTime, request.maxAge);\r\n }\r\n }\r\n // generate homeAccountId\r\n this.homeAccountIdentifier = AccountEntity.generateHomeAccountId(serverTokenResponse.client_info || Constants.EMPTY_STRING, authority.authorityType, this.logger, this.cryptoObj, idTokenClaims);\r\n // save the response tokens\r\n let requestStateObj;\r\n if (!!authCodePayload && !!authCodePayload.state) {\r\n requestStateObj = ProtocolUtils.parseRequestState(this.cryptoObj, authCodePayload.state);\r\n }\r\n // Add keyId from request to serverTokenResponse if defined\r\n serverTokenResponse.key_id =\r\n serverTokenResponse.key_id || request.sshKid || undefined;\r\n const cacheRecord = this.generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenClaims, userAssertionHash, authCodePayload);\r\n let cacheContext;\r\n try {\r\n if (this.persistencePlugin && this.serializableCache) {\r\n this.logger.verbose(\"Persistence enabled, calling beforeCacheAccess\");\r\n cacheContext = new TokenCacheContext(this.serializableCache, true);\r\n await this.persistencePlugin.beforeCacheAccess(cacheContext);\r\n }\r\n /*\r\n * When saving a refreshed tokens to the cache, it is expected that the account that was used is present in the cache.\r\n * If not present, we should return null, as it's the case that another application called removeAccount in between\r\n * the calls to getAllAccounts and acquireTokenSilent. We should not overwrite that removal, unless explicitly flagged by\r\n * the developer, as in the case of refresh token flow used in ADAL Node to MSAL Node migration.\r\n */\r\n if (handlingRefreshTokenResponse &&\r\n !forceCacheRefreshTokenResponse &&\r\n cacheRecord.account) {\r\n const key = cacheRecord.account.generateAccountKey();\r\n const account = this.cacheStorage.getAccount(key, this.logger);\r\n if (!account) {\r\n this.logger.warning(\"Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache\");\r\n return await ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenClaims, requestStateObj, undefined, serverRequestId);\r\n }\r\n }\r\n await this.cacheStorage.saveCacheRecord(cacheRecord, request.storeInCache, request.correlationId);\r\n }\r\n finally {\r\n if (this.persistencePlugin &&\r\n this.serializableCache &&\r\n cacheContext) {\r\n this.logger.verbose(\"Persistence enabled, calling afterCacheAccess\");\r\n await this.persistencePlugin.afterCacheAccess(cacheContext);\r\n }\r\n }\r\n return ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenClaims, requestStateObj, serverTokenResponse, serverRequestId);\r\n }\r\n /**\r\n * Generates CacheRecord\r\n * @param serverTokenResponse\r\n * @param idTokenObj\r\n * @param authority\r\n */\r\n generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenClaims, userAssertionHash, authCodePayload) {\r\n const env = authority.getPreferredCache();\r\n if (!env) {\r\n throw createClientAuthError(invalidCacheEnvironment);\r\n }\r\n const claimsTenantId = getTenantIdFromIdTokenClaims(idTokenClaims);\r\n // IdToken: non AAD scenarios can have empty realm\r\n let cachedIdToken;\r\n let cachedAccount;\r\n if (serverTokenResponse.id_token && !!idTokenClaims) {\r\n cachedIdToken = createIdTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.id_token, this.clientId, claimsTenantId || \"\");\r\n cachedAccount = buildAccountToCache(this.cacheStorage, authority, this.homeAccountIdentifier, this.cryptoObj.base64Decode, idTokenClaims, serverTokenResponse.client_info, env, claimsTenantId, authCodePayload, undefined, // nativeAccountId\r\n this.logger);\r\n }\r\n // AccessToken\r\n let cachedAccessToken = null;\r\n if (serverTokenResponse.access_token) {\r\n // If scopes not returned in server response, use request scopes\r\n const responseScopes = serverTokenResponse.scope\r\n ? ScopeSet.fromString(serverTokenResponse.scope)\r\n : new ScopeSet(request.scopes || []);\r\n /*\r\n * Use timestamp calculated before request\r\n * Server may return timestamps as strings, parse to numbers if so.\r\n */\r\n const expiresIn = (typeof serverTokenResponse.expires_in === \"string\"\r\n ? parseInt(serverTokenResponse.expires_in, 10)\r\n : serverTokenResponse.expires_in) || 0;\r\n const extExpiresIn = (typeof serverTokenResponse.ext_expires_in === \"string\"\r\n ? parseInt(serverTokenResponse.ext_expires_in, 10)\r\n : serverTokenResponse.ext_expires_in) || 0;\r\n const refreshIn = (typeof serverTokenResponse.refresh_in === \"string\"\r\n ? parseInt(serverTokenResponse.refresh_in, 10)\r\n : serverTokenResponse.refresh_in) || undefined;\r\n const tokenExpirationSeconds = reqTimestamp + expiresIn;\r\n const extendedTokenExpirationSeconds = tokenExpirationSeconds + extExpiresIn;\r\n const refreshOnSeconds = refreshIn && refreshIn > 0\r\n ? reqTimestamp + refreshIn\r\n : undefined;\r\n // non AAD scenarios can have empty realm\r\n cachedAccessToken = createAccessTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.access_token, this.clientId, claimsTenantId || authority.tenant || \"\", responseScopes.printScopes(), tokenExpirationSeconds, extendedTokenExpirationSeconds, this.cryptoObj.base64Decode, refreshOnSeconds, serverTokenResponse.token_type, userAssertionHash, serverTokenResponse.key_id, request.claims, request.requestedClaimsHash);\r\n }\r\n // refreshToken\r\n let cachedRefreshToken = null;\r\n if (serverTokenResponse.refresh_token) {\r\n let rtExpiresOn;\r\n if (serverTokenResponse.refresh_token_expires_in) {\r\n const rtExpiresIn = typeof serverTokenResponse.refresh_token_expires_in ===\r\n \"string\"\r\n ? parseInt(serverTokenResponse.refresh_token_expires_in, 10)\r\n : serverTokenResponse.refresh_token_expires_in;\r\n rtExpiresOn = reqTimestamp + rtExpiresIn;\r\n }\r\n cachedRefreshToken = createRefreshTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.refresh_token, this.clientId, serverTokenResponse.foci, userAssertionHash, rtExpiresOn);\r\n }\r\n // appMetadata\r\n let cachedAppMetadata = null;\r\n if (serverTokenResponse.foci) {\r\n cachedAppMetadata = {\r\n clientId: this.clientId,\r\n environment: env,\r\n familyId: serverTokenResponse.foci,\r\n };\r\n }\r\n return {\r\n account: cachedAccount,\r\n idToken: cachedIdToken,\r\n accessToken: cachedAccessToken,\r\n refreshToken: cachedRefreshToken,\r\n appMetadata: cachedAppMetadata,\r\n };\r\n }\r\n /**\r\n * Creates an @AuthenticationResult from @CacheRecord , @IdToken , and a boolean that states whether or not the result is from cache.\r\n *\r\n * Optionally takes a state string that is set as-is in the response.\r\n *\r\n * @param cacheRecord\r\n * @param idTokenObj\r\n * @param fromTokenCache\r\n * @param stateString\r\n */\r\n static async generateAuthenticationResult(cryptoObj, authority, cacheRecord, fromTokenCache, request, idTokenClaims, requestState, serverTokenResponse, requestId) {\r\n let accessToken = Constants.EMPTY_STRING;\r\n let responseScopes = [];\r\n let expiresOn = null;\r\n let extExpiresOn;\r\n let refreshOn;\r\n let familyId = Constants.EMPTY_STRING;\r\n if (cacheRecord.accessToken) {\r\n /*\r\n * if the request object has `popKid` property, `signPopToken` will be set to false and\r\n * the token will be returned unsigned\r\n */\r\n if (cacheRecord.accessToken.tokenType ===\r\n AuthenticationScheme.POP &&\r\n !request.popKid) {\r\n const popTokenGenerator = new PopTokenGenerator(cryptoObj);\r\n const { secret, keyId } = cacheRecord.accessToken;\r\n if (!keyId) {\r\n throw createClientAuthError(keyIdMissing);\r\n }\r\n accessToken = await popTokenGenerator.signPopToken(secret, keyId, request);\r\n }\r\n else {\r\n accessToken = cacheRecord.accessToken.secret;\r\n }\r\n responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();\r\n expiresOn = new Date(Number(cacheRecord.accessToken.expiresOn) * 1000);\r\n extExpiresOn = new Date(Number(cacheRecord.accessToken.extendedExpiresOn) * 1000);\r\n if (cacheRecord.accessToken.refreshOn) {\r\n refreshOn = new Date(Number(cacheRecord.accessToken.refreshOn) * 1000);\r\n }\r\n }\r\n if (cacheRecord.appMetadata) {\r\n familyId =\r\n cacheRecord.appMetadata.familyId === THE_FAMILY_ID\r\n ? THE_FAMILY_ID\r\n : \"\";\r\n }\r\n const uid = idTokenClaims?.oid || idTokenClaims?.sub || \"\";\r\n const tid = idTokenClaims?.tid || \"\";\r\n // for hybrid + native bridge enablement, send back the native account Id\r\n if (serverTokenResponse?.spa_accountid && !!cacheRecord.account) {\r\n cacheRecord.account.nativeAccountId =\r\n serverTokenResponse?.spa_accountid;\r\n }\r\n const accountInfo = cacheRecord.account\r\n ? updateAccountTenantProfileData(cacheRecord.account.getAccountInfo(), undefined, // tenantProfile optional\r\n idTokenClaims, cacheRecord.idToken?.secret)\r\n : null;\r\n return {\r\n authority: authority.canonicalAuthority,\r\n uniqueId: uid,\r\n tenantId: tid,\r\n scopes: responseScopes,\r\n account: accountInfo,\r\n idToken: cacheRecord?.idToken?.secret || \"\",\r\n idTokenClaims: idTokenClaims || {},\r\n accessToken: accessToken,\r\n fromCache: fromTokenCache,\r\n expiresOn: expiresOn,\r\n extExpiresOn: extExpiresOn,\r\n refreshOn: refreshOn,\r\n correlationId: request.correlationId,\r\n requestId: requestId || Constants.EMPTY_STRING,\r\n familyId: familyId,\r\n tokenType: cacheRecord.accessToken?.tokenType || Constants.EMPTY_STRING,\r\n state: requestState\r\n ? requestState.userRequestState\r\n : Constants.EMPTY_STRING,\r\n cloudGraphHostName: cacheRecord.account?.cloudGraphHostName ||\r\n Constants.EMPTY_STRING,\r\n msGraphHost: cacheRecord.account?.msGraphHost || Constants.EMPTY_STRING,\r\n code: serverTokenResponse?.spa_code,\r\n fromNativeBroker: false,\r\n };\r\n }\r\n}\r\nfunction buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decode, idTokenClaims, clientInfo, environment, claimsTenantId, authCodePayload, nativeAccountId, logger) {\r\n logger?.verbose(\"setCachedAccount called\");\r\n // Check if base account is already cached\r\n const accountKeys = cacheStorage.getAccountKeys();\r\n const baseAccountKey = accountKeys.find((accountKey) => {\r\n return accountKey.startsWith(homeAccountId);\r\n });\r\n let cachedAccount = null;\r\n if (baseAccountKey) {\r\n cachedAccount = cacheStorage.getAccount(baseAccountKey, logger);\r\n }\r\n const baseAccount = cachedAccount ||\r\n AccountEntity.createAccount({\r\n homeAccountId,\r\n idTokenClaims,\r\n clientInfo,\r\n environment,\r\n cloudGraphHostName: authCodePayload?.cloud_graph_host_name,\r\n msGraphHost: authCodePayload?.msgraph_host,\r\n nativeAccountId: nativeAccountId,\r\n }, authority, base64Decode);\r\n const tenantProfiles = baseAccount.tenantProfiles || [];\r\n const tenantId = claimsTenantId || baseAccount.realm;\r\n if (tenantId &&\r\n !tenantProfiles.find((tenantProfile) => {\r\n return tenantProfile.tenantId === tenantId;\r\n })) {\r\n const newTenantProfile = buildTenantProfile(homeAccountId, baseAccount.localAccountId, tenantId, idTokenClaims);\r\n tenantProfiles.push(newTenantProfile);\r\n }\r\n baseAccount.tenantProfiles = tenantProfiles;\r\n return baseAccount;\r\n}\n\nexport { ResponseHandler, buildAccountToCache };\n//# sourceMappingURL=ResponseHandler.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Enumeration of operations that are instrumented by have their performance measured by the PerformanceClient.\r\n *\r\n * @export\r\n * @enum {number}\r\n */\r\nconst PerformanceEvents = {\r\n /**\r\n * acquireTokenByCode API (msal-browser and msal-node).\r\n * Used to acquire tokens by trading an authorization code against the token endpoint.\r\n */\r\n AcquireTokenByCode: \"acquireTokenByCode\",\r\n /**\r\n * acquireTokenByRefreshToken API (msal-browser and msal-node).\r\n * Used to renew an access token using a refresh token against the token endpoint.\r\n */\r\n AcquireTokenByRefreshToken: \"acquireTokenByRefreshToken\",\r\n /**\r\n * acquireTokenSilent API (msal-browser and msal-node).\r\n * Used to silently acquire a new access token (from the cache or the network).\r\n */\r\n AcquireTokenSilent: \"acquireTokenSilent\",\r\n /**\r\n * acquireTokenSilentAsync (msal-browser).\r\n * Internal API for acquireTokenSilent.\r\n */\r\n AcquireTokenSilentAsync: \"acquireTokenSilentAsync\",\r\n /**\r\n * acquireTokenPopup (msal-browser).\r\n * Used to acquire a new access token interactively through pop ups\r\n */\r\n AcquireTokenPopup: \"acquireTokenPopup\",\r\n /**\r\n * acquireTokenPreRedirect (msal-browser).\r\n * First part of the redirect flow.\r\n * Used to acquire a new access token interactively through redirects.\r\n */\r\n AcquireTokenPreRedirect: \"acquireTokenPreRedirect\",\r\n /**\r\n * acquireTokenRedirect (msal-browser).\r\n * Second part of the redirect flow.\r\n * Used to acquire a new access token interactively through redirects.\r\n */\r\n AcquireTokenRedirect: \"acquireTokenRedirect\",\r\n /**\r\n * getPublicKeyThumbprint API in CryptoOpts class (msal-browser).\r\n * Used to generate a public/private keypair and generate a public key thumbprint for pop requests.\r\n */\r\n CryptoOptsGetPublicKeyThumbprint: \"cryptoOptsGetPublicKeyThumbprint\",\r\n /**\r\n * signJwt API in CryptoOpts class (msal-browser).\r\n * Used to signed a pop token.\r\n */\r\n CryptoOptsSignJwt: \"cryptoOptsSignJwt\",\r\n /**\r\n * acquireToken API in the SilentCacheClient class (msal-browser).\r\n * Used to read access tokens from the cache.\r\n */\r\n SilentCacheClientAcquireToken: \"silentCacheClientAcquireToken\",\r\n /**\r\n * acquireToken API in the SilentIframeClient class (msal-browser).\r\n * Used to acquire a new set of tokens from the authorize endpoint in a hidden iframe.\r\n */\r\n SilentIframeClientAcquireToken: \"silentIframeClientAcquireToken\",\r\n AwaitConcurrentIframe: \"awaitConcurrentIframe\",\r\n /**\r\n * acquireToken API in SilentRereshClient (msal-browser).\r\n * Used to acquire a new set of tokens from the token endpoint using a refresh token.\r\n */\r\n SilentRefreshClientAcquireToken: \"silentRefreshClientAcquireToken\",\r\n /**\r\n * ssoSilent API (msal-browser).\r\n * Used to silently acquire an authorization code and set of tokens using a hidden iframe.\r\n */\r\n SsoSilent: \"ssoSilent\",\r\n /**\r\n * getDiscoveredAuthority API in StandardInteractionClient class (msal-browser).\r\n * Used to load authority metadata for a request.\r\n */\r\n StandardInteractionClientGetDiscoveredAuthority: \"standardInteractionClientGetDiscoveredAuthority\",\r\n /**\r\n * acquireToken APIs in msal-browser.\r\n * Used to make an /authorize endpoint call with native brokering enabled.\r\n */\r\n FetchAccountIdWithNativeBroker: \"fetchAccountIdWithNativeBroker\",\r\n /**\r\n * acquireToken API in NativeInteractionClient class (msal-browser).\r\n * Used to acquire a token from Native component when native brokering is enabled.\r\n */\r\n NativeInteractionClientAcquireToken: \"nativeInteractionClientAcquireToken\",\r\n /**\r\n * Time spent creating default headers for requests to token endpoint\r\n */\r\n BaseClientCreateTokenRequestHeaders: \"baseClientCreateTokenRequestHeaders\",\r\n /**\r\n * Time spent sending/waiting for the response of a request to the token endpoint\r\n */\r\n RefreshTokenClientExecutePostToTokenEndpoint: \"refreshTokenClientExecutePostToTokenEndpoint\",\r\n AuthorizationCodeClientExecutePostToTokenEndpoint: \"authorizationCodeClientExecutePostToTokenEndpoint\",\r\n /**\r\n * Used to measure the time taken for completing embedded-broker handshake (PW-Broker).\r\n */\r\n BrokerHandhshake: \"brokerHandshake\",\r\n /**\r\n * acquireTokenByRefreshToken API in BrokerClientApplication (PW-Broker) .\r\n */\r\n AcquireTokenByRefreshTokenInBroker: \"acquireTokenByRefreshTokenInBroker\",\r\n /**\r\n * Time taken for token acquisition by broker\r\n */\r\n AcquireTokenByBroker: \"acquireTokenByBroker\",\r\n /**\r\n * Time spent on the network for refresh token acquisition\r\n */\r\n RefreshTokenClientExecuteTokenRequest: \"refreshTokenClientExecuteTokenRequest\",\r\n /**\r\n * Time taken for acquiring refresh token , records RT size\r\n */\r\n RefreshTokenClientAcquireToken: \"refreshTokenClientAcquireToken\",\r\n /**\r\n * Time taken for acquiring cached refresh token\r\n */\r\n RefreshTokenClientAcquireTokenWithCachedRefreshToken: \"refreshTokenClientAcquireTokenWithCachedRefreshToken\",\r\n /**\r\n * acquireTokenByRefreshToken API in RefreshTokenClient (msal-common).\r\n */\r\n RefreshTokenClientAcquireTokenByRefreshToken: \"refreshTokenClientAcquireTokenByRefreshToken\",\r\n /**\r\n * Helper function to create token request body in RefreshTokenClient (msal-common).\r\n */\r\n RefreshTokenClientCreateTokenRequestBody: \"refreshTokenClientCreateTokenRequestBody\",\r\n /**\r\n * acquireTokenFromCache (msal-browser).\r\n * Internal API for acquiring token from cache\r\n */\r\n AcquireTokenFromCache: \"acquireTokenFromCache\",\r\n SilentFlowClientAcquireCachedToken: \"silentFlowClientAcquireCachedToken\",\r\n SilentFlowClientGenerateResultFromCacheRecord: \"silentFlowClientGenerateResultFromCacheRecord\",\r\n /**\r\n * acquireTokenBySilentIframe (msal-browser).\r\n * Internal API for acquiring token by silent Iframe\r\n */\r\n AcquireTokenBySilentIframe: \"acquireTokenBySilentIframe\",\r\n /**\r\n * Internal API for initializing base request in BaseInteractionClient (msal-browser)\r\n */\r\n InitializeBaseRequest: \"initializeBaseRequest\",\r\n /**\r\n * Internal API for initializing silent request in SilentCacheClient (msal-browser)\r\n */\r\n InitializeSilentRequest: \"initializeSilentRequest\",\r\n InitializeClientApplication: \"initializeClientApplication\",\r\n /**\r\n * Helper function in SilentIframeClient class (msal-browser).\r\n */\r\n SilentIframeClientTokenHelper: \"silentIframeClientTokenHelper\",\r\n /**\r\n * SilentHandler\r\n */\r\n SilentHandlerInitiateAuthRequest: \"silentHandlerInitiateAuthRequest\",\r\n SilentHandlerMonitorIframeForHash: \"silentHandlerMonitorIframeForHash\",\r\n SilentHandlerLoadFrame: \"silentHandlerLoadFrame\",\r\n SilentHandlerLoadFrameSync: \"silentHandlerLoadFrameSync\",\r\n /**\r\n * Helper functions in StandardInteractionClient class (msal-browser)\r\n */\r\n StandardInteractionClientCreateAuthCodeClient: \"standardInteractionClientCreateAuthCodeClient\",\r\n StandardInteractionClientGetClientConfiguration: \"standardInteractionClientGetClientConfiguration\",\r\n StandardInteractionClientInitializeAuthorizationRequest: \"standardInteractionClientInitializeAuthorizationRequest\",\r\n StandardInteractionClientInitializeAuthorizationCodeRequest: \"standardInteractionClientInitializeAuthorizationCodeRequest\",\r\n /**\r\n * getAuthCodeUrl API (msal-browser and msal-node).\r\n */\r\n GetAuthCodeUrl: \"getAuthCodeUrl\",\r\n /**\r\n * Functions from InteractionHandler (msal-browser)\r\n */\r\n HandleCodeResponseFromServer: \"handleCodeResponseFromServer\",\r\n HandleCodeResponse: \"handleCodeResponse\",\r\n UpdateTokenEndpointAuthority: \"updateTokenEndpointAuthority\",\r\n /**\r\n * APIs in Authorization Code Client (msal-common)\r\n */\r\n AuthClientAcquireToken: \"authClientAcquireToken\",\r\n AuthClientExecuteTokenRequest: \"authClientExecuteTokenRequest\",\r\n AuthClientCreateTokenRequestBody: \"authClientCreateTokenRequestBody\",\r\n AuthClientCreateQueryString: \"authClientCreateQueryString\",\r\n /**\r\n * Generate functions in PopTokenGenerator (msal-common)\r\n */\r\n PopTokenGenerateCnf: \"popTokenGenerateCnf\",\r\n PopTokenGenerateKid: \"popTokenGenerateKid\",\r\n /**\r\n * handleServerTokenResponse API in ResponseHandler (msal-common)\r\n */\r\n HandleServerTokenResponse: \"handleServerTokenResponse\",\r\n DeserializeResponse: \"deserializeResponse\",\r\n /**\r\n * Authority functions\r\n */\r\n AuthorityFactoryCreateDiscoveredInstance: \"authorityFactoryCreateDiscoveredInstance\",\r\n AuthorityResolveEndpointsAsync: \"authorityResolveEndpointsAsync\",\r\n AuthorityResolveEndpointsFromLocalSources: \"authorityResolveEndpointsFromLocalSources\",\r\n AuthorityGetCloudDiscoveryMetadataFromNetwork: \"authorityGetCloudDiscoveryMetadataFromNetwork\",\r\n AuthorityUpdateCloudDiscoveryMetadata: \"authorityUpdateCloudDiscoveryMetadata\",\r\n AuthorityGetEndpointMetadataFromNetwork: \"authorityGetEndpointMetadataFromNetwork\",\r\n AuthorityUpdateEndpointMetadata: \"authorityUpdateEndpointMetadata\",\r\n AuthorityUpdateMetadataWithRegionalInformation: \"authorityUpdateMetadataWithRegionalInformation\",\r\n /**\r\n * Region Discovery functions\r\n */\r\n RegionDiscoveryDetectRegion: \"regionDiscoveryDetectRegion\",\r\n RegionDiscoveryGetRegionFromIMDS: \"regionDiscoveryGetRegionFromIMDS\",\r\n RegionDiscoveryGetCurrentVersion: \"regionDiscoveryGetCurrentVersion\",\r\n AcquireTokenByCodeAsync: \"acquireTokenByCodeAsync\",\r\n GetEndpointMetadataFromNetwork: \"getEndpointMetadataFromNetwork\",\r\n GetCloudDiscoveryMetadataFromNetworkMeasurement: \"getCloudDiscoveryMetadataFromNetworkMeasurement\",\r\n HandleRedirectPromiseMeasurement: \"handleRedirectPromise\",\r\n HandleNativeRedirectPromiseMeasurement: \"handleNativeRedirectPromise\",\r\n UpdateCloudDiscoveryMetadataMeasurement: \"updateCloudDiscoveryMetadataMeasurement\",\r\n UsernamePasswordClientAcquireToken: \"usernamePasswordClientAcquireToken\",\r\n NativeMessageHandlerHandshake: \"nativeMessageHandlerHandshake\",\r\n NativeGenerateAuthResult: \"nativeGenerateAuthResult\",\r\n RemoveHiddenIframe: \"removeHiddenIframe\",\r\n /**\r\n * Cache operations\r\n */\r\n ClearTokensAndKeysWithClaims: \"clearTokensAndKeysWithClaims\",\r\n CacheManagerGetRefreshToken: \"cacheManagerGetRefreshToken\",\r\n /**\r\n * Crypto Operations\r\n */\r\n GeneratePkceCodes: \"generatePkceCodes\",\r\n GenerateCodeVerifier: \"generateCodeVerifier\",\r\n GenerateCodeChallengeFromVerifier: \"generateCodeChallengeFromVerifier\",\r\n Sha256Digest: \"sha256Digest\",\r\n GetRandomValues: \"getRandomValues\",\r\n};\r\nconst PerformanceEventAbbreviations = new Map([\r\n [PerformanceEvents.AcquireTokenByCode, \"ATByCode\"],\r\n [PerformanceEvents.AcquireTokenByRefreshToken, \"ATByRT\"],\r\n [PerformanceEvents.AcquireTokenSilent, \"ATS\"],\r\n [PerformanceEvents.AcquireTokenSilentAsync, \"ATSAsync\"],\r\n [PerformanceEvents.AcquireTokenPopup, \"ATPopup\"],\r\n [PerformanceEvents.AcquireTokenRedirect, \"ATRedirect\"],\r\n [\r\n PerformanceEvents.CryptoOptsGetPublicKeyThumbprint,\r\n \"CryptoGetPKThumb\",\r\n ],\r\n [PerformanceEvents.CryptoOptsSignJwt, \"CryptoSignJwt\"],\r\n [PerformanceEvents.SilentCacheClientAcquireToken, \"SltCacheClientAT\"],\r\n [PerformanceEvents.SilentIframeClientAcquireToken, \"SltIframeClientAT\"],\r\n [PerformanceEvents.SilentRefreshClientAcquireToken, \"SltRClientAT\"],\r\n [PerformanceEvents.SsoSilent, \"SsoSlt\"],\r\n [\r\n PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority,\r\n \"StdIntClientGetDiscAuth\",\r\n ],\r\n [\r\n PerformanceEvents.FetchAccountIdWithNativeBroker,\r\n \"FetchAccIdWithNtvBroker\",\r\n ],\r\n [\r\n PerformanceEvents.NativeInteractionClientAcquireToken,\r\n \"NtvIntClientAT\",\r\n ],\r\n [\r\n PerformanceEvents.BaseClientCreateTokenRequestHeaders,\r\n \"BaseClientCreateTReqHead\",\r\n ],\r\n [\r\n PerformanceEvents.RefreshTokenClientExecutePostToTokenEndpoint,\r\n \"RTClientExecPost\",\r\n ],\r\n [\r\n PerformanceEvents.AuthorizationCodeClientExecutePostToTokenEndpoint,\r\n \"AuthCodeClientExecPost\",\r\n ],\r\n [PerformanceEvents.BrokerHandhshake, \"BrokerHandshake\"],\r\n [\r\n PerformanceEvents.AcquireTokenByRefreshTokenInBroker,\r\n \"ATByRTInBroker\",\r\n ],\r\n [PerformanceEvents.AcquireTokenByBroker, \"ATByBroker\"],\r\n [\r\n PerformanceEvents.RefreshTokenClientExecuteTokenRequest,\r\n \"RTClientExecTReq\",\r\n ],\r\n [PerformanceEvents.RefreshTokenClientAcquireToken, \"RTClientAT\"],\r\n [\r\n PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken,\r\n \"RTClientATWithCachedRT\",\r\n ],\r\n [\r\n PerformanceEvents.RefreshTokenClientAcquireTokenByRefreshToken,\r\n \"RTClientATByRT\",\r\n ],\r\n [\r\n PerformanceEvents.RefreshTokenClientCreateTokenRequestBody,\r\n \"RTClientCreateTReqBody\",\r\n ],\r\n [PerformanceEvents.AcquireTokenFromCache, \"ATFromCache\"],\r\n [\r\n PerformanceEvents.SilentFlowClientAcquireCachedToken,\r\n \"SltFlowClientATCached\",\r\n ],\r\n [\r\n PerformanceEvents.SilentFlowClientGenerateResultFromCacheRecord,\r\n \"SltFlowClientGenResFromCache\",\r\n ],\r\n [PerformanceEvents.AcquireTokenBySilentIframe, \"ATBySltIframe\"],\r\n [PerformanceEvents.InitializeBaseRequest, \"InitBaseReq\"],\r\n [PerformanceEvents.InitializeSilentRequest, \"InitSltReq\"],\r\n [\r\n PerformanceEvents.InitializeClientApplication,\r\n \"InitClientApplication\",\r\n ],\r\n [PerformanceEvents.SilentIframeClientTokenHelper, \"SIClientTHelper\"],\r\n [\r\n PerformanceEvents.SilentHandlerInitiateAuthRequest,\r\n \"SHandlerInitAuthReq\",\r\n ],\r\n [\r\n PerformanceEvents.SilentHandlerMonitorIframeForHash,\r\n \"SltHandlerMonitorIframeForHash\",\r\n ],\r\n [PerformanceEvents.SilentHandlerLoadFrame, \"SHandlerLoadFrame\"],\r\n [PerformanceEvents.SilentHandlerLoadFrameSync, \"SHandlerLoadFrameSync\"],\r\n [\r\n PerformanceEvents.StandardInteractionClientCreateAuthCodeClient,\r\n \"StdIntClientCreateAuthCodeClient\",\r\n ],\r\n [\r\n PerformanceEvents.StandardInteractionClientGetClientConfiguration,\r\n \"StdIntClientGetClientConf\",\r\n ],\r\n [\r\n PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest,\r\n \"StdIntClientInitAuthReq\",\r\n ],\r\n [\r\n PerformanceEvents.StandardInteractionClientInitializeAuthorizationCodeRequest,\r\n \"StdIntClientInitAuthCodeReq\",\r\n ],\r\n [PerformanceEvents.GetAuthCodeUrl, \"GetAuthCodeUrl\"],\r\n [\r\n PerformanceEvents.HandleCodeResponseFromServer,\r\n \"HandleCodeResFromServer\",\r\n ],\r\n [PerformanceEvents.HandleCodeResponse, \"HandleCodeResp\"],\r\n [PerformanceEvents.UpdateTokenEndpointAuthority, \"UpdTEndpointAuth\"],\r\n [PerformanceEvents.AuthClientAcquireToken, \"AuthClientAT\"],\r\n [PerformanceEvents.AuthClientExecuteTokenRequest, \"AuthClientExecTReq\"],\r\n [\r\n PerformanceEvents.AuthClientCreateTokenRequestBody,\r\n \"AuthClientCreateTReqBody\",\r\n ],\r\n [\r\n PerformanceEvents.AuthClientCreateQueryString,\r\n \"AuthClientCreateQueryStr\",\r\n ],\r\n [PerformanceEvents.PopTokenGenerateCnf, \"PopTGenCnf\"],\r\n [PerformanceEvents.PopTokenGenerateKid, \"PopTGenKid\"],\r\n [PerformanceEvents.HandleServerTokenResponse, \"HandleServerTRes\"],\r\n [PerformanceEvents.DeserializeResponse, \"DeserializeRes\"],\r\n [\r\n PerformanceEvents.AuthorityFactoryCreateDiscoveredInstance,\r\n \"AuthFactCreateDiscInst\",\r\n ],\r\n [\r\n PerformanceEvents.AuthorityResolveEndpointsAsync,\r\n \"AuthResolveEndpointsAsync\",\r\n ],\r\n [\r\n PerformanceEvents.AuthorityResolveEndpointsFromLocalSources,\r\n \"AuthResolveEndpointsFromLocal\",\r\n ],\r\n [\r\n PerformanceEvents.AuthorityGetCloudDiscoveryMetadataFromNetwork,\r\n \"AuthGetCDMetaFromNet\",\r\n ],\r\n [\r\n PerformanceEvents.AuthorityUpdateCloudDiscoveryMetadata,\r\n \"AuthUpdCDMeta\",\r\n ],\r\n [\r\n PerformanceEvents.AuthorityGetEndpointMetadataFromNetwork,\r\n \"AuthUpdCDMetaFromNet\",\r\n ],\r\n [\r\n PerformanceEvents.AuthorityUpdateEndpointMetadata,\r\n \"AuthUpdEndpointMeta\",\r\n ],\r\n [\r\n PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation,\r\n \"AuthUpdMetaWithRegInfo\",\r\n ],\r\n [PerformanceEvents.RegionDiscoveryDetectRegion, \"RegDiscDetectReg\"],\r\n [\r\n PerformanceEvents.RegionDiscoveryGetRegionFromIMDS,\r\n \"RegDiscGetRegFromIMDS\",\r\n ],\r\n [\r\n PerformanceEvents.RegionDiscoveryGetCurrentVersion,\r\n \"RegDiscGetCurrentVer\",\r\n ],\r\n [PerformanceEvents.AcquireTokenByCodeAsync, \"ATByCodeAsync\"],\r\n [\r\n PerformanceEvents.GetEndpointMetadataFromNetwork,\r\n \"GetEndpointMetaFromNet\",\r\n ],\r\n [\r\n PerformanceEvents.GetCloudDiscoveryMetadataFromNetworkMeasurement,\r\n \"GetCDMetaFromNet\",\r\n ],\r\n [\r\n PerformanceEvents.HandleRedirectPromiseMeasurement,\r\n \"HandleRedirectPromise\",\r\n ],\r\n [\r\n PerformanceEvents.HandleNativeRedirectPromiseMeasurement,\r\n \"HandleNtvRedirectPromise\",\r\n ],\r\n [\r\n PerformanceEvents.UpdateCloudDiscoveryMetadataMeasurement,\r\n \"UpdateCDMeta\",\r\n ],\r\n [\r\n PerformanceEvents.UsernamePasswordClientAcquireToken,\r\n \"UserPassClientAT\",\r\n ],\r\n [\r\n PerformanceEvents.NativeMessageHandlerHandshake,\r\n \"NtvMsgHandlerHandshake\",\r\n ],\r\n [PerformanceEvents.NativeGenerateAuthResult, \"NtvGenAuthRes\"],\r\n [PerformanceEvents.RemoveHiddenIframe, \"RemoveHiddenIframe\"],\r\n [\r\n PerformanceEvents.ClearTokensAndKeysWithClaims,\r\n \"ClearTAndKeysWithClaims\",\r\n ],\r\n [PerformanceEvents.CacheManagerGetRefreshToken, \"CacheManagerGetRT\"],\r\n [PerformanceEvents.GeneratePkceCodes, \"GenPkceCodes\"],\r\n [PerformanceEvents.GenerateCodeVerifier, \"GenCodeVerifier\"],\r\n [\r\n PerformanceEvents.GenerateCodeChallengeFromVerifier,\r\n \"GenCodeChallengeFromVerifier\",\r\n ],\r\n [PerformanceEvents.Sha256Digest, \"Sha256Digest\"],\r\n [PerformanceEvents.GetRandomValues, \"GetRandomValues\"],\r\n]);\r\n/**\r\n * State of the performance event.\r\n *\r\n * @export\r\n * @enum {number}\r\n */\r\nconst PerformanceEventStatus = {\r\n NotStarted: 0,\r\n InProgress: 1,\r\n Completed: 2,\r\n};\r\nconst IntFields = new Set([\r\n \"accessTokenSize\",\r\n \"durationMs\",\r\n \"idTokenSize\",\r\n \"matsSilentStatus\",\r\n \"matsHttpStatus\",\r\n \"refreshTokenSize\",\r\n \"queuedTimeMs\",\r\n \"startTimeMs\",\r\n \"status\",\r\n \"multiMatchedAT\",\r\n \"multiMatchedID\",\r\n \"multiMatchedRT\",\r\n]);\n\nexport { IntFields, PerformanceEventAbbreviations, PerformanceEventStatus, PerformanceEvents };\n//# sourceMappingURL=PerformanceEvent.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { PerformanceEventStatus } from './PerformanceEvent.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nclass StubPerformanceMeasurement {\r\n startMeasurement() {\r\n return;\r\n }\r\n endMeasurement() {\r\n return;\r\n }\r\n flushMeasurement() {\r\n return null;\r\n }\r\n}\r\nclass StubPerformanceClient {\r\n generateId() {\r\n return \"callback-id\";\r\n }\r\n startMeasurement(measureName, correlationId) {\r\n return {\r\n end: () => null,\r\n discard: () => { },\r\n add: () => { },\r\n increment: () => { },\r\n event: {\r\n eventId: this.generateId(),\r\n status: PerformanceEventStatus.InProgress,\r\n authority: \"\",\r\n libraryName: \"\",\r\n libraryVersion: \"\",\r\n clientId: \"\",\r\n name: measureName,\r\n startTimeMs: Date.now(),\r\n correlationId: correlationId || \"\",\r\n },\r\n measurement: new StubPerformanceMeasurement(),\r\n };\r\n }\r\n startPerformanceMeasurement() {\r\n return new StubPerformanceMeasurement();\r\n }\r\n calculateQueuedTime() {\r\n return 0;\r\n }\r\n addQueueMeasurement() {\r\n return;\r\n }\r\n setPreQueueTime() {\r\n return;\r\n }\r\n endMeasurement() {\r\n return null;\r\n }\r\n discardMeasurements() {\r\n return;\r\n }\r\n removePerformanceCallback() {\r\n return true;\r\n }\r\n addPerformanceCallback() {\r\n return \"\";\r\n }\r\n emitEvents() {\r\n return;\r\n }\r\n addFields() {\r\n return;\r\n }\r\n incrementFields() {\r\n return;\r\n }\r\n cacheEventByCorrelationId() {\r\n return;\r\n }\r\n}\n\nexport { StubPerformanceClient, StubPerformanceMeasurement };\n//# sourceMappingURL=StubPerformanceClient.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { CacheOutcome, Constants, SERVER_TELEM_CONSTANTS, Separators } from '../../utils/Constants.mjs';\nimport { AuthError } from '../../error/AuthError.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst skuGroupSeparator = \",\";\r\nconst skuValueSeparator = \"|\";\r\nfunction makeExtraSkuString(params) {\r\n const { skus, libraryName, libraryVersion, extensionName, extensionVersion, } = params;\r\n const skuMap = new Map([\r\n [0, [libraryName, libraryVersion]],\r\n [2, [extensionName, extensionVersion]],\r\n ]);\r\n let skuArr = [];\r\n if (skus?.length) {\r\n skuArr = skus.split(skuGroupSeparator);\r\n // Ignore invalid input sku param\r\n if (skuArr.length < 4) {\r\n return skus;\r\n }\r\n }\r\n else {\r\n skuArr = Array.from({ length: 4 }, () => skuValueSeparator);\r\n }\r\n skuMap.forEach((value, key) => {\r\n if (value.length === 2 && value[0]?.length && value[1]?.length) {\r\n setSku({\r\n skuArr,\r\n index: key,\r\n skuName: value[0],\r\n skuVersion: value[1],\r\n });\r\n }\r\n });\r\n return skuArr.join(skuGroupSeparator);\r\n}\r\nfunction setSku(params) {\r\n const { skuArr, index, skuName, skuVersion } = params;\r\n if (index >= skuArr.length) {\r\n return;\r\n }\r\n skuArr[index] = [skuName, skuVersion].join(skuValueSeparator);\r\n}\r\n/** @internal */\r\nclass ServerTelemetryManager {\r\n constructor(telemetryRequest, cacheManager) {\r\n this.cacheOutcome = CacheOutcome.NOT_APPLICABLE;\r\n this.cacheManager = cacheManager;\r\n this.apiId = telemetryRequest.apiId;\r\n this.correlationId = telemetryRequest.correlationId;\r\n this.wrapperSKU = telemetryRequest.wrapperSKU || Constants.EMPTY_STRING;\r\n this.wrapperVer = telemetryRequest.wrapperVer || Constants.EMPTY_STRING;\r\n this.telemetryCacheKey =\r\n SERVER_TELEM_CONSTANTS.CACHE_KEY +\r\n Separators.CACHE_KEY_SEPARATOR +\r\n telemetryRequest.clientId;\r\n }\r\n /**\r\n * API to add MSER Telemetry to request\r\n */\r\n generateCurrentRequestHeaderValue() {\r\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\r\n const platformFieldsArr = [this.wrapperSKU, this.wrapperVer];\r\n const nativeBrokerErrorCode = this.getNativeBrokerErrorCode();\r\n if (nativeBrokerErrorCode?.length) {\r\n platformFieldsArr.push(`broker_error=${nativeBrokerErrorCode}`);\r\n }\r\n const platformFields = platformFieldsArr.join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\r\n const requestWithRegionDiscoveryFields = [\r\n request,\r\n regionDiscoveryFields,\r\n ].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n return [\r\n SERVER_TELEM_CONSTANTS.SCHEMA_VERSION,\r\n requestWithRegionDiscoveryFields,\r\n platformFields,\r\n ].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\r\n }\r\n /**\r\n * API to add MSER Telemetry for the last failed request\r\n */\r\n generateLastRequestHeaderValue() {\r\n const lastRequests = this.getLastRequests();\r\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\r\n const failedRequests = lastRequests.failedRequests\r\n .slice(0, 2 * maxErrors)\r\n .join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const errors = lastRequests.errors\r\n .slice(0, maxErrors)\r\n .join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n const errorCount = lastRequests.errors.length;\r\n // Indicate whether this header contains all data or partial data\r\n const overflow = maxErrors < errorCount\r\n ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE\r\n : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\r\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n return [\r\n SERVER_TELEM_CONSTANTS.SCHEMA_VERSION,\r\n lastRequests.cacheHits,\r\n failedRequests,\r\n errors,\r\n platformFields,\r\n ].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\r\n }\r\n /**\r\n * API to cache token failures for MSER data capture\r\n * @param error\r\n */\r\n cacheFailedRequest(error) {\r\n const lastRequests = this.getLastRequests();\r\n if (lastRequests.errors.length >=\r\n SERVER_TELEM_CONSTANTS.MAX_CACHED_ERRORS) {\r\n // Remove a cached error to make room, first in first out\r\n lastRequests.failedRequests.shift(); // apiId\r\n lastRequests.failedRequests.shift(); // correlationId\r\n lastRequests.errors.shift();\r\n }\r\n lastRequests.failedRequests.push(this.apiId, this.correlationId);\r\n if (error instanceof Error && !!error && error.toString()) {\r\n if (error instanceof AuthError) {\r\n if (error.subError) {\r\n lastRequests.errors.push(error.subError);\r\n }\r\n else if (error.errorCode) {\r\n lastRequests.errors.push(error.errorCode);\r\n }\r\n else {\r\n lastRequests.errors.push(error.toString());\r\n }\r\n }\r\n else {\r\n lastRequests.errors.push(error.toString());\r\n }\r\n }\r\n else {\r\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\r\n }\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\r\n return;\r\n }\r\n /**\r\n * Update server telemetry cache entry by incrementing cache hit counter\r\n */\r\n incrementCacheHits() {\r\n const lastRequests = this.getLastRequests();\r\n lastRequests.cacheHits += 1;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\r\n return lastRequests.cacheHits;\r\n }\r\n /**\r\n * Get the server telemetry entity from cache or initialize a new one\r\n */\r\n getLastRequests() {\r\n const initialValue = {\r\n failedRequests: [],\r\n errors: [],\r\n cacheHits: 0,\r\n };\r\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey);\r\n return lastRequests || initialValue;\r\n }\r\n /**\r\n * Remove server telemetry cache entry\r\n */\r\n clearTelemetryCache() {\r\n const lastRequests = this.getLastRequests();\r\n const numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);\r\n const errorCount = lastRequests.errors.length;\r\n if (numErrorsFlushed === errorCount) {\r\n // All errors were sent on last request, clear Telemetry cache\r\n this.cacheManager.removeItem(this.telemetryCacheKey);\r\n }\r\n else {\r\n // Partial data was flushed to server, construct a new telemetry cache item with errors that were not flushed\r\n const serverTelemEntity = {\r\n failedRequests: lastRequests.failedRequests.slice(numErrorsFlushed * 2),\r\n errors: lastRequests.errors.slice(numErrorsFlushed),\r\n cacheHits: 0,\r\n };\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity);\r\n }\r\n }\r\n /**\r\n * Returns the maximum number of errors that can be flushed to the server in the next network request\r\n * @param serverTelemetryEntity\r\n */\r\n static maxErrorsToSend(serverTelemetryEntity) {\r\n let i;\r\n let maxErrors = 0;\r\n let dataSize = 0;\r\n const errorCount = serverTelemetryEntity.errors.length;\r\n for (i = 0; i < errorCount; i++) {\r\n // failedRequests parameter contains pairs of apiId and correlationId, multiply index by 2 to preserve pairs\r\n const apiId = serverTelemetryEntity.failedRequests[2 * i] ||\r\n Constants.EMPTY_STRING;\r\n const correlationId = serverTelemetryEntity.failedRequests[2 * i + 1] ||\r\n Constants.EMPTY_STRING;\r\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\r\n // Count number of characters that would be added to header, each character is 1 byte. Add 3 at the end to account for separators\r\n dataSize +=\r\n apiId.toString().length +\r\n correlationId.toString().length +\r\n errorCode.length +\r\n 3;\r\n if (dataSize < SERVER_TELEM_CONSTANTS.MAX_LAST_HEADER_BYTES) {\r\n // Adding this entry to the header would still keep header size below the limit\r\n maxErrors += 1;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n return maxErrors;\r\n }\r\n /**\r\n * Get the region discovery fields\r\n *\r\n * @returns string\r\n */\r\n getRegionDiscoveryFields() {\r\n const regionDiscoveryFields = [];\r\n regionDiscoveryFields.push(this.regionUsed || Constants.EMPTY_STRING);\r\n regionDiscoveryFields.push(this.regionSource || Constants.EMPTY_STRING);\r\n regionDiscoveryFields.push(this.regionOutcome || Constants.EMPTY_STRING);\r\n return regionDiscoveryFields.join(\",\");\r\n }\r\n /**\r\n * Update the region discovery metadata\r\n *\r\n * @param regionDiscoveryMetadata\r\n * @returns void\r\n */\r\n updateRegionDiscoveryMetadata(regionDiscoveryMetadata) {\r\n this.regionUsed = regionDiscoveryMetadata.region_used;\r\n this.regionSource = regionDiscoveryMetadata.region_source;\r\n this.regionOutcome = regionDiscoveryMetadata.region_outcome;\r\n }\r\n /**\r\n * Set cache outcome\r\n */\r\n setCacheOutcome(cacheOutcome) {\r\n this.cacheOutcome = cacheOutcome;\r\n }\r\n setNativeBrokerErrorCode(errorCode) {\r\n const lastRequests = this.getLastRequests();\r\n lastRequests.nativeBrokerErrorCode = errorCode;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\r\n }\r\n getNativeBrokerErrorCode() {\r\n return this.getLastRequests().nativeBrokerErrorCode;\r\n }\r\n clearNativeBrokerErrorCode() {\r\n const lastRequests = this.getLastRequests();\r\n delete lastRequests.nativeBrokerErrorCode;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\r\n }\r\n static makeExtraSkuString(params) {\r\n return makeExtraSkuString(params);\r\n }\r\n}\n\nexport { ServerTelemetryManager };\n//# sourceMappingURL=ServerTelemetryManager.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';\nimport { StringUtils } from '../utils/StringUtils.mjs';\nimport { AADAuthorityConstants, Constants } from '../utils/Constants.mjs';\nimport { getDeserializedResponse } from '../utils/UrlUtils.mjs';\nimport { urlEmptyError, urlParseError, authorityUriInsecure } from '../error/ClientConfigurationErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Url object class which can perform various transformations on url strings.\r\n */\r\nclass UrlString {\r\n get urlString() {\r\n return this._urlString;\r\n }\r\n constructor(url) {\r\n this._urlString = url;\r\n if (!this._urlString) {\r\n // Throws error if url is empty\r\n throw createClientConfigurationError(urlEmptyError);\r\n }\r\n if (!url.includes(\"#\")) {\r\n this._urlString = UrlString.canonicalizeUri(url);\r\n }\r\n }\r\n /**\r\n * Ensure urls are lower case and end with a / character.\r\n * @param url\r\n */\r\n static canonicalizeUri(url) {\r\n if (url) {\r\n let lowerCaseUrl = url.toLowerCase();\r\n if (StringUtils.endsWith(lowerCaseUrl, \"?\")) {\r\n lowerCaseUrl = lowerCaseUrl.slice(0, -1);\r\n }\r\n else if (StringUtils.endsWith(lowerCaseUrl, \"?/\")) {\r\n lowerCaseUrl = lowerCaseUrl.slice(0, -2);\r\n }\r\n if (!StringUtils.endsWith(lowerCaseUrl, \"/\")) {\r\n lowerCaseUrl += \"/\";\r\n }\r\n return lowerCaseUrl;\r\n }\r\n return url;\r\n }\r\n /**\r\n * Throws if urlString passed is not a valid authority URI string.\r\n */\r\n validateAsUri() {\r\n // Attempts to parse url for uri components\r\n let components;\r\n try {\r\n components = this.getUrlComponents();\r\n }\r\n catch (e) {\r\n throw createClientConfigurationError(urlParseError);\r\n }\r\n // Throw error if URI or path segments are not parseable.\r\n if (!components.HostNameAndPort || !components.PathSegments) {\r\n throw createClientConfigurationError(urlParseError);\r\n }\r\n // Throw error if uri is insecure.\r\n if (!components.Protocol ||\r\n components.Protocol.toLowerCase() !== \"https:\") {\r\n throw createClientConfigurationError(authorityUriInsecure);\r\n }\r\n }\r\n /**\r\n * Given a url and a query string return the url with provided query string appended\r\n * @param url\r\n * @param queryString\r\n */\r\n static appendQueryString(url, queryString) {\r\n if (!queryString) {\r\n return url;\r\n }\r\n return url.indexOf(\"?\") < 0\r\n ? `${url}?${queryString}`\r\n : `${url}&${queryString}`;\r\n }\r\n /**\r\n * Returns a url with the hash removed\r\n * @param url\r\n */\r\n static removeHashFromUrl(url) {\r\n return UrlString.canonicalizeUri(url.split(\"#\")[0]);\r\n }\r\n /**\r\n * Given a url like https://a:b/common/d?e=f#g, and a tenantId, returns https://a:b/tenantId/d\r\n * @param href The url\r\n * @param tenantId The tenant id to replace\r\n */\r\n replaceTenantPath(tenantId) {\r\n const urlObject = this.getUrlComponents();\r\n const pathArray = urlObject.PathSegments;\r\n if (tenantId &&\r\n pathArray.length !== 0 &&\r\n (pathArray[0] === AADAuthorityConstants.COMMON ||\r\n pathArray[0] === AADAuthorityConstants.ORGANIZATIONS)) {\r\n pathArray[0] = tenantId;\r\n }\r\n return UrlString.constructAuthorityUriFromObject(urlObject);\r\n }\r\n /**\r\n * Parses out the components from a url string.\r\n * @returns An object with the various components. Please cache this value insted of calling this multiple times on the same url.\r\n */\r\n getUrlComponents() {\r\n // https://gist.github.com/curtisz/11139b2cfcaef4a261e0\r\n const regEx = RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\");\r\n // If url string does not match regEx, we throw an error\r\n const match = this.urlString.match(regEx);\r\n if (!match) {\r\n throw createClientConfigurationError(urlParseError);\r\n }\r\n // Url component object\r\n const urlComponents = {\r\n Protocol: match[1],\r\n HostNameAndPort: match[4],\r\n AbsolutePath: match[5],\r\n QueryString: match[7],\r\n };\r\n let pathSegments = urlComponents.AbsolutePath.split(\"/\");\r\n pathSegments = pathSegments.filter((val) => val && val.length > 0); // remove empty elements\r\n urlComponents.PathSegments = pathSegments;\r\n if (urlComponents.QueryString &&\r\n urlComponents.QueryString.endsWith(\"/\")) {\r\n urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length - 1);\r\n }\r\n return urlComponents;\r\n }\r\n static getDomainFromUrl(url) {\r\n const regEx = RegExp(\"^([^:/?#]+://)?([^/?#]*)\");\r\n const match = url.match(regEx);\r\n if (!match) {\r\n throw createClientConfigurationError(urlParseError);\r\n }\r\n return match[2];\r\n }\r\n static getAbsoluteUrl(relativeUrl, baseUrl) {\r\n if (relativeUrl[0] === Constants.FORWARD_SLASH) {\r\n const url = new UrlString(baseUrl);\r\n const baseComponents = url.getUrlComponents();\r\n return (baseComponents.Protocol +\r\n \"//\" +\r\n baseComponents.HostNameAndPort +\r\n relativeUrl);\r\n }\r\n return relativeUrl;\r\n }\r\n static constructAuthorityUriFromObject(urlObject) {\r\n return new UrlString(urlObject.Protocol +\r\n \"//\" +\r\n urlObject.HostNameAndPort +\r\n \"/\" +\r\n urlObject.PathSegments.join(\"/\"));\r\n }\r\n /**\r\n * Check if the hash of the URL string contains known properties\r\n * @deprecated This API will be removed in a future version\r\n */\r\n static hashContainsKnownProperties(response) {\r\n return !!getDeserializedResponse(response);\r\n }\r\n}\n\nexport { UrlString };\n//# sourceMappingURL=UrlString.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nasync function getClientAssertion(clientAssertion, clientId, tokenEndpoint) {\r\n if (typeof clientAssertion === \"string\") {\r\n return clientAssertion;\r\n }\r\n else {\r\n const config = {\r\n clientId: clientId,\r\n tokenEndpoint: tokenEndpoint,\r\n };\r\n return clientAssertion(config);\r\n }\r\n}\n\nexport { getClientAssertion };\n//# sourceMappingURL=ClientAssertionUtils.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nconst Constants = {\r\n LIBRARY_NAME: \"MSAL.JS\",\r\n SKU: \"msal.js.common\",\r\n // Prefix for all library cache entries\r\n CACHE_PREFIX: \"msal\",\r\n // default authority\r\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\r\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\r\n DEFAULT_COMMON_TENANT: \"common\",\r\n // ADFS String\r\n ADFS: \"adfs\",\r\n DSTS: \"dstsv2\",\r\n // Default AAD Instance Discovery Endpoint\r\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\r\n // CIAM URL\r\n CIAM_AUTH_URL: \".ciamlogin.com\",\r\n AAD_TENANT_DOMAIN_SUFFIX: \".onmicrosoft.com\",\r\n // Resource delimiter - used for certain cache entries\r\n RESOURCE_DELIM: \"|\",\r\n // Placeholder for non-existent account ids/objects\r\n NO_ACCOUNT: \"NO_ACCOUNT\",\r\n // Claims\r\n CLAIMS: \"claims\",\r\n // Consumer UTID\r\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\r\n // Default scopes\r\n OPENID_SCOPE: \"openid\",\r\n PROFILE_SCOPE: \"profile\",\r\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\r\n EMAIL_SCOPE: \"email\",\r\n // Default response type for authorization code flow\r\n CODE_RESPONSE_TYPE: \"code\",\r\n CODE_GRANT_TYPE: \"authorization_code\",\r\n RT_GRANT_TYPE: \"refresh_token\",\r\n FRAGMENT_RESPONSE_MODE: \"fragment\",\r\n S256_CODE_CHALLENGE_METHOD: \"S256\",\r\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\r\n AUTHORIZATION_PENDING: \"authorization_pending\",\r\n NOT_DEFINED: \"not_defined\",\r\n EMPTY_STRING: \"\",\r\n NOT_APPLICABLE: \"N/A\",\r\n NOT_AVAILABLE: \"Not Available\",\r\n FORWARD_SLASH: \"/\",\r\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\r\n IMDS_VERSION: \"2020-06-01\",\r\n IMDS_TIMEOUT: 2000,\r\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\r\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\r\n KNOWN_PUBLIC_CLOUDS: [\r\n \"login.microsoftonline.com\",\r\n \"login.windows.net\",\r\n \"login.microsoft.com\",\r\n \"sts.windows.net\",\r\n ],\r\n TOKEN_RESPONSE_TYPE: \"token\",\r\n ID_TOKEN_RESPONSE_TYPE: \"id_token\",\r\n SHR_NONCE_VALIDITY: 240,\r\n INVALID_INSTANCE: \"invalid_instance\",\r\n};\r\nconst HttpStatus = {\r\n SUCCESS: 200,\r\n SUCCESS_RANGE_START: 200,\r\n SUCCESS_RANGE_END: 299,\r\n REDIRECT: 302,\r\n CLIENT_ERROR: 400,\r\n CLIENT_ERROR_RANGE_START: 400,\r\n BAD_REQUEST: 400,\r\n UNAUTHORIZED: 401,\r\n NOT_FOUND: 404,\r\n REQUEST_TIMEOUT: 408,\r\n TOO_MANY_REQUESTS: 429,\r\n CLIENT_ERROR_RANGE_END: 499,\r\n SERVER_ERROR: 500,\r\n SERVER_ERROR_RANGE_START: 500,\r\n SERVICE_UNAVAILABLE: 503,\r\n GATEWAY_TIMEOUT: 504,\r\n SERVER_ERROR_RANGE_END: 599,\r\n MULTI_SIDED_ERROR: 600,\r\n};\r\nconst OIDC_DEFAULT_SCOPES = [\r\n Constants.OPENID_SCOPE,\r\n Constants.PROFILE_SCOPE,\r\n Constants.OFFLINE_ACCESS_SCOPE,\r\n];\r\nconst OIDC_SCOPES = [...OIDC_DEFAULT_SCOPES, Constants.EMAIL_SCOPE];\r\n/**\r\n * Request header names\r\n */\r\nconst HeaderNames = {\r\n CONTENT_TYPE: \"Content-Type\",\r\n RETRY_AFTER: \"Retry-After\",\r\n CCS_HEADER: \"X-AnchorMailbox\",\r\n WWWAuthenticate: \"WWW-Authenticate\",\r\n AuthenticationInfo: \"Authentication-Info\",\r\n X_MS_REQUEST_ID: \"x-ms-request-id\",\r\n X_MS_HTTP_VERSION: \"x-ms-httpver\",\r\n};\r\n/**\r\n * Persistent cache keys MSAL which stay while user is logged in.\r\n */\r\nconst PersistentCacheKeys = {\r\n ID_TOKEN: \"idtoken\",\r\n CLIENT_INFO: \"client.info\",\r\n ADAL_ID_TOKEN: \"adal.idtoken\",\r\n ERROR: \"error\",\r\n ERROR_DESC: \"error.description\",\r\n ACTIVE_ACCOUNT: \"active-account\",\r\n ACTIVE_ACCOUNT_FILTERS: \"active-account-filters\", // new cache entry for active_account for a more robust version for browser\r\n};\r\n/**\r\n * String constants related to AAD Authority\r\n */\r\nconst AADAuthorityConstants = {\r\n COMMON: \"common\",\r\n ORGANIZATIONS: \"organizations\",\r\n CONSUMERS: \"consumers\",\r\n};\r\n/**\r\n * Claims request keys\r\n */\r\nconst ClaimsRequestKeys = {\r\n ACCESS_TOKEN: \"access_token\",\r\n XMS_CC: \"xms_cc\",\r\n};\r\n/**\r\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\r\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\r\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\r\n */\r\nconst PromptValue = {\r\n LOGIN: \"login\",\r\n SELECT_ACCOUNT: \"select_account\",\r\n CONSENT: \"consent\",\r\n NONE: \"none\",\r\n CREATE: \"create\",\r\n NO_SESSION: \"no_session\",\r\n};\r\n/**\r\n * allowed values for codeVerifier\r\n */\r\nconst CodeChallengeMethodValues = {\r\n PLAIN: \"plain\",\r\n S256: \"S256\",\r\n};\r\n/**\r\n * allowed values for server response type\r\n */\r\nconst ServerResponseType = {\r\n QUERY: \"query\",\r\n FRAGMENT: \"fragment\",\r\n};\r\n/**\r\n * allowed values for response_mode\r\n */\r\nconst ResponseMode = {\r\n ...ServerResponseType,\r\n FORM_POST: \"form_post\",\r\n};\r\n/**\r\n * allowed grant_type\r\n */\r\nconst GrantType = {\r\n IMPLICIT_GRANT: \"implicit\",\r\n AUTHORIZATION_CODE_GRANT: \"authorization_code\",\r\n CLIENT_CREDENTIALS_GRANT: \"client_credentials\",\r\n RESOURCE_OWNER_PASSWORD_GRANT: \"password\",\r\n REFRESH_TOKEN_GRANT: \"refresh_token\",\r\n DEVICE_CODE_GRANT: \"device_code\",\r\n JWT_BEARER: \"urn:ietf:params:oauth:grant-type:jwt-bearer\",\r\n};\r\n/**\r\n * Account types in Cache\r\n */\r\nconst CacheAccountType = {\r\n MSSTS_ACCOUNT_TYPE: \"MSSTS\",\r\n ADFS_ACCOUNT_TYPE: \"ADFS\",\r\n MSAV1_ACCOUNT_TYPE: \"MSA\",\r\n GENERIC_ACCOUNT_TYPE: \"Generic\", // NTLM, Kerberos, FBA, Basic etc\r\n};\r\n/**\r\n * Separators used in cache\r\n */\r\nconst Separators = {\r\n CACHE_KEY_SEPARATOR: \"-\",\r\n CLIENT_INFO_SEPARATOR: \".\",\r\n};\r\n/**\r\n * Credential Type stored in the cache\r\n */\r\nconst CredentialType = {\r\n ID_TOKEN: \"IdToken\",\r\n ACCESS_TOKEN: \"AccessToken\",\r\n ACCESS_TOKEN_WITH_AUTH_SCHEME: \"AccessToken_With_AuthScheme\",\r\n REFRESH_TOKEN: \"RefreshToken\",\r\n};\r\n/**\r\n * Combine all cache types\r\n */\r\nconst CacheType = {\r\n ADFS: 1001,\r\n MSA: 1002,\r\n MSSTS: 1003,\r\n GENERIC: 1004,\r\n ACCESS_TOKEN: 2001,\r\n REFRESH_TOKEN: 2002,\r\n ID_TOKEN: 2003,\r\n APP_METADATA: 3001,\r\n UNDEFINED: 9999,\r\n};\r\n/**\r\n * More Cache related constants\r\n */\r\nconst APP_METADATA = \"appmetadata\";\r\nconst CLIENT_INFO = \"client_info\";\r\nconst THE_FAMILY_ID = \"1\";\r\nconst AUTHORITY_METADATA_CONSTANTS = {\r\n CACHE_KEY: \"authority-metadata\",\r\n REFRESH_TIME_SECONDS: 3600 * 24, // 24 Hours\r\n};\r\nconst AuthorityMetadataSource = {\r\n CONFIG: \"config\",\r\n CACHE: \"cache\",\r\n NETWORK: \"network\",\r\n HARDCODED_VALUES: \"hardcoded_values\",\r\n};\r\nconst SERVER_TELEM_CONSTANTS = {\r\n SCHEMA_VERSION: 5,\r\n MAX_CUR_HEADER_BYTES: 80,\r\n MAX_LAST_HEADER_BYTES: 330,\r\n MAX_CACHED_ERRORS: 50,\r\n CACHE_KEY: \"server-telemetry\",\r\n CATEGORY_SEPARATOR: \"|\",\r\n VALUE_SEPARATOR: \",\",\r\n OVERFLOW_TRUE: \"1\",\r\n OVERFLOW_FALSE: \"0\",\r\n UNKNOWN_ERROR: \"unknown_error\",\r\n};\r\n/**\r\n * Type of the authentication request\r\n */\r\nconst AuthenticationScheme = {\r\n BEARER: \"Bearer\",\r\n POP: \"pop\",\r\n SSH: \"ssh-cert\",\r\n};\r\n/**\r\n * Constants related to throttling\r\n */\r\nconst ThrottlingConstants = {\r\n // Default time to throttle RequestThumbprint in seconds\r\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\r\n // Default maximum time to throttle in seconds, overrides what the server sends back\r\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\r\n // Prefix for storing throttling entries\r\n THROTTLING_PREFIX: \"throttling\",\r\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\r\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\",\r\n};\r\nconst Errors = {\r\n INVALID_GRANT_ERROR: \"invalid_grant\",\r\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\r\n};\r\n/**\r\n * Password grant parameters\r\n */\r\nconst PasswordGrantConstants = {\r\n username: \"username\",\r\n password: \"password\",\r\n};\r\n/**\r\n * Response codes\r\n */\r\nconst ResponseCodes = {\r\n httpSuccess: 200,\r\n httpBadRequest: 400,\r\n};\r\n/**\r\n * Region Discovery Sources\r\n */\r\nconst RegionDiscoverySources = {\r\n FAILED_AUTO_DETECTION: \"1\",\r\n INTERNAL_CACHE: \"2\",\r\n ENVIRONMENT_VARIABLE: \"3\",\r\n IMDS: \"4\",\r\n};\r\n/**\r\n * Region Discovery Outcomes\r\n */\r\nconst RegionDiscoveryOutcomes = {\r\n CONFIGURED_MATCHES_DETECTED: \"1\",\r\n CONFIGURED_NO_AUTO_DETECTION: \"2\",\r\n CONFIGURED_NOT_DETECTED: \"3\",\r\n AUTO_DETECTION_REQUESTED_SUCCESSFUL: \"4\",\r\n AUTO_DETECTION_REQUESTED_FAILED: \"5\",\r\n};\r\n/**\r\n * Specifies the reason for fetching the access token from the identity provider\r\n */\r\nconst CacheOutcome = {\r\n // When a token is found in the cache or the cache is not supposed to be hit when making the request\r\n NOT_APPLICABLE: \"0\",\r\n // When the token request goes to the identity provider because force_refresh was set to true. Also occurs if claims were requested\r\n FORCE_REFRESH_OR_CLAIMS: \"1\",\r\n // When the token request goes to the identity provider because no cached access token exists\r\n NO_CACHED_ACCESS_TOKEN: \"2\",\r\n // When the token request goes to the identity provider because cached access token expired\r\n CACHED_ACCESS_TOKEN_EXPIRED: \"3\",\r\n // When the token request goes to the identity provider because refresh_in was used and the existing token needs to be refreshed\r\n PROACTIVELY_REFRESHED: \"4\",\r\n};\r\nconst JsonWebTokenTypes = {\r\n Jwt: \"JWT\",\r\n Jwk: \"JWK\",\r\n Pop: \"pop\",\r\n};\r\nconst ONE_DAY_IN_MS = 86400000;\r\n// Token renewal offset default in seconds\r\nconst DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;\n\nexport { AADAuthorityConstants, APP_METADATA, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme, AuthorityMetadataSource, CLIENT_INFO, CacheAccountType, CacheOutcome, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, DEFAULT_TOKEN_RENEWAL_OFFSET_SEC, Errors, GrantType, HeaderNames, HttpStatus, JsonWebTokenTypes, OIDC_DEFAULT_SCOPES, OIDC_SCOPES, ONE_DAY_IN_MS, PasswordGrantConstants, PersistentCacheKeys, PromptValue, RegionDiscoveryOutcomes, RegionDiscoverySources, ResponseCodes, ResponseMode, SERVER_TELEM_CONSTANTS, Separators, ServerResponseType, THE_FAMILY_ID, ThrottlingConstants };\n//# sourceMappingURL=Constants.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Wraps a function with a performance measurement.\r\n * Usage: invoke(functionToCall, performanceClient, \"EventName\", \"correlationId\")(...argsToPassToFunction)\r\n * @param callback\r\n * @param eventName\r\n * @param logger\r\n * @param telemetryClient\r\n * @param correlationId\r\n * @returns\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst invoke = (callback, eventName, logger, telemetryClient, correlationId) => {\r\n return (...args) => {\r\n logger.trace(`Executing function ${eventName}`);\r\n const inProgressEvent = telemetryClient?.startMeasurement(eventName, correlationId);\r\n if (correlationId) {\r\n // Track number of times this API is called in a single request\r\n const eventCount = eventName + \"CallCount\";\r\n telemetryClient?.incrementFields({ [eventCount]: 1 }, correlationId);\r\n }\r\n try {\r\n const result = callback(...args);\r\n inProgressEvent?.end({\r\n success: true,\r\n });\r\n logger.trace(`Returning result from ${eventName}`);\r\n return result;\r\n }\r\n catch (e) {\r\n logger.trace(`Error occurred in ${eventName}`);\r\n try {\r\n logger.trace(JSON.stringify(e));\r\n }\r\n catch (e) {\r\n logger.trace(\"Unable to print error message.\");\r\n }\r\n inProgressEvent?.end({\r\n success: false,\r\n }, e);\r\n throw e;\r\n }\r\n };\r\n};\r\n/**\r\n * Wraps an async function with a performance measurement.\r\n * Usage: invokeAsync(functionToCall, performanceClient, \"EventName\", \"correlationId\")(...argsToPassToFunction)\r\n * @param callback\r\n * @param eventName\r\n * @param logger\r\n * @param telemetryClient\r\n * @param correlationId\r\n * @returns\r\n * @internal\r\n *\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst invokeAsync = (callback, eventName, logger, telemetryClient, correlationId) => {\r\n return (...args) => {\r\n logger.trace(`Executing function ${eventName}`);\r\n const inProgressEvent = telemetryClient?.startMeasurement(eventName, correlationId);\r\n if (correlationId) {\r\n // Track number of times this API is called in a single request\r\n const eventCount = eventName + \"CallCount\";\r\n telemetryClient?.incrementFields({ [eventCount]: 1 }, correlationId);\r\n }\r\n telemetryClient?.setPreQueueTime(eventName, correlationId);\r\n return callback(...args)\r\n .then((response) => {\r\n logger.trace(`Returning result from ${eventName}`);\r\n inProgressEvent?.end({\r\n success: true,\r\n });\r\n return response;\r\n })\r\n .catch((e) => {\r\n logger.trace(`Error occurred in ${eventName}`);\r\n try {\r\n logger.trace(JSON.stringify(e));\r\n }\r\n catch (e) {\r\n logger.trace(\"Unable to print error message.\");\r\n }\r\n inProgressEvent?.end({\r\n success: false,\r\n }, e);\r\n throw e;\r\n });\r\n };\r\n};\n\nexport { invoke, invokeAsync };\n//# sourceMappingURL=FunctionWrappers.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { Constants } from './Constants.mjs';\nimport { createClientAuthError } from '../error/ClientAuthError.mjs';\nimport { noCryptoObject, invalidState } from '../error/ClientAuthErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class which provides helpers for OAuth 2.0 protocol specific values\r\n */\r\nclass ProtocolUtils {\r\n /**\r\n * Appends user state with random guid, or returns random guid.\r\n * @param userState\r\n * @param randomGuid\r\n */\r\n static setRequestState(cryptoObj, userState, meta) {\r\n const libraryState = ProtocolUtils.generateLibraryState(cryptoObj, meta);\r\n return userState\r\n ? `${libraryState}${Constants.RESOURCE_DELIM}${userState}`\r\n : libraryState;\r\n }\r\n /**\r\n * Generates the state value used by the common library.\r\n * @param randomGuid\r\n * @param cryptoObj\r\n */\r\n static generateLibraryState(cryptoObj, meta) {\r\n if (!cryptoObj) {\r\n throw createClientAuthError(noCryptoObject);\r\n }\r\n // Create a state object containing a unique id and the timestamp of the request creation\r\n const stateObj = {\r\n id: cryptoObj.createNewGuid(),\r\n };\r\n if (meta) {\r\n stateObj.meta = meta;\r\n }\r\n const stateString = JSON.stringify(stateObj);\r\n return cryptoObj.base64Encode(stateString);\r\n }\r\n /**\r\n * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.\r\n * @param state\r\n * @param cryptoObj\r\n */\r\n static parseRequestState(cryptoObj, state) {\r\n if (!cryptoObj) {\r\n throw createClientAuthError(noCryptoObject);\r\n }\r\n if (!state) {\r\n throw createClientAuthError(invalidState);\r\n }\r\n try {\r\n // Split the state between library state and user passed state and decode them separately\r\n const splitState = state.split(Constants.RESOURCE_DELIM);\r\n const libraryState = splitState[0];\r\n const userState = splitState.length > 1\r\n ? splitState.slice(1).join(Constants.RESOURCE_DELIM)\r\n : Constants.EMPTY_STRING;\r\n const libraryStateString = cryptoObj.base64Decode(libraryState);\r\n const libraryStateObj = JSON.parse(libraryStateString);\r\n return {\r\n userRequestState: userState || Constants.EMPTY_STRING,\r\n libraryState: libraryStateObj,\r\n };\r\n }\r\n catch (e) {\r\n throw createClientAuthError(invalidState);\r\n }\r\n }\r\n}\n\nexport { ProtocolUtils };\n//# sourceMappingURL=ProtocolUtils.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * @hidden\r\n */\r\nclass StringUtils {\r\n /**\r\n * Check if stringified object is empty\r\n * @param strObj\r\n */\r\n static isEmptyObj(strObj) {\r\n if (strObj) {\r\n try {\r\n const obj = JSON.parse(strObj);\r\n return Object.keys(obj).length === 0;\r\n }\r\n catch (e) { }\r\n }\r\n return true;\r\n }\r\n static startsWith(str, search) {\r\n return str.indexOf(search) === 0;\r\n }\r\n static endsWith(str, search) {\r\n return (str.length >= search.length &&\r\n str.lastIndexOf(search) === str.length - search.length);\r\n }\r\n /**\r\n * Parses string into an object.\r\n *\r\n * @param query\r\n */\r\n static queryStringToObject(query) {\r\n const obj = {};\r\n const params = query.split(\"&\");\r\n const decode = (s) => decodeURIComponent(s.replace(/\\+/g, \" \"));\r\n params.forEach((pair) => {\r\n if (pair.trim()) {\r\n const [key, value] = pair.split(/=(.+)/g, 2); // Split on the first occurence of the '=' character\r\n if (key && value) {\r\n obj[decode(key)] = decode(value);\r\n }\r\n }\r\n });\r\n return obj;\r\n }\r\n /**\r\n * Trims entries in an array.\r\n *\r\n * @param arr\r\n */\r\n static trimArrayEntries(arr) {\r\n return arr.map((entry) => entry.trim());\r\n }\r\n /**\r\n * Removes empty strings from array\r\n * @param arr\r\n */\r\n static removeEmptyStringsFromArray(arr) {\r\n return arr.filter((entry) => {\r\n return !!entry;\r\n });\r\n }\r\n /**\r\n * Attempts to parse a string into JSON\r\n * @param str\r\n */\r\n static jsonParseHelper(str) {\r\n try {\r\n return JSON.parse(str);\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n }\r\n /**\r\n * Tests if a given string matches a given pattern, with support for wildcards and queries.\r\n * @param pattern Wildcard pattern to string match. Supports \"*\" for wildcards and \"?\" for queries\r\n * @param input String to match against\r\n */\r\n static matchPattern(pattern, input) {\r\n /**\r\n * Wildcard support: https://stackoverflow.com/a/3117248/4888559\r\n * Queries: replaces \"?\" in string with escaped \"\\?\" for regex test\r\n */\r\n // eslint-disable-next-line security/detect-non-literal-regexp\r\n const regex = new RegExp(pattern\r\n .replace(/\\\\/g, \"\\\\\\\\\")\r\n .replace(/\\*/g, \"[^ ]*\")\r\n .replace(/\\?/g, \"\\\\?\"));\r\n return regex.test(input);\r\n }\r\n}\n\nexport { StringUtils };\n//# sourceMappingURL=StringUtils.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Utility functions for managing date and time operations.\r\n */\r\n/**\r\n * return the current time in Unix time (seconds).\r\n */\r\nfunction nowSeconds() {\r\n // Date.getTime() returns in milliseconds.\r\n return Math.round(new Date().getTime() / 1000.0);\r\n}\r\n/**\r\n * check if a token is expired based on given UTC time in seconds.\r\n * @param expiresOn\r\n */\r\nfunction isTokenExpired(expiresOn, offset) {\r\n // check for access token expiry\r\n const expirationSec = Number(expiresOn) || 0;\r\n const offsetCurrentTimeSec = nowSeconds() + offset;\r\n // If current time + offset is greater than token expiration time, then token is expired.\r\n return offsetCurrentTimeSec > expirationSec;\r\n}\r\n/**\r\n * If the current time is earlier than the time that a token was cached at, we must discard the token\r\n * i.e. The system clock was turned back after acquiring the cached token\r\n * @param cachedAt\r\n * @param offset\r\n */\r\nfunction wasClockTurnedBack(cachedAt) {\r\n const cachedAtSec = Number(cachedAt);\r\n return cachedAtSec > nowSeconds();\r\n}\r\n/**\r\n * Waits for t number of milliseconds\r\n * @param t number\r\n * @param value T\r\n */\r\nfunction delay(t, value) {\r\n return new Promise((resolve) => setTimeout(() => resolve(value), t));\r\n}\n\nexport { delay, isTokenExpired, nowSeconds, wasClockTurnedBack };\n//# sourceMappingURL=TimeUtils.mjs.map\n","/*! @azure/msal-common v14.14.2 2024-08-28 */\n'use strict';\nimport { createClientAuthError } from '../error/ClientAuthError.mjs';\nimport { hashNotDeserialized } from '../error/ClientAuthErrorCodes.mjs';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Parses hash string from given string. Returns empty string if no hash symbol is found.\r\n * @param hashString\r\n */\r\nfunction stripLeadingHashOrQuery(responseString) {\r\n if (responseString.startsWith(\"#/\")) {\r\n return responseString.substring(2);\r\n }\r\n else if (responseString.startsWith(\"#\") ||\r\n responseString.startsWith(\"?\")) {\r\n return responseString.substring(1);\r\n }\r\n return responseString;\r\n}\r\n/**\r\n * Returns URL hash as server auth code response object.\r\n */\r\nfunction getDeserializedResponse(responseString) {\r\n // Check if given hash is empty\r\n if (!responseString || responseString.indexOf(\"=\") < 0) {\r\n return null;\r\n }\r\n try {\r\n // Strip the # or ? symbol if present\r\n const normalizedResponse = stripLeadingHashOrQuery(responseString);\r\n // If # symbol was not present, above will return empty string, so give original hash value\r\n const deserializedHash = Object.fromEntries(new URLSearchParams(normalizedResponse));\r\n // Check for known response properties\r\n if (deserializedHash.code ||\r\n deserializedHash.error ||\r\n deserializedHash.error_description ||\r\n deserializedHash.state) {\r\n return deserializedHash;\r\n }\r\n }\r\n catch (e) {\r\n throw createClientAuthError(hashNotDeserialized);\r\n }\r\n return null;\r\n}\n\nexport { getDeserializedResponse, stripLeadingHashOrQuery };\n//# sourceMappingURL=UrlUtils.mjs.map\n"],"names":["DEFAULT_CRYPTO_IMPLEMENTATION","createNewGuid","base64Decode","base64Encode","base64UrlEncode","encodeKid","async","missingKidError","missingAlgError","JoseHeaderErrorMessages","JoseHeaderError","AuthError","constructor","errorCode","errorMessage","super","this","name","Object","setPrototypeOf","prototype","createJoseHeaderError","code","JoseHeader","options","typ","alg","kid","static","shrHeaderOptions","shrHeader","JSON","stringify","PopTokenGenerator","cryptoUtils","performanceClient","request","logger","addQueueMeasurement","correlationId","reqCnf","i","generateKid","bind","reqCnfString","getPublicKeyThumbprint","xms_ksl","accessToken","keyId","signPayload","payload","claims","resourceRequestMethod","resourceRequestUri","shrClaims","shrNonce","shrOptions","resourceUrlString","undefined","resourceUrlComponents","getUrlComponents","signJwt","at","ts","m","toUpperCase","u","HostNameAndPort","nonce","p","AbsolutePath","q","QueryString","client_claims","AuthErrorMessages","Error","suberror","subError","setCorrelationId","createAuthError","additionalMessage","unexpectedError","postRequestFailed","CacheErrorMessages","CacheError","message","cacheQuotaExceededErrorCode","cacheUnknownErrorCode","ClientAuthErrorMessages","ClientAuthError","createClientAuthError","clientInfoDecodingError","clientInfoEmptyError","tokenParsingError","nullOrEmptyToken","endpointResolutionError","networkError","openIdConfigError","hashNotDeserialized","invalidState","stateMismatch","stateNotFound","nonceMismatch","authTimeNotFound","maxAgeTranspired","multipleMatchingTokens","multipleMatchingAccounts","multipleMatchingAppMetadata","requestCannotBeMade","cannotRemoveEmptyScope","cannotAppendScopeSet","emptyInputScopeSet","deviceCodePollingCancelled","deviceCodeExpired","deviceCodeUnknownError","noAccountInSilentRequest","invalidCacheRecord","invalidCacheEnvironment","noAccountFound","noCryptoObject","unexpectedCredentialType","invalidAssertion","invalidClientCredential","tokenRefreshRequired","userTimeoutReached","tokenClaimsCnfRequiredForSignedJwt","authorizationCodeMissingFromServerResponse","bindingKeyNotRemoved","endSessionEndpointNotSupported","keyIdMissing","noNetworkConnectivity","userCanceled","missingTenantIdError","methodNotImplemented","nestedAppAuthBridgeDisabled","ClientConfigurationErrorMessages","ClientConfigurationError","createClientConfigurationError","redirectUriEmpty","claimsRequestParsingError","authorityUriInsecure","urlParseError","urlEmptyError","emptyInputScopesError","invalidPromptValue","invalidClaims","tokenRequestEmpty","logoutRequestEmpty","invalidCodeChallengeMethod","pkceParamsMissing","invalidCloudDiscoveryMetadata","invalidAuthorityMetadata","untrustedAuthority","missingSshJwk","missingSshKid","missingNonceAuthenticationHeader","invalidAuthenticationHeader","cannotSetOIDCOptions","cannotAllowNativeBroker","authorityMismatch","InteractionRequiredServerErrorMessage","InteractionRequiredAuthSubErrorMessage","InteractionRequiredAuthErrorMessages","InteractionRequiredAuthError","timestamp","traceId","errorNo","isInteractionRequiredError","errorString","isInteractionRequiredErrorCode","indexOf","isInteractionRequiredSubError","isInteractionRequiredErrorDesc","some","irErrorCode","createInteractionRequiredAuthError","noTokensFound","nativeAccountUnavailable","refreshTokenExpired","interactionRequired","consentRequired","loginRequired","badToken","ServerError","status","LogLevel","Logger","loggerOptions","packageName","packageVersion","level","Info","setLoggerOptions","createDefaultLoggerOptions","localCallback","loggerCallback","piiLoggingEnabled","logLevel","clone","logMessage","containsPii","log","Date","toUTCString","executeCallback","error","errorPii","warning","Warning","warningPii","info","infoPii","verbose","Verbose","verbosePii","trace","Trace","tracePii","isPiiLoggingEnabled","StubbedNetworkModule","sendGetRequestAsync","Promise","reject","sendPostRequestAsync","NetworkManager","networkClient","cacheManager","thumbprint","tokenEndpoint","response","e","ThrottlingUtils","key","generateThrottlingStorageKey","value","getThrottlingCache","throttleTime","now","removeItem","errorCodes","join","checkResponseStatus","checkResponseForRetryAfter","thumbprintValue","calculateThrottleTime","parseInt","headers","body","error_codes","error_description","setThrottlingCache","hasOwnProperty","time","currentSeconds","Math","floor","min","clientId","homeAccountIdentifier","authority","scopes","authenticationScheme","sshKid","version","RequestParameterBuilder","parameters","Map","addResponseTypeCode","set","encodeURIComponent","addResponseTypeForTokenAndIdToken","addResponseMode","responseMode","addNativeBroker","addScopes","addOidcScopes","defaultScopes","includes","push","requestScopes","scopeSet","printScopes","addClientId","addRedirectUri","redirectUri","addPostLogoutRedirectUri","addIdTokenHint","idTokenHint","addDomainHint","domainHint","addLoginHint","loginHint","addCcsUpn","addCcsOid","clientInfo","uid","utid","addSid","sid","addClaims","clientCapabilities","mergedClaims","addClientCapabilitiesToClaims","addCorrelationId","addLibraryInfo","libraryInfo","sku","os","cpu","addApplicationTelemetry","appTelemetry","appName","appVersion","addPrompt","prompt","addState","state","addNonce","addCodeChallengeParams","codeChallenge","codeChallengeMethod","addAuthorizationCode","addDeviceCode","addRefreshToken","refreshToken","addCodeVerifier","codeVerifier","addClientSecret","clientSecret","addClientAssertion","clientAssertion","addClientAssertionType","clientAssertionType","addOboAssertion","oboAssertion","addRequestTokenUse","tokenUse","addGrantType","grantType","addClientInfo","addExtraQueryParameters","eQParams","entries","forEach","has","parse","length","values","addUsername","username","addPassword","password","addPopToken","cnfString","addSshJwk","sshJwkString","addServerTelemetry","serverTelemetryManager","generateCurrentRequestHeaderValue","generateLastRequestHeaderValue","addThrottling","addLogoutHint","logoutHint","createQueryString","queryParameterArray","Array","RequestValidator","promptValues","validateCodeChallengeMethod","ScopeSet","inputScopes","scopeArr","filteredInput","validateInputScopes","Set","scope","add","inputScopeString","split","containsOnlyOIDCScopes","removeScope","removeOIDCScopes","containsScope","lowerCaseScopes","printScopesLowerCase","lowerCaseScopesSet","toLowerCase","containsScopeSet","size","asArray","every","defaultScopeCount","defaultScope","appendScope","newScope","trim","appendScopes","newScopes","delete","unionScopeSets","otherScopes","unionScopes","intersectingScopeSets","sizeOtherScopes","getScopeCount","sizeThisScopes","array","val","ResponseHandler","cacheStorage","cryptoObj","serializableCache","persistencePlugin","validateServerAuthorizationCodeResponse","serverResponse","requestState","decodedServerResponseState","decodedRequestState","decodeURIComponent","serverErrorNo","errorCodePrefix","errorCodePrefixIndex","error_uri","lastIndexOf","substring","parseServerErrorNo","trace_id","correlation_id","validateTokenResponse","refreshAccessToken","errString","serverError","serverTokenResponse","reqTimestamp","authCodePayload","userAssertionHash","handlingRefreshTokenResponse","forceCacheRefreshTokenResponse","serverRequestId","idTokenClaims","requestStateObj","id_token","maxAge","authTime","auth_time","client_info","authorityType","key_id","cacheRecord","generateCacheRecord","cacheContext","beforeCacheAccess","account","generateAccountKey","getAccount","generateAuthenticationResult","saveCacheRecord","storeInCache","afterCacheAccess","env","getPreferredCache","claimsTenantId","cachedIdToken","cachedAccount","buildAccountToCache","cachedAccessToken","access_token","responseScopes","expiresIn","expires_in","extExpiresIn","ext_expires_in","refreshIn","refresh_in","tokenExpirationSeconds","extendedTokenExpirationSeconds","refreshOnSeconds","tenant","token_type","requestedClaimsHash","cachedRefreshToken","refresh_token","rtExpiresOn","refresh_token_expires_in","foci","cachedAppMetadata","environment","familyId","idToken","appMetadata","fromTokenCache","requestId","extExpiresOn","refreshOn","expiresOn","tokenType","popKid","secret","popTokenGenerator","signPopToken","target","Number","extendedExpiresOn","oid","sub","tid","spa_accountid","nativeAccountId","accountInfo","getAccountInfo","canonicalAuthority","uniqueId","tenantId","fromCache","userRequestState","cloudGraphHostName","msGraphHost","spa_code","fromNativeBroker","homeAccountId","baseAccountKey","getAccountKeys","find","accountKey","startsWith","baseAccount","cloud_graph_host_name","msgraph_host","tenantProfiles","realm","tenantProfile","newTenantProfile","localAccountId","PerformanceEvents","AcquireTokenByCode","AcquireTokenByRefreshToken","AcquireTokenSilent","AcquireTokenSilentAsync","AcquireTokenPopup","AcquireTokenPreRedirect","AcquireTokenRedirect","CryptoOptsGetPublicKeyThumbprint","CryptoOptsSignJwt","SilentCacheClientAcquireToken","SilentIframeClientAcquireToken","AwaitConcurrentIframe","SilentRefreshClientAcquireToken","SsoSilent","StandardInteractionClientGetDiscoveredAuthority","FetchAccountIdWithNativeBroker","NativeInteractionClientAcquireToken","BaseClientCreateTokenRequestHeaders","RefreshTokenClientExecutePostToTokenEndpoint","AuthorizationCodeClientExecutePostToTokenEndpoint","BrokerHandhshake","AcquireTokenByRefreshTokenInBroker","AcquireTokenByBroker","RefreshTokenClientExecuteTokenRequest","RefreshTokenClientAcquireToken","RefreshTokenClientAcquireTokenWithCachedRefreshToken","RefreshTokenClientAcquireTokenByRefreshToken","RefreshTokenClientCreateTokenRequestBody","AcquireTokenFromCache","SilentFlowClientAcquireCachedToken","SilentFlowClientGenerateResultFromCacheRecord","AcquireTokenBySilentIframe","InitializeBaseRequest","InitializeSilentRequest","InitializeClientApplication","SilentIframeClientTokenHelper","SilentHandlerInitiateAuthRequest","SilentHandlerMonitorIframeForHash","SilentHandlerLoadFrame","SilentHandlerLoadFrameSync","StandardInteractionClientCreateAuthCodeClient","StandardInteractionClientGetClientConfiguration","StandardInteractionClientInitializeAuthorizationRequest","StandardInteractionClientInitializeAuthorizationCodeRequest","GetAuthCodeUrl","HandleCodeResponseFromServer","HandleCodeResponse","UpdateTokenEndpointAuthority","AuthClientAcquireToken","AuthClientExecuteTokenRequest","AuthClientCreateTokenRequestBody","AuthClientCreateQueryString","PopTokenGenerateCnf","PopTokenGenerateKid","HandleServerTokenResponse","DeserializeResponse","AuthorityFactoryCreateDiscoveredInstance","AuthorityResolveEndpointsAsync","AuthorityResolveEndpointsFromLocalSources","AuthorityGetCloudDiscoveryMetadataFromNetwork","AuthorityUpdateCloudDiscoveryMetadata","AuthorityGetEndpointMetadataFromNetwork","AuthorityUpdateEndpointMetadata","AuthorityUpdateMetadataWithRegionalInformation","RegionDiscoveryDetectRegion","RegionDiscoveryGetRegionFromIMDS","RegionDiscoveryGetCurrentVersion","AcquireTokenByCodeAsync","GetEndpointMetadataFromNetwork","GetCloudDiscoveryMetadataFromNetworkMeasurement","HandleRedirectPromiseMeasurement","HandleNativeRedirectPromiseMeasurement","UpdateCloudDiscoveryMetadataMeasurement","UsernamePasswordClientAcquireToken","NativeMessageHandlerHandshake","NativeGenerateAuthResult","RemoveHiddenIframe","ClearTokensAndKeysWithClaims","CacheManagerGetRefreshToken","GeneratePkceCodes","GenerateCodeVerifier","GenerateCodeChallengeFromVerifier","Sha256Digest","GetRandomValues","PerformanceEventStatus","NotStarted","InProgress","Completed","StubPerformanceMeasurement","startMeasurement","endMeasurement","flushMeasurement","StubPerformanceClient","generateId","measureName","end","discard","increment","event","eventId","libraryName","libraryVersion","startTimeMs","measurement","startPerformanceMeasurement","calculateQueuedTime","setPreQueueTime","discardMeasurements","removePerformanceCallback","addPerformanceCallback","emitEvents","addFields","incrementFields","cacheEventByCorrelationId","skuGroupSeparator","skuValueSeparator","ServerTelemetryManager","telemetryRequest","cacheOutcome","apiId","wrapperSKU","wrapperVer","telemetryCacheKey","platformFieldsArr","nativeBrokerErrorCode","getNativeBrokerErrorCode","platformFields","requestWithRegionDiscoveryFields","getRegionDiscoveryFields","lastRequests","getLastRequests","maxErrors","maxErrorsToSend","failedRequests","slice","errors","errorCount","cacheHits","cacheFailedRequest","shift","toString","setServerTelemetry","incrementCacheHits","getServerTelemetry","clearTelemetryCache","numErrorsFlushed","serverTelemEntity","serverTelemetryEntity","dataSize","regionDiscoveryFields","regionUsed","regionSource","regionOutcome","updateRegionDiscoveryMetadata","regionDiscoveryMetadata","region_used","region_source","region_outcome","setCacheOutcome","setNativeBrokerErrorCode","clearNativeBrokerErrorCode","params","skus","extensionName","extensionVersion","skuMap","skuArr","from","index","skuName","skuVersion","setSku","makeExtraSkuString","UrlString","urlString","_urlString","url","canonicalizeUri","lowerCaseUrl","validateAsUri","components","PathSegments","Protocol","queryString","replaceTenantPath","urlObject","pathArray","constructAuthorityUriFromObject","regEx","RegExp","match","urlComponents","pathSegments","filter","endsWith","relativeUrl","baseUrl","baseComponents","getClientAssertion","Constants","LIBRARY_NAME","SKU","CACHE_PREFIX","DEFAULT_AUTHORITY","DEFAULT_AUTHORITY_HOST","DEFAULT_COMMON_TENANT","ADFS","DSTS","AAD_INSTANCE_DISCOVERY_ENDPT","CIAM_AUTH_URL","AAD_TENANT_DOMAIN_SUFFIX","RESOURCE_DELIM","NO_ACCOUNT","CLAIMS","CONSUMER_UTID","OPENID_SCOPE","PROFILE_SCOPE","OFFLINE_ACCESS_SCOPE","EMAIL_SCOPE","CODE_RESPONSE_TYPE","CODE_GRANT_TYPE","RT_GRANT_TYPE","FRAGMENT_RESPONSE_MODE","S256_CODE_CHALLENGE_METHOD","URL_FORM_CONTENT_TYPE","AUTHORIZATION_PENDING","NOT_DEFINED","EMPTY_STRING","NOT_APPLICABLE","NOT_AVAILABLE","FORWARD_SLASH","IMDS_ENDPOINT","IMDS_VERSION","IMDS_TIMEOUT","AZURE_REGION_AUTO_DISCOVER_FLAG","REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX","KNOWN_PUBLIC_CLOUDS","TOKEN_RESPONSE_TYPE","ID_TOKEN_RESPONSE_TYPE","SHR_NONCE_VALIDITY","INVALID_INSTANCE","HttpStatus","SUCCESS","SUCCESS_RANGE_START","SUCCESS_RANGE_END","REDIRECT","CLIENT_ERROR","CLIENT_ERROR_RANGE_START","BAD_REQUEST","UNAUTHORIZED","NOT_FOUND","REQUEST_TIMEOUT","TOO_MANY_REQUESTS","CLIENT_ERROR_RANGE_END","SERVER_ERROR","SERVER_ERROR_RANGE_START","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","SERVER_ERROR_RANGE_END","MULTI_SIDED_ERROR","OIDC_DEFAULT_SCOPES","OIDC_SCOPES","HeaderNames","CONTENT_TYPE","RETRY_AFTER","CCS_HEADER","WWWAuthenticate","AuthenticationInfo","X_MS_REQUEST_ID","X_MS_HTTP_VERSION","PersistentCacheKeys","ID_TOKEN","CLIENT_INFO","ADAL_ID_TOKEN","ERROR","ERROR_DESC","ACTIVE_ACCOUNT","ACTIVE_ACCOUNT_FILTERS","AADAuthorityConstants","COMMON","ORGANIZATIONS","CONSUMERS","ClaimsRequestKeys","ACCESS_TOKEN","XMS_CC","PromptValue","LOGIN","SELECT_ACCOUNT","CONSENT","NONE","CREATE","NO_SESSION","CodeChallengeMethodValues","PLAIN","S256","ServerResponseType","QUERY","FRAGMENT","ResponseMode","FORM_POST","GrantType","IMPLICIT_GRANT","AUTHORIZATION_CODE_GRANT","CLIENT_CREDENTIALS_GRANT","RESOURCE_OWNER_PASSWORD_GRANT","REFRESH_TOKEN_GRANT","DEVICE_CODE_GRANT","JWT_BEARER","CacheAccountType","MSSTS_ACCOUNT_TYPE","ADFS_ACCOUNT_TYPE","MSAV1_ACCOUNT_TYPE","GENERIC_ACCOUNT_TYPE","Separators","CACHE_KEY_SEPARATOR","CLIENT_INFO_SEPARATOR","CredentialType","ACCESS_TOKEN_WITH_AUTH_SCHEME","REFRESH_TOKEN","APP_METADATA","THE_FAMILY_ID","AUTHORITY_METADATA_CONSTANTS","CACHE_KEY","REFRESH_TIME_SECONDS","AuthorityMetadataSource","CONFIG","CACHE","NETWORK","HARDCODED_VALUES","SERVER_TELEM_CONSTANTS","SCHEMA_VERSION","MAX_CUR_HEADER_BYTES","MAX_LAST_HEADER_BYTES","MAX_CACHED_ERRORS","CATEGORY_SEPARATOR","VALUE_SEPARATOR","OVERFLOW_TRUE","OVERFLOW_FALSE","UNKNOWN_ERROR","AuthenticationScheme","BEARER","POP","SSH","ThrottlingConstants","DEFAULT_THROTTLE_TIME_SECONDS","DEFAULT_MAX_THROTTLE_TIME_SECONDS","THROTTLING_PREFIX","X_MS_LIB_CAPABILITY_VALUE","Errors","INVALID_GRANT_ERROR","CLIENT_MISMATCH_ERROR","PasswordGrantConstants","ResponseCodes","httpSuccess","httpBadRequest","RegionDiscoverySources","FAILED_AUTO_DETECTION","INTERNAL_CACHE","ENVIRONMENT_VARIABLE","IMDS","RegionDiscoveryOutcomes","CONFIGURED_MATCHES_DETECTED","CONFIGURED_NO_AUTO_DETECTION","CONFIGURED_NOT_DETECTED","AUTO_DETECTION_REQUESTED_SUCCESSFUL","AUTO_DETECTION_REQUESTED_FAILED","CacheOutcome","FORCE_REFRESH_OR_CLAIMS","NO_CACHED_ACCESS_TOKEN","CACHED_ACCESS_TOKEN_EXPIRED","PROACTIVELY_REFRESHED","JsonWebTokenTypes","Jwt","Jwk","Pop","DEFAULT_TOKEN_RENEWAL_OFFSET_SEC","invoke","callback","eventName","telemetryClient","args","inProgressEvent","eventCount","result","success","invokeAsync","then","catch","ProtocolUtils","userState","meta","libraryState","generateLibraryState","stateObj","id","stateString","splitState","libraryStateString","libraryStateObj","StringUtils","strObj","obj","keys","str","search","query","decode","s","replace","pair","arr","map","entry","pattern","input","test","nowSeconds","round","getTime","isTokenExpired","offset","expirationSec","wasClockTurnedBack","cachedAt","stripLeadingHashOrQuery","responseString","getDeserializedResponse","normalizedResponse","deserializedHash","fromEntries","URLSearchParams"],"sourceRoot":""}