{"version":3,"file":"js/2780.js","mappings":"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","sources":["webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/boot/init.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/browser/addEventListener.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/browser/pageExitObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/browser/runOnReadyState.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/configuration/intakeSites.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/connectivity/connectivity.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/error/error.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/error/error.types.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/telemetry/rawTelemetryEvent.types.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/telemetry/telemetry.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/boundedBuffer.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/catchUserErrors.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/display.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/experimentalFeatures.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/getGlobalObject.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/getZoneJsOriginalValue.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/instrumentMethod.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/mergeInto.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/monitor.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/observable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/requestIdleCallback.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/sendToExtension.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/serialisation/jsonStringify.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/serialisation/sanitize.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/stackTrace/computeStackTrace.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/stackTrace/handlingStack.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/timer.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/arrayUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/browserDetection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/byteUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/functionUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/numberUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/objectUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/polyfills.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/responseUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/timeUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/typeUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/urlPolyfill.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/transport/eventBridge.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/transport/sendWithRetryStrategy.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/transport/httpRequest.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/context/customerDataTracker.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/context/contextManager.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/trackingConsent.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/context/storeContextManager.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/encoder.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/user/user.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/boot/displayAlreadyInitializedError.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/utils/stringUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/vital/vitalCollection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/plugins.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/browser/fetchObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/browser/cookie.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/synthetics/syntheticsWorkerValues.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionStoreStrategy.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/sessionConstants.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/sessionStateValidation.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/sessionState.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/oldCookiesMigration.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInCookie.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInLocalStorage.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/sessionStoreOperations.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/sessionStore.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/configuration/endpointBuilder.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/configuration/tags.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/configuration/transportConfiguration.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/configuration/configuration.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/matchOption.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/crypto.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/identifier.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/tracer.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/sampler.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/configuration/configuration.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/configuration/remoteConfiguration.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/boot/preStartRum.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/boot/rumPublicApi.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/commonContext.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/domMutationObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/eventRateLimiter/createEventRateLimiter.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/syntheticsContext.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/limitModification.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/assembly.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/lifeCycle.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/abstractLifeCycle.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/valueHistory.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/viewHistory.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/browser/xhrObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/requestCollection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/readBytesFromStream.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/discardNegativeDuration.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/trackEventCounts.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/firstInputPolyfill.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/performanceObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/waitPageActivityEnd.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/htmlDomUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/privacy.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/action/getActionNameFromElement.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/getSelectorFromElement.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/action/clickChain.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/action/listenActionEvents.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/action/computeFrustration.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/action/interactionSelectorCache.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/action/trackClickActions.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/action/actionCollection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/error/trackRuntimeError.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/console/consoleObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/report/reportObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/error/errorCollection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/error/trackConsoleError.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/error/trackReportError.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/tools/taskQueue.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/resource/matchRequestResourceEntry.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/getDocumentTraceId.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/performanceUtils.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/resource/retrieveInitialDocumentResourceTiming.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceCollection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackNavigationTimings.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstHidden.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInitialViewMetrics.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstInput.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/interactionCountPolyfill.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/scroll.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/viewportObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackScrollMetrics.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCommonViewMetrics.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLoadingTime.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/trackViews.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/trackViewEventCounts.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewCollection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/domain/session/sessionManager.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/rumSessionManager.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/transport/batch.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/transport/flushController.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/transport/startRumBatch.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-core/esm/transport/startBatchWithReplica.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/urlContexts.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/locationChangeObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/featureFlagContext.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/startCustomerDataTelemetry.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/pageStateHistory.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/cookieObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/ciVisibilityContext.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/boot/startRum.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/transport/startRumEventBridge.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/browser/windowOpenObservable.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/displayContext.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/longAnimationFrame/longAnimationFrameCollection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/longTask/longTaskCollection.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/internalContext.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum-core/esm/domain/getSessionReplayUrl.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/domain/replayStats.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/domain/deflate/deflateEncoder.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/domain/deflate/deflateWorker.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/boot/isBrowserSupported.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/domain/getSessionReplayLink.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/boot/postStartStrategy.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/entries/main.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/boot/recorderApi.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/boot/preStartStrategy.js","webpack://bizsignupnodeweb/./node_modules/@datadog/browser-rum/esm/boot/lazyLoadRecorder.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Address.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Alert.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/BlankState.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Button.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/ButtonGroup.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Calendar.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Card.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Checkbox.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/CheckboxGroup.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Col.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Container.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/DateInput.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Dropdown.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/FileDragAndDrop.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/FileUpload.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Form.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/FormField.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/FormFieldAddOn.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/FormLabel.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/FormNote.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/FormRow.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Glyph.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Input.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/InputGroup.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/InputGroupSection.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Modal.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/ModalBody.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/ModalFooter.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/ModalHeader.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Name.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Pagination.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Panel.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/PanelBody.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/PanelHeader.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Phone.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Pill.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Popover.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/ProgressBar.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Radio.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/RadioGroup.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/ResponsiveText.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Row.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Section.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/SectionAction.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/SectionBody.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/SectionHeader.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/SegmentedControl.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Select.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/SelectableInput.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Spinner.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Survey.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Table.js","webpack://bizsignupnodeweb/./node_modules/kepler/lib/components/Tabs.js"],"sourcesContent":["import { catchUserErrors } from '../tools/catchUserErrors';\nimport { setDebugMode } from '../tools/monitor';\nimport { display } from '../tools/display';\nexport function makePublicApi(stub) {\n const publicApi = {\n version: \"6.1.0\",\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady(callback) {\n callback();\n },\n ...stub,\n };\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get() {\n return setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nexport function defineGlobal(global, name, api) {\n const existingGlobalVariable = global[name];\n if (existingGlobalVariable && !existingGlobalVariable.q && existingGlobalVariable.version) {\n display.warn('SDK is loaded more than once. This is unsupported and might have unexpected behavior.');\n }\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach((fn) => catchUserErrors(fn, 'onReady callback threw an error:')());\n }\n}\n//# sourceMappingURL=init.js.map","import { monitor } from '../tools/monitor';\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue';\n/**\n * Add an event listener to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nexport function addEventListener(configuration, eventTarget, eventName, listener, options) {\n return addEventListeners(configuration, eventTarget, [eventName], listener, options);\n}\n/**\n * Add event listeners to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nexport function addEventListeners(configuration, eventTarget, eventNames, listener, { once, capture, passive } = {}) {\n const listenerWithMonitor = monitor((event) => {\n if (!event.isTrusted && !event.__ddIsTrusted && !configuration.allowUntrustedEvents) {\n return;\n }\n if (once) {\n stop();\n }\n listener(event);\n });\n const options = passive ? { capture, passive } : capture;\n // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)\n const listenerTarget = window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget;\n const add = getZoneJsOriginalValue(listenerTarget, 'addEventListener');\n eventNames.forEach((eventName) => add.call(eventTarget, eventName, listenerWithMonitor, options));\n function stop() {\n const remove = getZoneJsOriginalValue(listenerTarget, 'removeEventListener');\n eventNames.forEach((eventName) => remove.call(eventTarget, eventName, listenerWithMonitor, options));\n }\n return {\n stop,\n };\n}\n//# sourceMappingURL=addEventListener.js.map","import { Observable } from '../tools/observable';\nimport { objectValues } from '../tools/utils/polyfills';\nimport { addEventListeners, addEventListener } from './addEventListener';\nexport const PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n};\nexport function createPageExitObservable(configuration) {\n return new Observable((observable) => {\n const { stop: stopListeners } = addEventListeners(configuration, window, [\"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */, \"freeze\" /* DOM_EVENT.FREEZE */], (event) => {\n if (event.type === \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */ && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN });\n }\n else if (event.type === \"freeze\" /* DOM_EVENT.FREEZE */) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN });\n }\n }, { capture: true });\n const stopBeforeUnloadListener = addEventListener(configuration, window, \"beforeunload\" /* DOM_EVENT.BEFORE_UNLOAD */, () => {\n observable.notify({ reason: PageExitReason.UNLOADING });\n }).stop;\n return () => {\n stopListeners();\n stopBeforeUnloadListener();\n };\n });\n}\nexport function isPageExitReason(reason) {\n return objectValues(PageExitReason).includes(reason);\n}\n//# sourceMappingURL=pageExitObservable.js.map","import { noop } from '../tools/utils/functionUtils';\nimport { addEventListener } from './addEventListener';\nexport function runOnReadyState(configuration, expectedReadyState, callback) {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback();\n return { stop: noop };\n }\n const eventName = expectedReadyState === 'complete' ? \"load\" /* DOM_EVENT.LOAD */ : \"DOMContentLoaded\" /* DOM_EVENT.DOM_CONTENT_LOADED */;\n return addEventListener(configuration, window, eventName, callback, { once: true });\n}\nexport function asyncRunOnReadyState(configuration, expectedReadyState) {\n return new Promise((resolve) => {\n runOnReadyState(configuration, expectedReadyState, resolve);\n });\n}\n//# sourceMappingURL=runOnReadyState.js.map","export const INTAKE_SITE_STAGING = 'datad0g.com';\nexport const INTAKE_SITE_FED_STAGING = 'dd0g-gov.com';\nexport const INTAKE_SITE_US1 = 'datadoghq.com';\nexport const INTAKE_SITE_EU1 = 'datadoghq.eu';\nexport const INTAKE_SITE_US1_FED = 'ddog-gov.com';\nexport const PCI_INTAKE_HOST_US1 = 'pci.browser-intake-datadoghq.com';\nexport const INTAKE_URL_PARAMETERS = ['ddsource', 'ddtags'];\n//# sourceMappingURL=intakeSites.js.map","export function getConnectivity() {\n var _a;\n const navigator = window.navigator;\n return {\n status: navigator.onLine ? 'connected' : 'not_connected',\n interfaces: navigator.connection && navigator.connection.type ? [navigator.connection.type] : undefined,\n effective_type: (_a = navigator.connection) === null || _a === void 0 ? void 0 : _a.effectiveType,\n };\n}\n//# sourceMappingURL=connectivity.js.map","import { sanitize } from '../../tools/serialisation/sanitize';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nexport const NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';\nexport function computeRawError({ stackTrace, originalError, handlingStack, componentStack, startClocks, nonErrorPrefix, source, handling, }) {\n const isErrorInstance = isError(originalError);\n const message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);\n const stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE;\n const causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;\n const type = stackTrace ? stackTrace.name : undefined;\n const fingerprint = tryToGetFingerprint(originalError);\n return {\n startClocks,\n source,\n handling,\n handlingStack,\n componentStack,\n originalError,\n type,\n message,\n stack,\n causes,\n fingerprint,\n };\n}\nfunction computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.message) && (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name)\n ? stackTrace.message\n : !isErrorInstance\n ? `${nonErrorPrefix} ${jsonStringify(sanitize(originalError))}`\n : 'Empty message';\n}\nfunction hasUsableStack(isErrorInstance, stackTrace) {\n if (stackTrace === undefined) {\n return false;\n }\n if (isErrorInstance) {\n return true;\n }\n // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]\n // TODO rework tracekit integration to avoid generating those unusable stack\n return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined);\n}\nexport function tryToGetFingerprint(originalError) {\n return isError(originalError) && 'dd_fingerprint' in originalError ? String(originalError.dd_fingerprint) : undefined;\n}\nexport function getFileFromStackTraceString(stack) {\n var _a;\n return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];\n}\nexport function isError(error) {\n return error instanceof Error || Object.prototype.toString.call(error) === '[object Error]';\n}\nexport function flattenErrorCauses(error, parentSource) {\n let currentError = error;\n const causes = [];\n while (isError(currentError === null || currentError === void 0 ? void 0 : currentError.cause) && causes.length < 10) {\n const stackTrace = computeStackTrace(currentError.cause);\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace),\n });\n currentError = currentError.cause;\n }\n return causes.length ? causes : undefined;\n}\n//# sourceMappingURL=error.js.map","export const ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n};\n//# sourceMappingURL=error.types.js.map","export const TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n usage: 'usage',\n};\n//# sourceMappingURL=rawTelemetryEvent.types.js.map","import { ConsoleApiName } from '../../tools/display';\nimport { NO_ERROR_STACK_PRESENT_MESSAGE, isError } from '../error/error';\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nimport { getExperimentalFeatures } from '../../tools/experimentalFeatures';\nimport { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../configuration';\nimport { Observable } from '../../tools/observable';\nimport { timeStampNow } from '../../tools/utils/timeUtils';\nimport { displayIfDebugEnabled, startMonitorErrorCollection } from '../../tools/monitor';\nimport { sendToExtension } from '../../tools/sendToExtension';\nimport { performDraw } from '../../tools/utils/numberUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { combine } from '../../tools/mergeInto';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { getConnectivity } from '../connectivity';\nimport { createBoundedBuffer } from '../../tools/boundedBuffer';\nimport { TelemetryType } from './rawTelemetryEvent.types';\nconst ALLOWED_FRAME_URLS = [\n 'https://www.datadoghq-browser-agent.com',\n 'https://www.datad0g-browser-agent.com',\n 'https://d3uc069fcn7uxw.cloudfront.net',\n 'https://d20xtzwzcl0ceb.cloudfront.net',\n 'http://localhost',\n '',\n];\nconst TELEMETRY_EXCLUDED_SITES = [INTAKE_SITE_US1_FED];\n// eslint-disable-next-line local-rules/disallow-side-effects\nlet preStartTelemetryBuffer = createBoundedBuffer();\nlet onRawTelemetryEventCollected = (event) => {\n preStartTelemetryBuffer.add(() => onRawTelemetryEventCollected(event));\n};\nexport function startTelemetry(telemetryService, configuration) {\n let contextProvider;\n const observable = new Observable();\n const alreadySentEvents = new Set();\n const telemetryEnabled = !TELEMETRY_EXCLUDED_SITES.includes(configuration.site) && performDraw(configuration.telemetrySampleRate);\n const telemetryEnabledPerType = {\n [TelemetryType.log]: telemetryEnabled,\n [TelemetryType.configuration]: telemetryEnabled && performDraw(configuration.telemetryConfigurationSampleRate),\n [TelemetryType.usage]: telemetryEnabled && performDraw(configuration.telemetryUsageSampleRate),\n };\n const runtimeEnvInfo = getRuntimeEnvInfo();\n onRawTelemetryEventCollected = (rawEvent) => {\n const stringifiedEvent = jsonStringify(rawEvent);\n if (telemetryEnabledPerType[rawEvent.type] &&\n alreadySentEvents.size < configuration.maxTelemetryEventsPerPage &&\n !alreadySentEvents.has(stringifiedEvent)) {\n const event = toTelemetryEvent(telemetryService, rawEvent, runtimeEnvInfo);\n observable.notify(event);\n sendToExtension('telemetry', event);\n alreadySentEvents.add(stringifiedEvent);\n }\n };\n startMonitorErrorCollection(addTelemetryError);\n function toTelemetryEvent(telemetryService, event, runtimeEnvInfo) {\n return combine({\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: \"6.1.0\",\n source: 'browser',\n _dd: {\n format_version: 2,\n },\n telemetry: combine(event, {\n runtime_env: runtimeEnvInfo,\n connectivity: getConnectivity(),\n sdk_setup: \"npm\",\n }),\n experimental_features: Array.from(getExperimentalFeatures()),\n }, contextProvider !== undefined ? contextProvider() : {});\n }\n return {\n setContextProvider: (provider) => {\n contextProvider = provider;\n },\n observable,\n enabled: telemetryEnabled,\n };\n}\nfunction getRuntimeEnvInfo() {\n return {\n is_local_file: window.location.protocol === 'file:',\n is_worker: 'WorkerGlobalScope' in self,\n };\n}\nexport function startFakeTelemetry() {\n const events = [];\n onRawTelemetryEventCollected = (event) => {\n events.push(event);\n };\n return events;\n}\n// need to be called after telemetry context is provided and observers are registered\nexport function drainPreStartTelemetry() {\n preStartTelemetryBuffer.drain();\n}\nexport function resetTelemetry() {\n preStartTelemetryBuffer = createBoundedBuffer();\n onRawTelemetryEventCollected = (event) => {\n preStartTelemetryBuffer.add(() => onRawTelemetryEventCollected(event));\n };\n}\n/**\n * Avoid mixing telemetry events from different data centers\n * but keep replicating staging events for reliability\n */\nexport function isTelemetryReplicationAllowed(configuration) {\n return configuration.site === INTAKE_SITE_STAGING;\n}\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context);\n onRawTelemetryEventCollected({\n type: TelemetryType.log,\n message,\n status: \"debug\" /* StatusType.debug */,\n ...context,\n });\n}\nexport function addTelemetryError(e, context) {\n onRawTelemetryEventCollected({\n type: TelemetryType.log,\n status: \"error\" /* StatusType.error */,\n ...formatError(e),\n ...context,\n });\n}\nexport function addTelemetryConfiguration(configuration) {\n onRawTelemetryEventCollected({\n type: TelemetryType.configuration,\n configuration,\n });\n}\nexport function addTelemetryUsage(usage) {\n onRawTelemetryEventCollected({\n type: TelemetryType.usage,\n usage,\n });\n}\nexport function formatError(e) {\n if (isError(e)) {\n const stackTrace = computeStackTrace(e);\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace)),\n },\n message: stackTrace.message,\n };\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE,\n },\n message: `${\"Uncaught\" /* NonErrorPrefix.UNCAUGHT */} ${jsonStringify(e)}`,\n };\n}\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter((frame) => !frame.url || ALLOWED_FRAME_URLS.some((allowedFrameUrl) => frame.url.startsWith(allowedFrameUrl)));\n return stackTrace;\n}\n//# sourceMappingURL=telemetry.js.map","import { removeItem } from './utils/arrayUtils';\nconst BUFFER_LIMIT = 500;\nexport function createBoundedBuffer() {\n const buffer = [];\n const add = (callback) => {\n const length = buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n buffer.splice(0, 1);\n }\n };\n const remove = (callback) => {\n removeItem(buffer, callback);\n };\n const drain = (arg) => {\n buffer.forEach((callback) => callback(arg));\n buffer.length = 0;\n };\n return {\n add,\n remove,\n drain,\n };\n}\n//# sourceMappingURL=boundedBuffer.js.map","import { display } from './display';\nexport function catchUserErrors(fn, errorMsg) {\n return (...args) => {\n try {\n return fn(...args);\n }\n catch (err) {\n display.error(errorMsg, err);\n }\n };\n}\n//# sourceMappingURL=catchUserErrors.js.map","/* eslint-disable local-rules/disallow-side-effects */\n/**\n * Keep references on console methods to avoid triggering patched behaviors\n *\n * NB: in some setup, console could already be patched by another SDK.\n * In this case, some display messages can be sent by the other SDK\n * but we should be safe from infinite loop nonetheless.\n */\nexport const ConsoleApiName = {\n log: 'log',\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n};\n/**\n * When building JS bundles, some users might use a plugin[1] or configuration[2] to remove\n * \"console.*\" references. This causes some issue as we expect `console.*` to be defined.\n * As a workaround, let's use a variable alias, so those expressions won't be taken into account by\n * simple static analysis.\n *\n * [1]: https://babeljs.io/docs/babel-plugin-transform-remove-console/\n * [2]: https://github.com/terser/terser#compress-options (look for drop_console)\n */\nexport const globalConsole = console;\nexport const originalConsoleMethods = {};\nObject.keys(ConsoleApiName).forEach((name) => {\n originalConsoleMethods[name] = globalConsole[name];\n});\nconst PREFIX = 'Datadog Browser SDK:';\nexport const display = {\n debug: originalConsoleMethods.debug.bind(globalConsole, PREFIX),\n log: originalConsoleMethods.log.bind(globalConsole, PREFIX),\n info: originalConsoleMethods.info.bind(globalConsole, PREFIX),\n warn: originalConsoleMethods.warn.bind(globalConsole, PREFIX),\n error: originalConsoleMethods.error.bind(globalConsole, PREFIX),\n};\nexport const DOCS_ORIGIN = 'https://docs.datadoghq.com';\nexport const DOCS_TROUBLESHOOTING = `${DOCS_ORIGIN}/real_user_monitoring/browser/troubleshooting`;\nexport const MORE_DETAILS = 'More details:';\n//# sourceMappingURL=display.js.map","/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n *\n * FORMAT:\n * All feature flags should be snake_cased\n */\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected feature flag\nimport { objectHasValue } from './utils/objectUtils';\n// eslint-disable-next-line no-restricted-syntax\nexport var ExperimentalFeature;\n(function (ExperimentalFeature) {\n ExperimentalFeature[\"WRITABLE_RESOURCE_GRAPHQL\"] = \"writable_resource_graphql\";\n ExperimentalFeature[\"REMOTE_CONFIGURATION\"] = \"remote_configuration\";\n ExperimentalFeature[\"ACTION_NAME_MASKING\"] = \"action_name_masking\";\n ExperimentalFeature[\"CONSISTENT_TRACE_SAMPLING\"] = \"consistent_trace_sampling\";\n})(ExperimentalFeature || (ExperimentalFeature = {}));\nconst enabledExperimentalFeatures = new Set();\nexport function initFeatureFlags(enableExperimentalFeatures) {\n if (Array.isArray(enableExperimentalFeatures)) {\n addExperimentalFeatures(enableExperimentalFeatures.filter((flag) => objectHasValue(ExperimentalFeature, flag)));\n }\n}\nexport function addExperimentalFeatures(enabledFeatures) {\n enabledFeatures.forEach((flag) => {\n enabledExperimentalFeatures.add(flag);\n });\n}\nexport function isExperimentalFeatureEnabled(featureName) {\n return enabledExperimentalFeatures.has(featureName);\n}\nexport function resetExperimentalFeatures() {\n enabledExperimentalFeatures.clear();\n}\nexport function getExperimentalFeatures() {\n return enabledExperimentalFeatures;\n}\n//# sourceMappingURL=experimentalFeatures.js.map","/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\nexport function getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis;\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get() {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n let globalObject = _dd_temp_;\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_;\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self;\n }\n else if (typeof window === 'object') {\n globalObject = window;\n }\n else {\n globalObject = {};\n }\n }\n return globalObject;\n}\n//# sourceMappingURL=getGlobalObject.js.map","import { getGlobalObject } from './getGlobalObject';\n/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(target, name) {\n const browserWindow = getGlobalObject();\n let original;\n if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {\n original = target[browserWindow.Zone.__symbol__(name)];\n }\n if (!original) {\n original = target[name];\n }\n return original;\n}\n//# sourceMappingURL=getZoneJsOriginalValue.js.map","import { setTimeout } from './timer';\nimport { callMonitored } from './monitor';\nimport { noop } from './utils/functionUtils';\nimport { createHandlingStack } from './stackTrace/handlingStack';\n/**\n * Instruments a method on a object, calling the given callback before the original method is\n * invoked. The callback receives an object with information about the method call.\n *\n * This function makes sure that we are \"good citizens\" regarding third party instrumentations: when\n * removing the instrumentation, the original method is usually restored, but if a third party\n * instrumentation was set after ours, we keep it in place and just replace our instrumentation with\n * a noop.\n *\n * Note: it is generally better to instrument methods that are \"owned\" by the object instead of ones\n * that are inherited from the prototype chain. Example:\n * * do: `instrumentMethod(Array.prototype, 'push', ...)`\n * * don't: `instrumentMethod([], 'push', ...)`\n *\n * This method is also used to set event handler properties (ex: window.onerror = ...), as it has\n * the same requirements as instrumenting a method:\n * * if the event handler is already set by a third party, we need to call it and not just blindly\n * override it.\n * * if the event handler is set by a third party after us, we need to keep it in place when\n * removing ours.\n *\n * @example\n *\n * instrumentMethod(window, 'fetch', ({ target, parameters, onPostCall }) => {\n * console.log('Before calling fetch on', target, 'with parameters', parameters)\n *\n * onPostCall((result) => {\n * console.log('After fetch calling on', target, 'with parameters', parameters, 'and result', result)\n * })\n * })\n */\nexport function instrumentMethod(targetPrototype, method, onPreCall, { computeHandlingStack } = {}) {\n let original = targetPrototype[method];\n if (typeof original !== 'function') {\n if (method in targetPrototype && method.startsWith('on')) {\n original = noop;\n }\n else {\n return { stop: noop };\n }\n }\n let stopped = false;\n const instrumentation = function () {\n if (stopped) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return original.apply(this, arguments);\n }\n const parameters = Array.from(arguments);\n let postCallCallback;\n callMonitored(onPreCall, null, [\n {\n target: this,\n parameters,\n onPostCall: (callback) => {\n postCallCallback = callback;\n },\n handlingStack: computeHandlingStack ? createHandlingStack() : undefined,\n },\n ]);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const result = original.apply(this, parameters);\n if (postCallCallback) {\n callMonitored(postCallCallback, null, [result]);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n targetPrototype[method] = instrumentation;\n return {\n stop: () => {\n stopped = true;\n // If the instrumentation has been removed by a third party, keep the last one\n if (targetPrototype[method] === instrumentation) {\n targetPrototype[method] = original;\n }\n },\n };\n}\nexport function instrumentSetter(targetPrototype, property, after) {\n const originalDescriptor = Object.getOwnPropertyDescriptor(targetPrototype, property);\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: noop };\n }\n const stoppedInstrumentation = noop;\n let instrumentation = (target, value) => {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(() => {\n if (instrumentation !== stoppedInstrumentation) {\n after(target, value);\n }\n }, 0);\n };\n const instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value);\n instrumentation(this, value);\n };\n Object.defineProperty(targetPrototype, property, {\n set: instrumentationWrapper,\n });\n return {\n stop: () => {\n var _a;\n if (((_a = Object.getOwnPropertyDescriptor(targetPrototype, property)) === null || _a === void 0 ? void 0 : _a.set) === instrumentationWrapper) {\n Object.defineProperty(targetPrototype, property, originalDescriptor);\n }\n instrumentation = stoppedInstrumentation;\n },\n };\n}\n//# sourceMappingURL=instrumentMethod.js.map","import { getType } from './utils/typeUtils';\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker = createCircularReferenceChecker()) {\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination;\n }\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source;\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof RegExp) {\n const flags = source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('');\n return new RegExp(source.source, flags);\n }\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined;\n }\n else if (Array.isArray(source)) {\n const merged = Array.isArray(destination) ? destination : [];\n for (let i = 0; i < source.length; ++i) {\n merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker);\n }\n return merged;\n }\n const merged = getType(destination) === 'object' ? destination : {};\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);\n }\n }\n return merged;\n}\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value);\n}\nexport function combine(...sources) {\n let destination;\n for (const source of sources) {\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue;\n }\n destination = mergeInto(destination, source);\n }\n return destination;\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n const set = new WeakSet();\n return {\n hasAlreadyBeenSeen(value) {\n const has = set.has(value);\n if (!has) {\n set.add(value);\n }\n return has;\n },\n };\n }\n const array = [];\n return {\n hasAlreadyBeenSeen(value) {\n const has = array.indexOf(value) >= 0;\n if (!has) {\n array.push(value);\n }\n return has;\n },\n };\n}\n//# sourceMappingURL=mergeInto.js.map","import { display } from './display';\nlet onMonitorErrorCollected;\nlet debugMode = false;\nexport function startMonitorErrorCollection(newOnMonitorErrorCollected) {\n onMonitorErrorCollected = newOnMonitorErrorCollected;\n}\nexport function setDebugMode(newDebugMode) {\n debugMode = newDebugMode;\n}\nexport function resetMonitor() {\n onMonitorErrorCollected = undefined;\n debugMode = false;\n}\nexport function monitored(_, __, descriptor) {\n const originalMethod = descriptor.value;\n descriptor.value = function (...args) {\n const decorated = onMonitorErrorCollected ? monitor(originalMethod) : originalMethod;\n return decorated.apply(this, args);\n };\n}\nexport function monitor(fn) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callMonitored(fn, this, arguments);\n }; // consider output type has input type\n}\nexport function callMonitored(fn, context, args) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return fn.apply(context, args);\n }\n catch (e) {\n monitorError(e);\n }\n}\nexport function monitorError(e) {\n displayIfDebugEnabled(e);\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e);\n }\n catch (e) {\n displayIfDebugEnabled(e);\n }\n }\n}\nexport function displayIfDebugEnabled(...args) {\n if (debugMode) {\n display.error('[MONITOR]', ...args);\n }\n}\n//# sourceMappingURL=monitor.js.map","// eslint-disable-next-line no-restricted-syntax\nexport class Observable {\n constructor(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n subscribe(f) {\n this.observers.push(f);\n if (this.observers.length === 1 && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined;\n }\n return {\n unsubscribe: () => {\n this.observers = this.observers.filter((other) => f !== other);\n if (!this.observers.length && this.onLastUnsubscribe) {\n this.onLastUnsubscribe();\n }\n },\n };\n }\n notify(data) {\n this.observers.forEach((observer) => observer(data));\n }\n}\nexport function mergeObservables(...observables) {\n return new Observable((globalObservable) => {\n const subscriptions = observables.map((observable) => observable.subscribe((data) => globalObservable.notify(data)));\n return () => subscriptions.forEach((subscription) => subscription.unsubscribe());\n });\n}\n//# sourceMappingURL=observable.js.map","import { setTimeout, clearTimeout } from './timer';\nimport { monitor } from './monitor';\nimport { dateNow } from './utils/timeUtils';\n/**\n * 'requestIdleCallback' with a shim.\n */\nexport function requestIdleCallback(callback, opts) {\n // Note: check both 'requestIdleCallback' and 'cancelIdleCallback' existence because some polyfills only implement 'requestIdleCallback'.\n if (window.requestIdleCallback && window.cancelIdleCallback) {\n const id = window.requestIdleCallback(monitor(callback), opts);\n return () => window.cancelIdleCallback(id);\n }\n return requestIdleCallbackShim(callback);\n}\nexport const MAX_TASK_TIME = 50;\n/*\n * Shim from https://developer.chrome.com/blog/using-requestidlecallback#checking_for_requestidlecallback\n * Note: there is no simple way to support the \"timeout\" option, so we ignore it.\n */\nexport function requestIdleCallbackShim(callback) {\n const start = dateNow();\n const timeoutId = setTimeout(() => {\n callback({\n didTimeout: false,\n timeRemaining: () => Math.max(0, MAX_TASK_TIME - (dateNow() - start)),\n });\n }, 0);\n return () => clearTimeout(timeoutId);\n}\n//# sourceMappingURL=requestIdleCallback.js.map","export function sendToExtension(type, payload) {\n const callback = window.__ddBrowserSdkExtensionCallback;\n if (callback) {\n callback({ type, payload });\n }\n}\n//# sourceMappingURL=sendToExtension.js.map","import { noop } from '../utils/functionUtils';\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value);\n }\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n const restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n const restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n const restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value));\n const restoreValueToJson = detachToJsonMethod(value);\n try {\n return JSON.stringify(value, replacer, space);\n }\n catch (_a) {\n return '';\n }\n finally {\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n restoreValuePrototypeToJson();\n restoreValueToJson();\n }\n}\nexport function detachToJsonMethod(value) {\n const object = value;\n const objectToJson = object.toJSON;\n if (objectToJson) {\n delete object.toJSON;\n return () => {\n object.toJSON = objectToJson;\n };\n }\n return noop;\n}\n//# sourceMappingURL=jsonStringify.js.map","import { display } from '../display';\nimport { ONE_KIBI_BYTE } from '../utils/byteUtils';\nimport { detachToJsonMethod } from './jsonStringify';\n// The maximum size of a single event is 256KiB. By default, we ensure that user-provided data\n// going through sanitize fits inside our events, while leaving room for other contexts, metadata, ...\nconst SANITIZE_DEFAULT_MAX_CHARACTER_COUNT = 220 * ONE_KIBI_BYTE;\n// Symbol for the root element of the JSONPath used for visited objects\nconst JSON_PATH_ROOT_ELEMENT = '$';\n// When serializing (using JSON.stringify) a key of an object, { key: 42 } gets wrapped in quotes as \"key\".\n// With the separator (:), we need to add 3 characters to the count.\nconst KEY_DECORATION_LENGTH = 3;\nexport function sanitize(source, maxCharacterCount = SANITIZE_DEFAULT_MAX_CHARACTER_COUNT) {\n // Unbind any toJSON function we may have on [] or {} prototypes\n const restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n const restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n // Initial call to sanitizeProcessor - will populate containerQueue if source is an Array or a plain Object\n const containerQueue = [];\n const visitedObjectsWithPath = new WeakMap();\n const sanitizedData = sanitizeProcessor(source, JSON_PATH_ROOT_ELEMENT, undefined, containerQueue, visitedObjectsWithPath);\n const serializedSanitizedData = JSON.stringify(sanitizedData);\n let accumulatedCharacterCount = serializedSanitizedData ? serializedSanitizedData.length : 0;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'discarded', source);\n return undefined;\n }\n while (containerQueue.length > 0 && accumulatedCharacterCount < maxCharacterCount) {\n const containerToProcess = containerQueue.shift();\n let separatorLength = 0; // 0 for the first element, 1 for subsequent elements\n // Arrays and Objects have to be handled distinctly to ensure\n // we do not pick up non-numerical properties from Arrays\n if (Array.isArray(containerToProcess.source)) {\n for (let key = 0; key < containerToProcess.source.length; key++) {\n const targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n if (targetData !== undefined) {\n accumulatedCharacterCount += JSON.stringify(targetData).length;\n }\n else {\n // When an element of an Array (targetData) is undefined, it is serialized as null:\n // JSON.stringify([undefined]) => '[null]' - This accounts for 4 characters\n accumulatedCharacterCount += 4;\n }\n accumulatedCharacterCount += separatorLength;\n separatorLength = 1;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n else {\n for (const key in containerToProcess.source) {\n if (Object.prototype.hasOwnProperty.call(containerToProcess.source, key)) {\n const targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n // When a property of an object has an undefined value, it will be dropped during serialization:\n // JSON.stringify({a:undefined}) => '{}'\n if (targetData !== undefined) {\n accumulatedCharacterCount +=\n JSON.stringify(targetData).length + separatorLength + key.length + KEY_DECORATION_LENGTH;\n separatorLength = 1;\n }\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n }\n }\n // Rebind detached toJSON functions\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n return sanitizedData;\n}\n/**\n * Internal function to factorize the process common to the\n * initial call to sanitize, and iterations for Arrays and Objects\n *\n */\nfunction sanitizeProcessor(source, parentPath, key, queue, visitedObjectsWithPath) {\n // Start by handling toJSON, as we want to sanitize its output\n const sourceToSanitize = tryToApplyToJSON(source);\n if (!sourceToSanitize || typeof sourceToSanitize !== 'object') {\n return sanitizePrimitivesAndFunctions(sourceToSanitize);\n }\n const sanitizedSource = sanitizeObjects(sourceToSanitize);\n if (sanitizedSource !== '[Object]' && sanitizedSource !== '[Array]' && sanitizedSource !== '[Error]') {\n return sanitizedSource;\n }\n // Handle potential cyclic references\n // We need to use source as sourceToSanitize could be a reference to a new object\n // At this stage, we know the source is an object type\n const sourceAsObject = source;\n if (visitedObjectsWithPath.has(sourceAsObject)) {\n return `[Reference seen at ${visitedObjectsWithPath.get(sourceAsObject)}]`;\n }\n // Add processed source to queue\n const currentPath = key !== undefined ? `${parentPath}.${key}` : parentPath;\n const target = Array.isArray(sourceToSanitize) ? [] : {};\n visitedObjectsWithPath.set(sourceAsObject, currentPath);\n queue.push({ source: sourceToSanitize, target, path: currentPath });\n return target;\n}\n/**\n * Handles sanitization of simple, non-object types\n *\n */\nfunction sanitizePrimitivesAndFunctions(value) {\n // BigInt cannot be serialized by JSON.stringify(), convert it to a string representation\n if (typeof value === 'bigint') {\n return `[BigInt] ${value.toString()}`;\n }\n // Functions cannot be serialized by JSON.stringify(). Moreover, if a faulty toJSON is present, it needs to be converted\n // so it won't prevent stringify from serializing later\n if (typeof value === 'function') {\n return `[Function] ${value.name || 'unknown'}`;\n }\n // JSON.stringify() does not serialize symbols.\n if (typeof value === 'symbol') {\n return `[Symbol] ${value.description || value.toString()}`;\n }\n return value;\n}\n/**\n * Handles sanitization of object types\n *\n * LIMITATIONS\n * - If a class defines a toStringTag Symbol, it will fall in the catch-all method and prevent enumeration of properties.\n * To avoid this, a toJSON method can be defined.\n */\nfunction sanitizeObjects(value) {\n try {\n if (value instanceof Event) {\n return sanitizeEvent(value);\n }\n if (value instanceof RegExp) {\n return `[RegExp] ${value.toString()}`;\n }\n // Handle all remaining object types in a generic way\n const result = Object.prototype.toString.call(value);\n const match = result.match(/\\[object (.*)\\]/);\n if (match && match[1]) {\n return `[${match[1]}]`;\n }\n }\n catch (_a) {\n // If the previous serialization attempts failed, and we cannot convert using\n // Object.prototype.toString, declare the value unserializable\n }\n return '[Unserializable]';\n}\nfunction sanitizeEvent(event) {\n return {\n type: event.type,\n isTrusted: event.isTrusted,\n currentTarget: event.currentTarget ? sanitizeObjects(event.currentTarget) : null,\n target: event.target ? sanitizeObjects(event.target) : null,\n };\n}\n/**\n * Checks if a toJSON function exists and tries to execute it\n *\n */\nfunction tryToApplyToJSON(value) {\n const object = value;\n if (object && typeof object.toJSON === 'function') {\n try {\n return object.toJSON();\n }\n catch (_a) {\n // If toJSON fails, we continue by trying to serialize the value manually\n }\n }\n return value;\n}\n/**\n * Helper function to display the warning when the accumulated character count is over the limit\n */\nfunction warnOverCharacterLimit(maxCharacterCount, changeType, source) {\n display.warn(`The data provided has been ${changeType} as it is over the limit of ${maxCharacterCount} characters:`, source);\n}\n//# sourceMappingURL=sanitize.js.map","/**\n * Cross-browser stack trace computation.\n *\n * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js\n */\nconst UNKNOWN_FUNCTION = '?';\nexport function computeStackTrace(ex) {\n const stack = [];\n let stackProperty = tryToGetString(ex, 'stack');\n const exString = String(ex);\n if (stackProperty && stackProperty.startsWith(exString)) {\n stackProperty = stackProperty.slice(exString.length);\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach((line) => {\n const stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION;\n }\n stack.push(stackFrame);\n }\n });\n }\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack,\n };\n}\nconst fileUrl = '((?:file|https?|blob|chrome-extension|electron|native|eval|webpack|snippet||\\\\w+\\\\.|\\\\/).*?)';\nconst filePosition = '(?::(\\\\d+))';\nconst CHROME_LINE_RE = new RegExp(`^\\\\s*at (.*?) ?\\\\(${fileUrl}${filePosition}?${filePosition}?\\\\)?\\\\s*$`, 'i');\nconst CHROME_EVAL_RE = new RegExp(`\\\\((\\\\S*)${filePosition}${filePosition}\\\\)`);\nfunction parseChromeLine(line) {\n const parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n const isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n const submatch = CHROME_EVAL_RE.exec(parts[2]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n };\n}\nconst CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(`^\\\\s*at ?${fileUrl}${filePosition}?${filePosition}??\\\\s*$`, 'i');\nfunction parseChromeAnonymousLine(line) {\n const parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n };\n}\nconst WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n const parts = WINJS_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n };\n}\nconst GECKO_LINE_RE = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n const parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n const submatch = GECKO_EVAL_RE.exec(parts[3]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = undefined; // no column when eval\n }\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n };\n}\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined;\n }\n const value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\nexport function computeStackTraceFromOnErrorMessage(messageObj, url, line, column) {\n const stack = [{ url, column, line }];\n const { name, message } = tryToParseMessage(messageObj);\n return {\n name,\n message,\n stack,\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nconst ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/;\nfunction tryToParseMessage(messageObj) {\n let name;\n let message;\n if ({}.toString.call(messageObj) === '[object String]') {\n ;\n [, name, message] = ERROR_TYPES_RE.exec(messageObj);\n }\n return { name, message };\n}\n//# sourceMappingURL=computeStackTrace.js.map","import { callMonitored } from '../monitor';\nimport { computeStackTrace } from './computeStackTrace';\n/**\n * Creates a stacktrace without SDK internal frames.\n * Constraints:\n * - Has to be called at the utmost position of the call stack.\n * - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nexport function createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n const internalFramesToSkip = 2;\n const error = new Error();\n let formattedStack;\n callMonitored(() => {\n const stackTrace = computeStackTrace(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\nexport function toStackTraceString(stack) {\n let result = formatErrorMessage(stack);\n stack.stack.forEach((frame) => {\n const func = frame.func === '?' ? '' : frame.func;\n const args = frame.args && frame.args.length > 0 ? `(${frame.args.join(', ')})` : '';\n const line = frame.line ? `:${frame.line}` : '';\n const column = frame.line && frame.column ? `:${frame.column}` : '';\n result += `\\n at ${func}${args} @ ${frame.url}${line}${column}`;\n });\n return result;\n}\nexport function formatErrorMessage(stack) {\n return `${stack.name || 'Error'}: ${stack.message}`;\n}\n//# sourceMappingURL=handlingStack.js.map","import { getZoneJsOriginalValue } from './getZoneJsOriginalValue';\nimport { monitor } from './monitor';\nimport { getGlobalObject } from './getGlobalObject';\nexport function setTimeout(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setTimeout')(monitor(callback), delay);\n}\nexport function clearTimeout(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearTimeout')(timeoutId);\n}\nexport function setInterval(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setInterval')(monitor(callback), delay);\n}\nexport function clearInterval(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearInterval')(timeoutId);\n}\n//# sourceMappingURL=timer.js.map","export function removeDuplicates(array) {\n const set = new Set();\n array.forEach((item) => set.add(item));\n return Array.from(set);\n}\nexport function removeItem(array, item) {\n const index = array.indexOf(item);\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrayUtils.js.map","export function isChromium() {\n return detectBrowserCached() === 0 /* Browser.CHROMIUM */;\n}\nexport function isSafari() {\n return detectBrowserCached() === 1 /* Browser.SAFARI */;\n}\nlet browserCache;\nfunction detectBrowserCached() {\n return browserCache !== null && browserCache !== void 0 ? browserCache : (browserCache = detectBrowser());\n}\n// Exported only for tests\nexport function detectBrowser(browserWindow = window) {\n var _a;\n const userAgent = browserWindow.navigator.userAgent;\n if (browserWindow.chrome || /HeadlessChrome/.test(userAgent)) {\n return 0 /* Browser.CHROMIUM */;\n }\n if (\n // navigator.vendor is deprecated, but it is the most resilient way we found to detect\n // \"Apple maintained browsers\" (AKA Safari). If one day it gets removed, we still have the\n // useragent test as a semi-working fallback.\n ((_a = browserWindow.navigator.vendor) === null || _a === void 0 ? void 0 : _a.indexOf('Apple')) === 0 ||\n (/safari/i.test(userAgent) && !/chrome|android/i.test(userAgent))) {\n return 1 /* Browser.SAFARI */;\n }\n return 2 /* Browser.OTHER */;\n}\n//# sourceMappingURL=browserDetection.js.map","export const ONE_KIBI_BYTE = 1024;\nexport const ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE;\n// eslint-disable-next-line no-control-regex\nconst HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/;\nexport function computeBytesCount(candidate) {\n // Accurate bytes count computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length;\n }\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length;\n }\n return new Blob([candidate]).size;\n}\nexport function concatBuffers(buffers) {\n const length = buffers.reduce((total, buffer) => total + buffer.length, 0);\n const result = new Uint8Array(length);\n let offset = 0;\n for (const buffer of buffers) {\n result.set(buffer, offset);\n offset += buffer.length;\n }\n return result;\n}\n//# sourceMappingURL=byteUtils.js.map","import { setTimeout, clearTimeout } from '../timer';\n// use lodash API\nexport function throttle(fn, wait, options) {\n const needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n const needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n let inWaitPeriod = false;\n let pendingExecutionWithParameters;\n let pendingTimeoutId;\n return {\n throttled: (...parameters) => {\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn(...parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(() => {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn(...pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: () => {\n clearTimeout(pendingTimeoutId);\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n },\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() { }\n//# sourceMappingURL=functionUtils.js.map","/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold;\n}\nexport function round(num, decimals) {\n return +num.toFixed(decimals);\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100;\n}\nexport function isNumber(value) {\n return typeof value === 'number';\n}\n//# sourceMappingURL=numberUtils.js.map","export function shallowClone(object) {\n return { ...object };\n}\nexport function objectHasValue(object, value) {\n return Object.keys(object).some((key) => object[key] === value);\n}\nexport function isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nexport function mapValues(object, fn) {\n const newObject = {};\n for (const key of Object.keys(object)) {\n newObject[key] = fn(object[key]);\n }\n return newObject;\n}\n//# sourceMappingURL=objectUtils.js.map","export function findLast(array, predicate) {\n for (let i = array.length - 1; i >= 0; i -= 1) {\n const item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\n// Keep the following wrapper functions as it can be mangled and will result in smaller bundle size that using\n// the native Object.values and Object.entries directly\nexport function objectValues(object) {\n return Object.values(object);\n}\nexport function objectEntries(object) {\n return Object.entries(object);\n}\n//# sourceMappingURL=polyfills.js.map","export function isServerError(status) {\n return status >= 500;\n}\nexport function tryToClone(response) {\n try {\n return response.clone();\n }\n catch (_a) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return;\n }\n}\n//# sourceMappingURL=responseUtils.js.map","import { isNumber, round } from './numberUtils';\nexport const ONE_SECOND = 1000;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\nexport const ONE_DAY = 24 * ONE_HOUR;\nexport const ONE_YEAR = 365 * ONE_DAY;\nexport function relativeToClocks(relative) {\n return { relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nexport function timeStampToClocks(timeStamp) {\n return { relative: getRelativeTime(timeStamp), timeStamp };\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n const correctedOrigin = (dateNow() - performance.now());\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(addDuration(correctedOrigin, relativeTime));\n }\n return getTimeStamp(relativeTime);\n}\nexport function currentDrift() {\n return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));\n}\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration;\n }\n return round(duration * 1e6, 0);\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime();\n}\nexport function timeStampNow() {\n return dateNow();\n}\nexport function relativeNow() {\n return performance.now();\n}\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() };\n}\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() };\n}\nexport function elapsed(start, end) {\n return (end - start);\n}\nexport function addDuration(a, b) {\n return a + b;\n}\n// Get the time since the navigation was started.\nexport function getRelativeTime(timestamp) {\n return (timestamp - getNavigationStart());\n}\nexport function getTimeStamp(relativeTime) {\n return Math.round(addDuration(getNavigationStart(), relativeTime));\n}\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR;\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nlet navigationStart;\n/**\n * Notes: this does not use `performance.timeOrigin` because:\n * - It doesn't seem to reflect the actual time on which the navigation has started: it may be much farther in the past,\n * at least in Firefox 71. (see: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926)\n * - It is not supported in Safari <15\n */\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\n//# sourceMappingURL=timeUtils.js.map","/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n}\n//# sourceMappingURL=typeUtils.js.map","import { jsonStringify } from '../serialisation/jsonStringify';\nexport function normalizeUrl(url) {\n return buildUrl(url, location.href).href;\n}\nexport function isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nexport function getPathName(url) {\n const pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : `/${pathname}`;\n}\nexport function buildUrl(url, base) {\n const supportedURL = getSupportedUrl();\n if (supportedURL) {\n try {\n return base !== undefined ? new supportedURL(url, base) : new supportedURL(url);\n }\n catch (error) {\n throw new Error(`Failed to construct URL: ${String(error)} ${jsonStringify({ url, base })}`);\n }\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(`Invalid URL: '${url}'`);\n }\n let doc = document;\n const anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n const baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n doc.body.appendChild(anchorElement);\n }\n anchorElement.href = url;\n return anchorElement;\n}\nconst originalURL = URL;\nlet isURLSupported;\nfunction getSupportedUrl() {\n if (isURLSupported === undefined) {\n try {\n const url = new originalURL('http://test/path');\n isURLSupported = url.href === 'http://test/path';\n }\n catch (_a) {\n isURLSupported = false;\n }\n }\n return isURLSupported ? originalURL : undefined;\n}\n//# sourceMappingURL=urlPolyfill.js.map","import { getGlobalObject } from '../tools/getGlobalObject';\nexport function getEventBridge() {\n const eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getCapabilities() {\n var _a;\n return JSON.parse(((_a = eventBridgeGlobal.getCapabilities) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal)) || '[]');\n },\n getPrivacyLevel() {\n var _a;\n return (_a = eventBridgeGlobal.getPrivacyLevel) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal);\n },\n getAllowedWebViewHosts() {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send(eventType, event, viewId) {\n const view = viewId ? { id: viewId } : undefined;\n eventBridgeGlobal.send(JSON.stringify({ eventType, event, view }));\n },\n };\n}\nexport function bridgeSupports(capability) {\n const bridge = getEventBridge();\n return !!bridge && bridge.getCapabilities().includes(capability);\n}\nexport function canUseEventBridge(currentHost) {\n var _a;\n if (currentHost === void 0) { currentHost = (_a = getGlobalObject().location) === null || _a === void 0 ? void 0 : _a.hostname; }\n const bridge = getEventBridge();\n return (!!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some((allowedHost) => currentHost === allowedHost || currentHost.endsWith(`.${allowedHost}`)));\n}\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge;\n}\n//# sourceMappingURL=eventBridge.js.map","import { setTimeout } from '../tools/timer';\nimport { clocksNow, ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { ONE_MEBI_BYTE, ONE_KIBI_BYTE } from '../tools/utils/byteUtils';\nimport { isServerError } from '../tools/utils/responseUtils';\nimport { ErrorSource } from '../domain/error/error.types';\nexport const MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE;\nexport const MAX_ONGOING_REQUESTS = 32;\nexport const MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE;\nexport const MAX_BACKOFF_TIME = ONE_MINUTE;\nexport const INITIAL_BACKOFF_TIME = ONE_SECOND;\nexport function sendWithRetryStrategy(payload, state, sendStrategy, trackType, reportError) {\n if (state.transportStatus === 0 /* TransportStatus.UP */ &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)) {\n send(payload, state, sendStrategy, {\n onSuccess: () => retryQueuedPayloads(0 /* RetryReason.AFTER_SUCCESS */, state, sendStrategy, trackType, reportError),\n onFailure: () => {\n state.queuedPayloads.enqueue(payload);\n scheduleRetry(state, sendStrategy, trackType, reportError);\n },\n });\n }\n else {\n state.queuedPayloads.enqueue(payload);\n }\n}\nfunction scheduleRetry(state, sendStrategy, trackType, reportError) {\n if (state.transportStatus !== 2 /* TransportStatus.DOWN */) {\n return;\n }\n setTimeout(() => {\n const payload = state.queuedPayloads.first();\n send(payload, state, sendStrategy, {\n onSuccess: () => {\n state.queuedPayloads.dequeue();\n state.currentBackoffTime = INITIAL_BACKOFF_TIME;\n retryQueuedPayloads(1 /* RetryReason.AFTER_RESUME */, state, sendStrategy, trackType, reportError);\n },\n onFailure: () => {\n state.currentBackoffTime = Math.min(MAX_BACKOFF_TIME, state.currentBackoffTime * 2);\n scheduleRetry(state, sendStrategy, trackType, reportError);\n },\n });\n }, state.currentBackoffTime);\n}\nfunction send(payload, state, sendStrategy, { onSuccess, onFailure }) {\n state.bandwidthMonitor.add(payload);\n sendStrategy(payload, (response) => {\n state.bandwidthMonitor.remove(payload);\n if (!shouldRetryRequest(response)) {\n state.transportStatus = 0 /* TransportStatus.UP */;\n onSuccess();\n }\n else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0 ? 1 /* TransportStatus.FAILURE_DETECTED */ : 2 /* TransportStatus.DOWN */;\n payload.retry = {\n count: payload.retry ? payload.retry.count + 1 : 1,\n lastFailureStatus: response.status,\n };\n onFailure();\n }\n });\n}\nfunction retryQueuedPayloads(reason, state, sendStrategy, trackType, reportError) {\n if (reason === 0 /* RetryReason.AFTER_SUCCESS */ && state.queuedPayloads.isFull() && !state.queueFullReported) {\n reportError({\n message: `Reached max ${trackType} events size queued for upload: ${MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE}MiB`,\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n state.queueFullReported = true;\n }\n const previousQueue = state.queuedPayloads;\n state.queuedPayloads = newPayloadQueue();\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(previousQueue.dequeue(), state, sendStrategy, trackType, reportError);\n }\n}\nfunction shouldRetryRequest(response) {\n return (response.type !== 'opaque' &&\n ((response.status === 0 && !navigator.onLine) ||\n response.status === 408 ||\n response.status === 429 ||\n isServerError(response.status)));\n}\nexport function newRetryState() {\n return {\n transportStatus: 0 /* TransportStatus.UP */,\n currentBackoffTime: INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false,\n };\n}\nfunction newPayloadQueue() {\n const queue = [];\n return {\n bytesCount: 0,\n enqueue(payload) {\n if (this.isFull()) {\n return;\n }\n queue.push(payload);\n this.bytesCount += payload.bytesCount;\n },\n first() {\n return queue[0];\n },\n dequeue() {\n const payload = queue.shift();\n if (payload) {\n this.bytesCount -= payload.bytesCount;\n }\n return payload;\n },\n size() {\n return queue.length;\n },\n isFull() {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT;\n },\n };\n}\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle(payload) {\n return (this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <= MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS));\n },\n add(payload) {\n this.ongoingRequestCount += 1;\n this.ongoingByteCount += payload.bytesCount;\n },\n remove(payload) {\n this.ongoingRequestCount -= 1;\n this.ongoingByteCount -= payload.bytesCount;\n },\n };\n}\n//# sourceMappingURL=sendWithRetryStrategy.js.map","import { addTelemetryError } from '../domain/telemetry';\nimport { monitor } from '../tools/monitor';\nimport { addEventListener } from '../browser/addEventListener';\nimport { newRetryState, sendWithRetryStrategy } from './sendWithRetryStrategy';\nexport function createHttpRequest(endpointBuilder, bytesLimit, reportError) {\n const retryState = newRetryState();\n const sendStrategyForRetry = (payload, onResponse) => fetchKeepAliveStrategy(endpointBuilder, bytesLimit, payload, onResponse);\n return {\n send: (payload) => {\n sendWithRetryStrategy(payload, retryState, sendStrategyForRetry, endpointBuilder.trackType, reportError);\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: (payload) => {\n sendBeaconStrategy(endpointBuilder, bytesLimit, payload);\n },\n };\n}\nfunction sendBeaconStrategy(endpointBuilder, bytesLimit, payload) {\n const canUseBeacon = !!navigator.sendBeacon && payload.bytesCount < bytesLimit;\n if (canUseBeacon) {\n try {\n const beaconUrl = endpointBuilder.build('beacon', payload);\n const isQueued = navigator.sendBeacon(beaconUrl, payload.data);\n if (isQueued) {\n return;\n }\n }\n catch (e) {\n reportBeaconError(e);\n }\n }\n const xhrUrl = endpointBuilder.build('xhr', payload);\n sendXHR(xhrUrl, payload.data);\n}\nlet hasReportedBeaconError = false;\nfunction reportBeaconError(e) {\n if (!hasReportedBeaconError) {\n hasReportedBeaconError = true;\n addTelemetryError(e);\n }\n}\nexport function fetchKeepAliveStrategy(endpointBuilder, bytesLimit, payload, onResponse) {\n const canUseKeepAlive = isKeepAliveSupported() && payload.bytesCount < bytesLimit;\n if (canUseKeepAlive) {\n const fetchUrl = endpointBuilder.build('fetch', payload);\n fetch(fetchUrl, { method: 'POST', body: payload.data, keepalive: true, mode: 'cors' }).then(monitor((response) => onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: response.status, type: response.type })), monitor(() => {\n const xhrUrl = endpointBuilder.build('xhr', payload);\n // failed to queue the request\n sendXHR(xhrUrl, payload.data, onResponse);\n }));\n }\n else {\n const xhrUrl = endpointBuilder.build('xhr', payload);\n sendXHR(xhrUrl, payload.data, onResponse);\n }\n}\nfunction isKeepAliveSupported() {\n // Request can throw, cf https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#errors\n try {\n return window.Request && 'keepalive' in new Request('http://a');\n }\n catch (_a) {\n return false;\n }\n}\nexport function sendXHR(url, data, onResponse) {\n const request = new XMLHttpRequest();\n request.open('POST', url, true);\n if (data instanceof Blob) {\n // When using a Blob instance, IE does not use its 'type' to define the 'Content-Type' header\n // automatically, so the intake request ends up being rejected with an HTTP status 415\n // Defining the header manually fixes this issue.\n request.setRequestHeader('Content-Type', data.type);\n }\n addEventListener(\n // allow untrusted event to acount for synthetic event dispatched by third party xhr wrapper\n { allowUntrustedEvents: true }, request, 'loadend', () => {\n onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: request.status });\n }, {\n // prevent multiple onResponse callbacks\n // if the xhr instance is reused by a third party\n once: true,\n });\n request.send(data);\n}\n//# sourceMappingURL=httpRequest.js.map","import { ONE_KIBI_BYTE, computeBytesCount } from '../../tools/utils/byteUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { DOCS_TROUBLESHOOTING, MORE_DETAILS, display } from '../../tools/display';\nimport { isEmptyObject } from '../../tools/utils/objectUtils';\n// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\nexport const CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE;\n// We observed that the compression ratio is around 8 in general, but we also want to keep a margin\n// because some data might not be compressed (ex: last view update on page exit). We chose 16KiB\n// because it is also the limit of the 'batchBytesCount' that we use for RUM and Logs data, but this\n// is a bit arbitrary.\nexport const CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT = 16 * ONE_KIBI_BYTE;\nexport const BYTES_COMPUTATION_THROTTLING_DELAY = 200;\nexport function createCustomerDataTrackerManager(compressionStatus = 2 /* CustomerDataCompressionStatus.Disabled */) {\n const customerDataTrackers = new Map();\n let alreadyWarned = false;\n function checkCustomerDataLimit(initialBytesCount = 0) {\n if (alreadyWarned || compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n return;\n }\n const bytesCountLimit = compressionStatus === 2 /* CustomerDataCompressionStatus.Disabled */\n ? CUSTOMER_DATA_BYTES_LIMIT\n : CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT;\n let bytesCount = initialBytesCount;\n customerDataTrackers.forEach((tracker) => {\n bytesCount += tracker.getBytesCount();\n });\n if (bytesCount > bytesCountLimit) {\n displayCustomerDataLimitReachedWarning(bytesCountLimit);\n alreadyWarned = true;\n }\n }\n return {\n /**\n * Creates a detached tracker. The manager will not store a reference to that tracker, and the\n * bytes count will be counted independently from other detached trackers.\n *\n * This is particularly useful when we don't know when the tracker will be unused, so we don't\n * leak memory (ex: when used in Logger instances).\n */\n createDetachedTracker: () => {\n const tracker = createCustomerDataTracker(() => checkCustomerDataLimit(tracker.getBytesCount()));\n return tracker;\n },\n /**\n * Creates a tracker if it doesn't exist, and returns it.\n */\n getOrCreateTracker: (type) => {\n if (!customerDataTrackers.has(type)) {\n customerDataTrackers.set(type, createCustomerDataTracker(checkCustomerDataLimit));\n }\n return customerDataTrackers.get(type);\n },\n setCompressionStatus: (newCompressionStatus) => {\n if (compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n compressionStatus = newCompressionStatus;\n checkCustomerDataLimit();\n }\n },\n getCompressionStatus: () => compressionStatus,\n stop: () => {\n customerDataTrackers.forEach((tracker) => tracker.stop());\n customerDataTrackers.clear();\n },\n };\n}\nexport function createCustomerDataTracker(checkCustomerDataLimit) {\n let bytesCountCache = 0;\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n const { throttled: computeBytesCountThrottled, cancel: cancelComputeBytesCount } = throttle((context) => {\n bytesCountCache = computeBytesCount(jsonStringify(context));\n checkCustomerDataLimit();\n }, BYTES_COMPUTATION_THROTTLING_DELAY);\n const resetBytesCount = () => {\n cancelComputeBytesCount();\n bytesCountCache = 0;\n };\n return {\n updateCustomerData: (context) => {\n if (isEmptyObject(context)) {\n resetBytesCount();\n }\n else {\n computeBytesCountThrottled(context);\n }\n },\n resetCustomerData: resetBytesCount,\n getBytesCount: () => bytesCountCache,\n stop: () => {\n cancelComputeBytesCount();\n },\n };\n}\nfunction displayCustomerDataLimitReachedWarning(bytesCountLimit) {\n display.warn(`Customer data exceeds the recommended ${bytesCountLimit / ONE_KIBI_BYTE}KiB threshold. ${MORE_DETAILS} ${DOCS_TROUBLESHOOTING}/#customer-data-exceeds-the-recommended-threshold-warning`);\n}\n//# sourceMappingURL=customerDataTracker.js.map","import { deepClone } from '../../tools/mergeInto';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { Observable } from '../../tools/observable';\nexport function createContextManager(customerDataTracker) {\n let context = {};\n const changeObservable = new Observable();\n const contextManager = {\n getContext: () => deepClone(context),\n setContext: (newContext) => {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext);\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n }\n else {\n contextManager.clearContext();\n }\n changeObservable.notify();\n },\n setContextProperty: (key, property) => {\n context[key] = sanitize(property);\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n removeContextProperty: (key) => {\n delete context[key];\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n clearContext: () => {\n context = {};\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.resetCustomerData();\n changeObservable.notify();\n },\n changeObservable,\n };\n return contextManager;\n}\n//# sourceMappingURL=contextManager.js.map","import { Observable } from '../tools/observable';\nexport const TrackingConsent = {\n GRANTED: 'granted',\n NOT_GRANTED: 'not-granted',\n};\nexport function createTrackingConsentState(currentConsent) {\n const observable = new Observable();\n return {\n tryToInit(trackingConsent) {\n if (!currentConsent) {\n currentConsent = trackingConsent;\n }\n },\n update(trackingConsent) {\n currentConsent = trackingConsent;\n observable.notify();\n },\n isGranted() {\n return currentConsent === TrackingConsent.GRANTED;\n },\n observable,\n };\n}\n//# sourceMappingURL=trackingConsent.js.map","import { addEventListener } from '../../browser/addEventListener';\nimport { combine } from '../../tools/mergeInto';\nconst CONTEXT_STORE_KEY_PREFIX = '_dd_c';\nconst storageListeners = [];\nexport function storeContextManager(configuration, contextManager, productKey, customerDataType) {\n const storageKey = buildStorageKey(productKey, customerDataType);\n storageListeners.push(addEventListener(configuration, window, \"storage\" /* DOM_EVENT.STORAGE */, ({ key }) => {\n if (storageKey === key) {\n synchronizeWithStorage();\n }\n }));\n contextManager.changeObservable.subscribe(dumpToStorage);\n contextManager.setContext(combine(getFromStorage(), contextManager.getContext()));\n function synchronizeWithStorage() {\n contextManager.setContext(getFromStorage());\n }\n function dumpToStorage() {\n localStorage.setItem(storageKey, JSON.stringify(contextManager.getContext()));\n }\n function getFromStorage() {\n const rawContext = localStorage.getItem(storageKey);\n return rawContext !== null ? JSON.parse(rawContext) : {};\n }\n}\nexport function buildStorageKey(productKey, customerDataType) {\n return `${CONTEXT_STORE_KEY_PREFIX}_${productKey}_${customerDataType}`;\n}\nexport function removeStorageListeners() {\n storageListeners.map((listener) => listener.stop());\n}\n//# sourceMappingURL=storeContextManager.js.map","import { computeBytesCount } from './utils/byteUtils';\nexport function createIdentityEncoder() {\n let output = '';\n let outputBytesCount = 0;\n return {\n isAsync: false,\n get isEmpty() {\n return !output;\n },\n write(data, callback) {\n const additionalEncodedBytesCount = computeBytesCount(data);\n outputBytesCount += additionalEncodedBytesCount;\n output += data;\n if (callback) {\n callback(additionalEncodedBytesCount);\n }\n },\n finish(callback) {\n callback(this.finishSync());\n },\n finishSync() {\n const result = {\n output,\n outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: '',\n };\n output = '';\n outputBytesCount = 0;\n return result;\n },\n estimateEncodedBytesCount(data) {\n return data.length;\n },\n };\n}\n//# sourceMappingURL=encoder.js.map","import { display } from '../../tools/display';\nimport { getType } from '../../tools/utils/typeUtils';\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n * https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#user-related-attributes\n */\nexport function sanitizeUser(newUser) {\n // We shallow clone only to prevent mutation of user data.\n const user = { ...newUser };\n const keys = ['id', 'name', 'email'];\n keys.forEach((key) => {\n if (key in user) {\n /* eslint-disable @typescript-eslint/no-base-to-string */\n user[key] = String(user[key]);\n }\n });\n return user;\n}\n/**\n * Simple check to ensure user is valid\n */\nexport function checkUser(newUser) {\n const isValid = getType(newUser) === 'object';\n if (!isValid) {\n display.error('Unsupported user:', newUser);\n }\n return isValid;\n}\nexport function generateAnonymousId() {\n return Math.floor(Math.random() * Math.pow(36, 10))\n .toString(36)\n .padStart(10, '0');\n}\n//# sourceMappingURL=user.js.map","import { display } from '../tools/display';\nexport function displayAlreadyInitializedError(sdkName, initConfiguration) {\n if (!initConfiguration.silentMultipleInit) {\n display.error(`${sdkName} is already initialized.`);\n }\n}\n//# sourceMappingURL=displayAlreadyInitializedError.js.map","/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function generateUUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateUUID);\n}\nconst COMMA_SEPARATED_KEY_VALUE = /([\\w-]+)\\s*=\\s*([^;]+)/g;\nexport function findCommaSeparatedValue(rawString, name) {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n if (match[1] === name) {\n return match[2];\n }\n }\n else {\n break;\n }\n }\n}\nexport function findCommaSeparatedValues(rawString) {\n const result = new Map();\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n result.set(match[1], match[2]);\n }\n else {\n break;\n }\n }\n return result;\n}\nexport function safeTruncate(candidate, length, suffix = '') {\n const lastChar = candidate.charCodeAt(length - 1);\n const isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n const correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength) {\n return candidate;\n }\n return `${candidate.slice(0, correctedLength)}${suffix}`;\n}\n//# sourceMappingURL=stringUtils.js.map","import { clocksNow, combine, elapsed, generateUUID, toServerDuration } from '@datadog/browser-core';\nexport function createCustomVitalsState() {\n const vitalsByName = new Map();\n const vitalsByReference = new WeakMap();\n return { vitalsByName, vitalsByReference };\n}\nexport function startVitalCollection(lifeCycle, pageStateHistory, customVitalsState) {\n function isValid(vital) {\n return !pageStateHistory.wasInPageStateDuringPeriod(\"frozen\" /* PageState.FROZEN */, vital.startClocks.relative, vital.duration);\n }\n function addDurationVital(vital) {\n if (isValid(vital)) {\n lifeCycle.notify(11 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processVital(vital, true));\n }\n }\n return {\n addDurationVital,\n startDurationVital: (name, options = {}) => startDurationVital(customVitalsState, name, options),\n stopDurationVital: (nameOrRef, options = {}) => {\n stopDurationVital(addDurationVital, customVitalsState, nameOrRef, options);\n },\n };\n}\nexport function startDurationVital({ vitalsByName, vitalsByReference }, name, options = {}) {\n const vital = {\n name,\n startClocks: clocksNow(),\n context: options.context,\n description: options.description,\n };\n // To avoid leaking implementation details of the vital, we return a reference to it.\n const reference = { __dd_vital_reference: true };\n vitalsByName.set(name, vital);\n // To avoid memory leaks caused by the creation of numerous references (e.g., from improper useEffect implementations), we use a WeakMap.\n vitalsByReference.set(reference, vital);\n return reference;\n}\nexport function stopDurationVital(stopCallback, { vitalsByName, vitalsByReference }, nameOrRef, options = {}) {\n const vitalStart = typeof nameOrRef === 'string' ? vitalsByName.get(nameOrRef) : vitalsByReference.get(nameOrRef);\n if (!vitalStart) {\n return;\n }\n stopCallback(buildDurationVital(vitalStart, vitalStart.startClocks, options, clocksNow()));\n if (typeof nameOrRef === 'string') {\n vitalsByName.delete(nameOrRef);\n }\n else {\n vitalsByReference.delete(nameOrRef);\n }\n}\nfunction buildDurationVital(vitalStart, startClocks, stopOptions, stopClocks) {\n var _a;\n return {\n name: vitalStart.name,\n type: \"duration\" /* VitalType.DURATION */,\n startClocks,\n duration: elapsed(startClocks.timeStamp, stopClocks.timeStamp),\n context: combine(vitalStart.context, stopOptions.context),\n description: (_a = stopOptions.description) !== null && _a !== void 0 ? _a : vitalStart.description,\n };\n}\nfunction processVital(vital, valueComputedBySdk) {\n const rawRumEvent = {\n date: vital.startClocks.timeStamp,\n vital: {\n id: generateUUID(),\n type: vital.type,\n name: vital.name,\n duration: toServerDuration(vital.duration),\n description: vital.description,\n },\n type: \"vital\" /* RumEventType.VITAL */,\n };\n if (valueComputedBySdk) {\n rawRumEvent._dd = {\n vital: {\n computed_value: true,\n },\n };\n }\n return {\n rawRumEvent,\n startTime: vital.startClocks.relative,\n customerContext: vital.context,\n domainContext: {},\n };\n}\n//# sourceMappingURL=vitalCollection.js.map","export function callPluginsMethod(plugins, methodName, parameter) {\n if (!plugins) {\n return;\n }\n for (const plugin of plugins) {\n const method = plugin[methodName];\n if (method) {\n method(parameter);\n }\n }\n}\n//# sourceMappingURL=plugins.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { monitor } from '../tools/monitor';\nimport { Observable } from '../tools/observable';\nimport { clocksNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nlet fetchObservable;\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nexport function resetFetchObservable() {\n fetchObservable = undefined;\n}\nfunction createFetchObservable() {\n return new Observable((observable) => {\n if (!window.fetch) {\n return;\n }\n const { stop } = instrumentMethod(window, 'fetch', (call) => beforeSend(call, observable), {\n computeHandlingStack: true,\n });\n return stop;\n });\n}\nfunction beforeSend({ parameters, onPostCall, handlingStack }, observable) {\n const [input, init] = parameters;\n let methodFromParams = init && init.method;\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method;\n }\n const method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';\n const url = input instanceof Request ? input.url : normalizeUrl(String(input));\n const startClocks = clocksNow();\n const context = {\n state: 'start',\n init,\n input,\n method,\n startClocks,\n url,\n handlingStack,\n };\n observable.notify(context);\n // Those properties can be changed by observable subscribers\n parameters[0] = context.input;\n parameters[1] = context.init;\n onPostCall((responsePromise) => afterSend(observable, responsePromise, context));\n}\nfunction afterSend(observable, responsePromise, startContext) {\n const context = startContext;\n function reportFetch(partialContext) {\n context.state = 'resolve';\n Object.assign(context, partialContext);\n observable.notify(context);\n }\n responsePromise.then(monitor((response) => {\n reportFetch({\n response,\n responseType: response.type,\n status: response.status,\n isAborted: false,\n });\n }), monitor((error) => {\n var _a, _b;\n reportFetch({\n status: 0,\n isAborted: ((_b = (_a = context.init) === null || _a === void 0 ? void 0 : _a.signal) === null || _b === void 0 ? void 0 : _b.aborted) || (error instanceof DOMException && error.code === DOMException.ABORT_ERR),\n error,\n });\n }));\n}\n//# sourceMappingURL=fetchObservable.js.map","import { display } from '../tools/display';\nimport { ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { findCommaSeparatedValue, findCommaSeparatedValues, generateUUID } from '../tools/utils/stringUtils';\nexport function setCookie(name, value, expireDelay = 0, options) {\n const date = new Date();\n date.setTime(date.getTime() + expireDelay);\n const expires = `expires=${date.toUTCString()}`;\n const sameSite = options && options.crossSite ? 'none' : 'strict';\n const domain = options && options.domain ? `;domain=${options.domain}` : '';\n const secure = options && options.secure ? ';secure' : '';\n const partitioned = options && options.partitioned ? ';partitioned' : '';\n document.cookie = `${name}=${value};${expires};path=/;samesite=${sameSite}${domain}${secure}${partitioned}`;\n}\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name);\n}\nlet initCookieParsed;\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n */\nexport function getInitCookie(name) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie);\n }\n return initCookieParsed.get(name);\n}\nexport function resetInitCookies() {\n initCookieParsed = undefined;\n}\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options);\n}\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false;\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `dd_cookie_test_${generateUUID()}`;\n const testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options);\n const isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;\n deleteCookie(testCookieName, options);\n return isCookieCorrectlySet;\n }\n catch (error) {\n display.error(error);\n return false;\n }\n}\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nlet getCurrentSiteCache;\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `dd_site_test_${generateUUID()}`;\n const testCookieValue = 'test';\n const domainLevels = window.location.hostname.split('.');\n let candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = `${domainLevels.pop()}.${candidateDomain}`;\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain });\n }\n deleteCookie(testCookieName, { domain: candidateDomain });\n getCurrentSiteCache = candidateDomain;\n }\n return getCurrentSiteCache;\n}\n//# sourceMappingURL=cookie.js.map","import { getInitCookie } from '../../browser/cookie';\nexport const SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nexport const SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nexport const SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nexport function willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || getInitCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\nexport function getSyntheticsTestId() {\n const value = window._DATADOG_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexport function getSyntheticsResultId() {\n const value = window._DATADOG_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=syntheticsWorkerValues.js.map","export const SESSION_STORE_KEY = '_dd_s';\n//# sourceMappingURL=sessionStoreStrategy.js.map","import { ONE_HOUR, ONE_MINUTE, ONE_YEAR } from '../../tools/utils/timeUtils';\nexport const SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;\nexport const SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;\nexport const SESSION_COOKIE_EXPIRATION_DELAY = ONE_YEAR;\nexport const SessionPersistence = {\n COOKIE: 'cookie',\n LOCAL_STORAGE: 'local-storage',\n};\n//# sourceMappingURL=sessionConstants.js.map","export const SESSION_ENTRY_REGEXP = /^([a-zA-Z]+)=([a-z0-9-]+)$/;\nexport const SESSION_ENTRY_SEPARATOR = '&';\nexport function isValidSessionString(sessionString) {\n return (!!sessionString &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\n//# sourceMappingURL=sessionStateValidation.js.map","import { isEmptyObject } from '../../tools/utils/objectUtils';\nimport { objectEntries } from '../../tools/utils/polyfills';\nimport { dateNow } from '../../tools/utils/timeUtils';\nimport { generateAnonymousId } from '../user';\nimport { SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { isValidSessionString, SESSION_ENTRY_REGEXP, SESSION_ENTRY_SEPARATOR } from './sessionStateValidation';\nexport const EXPIRED = '1';\nexport function getExpiredSessionState(previousSessionState, configuration) {\n const expiredSessionState = {\n isExpired: EXPIRED,\n };\n if (configuration.trackAnonymousUser) {\n if (previousSessionState === null || previousSessionState === void 0 ? void 0 : previousSessionState.anonymousId) {\n expiredSessionState.anonymousId = previousSessionState === null || previousSessionState === void 0 ? void 0 : previousSessionState.anonymousId;\n }\n else {\n expiredSessionState.anonymousId = generateAnonymousId();\n }\n }\n return expiredSessionState;\n}\nexport function isSessionInNotStartedState(session) {\n return isEmptyObject(session);\n}\nexport function isSessionStarted(session) {\n return !isSessionInNotStartedState(session);\n}\nexport function isSessionInExpiredState(session) {\n return session.isExpired !== undefined || !isActiveSession(session);\n}\n// An active session is a session in either `Tracked` or `NotTracked` state\nfunction isActiveSession(sessionState) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return ((sessionState.created === undefined || dateNow() - Number(sessionState.created) < SESSION_TIME_OUT_DELAY) &&\n (sessionState.expire === undefined || dateNow() < Number(sessionState.expire)));\n}\nexport function expandSessionState(session) {\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY);\n}\nexport function toSessionString(session) {\n return (objectEntries(session)\n // we use `aid` as a key for anonymousId\n .map(([key, value]) => (key === 'anonymousId' ? `aid=${value}` : `${key}=${value}`))\n .join(SESSION_ENTRY_SEPARATOR));\n}\nexport function toSessionState(sessionString) {\n const session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach((entry) => {\n const matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n const [, key, value] = matches;\n if (key === 'aid') {\n // we use `aid` as a key for anonymousId\n session.anonymousId = value;\n }\n else {\n session[key] = value;\n }\n }\n });\n }\n return session;\n}\n//# sourceMappingURL=sessionState.js.map","import { getInitCookie } from '../../browser/cookie';\nimport { SESSION_STORE_KEY } from './storeStrategies/sessionStoreStrategy';\nimport { expandSessionState, isSessionStarted } from './sessionState';\nexport const OLD_SESSION_COOKIE_NAME = '_dd';\nexport const OLD_RUM_COOKIE_NAME = '_dd_r';\nexport const OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nexport const RUM_SESSION_KEY = 'rum';\nexport const LOGS_SESSION_KEY = 'logs';\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nexport function tryOldCookiesMigration(cookieStoreStrategy) {\n const sessionString = getInitCookie(SESSION_STORE_KEY);\n if (!sessionString) {\n const oldSessionId = getInitCookie(OLD_SESSION_COOKIE_NAME);\n const oldRumType = getInitCookie(OLD_RUM_COOKIE_NAME);\n const oldLogsType = getInitCookie(OLD_LOGS_COOKIE_NAME);\n const session = {};\n if (oldSessionId) {\n session.id = oldSessionId;\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[LOGS_SESSION_KEY] = oldLogsType;\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[RUM_SESSION_KEY] = oldRumType;\n }\n if (isSessionStarted(session)) {\n expandSessionState(session);\n cookieStoreStrategy.persistSession(session);\n }\n }\n}\n//# sourceMappingURL=oldCookiesMigration.js.map","import { isChromium } from '../../../tools/utils/browserDetection';\nimport { getCurrentSite, areCookiesAuthorized, getCookie, setCookie } from '../../../browser/cookie';\nimport { tryOldCookiesMigration } from '../oldCookiesMigration';\nimport { SESSION_COOKIE_EXPIRATION_DELAY, SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY, SessionPersistence, } from '../sessionConstants';\nimport { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nexport function selectCookieStrategy(initConfiguration) {\n const cookieOptions = buildCookieOptions(initConfiguration);\n return areCookiesAuthorized(cookieOptions) ? { type: SessionPersistence.COOKIE, cookieOptions } : undefined;\n}\nexport function initCookieStrategy(configuration, cookieOptions) {\n const cookieStore = {\n /**\n * Lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.\n */\n isLockEnabled: isChromium(),\n persistSession: persistSessionCookie(cookieOptions),\n retrieveSession: retrieveSessionCookie,\n expireSession: (sessionState) => expireSessionCookie(cookieOptions, sessionState, configuration),\n };\n tryOldCookiesMigration(cookieStore);\n return cookieStore;\n}\nfunction persistSessionCookie(options) {\n return (session) => {\n setCookie(SESSION_STORE_KEY, toSessionString(session), SESSION_EXPIRATION_DELAY, options);\n };\n}\nfunction expireSessionCookie(options, sessionState, configuration) {\n const expiredSessionState = getExpiredSessionState(sessionState, configuration);\n // we do not extend cookie expiration date\n setCookie(SESSION_STORE_KEY, toSessionString(expiredSessionState), configuration.trackAnonymousUser ? SESSION_COOKIE_EXPIRATION_DELAY : SESSION_TIME_OUT_DELAY, options);\n}\nfunction retrieveSessionCookie() {\n const sessionString = getCookie(SESSION_STORE_KEY);\n const sessionState = toSessionState(sessionString);\n return sessionState;\n}\nexport function buildCookieOptions(initConfiguration) {\n const cookieOptions = {};\n cookieOptions.secure =\n !!initConfiguration.useSecureSessionCookie || !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n cookieOptions.crossSite = !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite();\n }\n return cookieOptions;\n}\n//# sourceMappingURL=sessionInCookie.js.map","import { generateUUID } from '../../../tools/utils/stringUtils';\nimport { SessionPersistence } from '../sessionConstants';\nimport { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nconst LOCAL_STORAGE_TEST_KEY = '_dd_test_';\nexport function selectLocalStorageStrategy() {\n try {\n const id = generateUUID();\n const testKey = `${LOCAL_STORAGE_TEST_KEY}${id}`;\n localStorage.setItem(testKey, id);\n const retrievedId = localStorage.getItem(testKey);\n localStorage.removeItem(testKey);\n return id === retrievedId ? { type: SessionPersistence.LOCAL_STORAGE } : undefined;\n }\n catch (_a) {\n return undefined;\n }\n}\nexport function initLocalStorageStrategy(configuration) {\n return {\n isLockEnabled: false,\n persistSession: persistInLocalStorage,\n retrieveSession: retrieveSessionFromLocalStorage,\n expireSession: (sessionState) => expireSessionFromLocalStorage(sessionState, configuration),\n };\n}\nfunction persistInLocalStorage(sessionState) {\n localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState));\n}\nfunction retrieveSessionFromLocalStorage() {\n const sessionString = localStorage.getItem(SESSION_STORE_KEY);\n return toSessionState(sessionString);\n}\nfunction expireSessionFromLocalStorage(previousSessionState, configuration) {\n persistInLocalStorage(getExpiredSessionState(previousSessionState, configuration));\n}\n//# sourceMappingURL=sessionInLocalStorage.js.map","import { setTimeout } from '../../tools/timer';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { expandSessionState, isSessionInExpiredState } from './sessionState';\nexport const LOCK_RETRY_DELAY = 10;\nexport const LOCK_MAX_TRIES = 100;\nconst bufferedOperations = [];\nlet ongoingOperations;\nexport function processSessionStoreOperations(operations, sessionStoreStrategy, numberOfRetries = 0) {\n var _a;\n const { isLockEnabled, persistSession, expireSession } = sessionStoreStrategy;\n const persistWithLock = (session) => persistSession({ ...session, lock: currentLock });\n const retrieveStore = () => {\n const session = sessionStoreStrategy.retrieveSession();\n const lock = session.lock;\n if (session.lock) {\n delete session.lock;\n }\n return {\n session,\n lock,\n };\n };\n if (!ongoingOperations) {\n ongoingOperations = operations;\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations);\n return;\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n next(sessionStoreStrategy);\n return;\n }\n let currentLock;\n let currentStore = retrieveStore();\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentStore.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = generateUUID();\n persistWithLock(currentStore.session);\n // if lock is not acquired, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n let processedSession = operations.process(currentStore.session);\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n expireSession(processedSession);\n }\n else {\n expandSessionState(processedSession);\n if (isLockEnabled) {\n persistWithLock(processedSession);\n }\n else {\n persistSession(processedSession);\n }\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n persistSession(currentStore.session);\n processedSession = currentStore.session;\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentStore.session);\n next(sessionStoreStrategy);\n}\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(() => {\n processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1);\n }, LOCK_RETRY_DELAY);\n}\nfunction next(sessionStore) {\n ongoingOperations = undefined;\n const nextOperations = bufferedOperations.shift();\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore);\n }\n}\n//# sourceMappingURL=sessionStoreOperations.js.map","import { clearInterval, setInterval } from '../../tools/timer';\nimport { Observable } from '../../tools/observable';\nimport { ONE_SECOND, dateNow } from '../../tools/utils/timeUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { display } from '../../tools/display';\nimport { selectCookieStrategy, initCookieStrategy } from './storeStrategies/sessionInCookie';\nimport { getExpiredSessionState, isSessionInExpiredState, isSessionInNotStartedState, isSessionStarted, } from './sessionState';\nimport { initLocalStorageStrategy, selectLocalStorageStrategy } from './storeStrategies/sessionInLocalStorage';\nimport { processSessionStoreOperations } from './sessionStoreOperations';\nimport { SessionPersistence } from './sessionConstants';\n/**\n * Every second, the storage will be polled to check for any change that can occur\n * to the session state in another browser tab, or another window.\n * This value has been determined from our previous cookie-only implementation.\n */\nexport const STORAGE_POLL_DELAY = ONE_SECOND;\n/**\n * Selects the correct session store strategy type based on the configuration and storage\n * availability.\n */\nexport function selectSessionStoreStrategyType(initConfiguration) {\n switch (initConfiguration.sessionPersistence) {\n case SessionPersistence.COOKIE:\n return selectCookieStrategy(initConfiguration);\n case SessionPersistence.LOCAL_STORAGE:\n return selectLocalStorageStrategy();\n case undefined: {\n let sessionStoreStrategyType = selectCookieStrategy(initConfiguration);\n if (!sessionStoreStrategyType && initConfiguration.allowFallbackToLocalStorage) {\n sessionStoreStrategyType = selectLocalStorageStrategy();\n }\n return sessionStoreStrategyType;\n }\n default:\n display.error(`Invalid session persistence '${String(initConfiguration.sessionPersistence)}'`);\n }\n}\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(sessionStoreStrategyType, configuration, productKey, computeSessionState) {\n const renewObservable = new Observable();\n const expireObservable = new Observable();\n const sessionStateUpdateObservable = new Observable();\n const sessionStoreStrategy = sessionStoreStrategyType.type === SessionPersistence.COOKIE\n ? initCookieStrategy(configuration, sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy(configuration);\n const { expireSession } = sessionStoreStrategy;\n const watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY);\n let sessionCache;\n startSession();\n const { throttled: throttledExpandOrRenewSession, cancel: cancelExpandOrRenewSession } = throttle(() => {\n processSessionStoreOperations({\n process: (sessionState) => {\n if (isSessionInNotStartedState(sessionState)) {\n return;\n }\n const synchronizedSession = synchronizeSession(sessionState);\n expandOrRenewSessionState(synchronizedSession);\n return synchronizedSession;\n },\n after: (sessionState) => {\n if (isSessionStarted(sessionState) && !hasSessionInCache()) {\n renewSessionInCache(sessionState);\n }\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }, STORAGE_POLL_DELAY);\n function expandSession() {\n processSessionStoreOperations({\n process: (sessionState) => (hasSessionInCache() ? synchronizeSession(sessionState) : undefined),\n }, sessionStoreStrategy);\n }\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session store\n * - if the session is not active, clear the session store and expire the session cache\n */\n function watchSession() {\n processSessionStoreOperations({\n process: (sessionState) => isSessionInExpiredState(sessionState) ? getExpiredSessionState(sessionState, configuration) : undefined,\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n function synchronizeSession(sessionState) {\n if (isSessionInExpiredState(sessionState)) {\n sessionState = getExpiredSessionState(sessionState, configuration);\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache();\n }\n else {\n sessionStateUpdateObservable.notify({ previousState: sessionCache, newState: sessionState });\n sessionCache = sessionState;\n }\n }\n return sessionState;\n }\n function startSession() {\n processSessionStoreOperations({\n process: (sessionState) => {\n if (isSessionInNotStartedState(sessionState)) {\n return getExpiredSessionState(sessionState, configuration);\n }\n },\n after: (sessionState) => {\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }\n function expandOrRenewSessionState(sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return false;\n }\n const { trackingType, isTracked } = computeSessionState(sessionState[productKey]);\n sessionState[productKey] = trackingType;\n delete sessionState.isExpired;\n if (isTracked && !sessionState.id) {\n sessionState.id = generateUUID();\n sessionState.created = String(dateNow());\n }\n }\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined;\n }\n function isSessionInCacheOutdated(sessionState) {\n return sessionCache.id !== sessionState.id || sessionCache[productKey] !== sessionState[productKey];\n }\n function expireSessionInCache() {\n sessionCache = getExpiredSessionState(sessionCache, configuration);\n expireObservable.notify();\n }\n function renewSessionInCache(sessionState) {\n sessionCache = sessionState;\n renewObservable.notify();\n }\n function updateSessionState(partialSessionState) {\n processSessionStoreOperations({\n process: (sessionState) => ({ ...sessionState, ...partialSessionState }),\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession,\n getSession: () => sessionCache,\n renewObservable,\n expireObservable,\n sessionStateUpdateObservable,\n restartSession: startSession,\n expire: () => {\n cancelExpandOrRenewSession();\n expireSession(sessionCache);\n synchronizeSession(getExpiredSessionState(sessionCache, configuration));\n },\n stop: () => {\n clearInterval(watchSessionTimeoutId);\n },\n updateSessionState,\n };\n}\n//# sourceMappingURL=sessionStore.js.map","import { timeStampNow } from '../../tools/utils/timeUtils';\nimport { normalizeUrl } from '../../tools/utils/urlPolyfill';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { INTAKE_SITE_US1, INTAKE_SITE_FED_STAGING, PCI_INTAKE_HOST_US1 } from './intakeSites';\nexport function createEndpointBuilder(initConfiguration, trackType, configurationTags) {\n const buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, trackType);\n return {\n build(api, payload) {\n const parameters = buildEndpointParameters(initConfiguration, trackType, configurationTags, api, payload);\n return buildUrlWithParameters(parameters);\n },\n urlPrefix: buildUrlWithParameters(''),\n trackType,\n };\n}\n/**\n * Create a function used to build a full endpoint url from provided parameters. The goal of this\n * function is to pre-compute some parts of the URL to avoid re-computing everything on every\n * request, as only parameters are changing.\n */\nfunction createEndpointUrlWithParametersBuilder(initConfiguration, trackType) {\n const path = `/api/v2/${trackType}`;\n const proxy = initConfiguration.proxy;\n if (typeof proxy === 'string') {\n const normalizedProxyUrl = normalizeUrl(proxy);\n return (parameters) => `${normalizedProxyUrl}?ddforward=${encodeURIComponent(`${path}?${parameters}`)}`;\n }\n if (typeof proxy === 'function') {\n return (parameters) => proxy({ path, parameters });\n }\n const host = buildEndpointHost(trackType, initConfiguration);\n return (parameters) => `https://${host}${path}?${parameters}`;\n}\nfunction buildEndpointHost(trackType, initConfiguration) {\n const { site = INTAKE_SITE_US1, internalAnalyticsSubdomain } = initConfiguration;\n if (trackType === 'logs' && initConfiguration.usePciIntake && site === INTAKE_SITE_US1) {\n return PCI_INTAKE_HOST_US1;\n }\n if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {\n return `${internalAnalyticsSubdomain}.${INTAKE_SITE_US1}`;\n }\n if (site === INTAKE_SITE_FED_STAGING) {\n return `http-intake.logs.${site}`;\n }\n const domainParts = site.split('.');\n const extension = domainParts.pop();\n return `browser-intake-${domainParts.join('-')}.${extension}`;\n}\n/**\n * Build parameters to be used for an intake request. Parameters should be re-built for each\n * request, as they change randomly.\n */\nfunction buildEndpointParameters({ clientToken, internalAnalyticsSubdomain }, trackType, configurationTags, api, { retry, encoding }) {\n const tags = [`sdk_version:${\"6.1.0\"}`, `api:${api}`].concat(configurationTags);\n if (retry) {\n tags.push(`retry_count:${retry.count}`, `retry_after:${retry.lastFailureStatus}`);\n }\n const parameters = [\n 'ddsource=browser',\n `ddtags=${encodeURIComponent(tags.join(','))}`,\n `dd-api-key=${clientToken}`,\n `dd-evp-origin-version=${encodeURIComponent(\"6.1.0\")}`,\n 'dd-evp-origin=browser',\n `dd-request-id=${generateUUID()}`,\n ];\n if (encoding) {\n parameters.push(`dd-evp-encoding=${encoding}`);\n }\n if (trackType === 'rum') {\n parameters.push(`batch_time=${timeStampNow()}`);\n }\n if (internalAnalyticsSubdomain) {\n parameters.reverse();\n }\n return parameters.join('&');\n}\n//# sourceMappingURL=endpointBuilder.js.map","import { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';\nexport const TAG_SIZE_LIMIT = 200;\nexport function buildTags(configuration) {\n const { env, service, version, datacenter } = configuration;\n const tags = [];\n if (env) {\n tags.push(buildTag('env', env));\n }\n if (service) {\n tags.push(buildTag('service', service));\n }\n if (version) {\n tags.push(buildTag('version', version));\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter));\n }\n return tags;\n}\nexport function buildTag(key, rawValue) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n const valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || hasForbiddenCharacters(rawValue)) {\n display.warn(`${key} value doesn't meet tag requirements and will be sanitized. ${MORE_DETAILS} ${DOCS_ORIGIN}/getting_started/tagging/#defining-tags`);\n }\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n const sanitizedValue = rawValue.replace(/,/g, '_');\n return `${key}:${sanitizedValue}`;\n}\nfunction hasForbiddenCharacters(rawValue) {\n // Unicode property escapes is not supported in all browsers, so we use a try/catch.\n // Todo: Remove the try/catch when dropping support for Chrome 63 and Firefox 67\n // see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#browser_compatibility\n if (!supportUnicodePropertyEscapes()) {\n return false;\n }\n // We use the Unicode property escapes to match any character that is a letter including other languages like Chinese, Japanese, etc.\n // p{Ll} matches a lowercase letter.\n // p{Lo} matches a letter that is neither uppercase nor lowercase (ex: Japanese characters).\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#unicode_property_escapes_vs._character_classes\n return new RegExp('[^\\\\p{Ll}\\\\p{Lo}0-9_:./-]', 'u').test(rawValue);\n}\nexport function supportUnicodePropertyEscapes() {\n try {\n new RegExp('[\\\\p{Ll}]', 'u');\n return true;\n }\n catch (_a) {\n return false;\n }\n}\n//# sourceMappingURL=tags.js.map","import { createEndpointBuilder } from './endpointBuilder';\nimport { buildTags } from './tags';\nimport { INTAKE_SITE_US1, INTAKE_URL_PARAMETERS } from './intakeSites';\nexport function computeTransportConfiguration(initConfiguration) {\n const site = initConfiguration.site || INTAKE_SITE_US1;\n const tags = buildTags(initConfiguration);\n const endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n const replicaConfiguration = computeReplicaConfiguration(initConfiguration, tags);\n return {\n replica: replicaConfiguration,\n site,\n ...endpointBuilders,\n };\n}\nfunction computeEndpointBuilders(initConfiguration, tags) {\n return {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'replay', tags),\n };\n}\nfunction computeReplicaConfiguration(initConfiguration, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n const replicaConfiguration = {\n ...initConfiguration,\n site: INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n };\n const replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n };\n return { applicationId: initConfiguration.replica.applicationId, ...replicaEndpointBuilders };\n}\nexport function isIntakeUrl(url) {\n // check if tags is present in the query string\n return INTAKE_URL_PARAMETERS.every((param) => url.includes(param));\n}\n//# sourceMappingURL=transportConfiguration.js.map","import { catchUserErrors } from '../../tools/catchUserErrors';\nimport { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';\nimport { ONE_SECOND } from '../../tools/utils/timeUtils';\nimport { isPercentage } from '../../tools/utils/numberUtils';\nimport { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils';\nimport { objectHasValue } from '../../tools/utils/objectUtils';\nimport { selectSessionStoreStrategyType } from '../session/sessionStore';\nimport { TrackingConsent } from '../trackingConsent';\nimport { computeTransportConfiguration } from './transportConfiguration';\nexport const DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nexport const TraceContextInjection = {\n ALL: 'all',\n SAMPLED: 'sampled',\n};\nfunction isString(tag, tagName) {\n if (tag !== undefined && tag !== null && typeof tag !== 'string') {\n display.error(`${tagName} must be defined as a string`);\n return false;\n }\n return true;\n}\nfunction isDatadogSite(site) {\n if (site && typeof site === 'string' && !/(datadog|ddog|datad0g|dd0g)/.test(site)) {\n display.error(`Site should be a valid Datadog site. ${MORE_DETAILS} ${DOCS_ORIGIN}/getting_started/site/.`);\n return false;\n }\n return true;\n}\nexport function isSampleRate(sampleRate, name) {\n if (sampleRate !== undefined && !isPercentage(sampleRate)) {\n display.error(`${name} Sample Rate should be a number between 0 and 100`);\n return false;\n }\n return true;\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n var _a, _b, _c, _d, _e, _f;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n if (!isDatadogSite(initConfiguration.site) ||\n !isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||\n !isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||\n !isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||\n !isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||\n !isString(initConfiguration.version, 'Version') ||\n !isString(initConfiguration.env, 'Env') ||\n !isString(initConfiguration.service, 'Service')) {\n return;\n }\n if (initConfiguration.trackingConsent !== undefined &&\n !objectHasValue(TrackingConsent, initConfiguration.trackingConsent)) {\n display.error('Tracking Consent should be either \"granted\" or \"not-granted\"');\n return;\n }\n return {\n beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n sessionStoreStrategyType: selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,\n telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,\n telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,\n telemetryUsageSampleRate: (_d = initConfiguration.telemetryUsageSampleRate) !== null && _d !== void 0 ? _d : 5,\n service: initConfiguration.service || undefined,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,\n trackingConsent: (_e = initConfiguration.trackingConsent) !== null && _e !== void 0 ? _e : TrackingConsent.GRANTED,\n trackAnonymousUser: (_f = initConfiguration.trackAnonymousUser) !== null && _f !== void 0 ? _f : true,\n storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: (30 * ONE_SECOND),\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n ...computeTransportConfiguration(initConfiguration),\n };\n}\nexport function serializeConfiguration(initConfiguration) {\n return {\n session_sample_rate: initConfiguration.sessionSampleRate,\n telemetry_sample_rate: initConfiguration.telemetrySampleRate,\n telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,\n telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,\n use_before_send: !!initConfiguration.beforeSend,\n use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,\n use_secure_session_cookie: initConfiguration.useSecureSessionCookie,\n use_proxy: !!initConfiguration.proxy,\n silent_multiple_init: initConfiguration.silentMultipleInit,\n track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,\n track_anonymous_user: initConfiguration.trackAnonymousUser,\n session_persistence: initConfiguration.sessionPersistence,\n allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,\n store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,\n allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,\n tracking_consent: initConfiguration.trackingConsent,\n };\n}\n//# sourceMappingURL=configuration.js.map","import { display } from './display';\nimport { getType } from './utils/typeUtils';\nexport function isMatchOption(item) {\n const itemType = getType(item);\n return itemType === 'string' || itemType === 'function' || item instanceof RegExp;\n}\n/**\n * Returns true if value can be matched by at least one of the provided MatchOptions.\n * When comparing strings, setting useStartsWith to true will compare the value with the start of\n * the option, instead of requiring an exact match.\n */\nexport function matchList(list, value, useStartsWith = false) {\n return list.some((item) => {\n try {\n if (typeof item === 'function') {\n return item(value);\n }\n else if (item instanceof RegExp) {\n return item.test(value);\n }\n else if (typeof item === 'string') {\n return useStartsWith ? value.startsWith(item) : item === value;\n }\n }\n catch (e) {\n display.error(e);\n }\n return false;\n });\n}\n//# sourceMappingURL=matchOption.js.map","export function getCrypto() {\n // TODO: remove msCrypto when IE11 support is dropped\n return window.crypto || window.msCrypto;\n}\n//# sourceMappingURL=crypto.js.map","import { ExperimentalFeature, isExperimentalFeatureEnabled } from '@datadog/browser-core';\nimport { getCrypto } from '../../browser/crypto';\nexport function createTraceIdentifier() {\n return createIdentifier(64);\n}\nexport function createSpanIdentifier() {\n return createIdentifier(63);\n}\nlet createIdentifierImplementationCache;\nexport function clearIdentifierImplementationCache() {\n createIdentifierImplementationCache = undefined;\n}\nfunction createIdentifier(bits) {\n if (!createIdentifierImplementationCache) {\n createIdentifierImplementationCache =\n isExperimentalFeatureEnabled(ExperimentalFeature.CONSISTENT_TRACE_SAMPLING) && areBigIntIdentifiersSupported()\n ? createIdentifierUsingBigInt\n : createIdentifierUsingUint32Array;\n }\n return createIdentifierImplementationCache(bits);\n}\nexport function areBigIntIdentifiersSupported() {\n try {\n crypto.getRandomValues(new BigUint64Array(1));\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction createIdentifierUsingBigInt(bits) {\n let id = crypto.getRandomValues(new BigUint64Array(1))[0];\n if (bits === 63) {\n // eslint-disable-next-line no-bitwise\n id >>= BigInt('1');\n }\n return id;\n}\n// TODO: remove this when all browser we support have BigInt support\nfunction createIdentifierUsingUint32Array(bits) {\n const buffer = getCrypto().getRandomValues(new Uint32Array(2));\n if (bits === 63) {\n // eslint-disable-next-line no-bitwise\n buffer[buffer.length - 1] >>>= 1; // force 63-bit\n }\n return {\n toString(radix = 10) {\n let high = buffer[1];\n let low = buffer[0];\n let str = '';\n do {\n const mod = (high % radix) * 4294967296 + low;\n high = Math.floor(high / radix);\n low = Math.floor(mod / radix);\n str = (mod % radix).toString(radix) + str;\n } while (high || low);\n return str;\n },\n };\n}\nexport function toPaddedHexadecimalString(id) {\n const traceId = id.toString(16);\n // TODO: replace with String.prototype.padStart when we drop IE11 support\n return Array(17 - traceId.length).join('0') + traceId;\n}\n//# sourceMappingURL=identifier.js.map","import { objectEntries, shallowClone, getType, isMatchOption, matchList, TraceContextInjection, } from '@datadog/browser-core';\nimport { getCrypto } from '../../browser/crypto';\nimport { createSpanIdentifier, createTraceIdentifier, toPaddedHexadecimalString } from './identifier';\nimport { isTraceSampled } from './sampler';\nexport function isTracingOption(item) {\n const expectedItem = item;\n return (getType(expectedItem) === 'object' &&\n isMatchOption(expectedItem.match) &&\n Array.isArray(expectedItem.propagatorTypes));\n}\n/**\n * Clear tracing information to avoid incomplete traces. Ideally, we should do it when the\n * request did not reach the server, but the browser does not expose this. So, we clear tracing\n * information if the request ended with status 0 without being aborted by the application.\n *\n * Reasoning:\n *\n * * Applications are usually aborting requests after a bit of time, for example when the user is\n * typing (autocompletion) or navigating away (in a SPA). With a performant device and good\n * network conditions, the request is likely to reach the server before being canceled.\n *\n * * Requests aborted otherwise (ex: lack of internet, CORS issue, blocked by a privacy extension)\n * are likely to finish quickly and without reaching the server.\n *\n * Of course, it might not be the case every time, but it should limit having incomplete traces a\n * bit.\n * */\nexport function clearTracingIfNeeded(context) {\n if (context.status === 0 && !context.isAborted) {\n context.traceId = undefined;\n context.spanId = undefined;\n context.traceSampled = undefined;\n }\n}\nexport function startTracer(configuration, sessionManager) {\n return {\n clearTracingIfNeeded,\n traceFetch: (context) => injectHeadersIfTracingAllowed(configuration, context, sessionManager, (tracingHeaders) => {\n var _a;\n if (context.input instanceof Request && !((_a = context.init) === null || _a === void 0 ? void 0 : _a.headers)) {\n context.input = new Request(context.input);\n Object.keys(tracingHeaders).forEach((key) => {\n ;\n context.input.headers.append(key, tracingHeaders[key]);\n });\n }\n else {\n context.init = shallowClone(context.init);\n const headers = [];\n if (context.init.headers instanceof Headers) {\n context.init.headers.forEach((value, key) => {\n headers.push([key, value]);\n });\n }\n else if (Array.isArray(context.init.headers)) {\n context.init.headers.forEach((header) => {\n headers.push(header);\n });\n }\n else if (context.init.headers) {\n Object.keys(context.init.headers).forEach((key) => {\n headers.push([key, context.init.headers[key]]);\n });\n }\n context.init.headers = headers.concat(objectEntries(tracingHeaders));\n }\n }),\n traceXhr: (context, xhr) => injectHeadersIfTracingAllowed(configuration, context, sessionManager, (tracingHeaders) => {\n Object.keys(tracingHeaders).forEach((name) => {\n xhr.setRequestHeader(name, tracingHeaders[name]);\n });\n }),\n };\n}\nfunction injectHeadersIfTracingAllowed(configuration, context, sessionManager, inject) {\n if (!isTracingSupported() || !sessionManager.findTrackedSession()) {\n return;\n }\n const tracingOption = configuration.allowedTracingUrls.find((tracingOption) => matchList([tracingOption.match], context.url, true));\n if (!tracingOption) {\n return;\n }\n const traceId = createTraceIdentifier();\n context.traceSampled = isTraceSampled(traceId, configuration.traceSampleRate);\n const shouldInjectHeaders = context.traceSampled || configuration.traceContextInjection === TraceContextInjection.ALL;\n if (!shouldInjectHeaders) {\n return;\n }\n context.traceId = traceId;\n context.spanId = createSpanIdentifier();\n inject(makeTracingHeaders(context.traceId, context.spanId, context.traceSampled, tracingOption.propagatorTypes));\n}\nexport function isTracingSupported() {\n return getCrypto() !== undefined;\n}\n/**\n * When trace is not sampled, set priority to '0' instead of not adding the tracing headers\n * to prepare the implementation for sampling delegation.\n */\nfunction makeTracingHeaders(traceId, spanId, traceSampled, propagatorTypes) {\n const tracingHeaders = {};\n propagatorTypes.forEach((propagatorType) => {\n switch (propagatorType) {\n case 'datadog': {\n Object.assign(tracingHeaders, {\n 'x-datadog-origin': 'rum',\n 'x-datadog-parent-id': spanId.toString(),\n 'x-datadog-sampling-priority': traceSampled ? '1' : '0',\n 'x-datadog-trace-id': traceId.toString(),\n });\n break;\n }\n // https://www.w3.org/TR/trace-context/\n case 'tracecontext': {\n Object.assign(tracingHeaders, {\n traceparent: `00-0000000000000000${toPaddedHexadecimalString(traceId)}-${toPaddedHexadecimalString(spanId)}-0${traceSampled ? '1' : '0'}`,\n tracestate: `dd=s:${traceSampled ? '1' : '0'};o:rum`,\n });\n break;\n }\n // https://github.com/openzipkin/b3-propagation\n case 'b3': {\n Object.assign(tracingHeaders, {\n b3: `${toPaddedHexadecimalString(traceId)}-${toPaddedHexadecimalString(spanId)}-${traceSampled ? '1' : '0'}`,\n });\n break;\n }\n case 'b3multi': {\n Object.assign(tracingHeaders, {\n 'X-B3-TraceId': toPaddedHexadecimalString(traceId),\n 'X-B3-SpanId': toPaddedHexadecimalString(spanId),\n 'X-B3-Sampled': traceSampled ? '1' : '0',\n });\n break;\n }\n }\n });\n return tracingHeaders;\n}\n//# sourceMappingURL=tracer.js.map","import { performDraw } from '@datadog/browser-core';\nexport function isTraceSampled(identifier, sampleRate) {\n // Shortcuts for common cases. This is not strictly necessary, but it makes the code faster for\n // customers willing to ingest all traces.\n if (sampleRate === 100) {\n return true;\n }\n if (sampleRate === 0) {\n return false;\n }\n // For simplicity, we don't use consistent sampling for browser that don't support BigInt\n // TODO: remove this when all browser we support have BigInt support\n if (typeof identifier !== 'bigint') {\n return performDraw(sampleRate);\n }\n // Offer consistent sampling for the same trace id across different environments. The rule is:\n //\n // (identifier * knuthFactor) % 2^64 < sampleRate * 2^64\n //\n // Because JavaScript numbers are 64-bit floats, we can't represent 64-bit integers, and the\n // modulo would be incorrect. Thus, we are using BigInts here.\n //\n // Implementation in other languages:\n // * Go https://github.com/DataDog/dd-trace-go/blob/ec6fbb1f2d517b7b8e69961052adf7136f3af773/ddtrace/tracer/sampler.go#L86-L91\n // * Python https://github.com/DataDog/dd-trace-py/blob/0cee2f066fb6e79aa15947c1514c0f406dea47c5/ddtrace/sampling_rule.py#L197\n // * Ruby https://github.com/DataDog/dd-trace-rb/blob/1a6e255cdcb7e7e22235ea5955f90f6dfa91045d/lib/datadog/tracing/sampling/rate_sampler.rb#L42\n // * C++ https://github.com/DataDog/dd-trace-cpp/blob/159629edc438ae45f2bb318eb7bd51abd05e94b5/src/datadog/trace_sampler.cpp#L58\n // * Java https://github.com/DataDog/dd-trace-java/blob/896dd6b380533216e0bdee59614606c8272d313e/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java#L48\n //\n // Note: All implementations have slight variations. Some of them use '<=' instead of '<', and\n // use `sampleRate * 2^64 - 1` instead of `sampleRate * 2^64`. The following implementation\n // should adhere to the spec and is a bit simpler than using a 2^64-1 limit as there are less\n // BigInt arithmetic to write. In practice this does not matter, as we are using floating point\n // numbers in the end, and Number(2n**64n-1n) === Number(2n**64n).\n const knuthFactor = BigInt('1111111111111111111');\n const twoPow64 = BigInt('0x10000000000000000'); // 2n ** 64n\n const hash = (identifier * knuthFactor) % twoPow64;\n return Number(hash) <= (sampleRate / 100) * Number(twoPow64);\n}\n//# sourceMappingURL=sampler.js.map","import { getType, isMatchOption, serializeConfiguration, DefaultPrivacyLevel, TraceContextInjection, display, objectHasValue, validateAndBuildConfiguration, isSampleRate, isNumber, } from '@datadog/browser-core';\nimport { isTracingOption } from '../tracing/tracer';\nexport const DEFAULT_PROPAGATOR_TYPES = ['tracecontext', 'datadog'];\nexport function validateAndBuildRumConfiguration(initConfiguration) {\n var _a, _b, _c, _d, _e, _f;\n if (initConfiguration.trackFeatureFlagsForEvents !== undefined &&\n !Array.isArray(initConfiguration.trackFeatureFlagsForEvents)) {\n display.warn('trackFeatureFlagsForEvents should be an array');\n }\n if (!initConfiguration.applicationId) {\n display.error('Application ID is not configured, no RUM data will be collected.');\n return;\n }\n if (!isSampleRate(initConfiguration.sessionReplaySampleRate, 'Session Replay') ||\n !isSampleRate(initConfiguration.traceSampleRate, 'Trace')) {\n return;\n }\n if (initConfiguration.excludedActivityUrls !== undefined && !Array.isArray(initConfiguration.excludedActivityUrls)) {\n display.error('Excluded Activity Urls should be an array');\n return;\n }\n const allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration);\n if (!allowedTracingUrls) {\n return;\n }\n const baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n if (!baseConfiguration) {\n return;\n }\n const sessionReplaySampleRate = (_a = initConfiguration.sessionReplaySampleRate) !== null && _a !== void 0 ? _a : 0;\n return {\n applicationId: initConfiguration.applicationId,\n version: initConfiguration.version || undefined,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate,\n startSessionReplayRecordingManually: initConfiguration.startSessionReplayRecordingManually !== undefined\n ? !!initConfiguration.startSessionReplayRecordingManually\n : sessionReplaySampleRate === 0,\n traceSampleRate: (_b = initConfiguration.traceSampleRate) !== null && _b !== void 0 ? _b : 100,\n rulePsr: isNumber(initConfiguration.traceSampleRate) ? initConfiguration.traceSampleRate / 100 : undefined,\n allowedTracingUrls,\n excludedActivityUrls: (_c = initConfiguration.excludedActivityUrls) !== null && _c !== void 0 ? _c : [],\n workerUrl: initConfiguration.workerUrl,\n compressIntakeRequests: !!initConfiguration.compressIntakeRequests,\n trackUserInteractions: !!((_d = initConfiguration.trackUserInteractions) !== null && _d !== void 0 ? _d : true),\n trackViewsManually: !!initConfiguration.trackViewsManually,\n trackResources: !!((_e = initConfiguration.trackResources) !== null && _e !== void 0 ? _e : true),\n trackLongTasks: !!((_f = initConfiguration.trackLongTasks) !== null && _f !== void 0 ? _f : true),\n subdomain: initConfiguration.subdomain,\n defaultPrivacyLevel: objectHasValue(DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel)\n ? initConfiguration.defaultPrivacyLevel\n : DefaultPrivacyLevel.MASK,\n enablePrivacyForActionName: !!initConfiguration.enablePrivacyForActionName,\n customerDataTelemetrySampleRate: 1,\n traceContextInjection: objectHasValue(TraceContextInjection, initConfiguration.traceContextInjection)\n ? initConfiguration.traceContextInjection\n : TraceContextInjection.SAMPLED,\n plugins: initConfiguration.plugins || [],\n trackFeatureFlagsForEvents: initConfiguration.trackFeatureFlagsForEvents || [],\n ...baseConfiguration,\n };\n}\n/**\n * Validates allowedTracingUrls and converts match options to tracing options\n */\nfunction validateAndBuildTracingOptions(initConfiguration) {\n if (initConfiguration.allowedTracingUrls === undefined) {\n return [];\n }\n if (!Array.isArray(initConfiguration.allowedTracingUrls)) {\n display.error('Allowed Tracing URLs should be an array');\n return;\n }\n if (initConfiguration.allowedTracingUrls.length !== 0 && initConfiguration.service === undefined) {\n display.error('Service needs to be configured when tracing is enabled');\n return;\n }\n // Convert from (MatchOption | TracingOption) to TracingOption, remove unknown properties\n const tracingOptions = [];\n initConfiguration.allowedTracingUrls.forEach((option) => {\n if (isMatchOption(option)) {\n tracingOptions.push({ match: option, propagatorTypes: DEFAULT_PROPAGATOR_TYPES });\n }\n else if (isTracingOption(option)) {\n tracingOptions.push(option);\n }\n else {\n display.warn('Allowed Tracing Urls parameters should be a string, RegExp, function, or an object. Ignoring parameter', option);\n }\n });\n return tracingOptions;\n}\n/**\n * Combines the selected tracing propagators from the different options in allowedTracingUrls\n */\nfunction getSelectedTracingPropagators(configuration) {\n const usedTracingPropagators = new Set();\n if (Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0) {\n configuration.allowedTracingUrls.forEach((option) => {\n if (isMatchOption(option)) {\n DEFAULT_PROPAGATOR_TYPES.forEach((propagatorType) => usedTracingPropagators.add(propagatorType));\n }\n else if (getType(option) === 'object' && Array.isArray(option.propagatorTypes)) {\n // Ensure we have an array, as we cannot rely on types yet (configuration is provided by users)\n option.propagatorTypes.forEach((propagatorType) => usedTracingPropagators.add(propagatorType));\n }\n });\n }\n return Array.from(usedTracingPropagators);\n}\nexport function serializeRumConfiguration(configuration) {\n var _a;\n const baseSerializedConfiguration = serializeConfiguration(configuration);\n return {\n session_replay_sample_rate: configuration.sessionReplaySampleRate,\n start_session_replay_recording_manually: configuration.startSessionReplayRecordingManually,\n trace_sample_rate: configuration.traceSampleRate,\n trace_context_injection: configuration.traceContextInjection,\n action_name_attribute: configuration.actionNameAttribute,\n use_allowed_tracing_urls: Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0,\n selected_tracing_propagators: getSelectedTracingPropagators(configuration),\n default_privacy_level: configuration.defaultPrivacyLevel,\n enable_privacy_for_action_name: configuration.enablePrivacyForActionName,\n use_excluded_activity_urls: Array.isArray(configuration.excludedActivityUrls) && configuration.excludedActivityUrls.length > 0,\n use_worker_url: !!configuration.workerUrl,\n compress_intake_requests: configuration.compressIntakeRequests,\n track_views_manually: configuration.trackViewsManually,\n track_user_interactions: configuration.trackUserInteractions,\n track_resources: configuration.trackResources,\n track_long_task: configuration.trackLongTasks,\n plugins: (_a = configuration.plugins) === null || _a === void 0 ? void 0 : _a.map((plugin) => {\n var _a;\n return ({\n name: plugin.name,\n ...(_a = plugin.getConfigurationTelemetry) === null || _a === void 0 ? void 0 : _a.call(plugin),\n });\n }),\n track_feature_flags_for_events: configuration.trackFeatureFlagsForEvents,\n ...baseSerializedConfiguration,\n };\n}\n//# sourceMappingURL=configuration.js.map","import { display, addEventListener } from '@datadog/browser-core';\nexport const REMOTE_CONFIGURATION_URL = 'https://d3uc069fcn7uxw.cloudfront.net/configuration';\nexport function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {\n fetchRemoteConfiguration(initConfiguration, (remoteInitConfiguration) => {\n callback(applyRemoteConfiguration(initConfiguration, remoteInitConfiguration));\n });\n}\nexport function applyRemoteConfiguration(initConfiguration, remoteInitConfiguration) {\n return { ...initConfiguration, ...remoteInitConfiguration };\n}\nexport function fetchRemoteConfiguration(configuration, callback) {\n const xhr = new XMLHttpRequest();\n addEventListener(configuration, xhr, 'load', function () {\n if (xhr.status === 200) {\n callback(JSON.parse(xhr.responseText));\n }\n else {\n displayRemoteConfigurationFetchingError();\n }\n });\n addEventListener(configuration, xhr, 'error', function () {\n displayRemoteConfigurationFetchingError();\n });\n xhr.open('GET', `${REMOTE_CONFIGURATION_URL}/${encodeURIComponent(configuration.remoteConfigurationId)}.json`);\n xhr.send();\n}\nfunction displayRemoteConfigurationFetchingError() {\n display.error('Error fetching the remote configuration.');\n}\n//# sourceMappingURL=remoteConfiguration.js.map","import { createBoundedBuffer, display, canUseEventBridge, displayAlreadyInitializedError, willSyntheticsInjectRum, noop, timeStampNow, clocksNow, getEventBridge, ExperimentalFeature, isExperimentalFeatureEnabled, initFeatureFlags, addTelemetryConfiguration, initFetchObservable, } from '@datadog/browser-core';\nimport { validateAndBuildRumConfiguration, } from '../domain/configuration';\nimport { startDurationVital, stopDurationVital } from '../domain/vital/vitalCollection';\nimport { fetchAndApplyRemoteConfiguration, serializeRumConfiguration } from '../domain/configuration';\nimport { callPluginsMethod } from '../domain/plugins';\nexport function createPreStartStrategy({ ignoreInitIfSyntheticsWillInjectRum, startDeflateWorker }, getCommonContext, trackingConsentState, customVitalsState, doStartRum) {\n const bufferApiCalls = createBoundedBuffer();\n let firstStartViewCall;\n let deflateWorker;\n let cachedInitConfiguration;\n let cachedConfiguration;\n const trackingConsentStateSubscription = trackingConsentState.observable.subscribe(tryStartRum);\n const emptyContext = {};\n function tryStartRum() {\n if (!cachedInitConfiguration || !cachedConfiguration || !trackingConsentState.isGranted()) {\n return;\n }\n trackingConsentStateSubscription.unsubscribe();\n let initialViewOptions;\n if (cachedConfiguration.trackViewsManually) {\n if (!firstStartViewCall) {\n return;\n }\n // An initial view is always created when starting RUM.\n // When tracking views automatically, any startView call before RUM start creates an extra\n // view.\n // When tracking views manually, we use the ViewOptions from the first startView call as the\n // initial view options, and we remove the actual startView call so we don't create an extra\n // view.\n bufferApiCalls.remove(firstStartViewCall.callback);\n initialViewOptions = firstStartViewCall.options;\n }\n const startRumResult = doStartRum(cachedConfiguration, deflateWorker, initialViewOptions);\n bufferApiCalls.drain(startRumResult);\n }\n function doInit(initConfiguration) {\n const eventBridgeAvailable = canUseEventBridge();\n if (eventBridgeAvailable) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n // Update the exposed initConfiguration to reflect the bridge and remote configuration overrides\n cachedInitConfiguration = initConfiguration;\n addTelemetryConfiguration(serializeRumConfiguration(initConfiguration));\n if (cachedConfiguration) {\n displayAlreadyInitializedError('DD_RUM', initConfiguration);\n return;\n }\n const configuration = validateAndBuildRumConfiguration(initConfiguration);\n if (!configuration) {\n return;\n }\n if (!eventBridgeAvailable && !configuration.sessionStoreStrategyType) {\n display.warn('No storage available for session. We will not send any data.');\n return;\n }\n if (configuration.compressIntakeRequests && !eventBridgeAvailable && startDeflateWorker) {\n deflateWorker = startDeflateWorker(configuration, 'Datadog RUM', \n // Worker initialization can fail asynchronously, especially in Firefox where even CSP\n // issues are reported asynchronously. For now, the SDK will continue its execution even if\n // data won't be sent to Datadog. We could improve this behavior in the future.\n noop);\n if (!deflateWorker) {\n // `startDeflateWorker` should have logged an error message explaining the issue\n return;\n }\n }\n cachedConfiguration = configuration;\n // Instrumuent fetch to track network requests\n // This is needed in case the consent is not granted and some cutsomer\n // library (Apollo Client) is storing uninstrumented fetch to be used later\n // The subscrption is needed so that the instrumentation process is completed\n initFetchObservable().subscribe(noop);\n trackingConsentState.tryToInit(configuration.trackingConsent);\n tryStartRum();\n }\n const addDurationVital = (vital) => {\n bufferApiCalls.add((startRumResult) => startRumResult.addDurationVital(vital));\n };\n const strategy = {\n init(initConfiguration, publicApi) {\n if (!initConfiguration) {\n display.error('Missing configuration');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n initFeatureFlags(initConfiguration.enableExperimentalFeatures);\n // Expose the initial configuration regardless of initialization success.\n cachedInitConfiguration = initConfiguration;\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want\n // to completely discard the customer application RUM instance by ignoring their init() call.\n // But, we should not ignore the init() call from the Synthetics-injected RUM instance, so the\n // internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.\n if (ignoreInitIfSyntheticsWillInjectRum && willSyntheticsInjectRum()) {\n return;\n }\n callPluginsMethod(initConfiguration.plugins, 'onInit', { initConfiguration, publicApi });\n if (initConfiguration.remoteConfigurationId &&\n isExperimentalFeatureEnabled(ExperimentalFeature.REMOTE_CONFIGURATION)) {\n fetchAndApplyRemoteConfiguration(initConfiguration, doInit);\n }\n else {\n doInit(initConfiguration);\n }\n },\n get initConfiguration() {\n return cachedInitConfiguration;\n },\n getInternalContext: noop,\n stopSession: noop,\n addTiming(name, time = timeStampNow()) {\n bufferApiCalls.add((startRumResult) => startRumResult.addTiming(name, time));\n },\n startView(options, startClocks = clocksNow()) {\n const callback = (startRumResult) => {\n startRumResult.startView(options, startClocks);\n };\n bufferApiCalls.add(callback);\n if (!firstStartViewCall) {\n firstStartViewCall = { options, callback };\n tryStartRum();\n }\n },\n setViewName(name) {\n bufferApiCalls.add((startRumResult) => startRumResult.setViewName(name));\n },\n setViewContext(context) {\n bufferApiCalls.add((startRumResult) => startRumResult.setViewContext(context));\n },\n setViewContextProperty(key, value) {\n bufferApiCalls.add((startRumResult) => startRumResult.setViewContextProperty(key, value));\n },\n getViewContext: () => emptyContext,\n addAction(action, commonContext = getCommonContext()) {\n bufferApiCalls.add((startRumResult) => startRumResult.addAction(action, commonContext));\n },\n addError(providedError, commonContext = getCommonContext()) {\n bufferApiCalls.add((startRumResult) => startRumResult.addError(providedError, commonContext));\n },\n addFeatureFlagEvaluation(key, value) {\n bufferApiCalls.add((startRumResult) => startRumResult.addFeatureFlagEvaluation(key, value));\n },\n startDurationVital(name, options) {\n return startDurationVital(customVitalsState, name, options);\n },\n stopDurationVital(name, options) {\n stopDurationVital(addDurationVital, customVitalsState, name, options);\n },\n addDurationVital,\n };\n return strategy;\n}\nfunction overrideInitConfigurationForBridge(initConfiguration) {\n var _a, _b;\n return {\n ...initConfiguration,\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sessionSampleRate: 100,\n defaultPrivacyLevel: (_a = initConfiguration.defaultPrivacyLevel) !== null && _a !== void 0 ? _a : (_b = getEventBridge()) === null || _b === void 0 ? void 0 : _b.getPrivacyLevel(),\n };\n}\n//# sourceMappingURL=preStartRum.js.map","import { addTelemetryUsage, createContextManager, deepClone, makePublicApi, monitor, clocksNow, callMonitored, createHandlingStack, checkUser, sanitizeUser, sanitize, createIdentityEncoder, createCustomerDataTrackerManager, storeContextManager, displayAlreadyInitializedError, createTrackingConsentState, timeStampToClocks, } from '@datadog/browser-core';\nimport { buildCommonContext } from '../domain/contexts/commonContext';\nimport { createCustomVitalsState } from '../domain/vital/vitalCollection';\nimport { callPluginsMethod } from '../domain/plugins';\nimport { createPreStartStrategy } from './preStartRum';\nconst RUM_STORAGE_KEY = 'rum';\nexport function makeRumPublicApi(startRumImpl, recorderApi, options = {}) {\n const customerDataTrackerManager = createCustomerDataTrackerManager(0 /* CustomerDataCompressionStatus.Unknown */);\n const globalContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(2 /* CustomerDataType.GlobalContext */));\n const userContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(1 /* CustomerDataType.User */));\n const trackingConsentState = createTrackingConsentState();\n const customVitalsState = createCustomVitalsState();\n function getCommonContext() {\n return buildCommonContext(globalContextManager, userContextManager, recorderApi);\n }\n let strategy = createPreStartStrategy(options, getCommonContext, trackingConsentState, customVitalsState, (configuration, deflateWorker, initialViewOptions) => {\n if (configuration.storeContextsAcrossPages) {\n storeContextManager(configuration, globalContextManager, RUM_STORAGE_KEY, 2 /* CustomerDataType.GlobalContext */);\n storeContextManager(configuration, userContextManager, RUM_STORAGE_KEY, 1 /* CustomerDataType.User */);\n }\n customerDataTrackerManager.setCompressionStatus(deflateWorker ? 1 /* CustomerDataCompressionStatus.Enabled */ : 2 /* CustomerDataCompressionStatus.Disabled */);\n const startRumResult = startRumImpl(configuration, recorderApi, customerDataTrackerManager, getCommonContext, initialViewOptions, deflateWorker && options.createDeflateEncoder\n ? (streamId) => options.createDeflateEncoder(configuration, deflateWorker, streamId)\n : createIdentityEncoder, trackingConsentState, customVitalsState);\n recorderApi.onRumStart(startRumResult.lifeCycle, configuration, startRumResult.session, startRumResult.viewHistory, deflateWorker);\n strategy = createPostStartStrategy(strategy, startRumResult);\n callPluginsMethod(configuration.plugins, 'onRumStart', { strategy });\n return startRumResult;\n });\n const startView = monitor((options) => {\n const sanitizedOptions = typeof options === 'object' ? options : { name: options };\n if (sanitizedOptions.context) {\n customerDataTrackerManager.getOrCreateTracker(3 /* CustomerDataType.View */).updateCustomerData(sanitizedOptions.context);\n }\n strategy.startView(sanitizedOptions);\n addTelemetryUsage({ feature: 'start-view' });\n });\n const rumPublicApi = makePublicApi({\n init: monitor((initConfiguration) => {\n strategy.init(initConfiguration, rumPublicApi);\n }),\n setTrackingConsent: monitor((trackingConsent) => {\n trackingConsentState.update(trackingConsent);\n addTelemetryUsage({ feature: 'set-tracking-consent', tracking_consent: trackingConsent });\n }),\n setViewName: monitor((name) => {\n strategy.setViewName(name);\n }),\n setViewContext: monitor((context) => {\n strategy.setViewContext(context);\n }),\n setViewContextProperty: monitor((key, value) => {\n strategy.setViewContextProperty(key, value);\n }),\n getViewContext: monitor(() => strategy.getViewContext()),\n setGlobalContext: monitor((context) => {\n globalContextManager.setContext(context);\n addTelemetryUsage({ feature: 'set-global-context' });\n }),\n getGlobalContext: monitor(() => globalContextManager.getContext()),\n setGlobalContextProperty: monitor((key, value) => {\n globalContextManager.setContextProperty(key, value);\n addTelemetryUsage({ feature: 'set-global-context' });\n }),\n removeGlobalContextProperty: monitor((key) => globalContextManager.removeContextProperty(key)),\n clearGlobalContext: monitor(() => globalContextManager.clearContext()),\n getInternalContext: monitor((startTime) => strategy.getInternalContext(startTime)),\n getInitConfiguration: monitor(() => deepClone(strategy.initConfiguration)),\n addAction: (name, context) => {\n const handlingStack = createHandlingStack();\n callMonitored(() => {\n strategy.addAction({\n name: sanitize(name),\n context: sanitize(context),\n startClocks: clocksNow(),\n type: \"custom\" /* ActionType.CUSTOM */,\n handlingStack,\n });\n addTelemetryUsage({ feature: 'add-action' });\n });\n },\n addError: (error, context) => {\n const handlingStack = createHandlingStack();\n callMonitored(() => {\n strategy.addError({\n error, // Do not sanitize error here, it is needed unserialized by computeRawError()\n handlingStack,\n context: sanitize(context),\n startClocks: clocksNow(),\n });\n addTelemetryUsage({ feature: 'add-error' });\n });\n },\n addTiming: monitor((name, time) => {\n // TODO: next major decide to drop relative time support or update its behaviour\n strategy.addTiming(sanitize(name), time);\n }),\n setUser: monitor((newUser) => {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser));\n }\n addTelemetryUsage({ feature: 'set-user' });\n }),\n getUser: monitor(() => userContextManager.getContext()),\n setUserProperty: monitor((key, property) => {\n const sanitizedProperty = sanitizeUser({ [key]: property })[key];\n userContextManager.setContextProperty(key, sanitizedProperty);\n addTelemetryUsage({ feature: 'set-user' });\n }),\n removeUserProperty: monitor((key) => userContextManager.removeContextProperty(key)),\n clearUser: monitor(() => userContextManager.clearContext()),\n startView,\n stopSession: monitor(() => {\n strategy.stopSession();\n addTelemetryUsage({ feature: 'stop-session' });\n }),\n addFeatureFlagEvaluation: monitor((key, value) => {\n strategy.addFeatureFlagEvaluation(sanitize(key), sanitize(value));\n addTelemetryUsage({ feature: 'add-feature-flag-evaluation' });\n }),\n getSessionReplayLink: monitor(() => recorderApi.getSessionReplayLink()),\n startSessionReplayRecording: monitor((options) => {\n recorderApi.start(options);\n addTelemetryUsage({ feature: 'start-session-replay-recording', force: options && options.force });\n }),\n stopSessionReplayRecording: monitor(() => recorderApi.stop()),\n addDurationVital: monitor((name, options) => {\n addTelemetryUsage({ feature: 'add-duration-vital' });\n strategy.addDurationVital({\n name: sanitize(name),\n type: \"duration\" /* VitalType.DURATION */,\n startClocks: timeStampToClocks(options.startTime),\n duration: options.duration,\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n startDurationVital: monitor((name, options) => {\n addTelemetryUsage({ feature: 'start-duration-vital' });\n return strategy.startDurationVital(sanitize(name), {\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n stopDurationVital: monitor((nameOrRef, options) => {\n addTelemetryUsage({ feature: 'stop-duration-vital' });\n strategy.stopDurationVital(typeof nameOrRef === 'string' ? sanitize(nameOrRef) : nameOrRef, {\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n });\n return rumPublicApi;\n}\nfunction createPostStartStrategy(preStartStrategy, startRumResult) {\n return {\n init: (initConfiguration) => {\n displayAlreadyInitializedError('DD_RUM', initConfiguration);\n },\n initConfiguration: preStartStrategy.initConfiguration,\n ...startRumResult,\n };\n}\n//# sourceMappingURL=rumPublicApi.js.map","export function buildCommonContext(globalContextManager, userContextManager, recorderApi) {\n return {\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n hasReplay: recorderApi.isRecording() ? true : undefined,\n };\n}\n//# sourceMappingURL=commonContext.js.map","import { monitor, noop, Observable, getZoneJsOriginalValue } from '@datadog/browser-core';\nexport function createDOMMutationObservable() {\n const MutationObserver = getMutationObserverConstructor();\n return new Observable((observable) => {\n if (!MutationObserver) {\n return;\n }\n const observer = new MutationObserver(monitor(() => observable.notify()));\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n });\n return () => observer.disconnect();\n });\n}\nexport function getMutationObserverConstructor() {\n let constructor;\n const browserWindow = window;\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we try to get the original MutationObserver constructor stored by\n // Zone.js.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].\n //\n // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288\n constructor = getZoneJsOriginalValue(browserWindow, 'MutationObserver');\n if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {\n // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver\n // in the 'window' object. Luckily, the patched MutationObserver class is storing an original\n // instance in its properties[4]. Let's get the original MutationObserver constructor from\n // there.\n //\n // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412\n const patchedInstance = new browserWindow.MutationObserver(noop);\n const originalInstance = getZoneJsOriginalValue(patchedInstance, 'originalInstance');\n constructor = originalInstance && originalInstance.constructor;\n }\n }\n if (!constructor) {\n constructor = browserWindow.MutationObserver;\n }\n return constructor;\n}\n//# sourceMappingURL=domMutationObservable.js.map","import { setTimeout } from '../../tools/timer';\nimport { clocksNow, ONE_MINUTE } from '../../tools/utils/timeUtils';\nimport { ErrorSource } from '../error/error.types';\nexport function createEventRateLimiter(eventType, limit, onLimitReached) {\n let eventCount = 0;\n let allowNextEvent = false;\n return {\n isLimitReached() {\n if (eventCount === 0) {\n setTimeout(() => {\n eventCount = 0;\n }, ONE_MINUTE);\n }\n eventCount += 1;\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false;\n return false;\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true;\n try {\n onLimitReached({\n message: `Reached max number of ${eventType}s by minute: ${limit}`,\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n }\n finally {\n allowNextEvent = false;\n }\n }\n return true;\n },\n };\n}\n//# sourceMappingURL=createEventRateLimiter.js.map","import { getSyntheticsResultId, getSyntheticsTestId, willSyntheticsInjectRum } from '@datadog/browser-core';\nexport function getSyntheticsContext() {\n const testId = getSyntheticsTestId();\n const resultId = getSyntheticsResultId();\n if (testId && resultId) {\n return {\n test_id: testId,\n result_id: resultId,\n injected: willSyntheticsInjectRum(),\n };\n }\n}\n//# sourceMappingURL=syntheticsContext.js.map","import { sanitize, deepClone, getType, objectEntries } from '@datadog/browser-core';\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n const clone = deepClone(object);\n const result = modifier(clone);\n objectEntries(modifiableFieldPaths).forEach(([fieldPath, fieldType]) => {\n const newValue = get(clone, fieldPath);\n const newType = getType(newValue);\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue));\n }\n else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, fieldPath, {});\n }\n });\n return result;\n}\nfunction get(object, path) {\n let current = object;\n for (const field of path.split('.')) {\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n let current = object;\n const fields = path.split('.');\n for (let i = 0; i < fields.length; i += 1) {\n const field = fields[i];\n if (!isValidObject(current)) {\n return;\n }\n if (i !== fields.length - 1) {\n current = current[field];\n }\n else {\n current[field] = value;\n }\n }\n}\nfunction isValidObject(object) {\n return getType(object) === 'object';\n}\nfunction isValidObjectContaining(object, field) {\n return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);\n}\n//# sourceMappingURL=limitModification.js.map","import { combine, isEmptyObject, timeStampNow, currentDrift, display, createEventRateLimiter, canUseEventBridge, round, isExperimentalFeatureEnabled, ExperimentalFeature, getConnectivity, } from '@datadog/browser-core';\nimport { getSyntheticsContext } from './contexts/syntheticsContext';\nimport { limitModification } from './limitModification';\nconst VIEW_MODIFIABLE_FIELD_PATHS = {\n 'view.name': 'string',\n 'view.url': 'string',\n 'view.referrer': 'string',\n};\nconst USER_CUSTOMIZABLE_FIELD_PATHS = {\n context: 'object',\n};\nconst ROOT_MODIFIABLE_FIELD_PATHS = {\n service: 'string',\n version: 'string',\n};\nlet modifiableFieldPathsByEvent;\nexport function startRumAssembly(configuration, lifeCycle, sessionManager, viewHistory, urlContexts, actionContexts, displayContext, ciVisibilityContext, featureFlagContexts, getCommonContext, reportError) {\n modifiableFieldPathsByEvent = {\n [\"view\" /* RumEventType.VIEW */]: { ...USER_CUSTOMIZABLE_FIELD_PATHS, ...VIEW_MODIFIABLE_FIELD_PATHS },\n [\"error\" /* RumEventType.ERROR */]: {\n 'error.message': 'string',\n 'error.stack': 'string',\n 'error.resource.url': 'string',\n 'error.fingerprint': 'string',\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n ...ROOT_MODIFIABLE_FIELD_PATHS,\n },\n [\"resource\" /* RumEventType.RESOURCE */]: {\n 'resource.url': 'string',\n ...(isExperimentalFeatureEnabled(ExperimentalFeature.WRITABLE_RESOURCE_GRAPHQL)\n ? { 'resource.graphql': 'object' }\n : {}),\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n ...ROOT_MODIFIABLE_FIELD_PATHS,\n },\n [\"action\" /* RumEventType.ACTION */]: {\n 'action.target.name': 'string',\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n ...ROOT_MODIFIABLE_FIELD_PATHS,\n },\n [\"long_task\" /* RumEventType.LONG_TASK */]: {\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n },\n [\"vital\" /* RumEventType.VITAL */]: {\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n },\n };\n const eventRateLimiters = {\n [\"error\" /* RumEventType.ERROR */]: createEventRateLimiter(\"error\" /* RumEventType.ERROR */, configuration.eventRateLimiterThreshold, reportError),\n [\"action\" /* RumEventType.ACTION */]: createEventRateLimiter(\"action\" /* RumEventType.ACTION */, configuration.eventRateLimiterThreshold, reportError),\n [\"vital\" /* RumEventType.VITAL */]: createEventRateLimiter(\"vital\" /* RumEventType.VITAL */, configuration.eventRateLimiterThreshold, reportError),\n };\n const syntheticsContext = getSyntheticsContext();\n lifeCycle.subscribe(11 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, ({ startTime, rawRumEvent, domainContext, savedCommonContext, customerContext }) => {\n const viewHistoryEntry = viewHistory.findView(startTime);\n const urlContext = urlContexts.findUrl(startTime);\n const session = sessionManager.findTrackedSession(startTime);\n if (session && viewHistoryEntry && urlContext) {\n const commonContext = savedCommonContext || getCommonContext();\n const actionId = actionContexts.findActionId(startTime);\n const rumContext = {\n _dd: {\n format_version: 2,\n drift: currentDrift(),\n configuration: {\n session_sample_rate: round(configuration.sessionSampleRate, 3),\n session_replay_sample_rate: round(configuration.sessionReplaySampleRate, 3),\n },\n browser_sdk_version: canUseEventBridge() ? \"6.1.0\" : undefined,\n },\n application: {\n id: configuration.applicationId,\n },\n date: timeStampNow(),\n service: viewHistoryEntry.service || configuration.service,\n version: viewHistoryEntry.version || configuration.version,\n source: 'browser',\n session: {\n id: session.id,\n type: syntheticsContext\n ? \"synthetics\" /* SessionType.SYNTHETICS */\n : ciVisibilityContext.get()\n ? \"ci_test\" /* SessionType.CI_TEST */\n : \"user\" /* SessionType.USER */,\n },\n view: {\n id: viewHistoryEntry.id,\n name: viewHistoryEntry.name,\n url: urlContext.url,\n referrer: urlContext.referrer,\n },\n feature_flags: findFeatureFlagsContext(rawRumEvent, startTime, configuration.trackFeatureFlagsForEvents, featureFlagContexts),\n action: needToAssembleWithAction(rawRumEvent) && actionId ? { id: actionId } : undefined,\n synthetics: syntheticsContext,\n ci_test: ciVisibilityContext.get(),\n display: displayContext.get(),\n connectivity: getConnectivity(),\n };\n const serverRumEvent = combine(rumContext, rawRumEvent);\n serverRumEvent.context = combine(commonContext.context, viewHistoryEntry.context, customerContext);\n if (!('has_replay' in serverRumEvent.session)) {\n ;\n serverRumEvent.session.has_replay = commonContext.hasReplay;\n }\n if (serverRumEvent.type === 'view') {\n ;\n serverRumEvent.session.sampled_for_replay =\n session.sessionReplay === 1 /* SessionReplayState.SAMPLED */;\n }\n if (session.anonymousId && !commonContext.user.anonymous_id && !!configuration.trackAnonymousUser) {\n commonContext.user.anonymous_id = session.anonymousId;\n }\n if (!isEmptyObject(commonContext.user)) {\n ;\n serverRumEvent.usr = commonContext.user;\n }\n if (shouldSend(serverRumEvent, configuration.beforeSend, domainContext, eventRateLimiters)) {\n if (isEmptyObject(serverRumEvent.context)) {\n delete serverRumEvent.context;\n }\n lifeCycle.notify(12 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, serverRumEvent);\n }\n }\n });\n}\nfunction shouldSend(event, beforeSend, domainContext, eventRateLimiters) {\n var _a;\n if (beforeSend) {\n const result = limitModification(event, modifiableFieldPathsByEvent[event.type], (event) => beforeSend(event, domainContext));\n if (result === false && event.type !== \"view\" /* RumEventType.VIEW */) {\n return false;\n }\n if (result === false) {\n display.warn(\"Can't dismiss view events using beforeSend!\");\n }\n }\n const rateLimitReached = (_a = eventRateLimiters[event.type]) === null || _a === void 0 ? void 0 : _a.isLimitReached();\n return !rateLimitReached;\n}\nfunction needToAssembleWithAction(event) {\n return [\"error\" /* RumEventType.ERROR */, \"resource\" /* RumEventType.RESOURCE */, \"long_task\" /* RumEventType.LONG_TASK */].indexOf(event.type) !== -1;\n}\nfunction findFeatureFlagsContext(rawRumEvent, eventStartTime, trackFeatureFlagsForEvents, featureFlagContexts) {\n const isTrackingEnforced = rawRumEvent.type === \"view\" /* RumEventType.VIEW */ || rawRumEvent.type === \"error\" /* RumEventType.ERROR */;\n const isListedInConfig = trackFeatureFlagsForEvents.includes(rawRumEvent.type);\n if (isTrackingEnforced || isListedInConfig) {\n const featureFlagContext = featureFlagContexts.findFeatureFlagEvaluations(eventStartTime);\n if (featureFlagContext && !isEmptyObject(featureFlagContext)) {\n return featureFlagContext;\n }\n }\n}\n//# sourceMappingURL=assembly.js.map","import { AbstractLifeCycle } from '@datadog/browser-core';\nexport const LifeCycle = (AbstractLifeCycle);\n//# sourceMappingURL=lifeCycle.js.map","// eslint-disable-next-line no-restricted-syntax\nexport class AbstractLifeCycle {\n constructor() {\n this.callbacks = {};\n }\n notify(eventType, data) {\n const eventCallbacks = this.callbacks[eventType];\n if (eventCallbacks) {\n eventCallbacks.forEach((callback) => callback(data));\n }\n }\n subscribe(eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = [];\n }\n this.callbacks[eventType].push(callback);\n return {\n unsubscribe: () => {\n this.callbacks[eventType] = this.callbacks[eventType].filter((other) => callback !== other);\n },\n };\n }\n}\n//# sourceMappingURL=abstractLifeCycle.js.map","import { setInterval, clearInterval } from './timer';\nimport { removeItem } from './utils/arrayUtils';\nimport { addDuration, relativeNow, ONE_MINUTE } from './utils/timeUtils';\nconst END_OF_TIMES = Infinity;\nexport const CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE;\nexport function createValueHistory({ expireDelay, maxEntries, }) {\n let entries = [];\n const clearOldValuesInterval = setInterval(() => clearOldValues(), CLEAR_OLD_VALUES_INTERVAL);\n function clearOldValues() {\n const oldTimeThreshold = relativeNow() - expireDelay;\n while (entries.length > 0 && entries[entries.length - 1].endTime < oldTimeThreshold) {\n entries.pop();\n }\n }\n /**\n * Add a value to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n function add(value, startTime) {\n const entry = {\n value,\n startTime,\n endTime: END_OF_TIMES,\n remove: () => {\n removeItem(entries, entry);\n },\n close: (endTime) => {\n entry.endTime = endTime;\n },\n };\n if (maxEntries && entries.length >= maxEntries) {\n entries.pop();\n }\n entries.unshift(entry);\n return entry;\n }\n /**\n * Return the latest value that was active during `startTime`, or the currently active value\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n *\n * If `option.returnInactive` is true, returns the value at `startTime` (active or not).\n */\n function find(startTime = END_OF_TIMES, options = { returnInactive: false }) {\n for (const entry of entries) {\n if (entry.startTime <= startTime) {\n if (options.returnInactive || startTime <= entry.endTime) {\n return entry.value;\n }\n break;\n }\n }\n }\n /**\n * Helper function to close the currently active value, if any. This method assumes that entries\n * are not overlapping.\n */\n function closeActive(endTime) {\n const latestEntry = entries[0];\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime);\n }\n }\n /**\n * Return all values with an active period overlapping with the duration,\n * or all values that were active during `startTime` if no duration is provided,\n * or all currently active values if no `startTime` is provided.\n */\n function findAll(startTime = END_OF_TIMES, duration = 0) {\n const endTime = addDuration(startTime, duration);\n return entries\n .filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime)\n .map((entry) => entry.value);\n }\n /**\n * Remove all entries from this collection.\n */\n function reset() {\n entries = [];\n }\n /**\n * Stop internal garbage collection of past entries.\n */\n function stop() {\n clearInterval(clearOldValuesInterval);\n }\n return { add, find, closeActive, findAll, reset, stop };\n}\n//# sourceMappingURL=valueHistory.js.map","import { SESSION_TIME_OUT_DELAY, createValueHistory } from '@datadog/browser-core';\nexport const VIEW_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport function startViewHistory(lifeCycle) {\n const viewValueHistory = createValueHistory({ expireDelay: VIEW_CONTEXT_TIME_OUT_DELAY });\n lifeCycle.subscribe(1 /* LifeCycleEventType.BEFORE_VIEW_CREATED */, (view) => {\n viewValueHistory.add(buildViewHistoryEntry(view), view.startClocks.relative);\n });\n lifeCycle.subscribe(5 /* LifeCycleEventType.AFTER_VIEW_ENDED */, ({ endClocks }) => {\n viewValueHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(3 /* LifeCycleEventType.VIEW_UPDATED */, (viewUpdate) => {\n const currentView = viewValueHistory.find(viewUpdate.startClocks.relative);\n if (currentView && viewUpdate.name) {\n currentView.name = viewUpdate.name;\n }\n if (currentView && viewUpdate.context) {\n currentView.context = viewUpdate.context;\n }\n });\n lifeCycle.subscribe(9 /* LifeCycleEventType.SESSION_RENEWED */, () => {\n viewValueHistory.reset();\n });\n function buildViewHistoryEntry(view) {\n return {\n service: view.service,\n version: view.version,\n context: view.context,\n id: view.id,\n name: view.name,\n startClocks: view.startClocks,\n };\n }\n return {\n findView: (startTime) => viewValueHistory.find(startTime),\n stop: () => {\n viewValueHistory.stop();\n },\n };\n}\n//# sourceMappingURL=viewHistory.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { Observable } from '../tools/observable';\nimport { elapsed, clocksNow, timeStampNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nimport { shallowClone } from '../tools/utils/objectUtils';\nimport { addEventListener } from './addEventListener';\nlet xhrObservable;\nconst xhrContexts = new WeakMap();\nexport function initXhrObservable(configuration) {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable(configuration);\n }\n return xhrObservable;\n}\nfunction createXhrObservable(configuration) {\n return new Observable((observable) => {\n const { stop: stopInstrumentingStart } = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr);\n const { stop: stopInstrumentingSend } = instrumentMethod(XMLHttpRequest.prototype, 'send', (call) => {\n sendXhr(call, configuration, observable);\n }, { computeHandlingStack: true });\n const { stop: stopInstrumentingAbort } = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr);\n return () => {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n}\nfunction openXhr({ target: xhr, parameters: [method, url] }) {\n xhrContexts.set(xhr, {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url)),\n });\n}\nfunction sendXhr({ target: xhr, handlingStack }, configuration, observable) {\n const context = xhrContexts.get(xhr);\n if (!context) {\n return;\n }\n const startContext = context;\n startContext.state = 'start';\n startContext.startClocks = clocksNow();\n startContext.isAborted = false;\n startContext.xhr = xhr;\n startContext.handlingStack = handlingStack;\n let hasBeenReported = false;\n const { stop: stopInstrumentingOnReadyStateChange } = instrumentMethod(xhr, 'onreadystatechange', () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n });\n const onEnd = () => {\n unsubscribeLoadEndListener();\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n const completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());\n completeContext.status = xhr.status;\n observable.notify(shallowClone(completeContext));\n };\n const { stop: unsubscribeLoadEndListener } = addEventListener(configuration, xhr, 'loadend', onEnd);\n observable.notify(startContext);\n}\nfunction abortXhr({ target: xhr }) {\n const context = xhrContexts.get(xhr);\n if (context) {\n context.isAborted = true;\n }\n}\n//# sourceMappingURL=xhrObservable.js.map","import { addTelemetryDebug, elapsed, getPathName, isValidUrl, toServerDuration, isIntakeUrl, } from '@datadog/browser-core';\nexport const FAKE_INITIAL_DOCUMENT = 'initial_document';\nconst RESOURCE_TYPES = [\n [\"document\" /* ResourceType.DOCUMENT */, (initiatorType) => FAKE_INITIAL_DOCUMENT === initiatorType],\n [\"xhr\" /* ResourceType.XHR */, (initiatorType) => 'xmlhttprequest' === initiatorType],\n [\"fetch\" /* ResourceType.FETCH */, (initiatorType) => 'fetch' === initiatorType],\n [\"beacon\" /* ResourceType.BEACON */, (initiatorType) => 'beacon' === initiatorType],\n [\"css\" /* ResourceType.CSS */, (_, path) => /\\.css$/i.test(path)],\n [\"js\" /* ResourceType.JS */, (_, path) => /\\.js$/i.test(path)],\n [\n \"image\" /* ResourceType.IMAGE */,\n (initiatorType, path) => ['image', 'img', 'icon'].includes(initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null,\n ],\n [\"font\" /* ResourceType.FONT */, (_, path) => /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null],\n [\n \"media\" /* ResourceType.MEDIA */,\n (initiatorType, path) => ['audio', 'video'].includes(initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null,\n ],\n];\nexport function computeResourceEntryType(entry) {\n const url = entry.name;\n if (!isValidUrl(url)) {\n addTelemetryDebug(`Failed to construct URL for \"${entry.name}\"`);\n return \"other\" /* ResourceType.OTHER */;\n }\n const path = getPathName(url);\n for (const [type, isType] of RESOURCE_TYPES) {\n if (isType(entry.initiatorType, path)) {\n return type;\n }\n }\n return \"other\" /* ResourceType.OTHER */;\n}\nfunction areInOrder(...numbers) {\n for (let i = 1; i < numbers.length; i += 1) {\n if (numbers[i - 1] > numbers[i]) {\n return false;\n }\n }\n return true;\n}\nexport function isResourceEntryRequestType(entry) {\n return entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch';\n}\nexport function computeResourceEntryDuration(entry) {\n const { duration, startTime, responseEnd } = entry;\n // Safari duration is always 0 on timings blocked by cross origin policies.\n if (duration === 0 && startTime < responseEnd) {\n return toServerDuration(elapsed(startTime, responseEnd));\n }\n return toServerDuration(duration);\n}\nexport function computeResourceEntryDetails(entry) {\n if (!hasValidResourceEntryTimings(entry)) {\n return undefined;\n }\n const { startTime, fetchStart, workerStart, redirectStart, redirectEnd, domainLookupStart, domainLookupEnd, connectStart, secureConnectionStart, connectEnd, requestStart, responseStart, responseEnd, } = entry;\n const details = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n };\n // Make sure a worker processing time is recorded\n if (0 < workerStart && workerStart < fetchStart) {\n details.worker = formatTiming(startTime, workerStart, fetchStart);\n }\n // Make sure a connection occurred\n if (fetchStart < connectEnd) {\n details.connect = formatTiming(startTime, connectStart, connectEnd);\n // Make sure a secure connection occurred\n if (connectStart <= secureConnectionStart && secureConnectionStart <= connectEnd) {\n details.ssl = formatTiming(startTime, secureConnectionStart, connectEnd);\n }\n }\n // Make sure a domain lookup occurred\n if (fetchStart < domainLookupEnd) {\n details.dns = formatTiming(startTime, domainLookupStart, domainLookupEnd);\n }\n // Make sure a redirection occurred\n if (startTime < redirectEnd) {\n details.redirect = formatTiming(startTime, redirectStart, redirectEnd);\n }\n return details;\n}\n/**\n * Entries with negative duration are unexpected and should be dismissed. The intake will ignore RUM\n * Resource events with negative durations anyway.\n * Since Chromium 128, more entries have unexpected negative durations, see\n * https://issues.chromium.org/issues/363031537\n */\nexport function hasValidResourceEntryDuration(entry) {\n return entry.duration >= 0;\n}\nexport function hasValidResourceEntryTimings(entry) {\n // Ensure timings are in the right order. On top of filtering out potential invalid\n // RumPerformanceResourceTiming, it will ignore entries from requests where timings cannot be\n // collected, for example cross origin requests without a \"Timing-Allow-Origin\" header allowing\n // it.\n const areCommonTimingsInOrder = areInOrder(entry.startTime, entry.fetchStart, entry.domainLookupStart, entry.domainLookupEnd, entry.connectStart, entry.connectEnd, entry.requestStart, entry.responseStart, entry.responseEnd);\n const areRedirectionTimingsInOrder = hasRedirection(entry)\n ? areInOrder(entry.startTime, entry.redirectStart, entry.redirectEnd, entry.fetchStart)\n : true;\n return areCommonTimingsInOrder && areRedirectionTimingsInOrder;\n}\nfunction hasRedirection(entry) {\n return entry.redirectEnd > entry.startTime;\n}\nfunction formatTiming(origin, start, end) {\n if (origin <= start && start <= end) {\n return {\n duration: toServerDuration(elapsed(start, end)),\n start: toServerDuration(elapsed(origin, start)),\n };\n }\n}\n/**\n * The 'nextHopProtocol' is an empty string for cross-origin resources without CORS headers,\n * meaning the protocol is unknown, and we shouldn't report it.\n * https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/nextHopProtocol#cross-origin_resources\n */\nexport function computeResourceEntryProtocol(entry) {\n return entry.nextHopProtocol === '' ? undefined : entry.nextHopProtocol;\n}\n/**\n * Handles the 'deliveryType' property to distinguish between supported values ('cache', 'navigational-prefetch'),\n * undefined (unsupported in some browsers), and other cases ('other' for unknown or unrecognized values).\n * see: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/deliveryType\n */\nexport function computeResourceEntryDeliveryType(entry) {\n return entry.deliveryType === '' ? 'other' : entry.deliveryType;\n}\nexport function computeResourceEntrySize(entry) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n const { encodedBodySize, decodedBodySize, transferSize } = entry;\n return {\n size: decodedBodySize,\n encoded_body_size: encodedBodySize,\n decoded_body_size: decodedBodySize,\n transfer_size: transferSize,\n };\n }\n return {\n size: undefined,\n encoded_body_size: undefined,\n decoded_body_size: undefined,\n transfer_size: undefined,\n };\n}\nexport function isAllowedRequestUrl(url) {\n return url && !isIntakeUrl(url);\n}\nconst DATA_URL_REGEX = /data:(.+)?(;base64)?,/g;\nexport const MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = 24000;\nexport function isLongDataUrl(url) {\n if (url.length <= MAX_ATTRIBUTE_VALUE_CHAR_LENGTH) {\n return false;\n }\n else if (url.substring(0, 5) === 'data:') {\n // Avoid String.match RangeError: Maximum call stack size exceeded\n url = url.substring(0, MAX_ATTRIBUTE_VALUE_CHAR_LENGTH);\n return true;\n }\n return false;\n}\nexport function sanitizeDataUrl(url) {\n return `${url.match(DATA_URL_REGEX)[0]}[...]`;\n}\n//# sourceMappingURL=resourceUtils.js.map","import { initFetchObservable, initXhrObservable, readBytesFromStream, elapsed, timeStampNow, tryToClone, } from '@datadog/browser-core';\nimport { isAllowedRequestUrl } from './resource/resourceUtils';\nimport { startTracer } from './tracing/tracer';\nlet nextRequestIndex = 1;\nexport function startRequestCollection(lifeCycle, configuration, sessionManager) {\n const tracer = startTracer(configuration, sessionManager);\n trackXhr(lifeCycle, configuration, tracer);\n trackFetch(lifeCycle, tracer);\n}\nexport function trackXhr(lifeCycle, configuration, tracer) {\n const subscription = initXhrObservable(configuration).subscribe((rawContext) => {\n const context = rawContext;\n if (!isAllowedRequestUrl(context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceXhr(context, context.xhr);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(6 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'complete':\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration: context.duration,\n method: context.method,\n requestIndex: context.requestIndex,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"xhr\" /* RequestType.XHR */,\n url: context.url,\n xhr: context.xhr,\n isAborted: context.isAborted,\n handlingStack: context.handlingStack,\n });\n break;\n }\n });\n return { stop: () => subscription.unsubscribe() };\n}\nexport function trackFetch(lifeCycle, tracer) {\n const subscription = initFetchObservable().subscribe((rawContext) => {\n const context = rawContext;\n if (!isAllowedRequestUrl(context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceFetch(context);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(6 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'resolve':\n waitForResponseToComplete(context, (duration) => {\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration,\n method: context.method,\n requestIndex: context.requestIndex,\n responseType: context.responseType,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"fetch\" /* RequestType.FETCH */,\n url: context.url,\n response: context.response,\n init: context.init,\n input: context.input,\n isAborted: context.isAborted,\n handlingStack: context.handlingStack,\n });\n });\n break;\n }\n });\n return { stop: () => subscription.unsubscribe() };\n}\nfunction getNextRequestIndex() {\n const result = nextRequestIndex;\n nextRequestIndex += 1;\n return result;\n}\nfunction waitForResponseToComplete(context, callback) {\n const clonedResponse = context.response && tryToClone(context.response);\n if (!clonedResponse || !clonedResponse.body) {\n // do not try to wait for the response if the clone failed, fetch error or null body\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }\n else {\n readBytesFromStream(clonedResponse.body, () => {\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }, {\n bytesLimit: Number.POSITIVE_INFINITY,\n collectStreamBody: false,\n });\n }\n}\n//# sourceMappingURL=requestCollection.js.map","import { monitor } from './monitor';\nimport { noop } from './utils/functionUtils';\n/**\n * Read bytes from a ReadableStream until at least `limit` bytes have been read (or until the end of\n * the stream). The callback is invoked with the at most `limit` bytes, and indicates that the limit\n * has been exceeded if more bytes were available.\n */\nexport function readBytesFromStream(stream, callback, options) {\n const reader = stream.getReader();\n const chunks = [];\n let readBytesCount = 0;\n readMore();\n function readMore() {\n reader.read().then(monitor((result) => {\n if (result.done) {\n onDone();\n return;\n }\n if (options.collectStreamBody) {\n chunks.push(result.value);\n }\n readBytesCount += result.value.length;\n if (readBytesCount > options.bytesLimit) {\n onDone();\n }\n else {\n readMore();\n }\n }), monitor((error) => callback(error)));\n }\n function onDone() {\n reader.cancel().catch(\n // we don't care if cancel fails, but we still need to catch the error to avoid reporting it\n // as an unhandled rejection\n noop);\n let bytes;\n let limitExceeded;\n if (options.collectStreamBody) {\n let completeBuffer;\n if (chunks.length === 1) {\n // optimization: if the response is small enough to fit in a single buffer (provided by the browser), just\n // use it directly.\n completeBuffer = chunks[0];\n }\n else {\n // else, we need to copy buffers into a larger buffer to concatenate them.\n completeBuffer = new Uint8Array(readBytesCount);\n let offset = 0;\n chunks.forEach((chunk) => {\n completeBuffer.set(chunk, offset);\n offset += chunk.length;\n });\n }\n bytes = completeBuffer.slice(0, options.bytesLimit);\n limitExceeded = completeBuffer.length > options.bytesLimit;\n }\n callback(undefined, bytes, limitExceeded);\n }\n}\n//# sourceMappingURL=readBytesFromStream.js.map","import { isNumber } from '@datadog/browser-core';\nexport function discardNegativeDuration(duration) {\n return isNumber(duration) && duration < 0 ? undefined : duration;\n}\n//# sourceMappingURL=discardNegativeDuration.js.map","import { noop } from '@datadog/browser-core';\nexport function trackEventCounts({ lifeCycle, isChildEvent, onChange: callback = noop, }) {\n const eventCounts = {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n };\n const subscription = lifeCycle.subscribe(12 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, (event) => {\n var _a;\n if (event.type === 'view' || event.type === 'vital' || !isChildEvent(event)) {\n return;\n }\n switch (event.type) {\n case \"error\" /* RumEventType.ERROR */:\n eventCounts.errorCount += 1;\n callback();\n break;\n case \"action\" /* RumEventType.ACTION */:\n eventCounts.actionCount += 1;\n if (event.action.frustration) {\n eventCounts.frustrationCount += event.action.frustration.type.length;\n }\n callback();\n break;\n case \"long_task\" /* RumEventType.LONG_TASK */:\n eventCounts.longTaskCount += 1;\n callback();\n break;\n case \"resource\" /* RumEventType.RESOURCE */:\n if (!((_a = event._dd) === null || _a === void 0 ? void 0 : _a.discarded)) {\n eventCounts.resourceCount += 1;\n callback();\n }\n break;\n }\n });\n return {\n stop: () => {\n subscription.unsubscribe();\n },\n eventCounts,\n };\n}\n//# sourceMappingURL=trackEventCounts.js.map","import { addEventListeners, dateNow, relativeNow } from '@datadog/browser-core';\n/**\n * first-input timing entry polyfill based on\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/polyfills/firstInputPolyfill.ts\n */\nexport function retrieveFirstInputTiming(configuration, callback) {\n const startTimeStamp = dateNow();\n let timingSent = false;\n const { stop: removeEventListeners } = addEventListeners(configuration, window, [\"click\" /* DOM_EVENT.CLICK */, \"mousedown\" /* DOM_EVENT.MOUSE_DOWN */, \"keydown\" /* DOM_EVENT.KEY_DOWN */, \"touchstart\" /* DOM_EVENT.TOUCH_START */, \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */], (evt) => {\n // Only count cancelable events, which should trigger behavior important to the user.\n if (!evt.cancelable) {\n return;\n }\n // This timing will be used to compute the \"first Input delay\", which is the delta between\n // when the system received the event (e.g. evt.timeStamp) and when it could run the callback\n // (e.g. performance.now()).\n const timing = {\n entryType: 'first-input',\n processingStart: relativeNow(),\n processingEnd: relativeNow(),\n startTime: evt.timeStamp,\n duration: 0, // arbitrary value to avoid nullable duration and simplify INP logic\n name: '',\n cancelable: false,\n target: null,\n toJSON: () => ({}),\n };\n if (evt.type === \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */) {\n sendTimingIfPointerIsNotCancelled(configuration, timing);\n }\n else {\n sendTiming(timing);\n }\n }, { passive: true, capture: true });\n return { stop: removeEventListeners };\n /**\n * Pointer events are a special case, because they can trigger main or compositor thread behavior.\n * We differentiate these cases based on whether or not we see a pointercancel event, which are\n * fired when we scroll. If we're scrolling we don't need to report input delay since FID excludes\n * scrolling and pinch/zooming.\n */\n function sendTimingIfPointerIsNotCancelled(configuration, timing) {\n addEventListeners(configuration, window, [\"pointerup\" /* DOM_EVENT.POINTER_UP */, \"pointercancel\" /* DOM_EVENT.POINTER_CANCEL */], (event) => {\n if (event.type === \"pointerup\" /* DOM_EVENT.POINTER_UP */) {\n sendTiming(timing);\n }\n }, { once: true });\n }\n function sendTiming(timing) {\n if (!timingSent) {\n timingSent = true;\n removeEventListeners();\n // In some cases the recorded delay is clearly wrong, e.g. it's negative or it's larger than\n // the time between now and when the page was loaded.\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/4\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/6\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/7\n const delay = timing.processingStart - timing.startTime;\n if (delay >= 0 && delay < dateNow() - startTimeStamp) {\n callback(timing);\n }\n }\n }\n}\n//# sourceMappingURL=firstInputPolyfill.js.map","import { addEventListener, Observable, setTimeout, clearTimeout, monitor } from '@datadog/browser-core';\nimport { hasValidResourceEntryDuration, isAllowedRequestUrl } from '../domain/resource/resourceUtils';\nimport { retrieveFirstInputTiming } from './firstInputPolyfill';\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected performance entry\n// eslint-disable-next-line no-restricted-syntax\nexport var RumPerformanceEntryType;\n(function (RumPerformanceEntryType) {\n RumPerformanceEntryType[\"EVENT\"] = \"event\";\n RumPerformanceEntryType[\"FIRST_INPUT\"] = \"first-input\";\n RumPerformanceEntryType[\"LARGEST_CONTENTFUL_PAINT\"] = \"largest-contentful-paint\";\n RumPerformanceEntryType[\"LAYOUT_SHIFT\"] = \"layout-shift\";\n RumPerformanceEntryType[\"LONG_TASK\"] = \"longtask\";\n RumPerformanceEntryType[\"LONG_ANIMATION_FRAME\"] = \"long-animation-frame\";\n RumPerformanceEntryType[\"NAVIGATION\"] = \"navigation\";\n RumPerformanceEntryType[\"PAINT\"] = \"paint\";\n RumPerformanceEntryType[\"RESOURCE\"] = \"resource\";\n})(RumPerformanceEntryType || (RumPerformanceEntryType = {}));\nexport function createPerformanceObservable(configuration, options) {\n return new Observable((observable) => {\n if (!window.PerformanceObserver) {\n return;\n }\n const handlePerformanceEntries = (entries) => {\n const rumPerformanceEntries = filterRumPerformanceEntries(entries);\n if (rumPerformanceEntries.length > 0) {\n observable.notify(rumPerformanceEntries);\n }\n };\n let timeoutId;\n let isObserverInitializing = true;\n const observer = new PerformanceObserver(monitor((entries) => {\n // In Safari the performance observer callback is synchronous.\n // Because the buffered performance entry list can be quite large we delay the computation to prevent the SDK from blocking the main thread on init\n if (isObserverInitializing) {\n timeoutId = setTimeout(() => handlePerformanceEntries(entries.getEntries()));\n }\n else {\n handlePerformanceEntries(entries.getEntries());\n }\n }));\n try {\n observer.observe(options);\n }\n catch (_a) {\n // Some old browser versions (<= chrome 74 ) don't support the PerformanceObserver type and buffered options\n // In these cases, fallback to getEntriesByType and PerformanceObserver with entryTypes\n // TODO: remove this fallback in the next major version\n const fallbackSupportedEntryTypes = [\n RumPerformanceEntryType.RESOURCE,\n RumPerformanceEntryType.NAVIGATION,\n RumPerformanceEntryType.LONG_TASK,\n RumPerformanceEntryType.PAINT,\n ];\n if (fallbackSupportedEntryTypes.includes(options.type)) {\n if (options.buffered) {\n timeoutId = setTimeout(() => handlePerformanceEntries(performance.getEntriesByType(options.type)));\n }\n try {\n observer.observe({ entryTypes: [options.type] });\n }\n catch (_b) {\n // Old versions of Safari are throwing \"entryTypes contained only unsupported types\"\n // errors when observing only unsupported entry types.\n //\n // We could use `supportPerformanceTimingEvent` to make sure we don't invoke\n // `observer.observe` with an unsupported entry type, but Safari 11 and 12 don't support\n // `Performance.supportedEntryTypes`, so doing so would lose support for these versions\n // even if they do support the entry type.\n return;\n }\n }\n }\n isObserverInitializing = false;\n manageResourceTimingBufferFull(configuration);\n let stopFirstInputTiming;\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.FIRST_INPUT) &&\n options.type === RumPerformanceEntryType.FIRST_INPUT) {\n ;\n ({ stop: stopFirstInputTiming } = retrieveFirstInputTiming(configuration, (timing) => {\n handlePerformanceEntries([timing]);\n }));\n }\n return () => {\n observer.disconnect();\n if (stopFirstInputTiming) {\n stopFirstInputTiming();\n }\n clearTimeout(timeoutId);\n };\n });\n}\nlet resourceTimingBufferFullListener;\nfunction manageResourceTimingBufferFull(configuration) {\n if (!resourceTimingBufferFullListener && supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n resourceTimingBufferFullListener = addEventListener(configuration, performance, 'resourcetimingbufferfull', () => {\n performance.clearResourceTimings();\n });\n }\n return () => {\n resourceTimingBufferFullListener === null || resourceTimingBufferFullListener === void 0 ? void 0 : resourceTimingBufferFullListener.stop();\n };\n}\nfunction supportPerformanceObject() {\n return window.performance !== undefined && 'getEntries' in performance;\n}\nexport function supportPerformanceTimingEvent(entryType) {\n return (window.PerformanceObserver &&\n PerformanceObserver.supportedEntryTypes !== undefined &&\n PerformanceObserver.supportedEntryTypes.includes(entryType));\n}\nfunction filterRumPerformanceEntries(entries) {\n return entries.filter((entry) => !isForbiddenResource(entry));\n}\nfunction isForbiddenResource(entry) {\n return (entry.entryType === RumPerformanceEntryType.RESOURCE &&\n (!isAllowedRequestUrl(entry.name) || !hasValidResourceEntryDuration(entry)));\n}\n//# sourceMappingURL=performanceObservable.js.map","import { matchList, monitor, Observable, timeStampNow, setTimeout, clearTimeout } from '@datadog/browser-core';\nimport { createPerformanceObservable, RumPerformanceEntryType } from '../browser/performanceObservable';\n// Delay to wait for a page activity to validate the tracking process\nexport const PAGE_ACTIVITY_VALIDATION_DELAY = 100;\n// Delay to wait after a page activity to end the tracking process\nexport const PAGE_ACTIVITY_END_DELAY = 100;\n/**\n * Wait for the page activity end\n *\n * Detection lifecycle:\n * ```\n * Wait page activity end\n * .-------------------'--------------------.\n * v v\n * [Wait for a page activity ] [Wait for a maximum duration]\n * [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]\n * / \\ |\n * v v |\n * [No page activity] [Page activity] |\n * | |,----------------------. |\n * v v | |\n * (Discard) [Wait for a page activity] | |\n * [ timeout: END_DELAY ] | |\n * / \\ | |\n * v v | |\n * [No page activity] [Page activity] | |\n * | | | |\n * | '------------' |\n * '-----------. ,--------------------'\n * v\n * (End)\n * ```\n *\n * Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the\n * process is still alive after maxDuration, it has been validated.\n */\nexport function waitPageActivityEnd(lifeCycle, domMutationObservable, windowOpenObservable, configuration, pageActivityEndCallback, maxDuration) {\n const pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, windowOpenObservable, configuration);\n return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration);\n}\nexport function doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration) {\n let pageActivityEndTimeoutId;\n let hasCompleted = false;\n const validationTimeoutId = setTimeout(monitor(() => complete({ hadActivity: false })), PAGE_ACTIVITY_VALIDATION_DELAY);\n const maxDurationTimeoutId = maxDuration !== undefined\n ? setTimeout(monitor(() => complete({ hadActivity: true, end: timeStampNow() })), maxDuration)\n : undefined;\n const pageActivitySubscription = pageActivityObservable.subscribe(({ isBusy }) => {\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n const lastChangeTime = timeStampNow();\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout(monitor(() => complete({ hadActivity: true, end: lastChangeTime })), PAGE_ACTIVITY_END_DELAY);\n }\n });\n const stop = () => {\n hasCompleted = true;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n clearTimeout(maxDurationTimeoutId);\n pageActivitySubscription.unsubscribe();\n };\n function complete(event) {\n if (hasCompleted) {\n return;\n }\n stop();\n pageActivityEndCallback(event);\n }\n return { stop };\n}\nexport function createPageActivityObservable(lifeCycle, domMutationObservable, windowOpenObservable, configuration) {\n return new Observable((observable) => {\n const subscriptions = [];\n let firstRequestIndex;\n let pendingRequestsCount = 0;\n subscriptions.push(domMutationObservable.subscribe(notifyPageActivity), windowOpenObservable.subscribe(notifyPageActivity), createPerformanceObservable(configuration, { type: RumPerformanceEntryType.RESOURCE }).subscribe((entries) => {\n if (entries.some((entry) => !isExcludedUrl(configuration, entry.name))) {\n notifyPageActivity();\n }\n }), lifeCycle.subscribe(6 /* LifeCycleEventType.REQUEST_STARTED */, (startEvent) => {\n if (isExcludedUrl(configuration, startEvent.url)) {\n return;\n }\n if (firstRequestIndex === undefined) {\n firstRequestIndex = startEvent.requestIndex;\n }\n pendingRequestsCount += 1;\n notifyPageActivity();\n }), lifeCycle.subscribe(7 /* LifeCycleEventType.REQUEST_COMPLETED */, (request) => {\n if (isExcludedUrl(configuration, request.url) ||\n firstRequestIndex === undefined ||\n // If the request started before the tracking start, ignore it\n request.requestIndex < firstRequestIndex) {\n return;\n }\n pendingRequestsCount -= 1;\n notifyPageActivity();\n }));\n return () => {\n subscriptions.forEach((s) => s.unsubscribe());\n };\n function notifyPageActivity() {\n observable.notify({ isBusy: pendingRequestsCount > 0 });\n }\n });\n}\nfunction isExcludedUrl(configuration, requestUrl) {\n return matchList(configuration.excludedActivityUrls, requestUrl);\n}\n//# sourceMappingURL=waitPageActivityEnd.js.map","export function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE;\n}\nexport function isCommentNode(node) {\n return node.nodeType === Node.COMMENT_NODE;\n}\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n}\nexport function isNodeShadowHost(node) {\n return isElementNode(node) && Boolean(node.shadowRoot);\n}\nexport function isNodeShadowRoot(node) {\n const shadowRoot = node;\n return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host);\n}\nexport function hasChildNodes(node) {\n return node.childNodes.length > 0 || isNodeShadowHost(node);\n}\nexport function forEachChildNodes(node, callback) {\n let child = node.firstChild;\n while (child) {\n callback(child);\n child = child.nextSibling;\n }\n if (isNodeShadowHost(node)) {\n callback(node.shadowRoot);\n }\n}\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node) {\n return isNodeShadowRoot(node) ? node.host : node.parentNode;\n}\n//# sourceMappingURL=htmlDomUtils.js.map","import { DefaultPrivacyLevel } from '@datadog/browser-core';\nimport { isElementNode, getParentNode, isTextNode } from '../browser/htmlDomUtils';\nexport const NodePrivacyLevel = {\n IGNORE: 'ignore',\n HIDDEN: 'hidden',\n ALLOW: DefaultPrivacyLevel.ALLOW,\n MASK: DefaultPrivacyLevel.MASK,\n MASK_USER_INPUT: DefaultPrivacyLevel.MASK_USER_INPUT,\n};\nexport const PRIVACY_ATTR_NAME = 'data-dd-privacy';\n// Privacy Attrs\nexport const PRIVACY_ATTR_VALUE_ALLOW = 'allow';\nexport const PRIVACY_ATTR_VALUE_MASK = 'mask';\nexport const PRIVACY_ATTR_VALUE_MASK_USER_INPUT = 'mask-user-input';\nexport const PRIVACY_ATTR_VALUE_HIDDEN = 'hidden';\n// Privacy Classes - not all customers can set plain HTML attributes, so support classes too\nexport const PRIVACY_CLASS_PREFIX = 'dd-privacy-';\n// Private Replacement Templates\nexport const CENSORED_STRING_MARK = '***';\nexport const CENSORED_IMG_MARK = 'data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==';\nexport const FORM_PRIVATE_TAG_NAMES = {\n INPUT: true,\n OUTPUT: true,\n TEXTAREA: true,\n SELECT: true,\n OPTION: true,\n DATALIST: true,\n OPTGROUP: true,\n};\nconst TEXT_MASKING_CHAR = 'x';\n/**\n * Get node privacy level by iterating over its ancestors. When the direct parent privacy level is\n * know, it is best to use something like:\n *\n * derivePrivacyLevelGivenParent(getNodeSelfPrivacyLevel(node), parentNodePrivacyLevel)\n */\nexport function getNodePrivacyLevel(node, defaultPrivacyLevel, cache) {\n if (cache && cache.has(node)) {\n return cache.get(node);\n }\n const parentNode = getParentNode(node);\n const parentNodePrivacyLevel = parentNode\n ? getNodePrivacyLevel(parentNode, defaultPrivacyLevel, cache)\n : defaultPrivacyLevel;\n const selfNodePrivacyLevel = getNodeSelfPrivacyLevel(node);\n const nodePrivacyLevel = reducePrivacyLevel(selfNodePrivacyLevel, parentNodePrivacyLevel);\n if (cache) {\n cache.set(node, nodePrivacyLevel);\n }\n return nodePrivacyLevel;\n}\n/**\n * Reduces the next privacy level based on self + parent privacy levels\n */\nexport function reducePrivacyLevel(childPrivacyLevel, parentNodePrivacyLevel) {\n switch (parentNodePrivacyLevel) {\n // These values cannot be overridden\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return parentNodePrivacyLevel;\n }\n switch (childPrivacyLevel) {\n case NodePrivacyLevel.ALLOW:\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.MASK_USER_INPUT:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return childPrivacyLevel;\n default:\n return parentNodePrivacyLevel;\n }\n}\n/**\n * Determines the node's own privacy level without checking for ancestors.\n */\nexport function getNodeSelfPrivacyLevel(node) {\n // Only Element types can have a privacy level set\n if (!isElementNode(node)) {\n return;\n }\n // Overrules for replay purpose\n if (node.tagName === 'BASE') {\n return NodePrivacyLevel.ALLOW;\n }\n // Overrules to enforce end-user protection\n if (node.tagName === 'INPUT') {\n const inputElement = node;\n if (inputElement.type === 'password' || inputElement.type === 'email' || inputElement.type === 'tel') {\n return NodePrivacyLevel.MASK;\n }\n if (inputElement.type === 'hidden') {\n return NodePrivacyLevel.MASK;\n }\n const autocomplete = inputElement.getAttribute('autocomplete');\n // Handle input[autocomplete=cc-number/cc-csc/cc-exp/cc-exp-month/cc-exp-year/new-password/current-password]\n if (autocomplete && (autocomplete.startsWith('cc-') || autocomplete.endsWith('-password'))) {\n return NodePrivacyLevel.MASK;\n }\n }\n // Check HTML privacy attributes and classes\n if (node.matches(getPrivacySelector(NodePrivacyLevel.HIDDEN))) {\n return NodePrivacyLevel.HIDDEN;\n }\n if (node.matches(getPrivacySelector(NodePrivacyLevel.MASK))) {\n return NodePrivacyLevel.MASK;\n }\n if (node.matches(getPrivacySelector(NodePrivacyLevel.MASK_USER_INPUT))) {\n return NodePrivacyLevel.MASK_USER_INPUT;\n }\n if (node.matches(getPrivacySelector(NodePrivacyLevel.ALLOW))) {\n return NodePrivacyLevel.ALLOW;\n }\n if (shouldIgnoreElement(node)) {\n return NodePrivacyLevel.IGNORE;\n }\n}\n/**\n * Helper aiming to unify `mask` and `mask-user-input` privacy levels:\n *\n * In the `mask` case, it is trivial: we should mask the element.\n *\n * In the `mask-user-input` case, we should mask the element only if it is a \"form\" element or the\n * direct parent is a form element for text nodes).\n *\n * Other `shouldMaskNode` cases are edge cases that should not matter too much (ex: should we mask a\n * node if it is ignored or hidden? it doesn't matter since it won't be serialized).\n */\nexport function shouldMaskNode(node, privacyLevel) {\n switch (privacyLevel) {\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return true;\n case NodePrivacyLevel.MASK_USER_INPUT:\n return isTextNode(node) ? isFormElement(node.parentNode) : isFormElement(node);\n default:\n return false;\n }\n}\nfunction isFormElement(node) {\n if (!node || node.nodeType !== node.ELEMENT_NODE) {\n return false;\n }\n const element = node;\n if (element.tagName === 'INPUT') {\n switch (element.type) {\n case 'button':\n case 'color':\n case 'reset':\n case 'submit':\n return false;\n }\n }\n return !!FORM_PRIVATE_TAG_NAMES[element.tagName];\n}\n/**\n * Text censoring non-destructively maintains whitespace characters in order to preserve text shape\n * during replay.\n */\nexport const censorText = (text) => text.replace(/\\S/g, TEXT_MASKING_CHAR);\nexport function getTextContent(textNode, ignoreWhiteSpace, parentNodePrivacyLevel) {\n var _a;\n // The parent node may not be a html element which has a tagName attribute.\n // So just let it be undefined which is ok in this use case.\n const parentTagName = (_a = textNode.parentElement) === null || _a === void 0 ? void 0 : _a.tagName;\n let textContent = textNode.textContent || '';\n if (ignoreWhiteSpace && !textContent.trim()) {\n return;\n }\n const nodePrivacyLevel = parentNodePrivacyLevel;\n const isScript = parentTagName === 'SCRIPT';\n if (isScript) {\n // For perf reasons, we don't record script (heuristic)\n textContent = CENSORED_STRING_MARK;\n }\n else if (nodePrivacyLevel === NodePrivacyLevel.HIDDEN) {\n // Should never occur, but just in case, we set to CENSORED_MARK.\n textContent = CENSORED_STRING_MARK;\n }\n else if (shouldMaskNode(textNode, nodePrivacyLevel)) {\n if (\n // Scrambling the child list breaks text nodes for DATALIST/SELECT/OPTGROUP\n parentTagName === 'DATALIST' ||\n parentTagName === 'SELECT' ||\n parentTagName === 'OPTGROUP') {\n if (!textContent.trim()) {\n return;\n }\n }\n else if (parentTagName === 'OPTION') {\n //