{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/@sentry/utils/esm/string.js","webpack:///./node_modules/@sentry/utils/esm/node.js","webpack:///./node_modules/core-js/internals/bind-context.js","webpack:///./node_modules/@apollo/client/react/hooks/useQuery.js","webpack:///./app/styles/icons/ico-dropdown-chevron.svg","webpack:///./node_modules/office-ui-fabric-react/lib/components/Icon/FontIcon.js","webpack:///./TypeWriterScripts/TestFlag.ts","webpack:///./TypeWriterScripts/RealUserBreakdown.ts","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@apollo/client/utilities/observables/iteration.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/@apollo/client/node_modules/ts-invariant/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@apollo/client/node_modules/ts-invariant/lib/invariant.esm.js","webpack:///./TypeWriterScripts/WebTagType.ts","webpack:///./app/utils/simpleTypes.ts","webpack:///./node_modules/@uifabric/merge-styles/lib/mergeStyleSets.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./app/styles/icons/ico-catchpoint-blue.svg","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@uifabric/utilities/lib/dom/raiseClick.js","webpack:///./TypeWriterScripts/DataDisplayType.ts","webpack:///./node_modules/react-hot-loader/index.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./TypeWriterScripts/SyntheticNetworkType.ts","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/elementContains.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./app/utils/paths.ts","webpack:///./TypeWriterScripts/TileSize.ts","webpack:///./node_modules/@apollo/client/cache/core/cache.js","webpack:///./node_modules/@sentry/tracing/esm/integrations/mongo.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Icon/Icon.styles.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./app/components/Tooltip/OverlayTooltip.scss","webpack:///./node_modules/@sentry/tracing/esm/errors.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/modules/es.symbol.has-instance.js","webpack:///./node_modules/core-js/modules/es.object.freeze.js","webpack:///./node_modules/@apollo/client/link/core/ApolloLink.js","webpack:///./node_modules/@apollo/client/link/utils/createOperation.js","webpack:///./node_modules/@apollo/client/link/utils/transformOperation.js","webpack:///./node_modules/@apollo/client/link/utils/validateOperation.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./TypeWriterScripts/BGPEventType.ts","webpack:///./node_modules/@uifabric/utilities/lib/dom/getWindow.js","webpack:///./node_modules/office-ui-fabric-react/node_modules/@fluentui/react-window-provider/lib/WindowProvider.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/office-ui-fabric-react/lib/utilities/keytips/KeytipManager.js","webpack:///./node_modules/core-js/internals/forced-string-trim-method.js","webpack:///./node_modules/@uifabric/utilities/lib/dom/getDocument.js","webpack:///./node_modules/@sentry/utils/esm/supports.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/@uifabric/utilities/lib/warn/warnMutuallyExclusive.js","webpack:///./node_modules/@apollo/client/link/http/createSignalIfSupported.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/@uifabric/utilities/lib/KeyCodes.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/@wry/trie/lib/trie.esm.js","webpack:///./node_modules/optimism/lib/bundle.esm.js","webpack:///./node_modules/@apollo/client/utilities/graphql/storeUtils.js","webpack:///./node_modules/@uifabric/utilities/lib/customizations/CustomizerContext.js","webpack:///./node_modules/@microsoft/load-themed-styles/lib-es6/index.js","webpack:///./TypeWriterScripts/ReportAlertType.ts","webpack:///./TypeWriterScripts/Feature.ts","webpack:///./node_modules/@fluentui/dom-utilities/lib/isVirtualElement.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./wpt-app/theme/types.ts","webpack:///./wpt-app/theme/fonts.ts","webpack:///./wpt-app/theme/lightTheme.ts","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@sentry/utils/esm/object.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/@sentry/utils/esm/instrument.js","webpack:///./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack:///./node_modules/react-hot-loader/dist/react-hot-loader.production.min.js","webpack:///./node_modules/react-router/node_modules/isarray/index.js","webpack:///./node_modules/graphql/language/printer.mjs","webpack:///./node_modules/@apollo/client/link/http/selectHttpOptionsAndBody.js","webpack:///./node_modules/@uifabric/utilities/lib/BaseComponent.js","webpack:///./TypeWriterScripts/WebSeeTimeframe.ts","webpack:///./app/styles/icons/ico-kinect.svg","webpack:///./wpt-app/utils/publicPath.ts","webpack:///./node_modules/@sentry/react/esm/profiler.js","webpack:///./app/utils/query/appHeaders.ts","webpack:///./app/utils/localStorage.ts","webpack:///./app/utils/query/apolloClient.ts","webpack:///./wpt-app/app.reducer.ts","webpack:///./wpt-app/utils/paths.ts","webpack:///./app/components/LoadingPage/LoadingPage.tsx","webpack:///./node_modules/office-ui-fabric-react/lib/components/Pivot/Pivot.types.js","webpack:///./app/components/Bouncer/Bouncer.tsx","webpack:///./node_modules/office-ui-fabric-react/lib/components/Pivot/PivotItem.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Pivot/Pivot.base.js","webpack:///./wpt-app/components/CharmBar/CharmBarUtil.ts","webpack:///./node_modules/office-ui-fabric-react/lib/components/Pivot/Pivot.styles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Pivot/Pivot.js","webpack:///./wpt-app/components/CharmBar/CharmBar.tsx","webpack:///./wpt-app/pages/NotFound/NotFound.tsx","webpack:///./node_modules/@apollo/client/react/components/Query.js","webpack:///./TypeWriterScripts/TestAccessRestrictionType.ts","webpack:///./app/utils/userIdentity/userIdentity.ts","webpack:///./app/containers/UserContainer/UserContainer.tsx","webpack:///./wpt-app/routes.tsx","webpack:///./wpt-app/app.tsx","webpack:///./node_modules/@sentry/react/esm/reactrouter.js","webpack:///./node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack:///./node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack:///./node_modules/@sentry/utils/esm/polyfill.js","webpack:///./node_modules/@sentry/utils/esm/error.js","webpack:///./node_modules/@sentry/utils/esm/dsn.js","webpack:///./node_modules/@sentry/core/esm/integration.js","webpack:///./node_modules/@sentry/core/esm/baseclient.js","webpack:///./node_modules/@sentry/types/esm/status.js","webpack:///./node_modules/@sentry/core/esm/transports/noop.js","webpack:///./node_modules/@sentry/types/esm/severity.js","webpack:///./node_modules/@sentry/core/esm/basebackend.js","webpack:///./node_modules/@sentry/browser/esm/tracekit.js","webpack:///./node_modules/@sentry/browser/esm/parsers.js","webpack:///./node_modules/@sentry/browser/esm/eventbuilder.js","webpack:///./node_modules/@sentry/core/esm/request.js","webpack:///./node_modules/@sentry/core/esm/api.js","webpack:///./node_modules/@sentry/utils/esm/promisebuffer.js","webpack:///./node_modules/@sentry/browser/esm/transports/base.js","webpack:///./node_modules/@sentry/browser/esm/transports/fetch.js","webpack:///./node_modules/@sentry/browser/esm/transports/xhr.js","webpack:///./node_modules/@sentry/browser/esm/backend.js","webpack:///./node_modules/@sentry/minimal/esm/index.js","webpack:///./node_modules/@sentry/browser/esm/helpers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack:///./node_modules/@sentry/browser/esm/client.js","webpack:///./node_modules/@sentry/browser/esm/version.js","webpack:///./node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack:///./node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack:///./node_modules/@sentry/browser/esm/integrations/useragent.js","webpack:///./node_modules/@sentry/browser/esm/sdk.js","webpack:///./node_modules/@sentry/core/esm/sdk.js","webpack:///./app/icons/Icon.tsx","webpack:///./app/icons/CatchpointIconSmall.tsx","webpack:///./app/icons/ChevronDown.tsx","webpack:///./app/icons/ChevronDownLight.tsx","webpack:///./app/icons/ExternalLink.tsx","webpack:///./app/icons/Hamburger.tsx","webpack:///./app/icons/Lightning.tsx","webpack:///./app/styles/fabricIcons.tsx","webpack:///./app/styles/fabricTheme.ts","webpack:///./node_modules/@sentry/tracing/esm/browser/backgroundtab.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/lib/bindReporter.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/lib/getFirstHidden.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/lib/whenInput.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/lib/initMetric.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/lib/generateUniqueID.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/lib/observe.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/lib/onHidden.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/getLCP.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/getTTFB.js","webpack:///./node_modules/@sentry/tracing/esm/browser/metrics.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/getCLS.js","webpack:///./node_modules/@sentry/tracing/esm/browser/web-vitals/getFID.js","webpack:///./node_modules/@sentry/tracing/esm/browser/request.js","webpack:///./node_modules/@sentry/tracing/esm/browser/router.js","webpack:///./node_modules/@sentry/tracing/esm/browser/browsertracing.js","webpack:///./node_modules/@sentry/tracing/esm/integrations/express.js","webpack:///./node_modules/@sentry/tracing/esm/index.js","webpack:///./wpt-app/index.tsx","webpack:///./node_modules/@apollo/client/cache/inmemory/helpers.js","webpack:///./node_modules/@uifabric/utilities/lib/array.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/@sentry/utils/esm/logger.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./TypeWriterScripts/ComparativeTimeLookback.ts","webpack:///./node_modules/@uifabric/utilities/lib/scroll.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/react-router/node_modules/path-to-regexp/index.js","webpack:///./node_modules/@sentry/utils/esm/misc.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@sentry/utils/esm/is.js","webpack:///./TypeWriterScripts/MobilePlaybackSourceType.ts","webpack:///./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/@uifabric/utilities/lib/classNamesFunction.js","webpack:///./node_modules/@uifabric/utilities/lib/merge.js","webpack:///./node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///./node_modules/fast-json-stable-stringify/index.js","webpack:///./app/styles/icons/network-loading.gif","webpack:///./node_modules/zen-observable/index.js","webpack:///./node_modules/@apollo/client/react/data/OperationData.js","webpack:///./node_modules/@apollo/client/core/index.js","webpack:///./node_modules/@apollo/client/utilities/common/cloneDeep.js","webpack:///./node_modules/@apollo/client/core/Reobserver.js","webpack:///./node_modules/@apollo/client/core/ObservableQuery.js","webpack:///./TypeWriterScripts/AnalyticsMetric.ts","webpack:///./node_modules/@apollo/client/utilities/observables/Observable.js","webpack:///./node_modules/office-ui-fabric-react/lib/utilities/positioning/positioning.types.js","webpack:///./node_modules/@apollo/client/utilities/common/filterInPlace.js","webpack:///./node_modules/@apollo/client/utilities/graphql/transform.js","webpack:///./node_modules/@uifabric/utilities/lib/hoist.js","webpack:///./node_modules/graphql/language/blockString.mjs","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./TypeWriterScripts/AccessLevel.ts","webpack:///./node_modules/@apollo/client/link/core/index.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./TypeWriterScripts/ObjectType.ts","webpack:///./node_modules/@apollo/client/link/http/index.js","webpack:///./node_modules/@apollo/client/link/http/rewriteURIForGET.js","webpack:///./node_modules/@fluentui/react-focus/lib/components/FocusZone/FocusZone.js","webpack:///./node_modules/@sentry/tracing/esm/integrations/postgres.js","webpack:///./node_modules/@sentry/tracing/esm/hubextensions.js","webpack:///./node_modules/@apollo/client/utilities/graphql/fragments.js","webpack:///./app/utils/object.ts","webpack:///./node_modules/@apollo/client/node_modules/symbol-observable/es/index.js","webpack:///./node_modules/core-js/modules/es.json.to-string-tag.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/@uifabric/utilities/lib/osDetector.js","webpack:///./node_modules/office-ui-fabric-react/lib/utilities/keytips/KeytipConstants.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Icon/Icon.types.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Icon/Icon.base.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Icon/Icon.js","webpack:///./TypeWriterScripts/AlertNotificationLevel.ts","webpack:///./app/styles/icons/ico-chevron-light-down.svg","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/office-ui-fabric-react/lib/utilities/decorators/withResponsiveMode.js","webpack:///./node_modules/@sentry/tracing/esm/transaction.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./TypeWriterScripts/DomainStatus.ts","webpack:///./TypeWriterScripts/SpotlightItemType.ts","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/@sentry/tracing/esm/utils.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/@uifabric/utilities/lib/rtl.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/@uifabric/utilities/lib/warn/warnConditionallyRequiredProps.js","webpack:///./app/serverInitData/permissionData.ts","webpack:///./app/utils/permission.ts","webpack:///./node_modules/core-js/modules/es.symbol.species.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./TypeWriterScripts/ChartBreakdown.ts","webpack:///./node_modules/shallowequal/index.js","webpack:///./node_modules/core-js/es/symbol/index.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Popup/Popup.js","webpack:///./node_modules/@sentry/utils/esm/syncpromise.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Button/CommandButton/CommandButton.js","webpack:///./TypeWriterScripts/WebSocketTransferType.ts","webpack:///./wpt-app/styles/icons/ico-logo.svg","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./app/styles/icons/ico-hamburger.svg","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/modules/es.symbol.split.js","webpack:///./node_modules/@apollo/client/cache/core/types/common.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/modules/es.math.to-string-tag.js","webpack:///./node_modules/@uifabric/utilities/lib/customizations/useCustomizationSettings.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./TypeWriterScripts/EndpointSourceType.ts","webpack:///./node_modules/@apollo/client/react/hooks/useLazyQuery.js","webpack:///./node_modules/@apollo/client/react/data/MutationData.js","webpack:///./node_modules/@apollo/client/react/hooks/useMutation.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./TypeWriterScripts/ChangeType.ts","webpack:///./node_modules/@uifabric/utilities/lib/customizations/Customizations.js","webpack:///./app/utils/glimpseEvent.ts","webpack:///./node_modules/core-js/modules/es.symbol.match.js","webpack:///./node_modules/@uifabric/utilities/lib/object.js","webpack:///./node_modules/@sentry/hub/esm/scope.js","webpack:///./node_modules/@uifabric/merge-styles/lib/StyleOptionsState.js","webpack:///./node_modules/graphql/language/visitor.mjs","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/@uifabric/utilities/lib/setFocusVisibility.js","webpack:///./node_modules/resolve-pathname/index.js","webpack:///./node_modules/value-equal/index.js","webpack:///./node_modules/history/esm/history.js","webpack:///./node_modules/@fluentui/react-focus/lib/components/FocusZone/FocusZone.types.js","webpack:///./app/components/ChartStatus/ChartStatus.tsx","webpack:///./node_modules/@apollo/client/cache/inmemory/policies.js","webpack:///./node_modules/@sentry/tracing/esm/idletransaction.js","webpack:///./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/@apollo/client/link/http/HttpLink.js","webpack:///./TypeWriterScripts/EndpointMetricGroupType.ts","webpack:///./node_modules/@apollo/client/link/utils/fromError.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/@uifabric/merge-styles/lib/concatStyleSetsWithProps.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/setPortalAttribute.js","webpack:///./app/containers/UserContainer/UserContext.tsx","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/@apollo/client/utilities/common/errorHandling.js","webpack:///./node_modules/@apollo/client/utilities/observables/Concast.js","webpack:///./node_modules/@apollo/client/utilities/observables/asyncMap.js","webpack:///./node_modules/@apollo/client/core/LocalState.js","webpack:///./node_modules/@apollo/client/core/QueryInfo.js","webpack:///./node_modules/@apollo/client/core/QueryManager.js","webpack:///./node_modules/@apollo/client/core/ApolloClient.js","webpack:///./node_modules/@apollo/client/version.js","webpack:///./wpt-app/utils/url.ts","webpack:///./node_modules/@uifabric/utilities/lib/dom/setSSR.js","webpack:///./TypeWriterScripts/CollectorType.ts","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/modules/es.string.repeat.js","webpack:///./node_modules/@uifabric/merge-styles/lib/concatStyleSets.js","webpack:///./node_modules/@uifabric/utilities/lib/customizations/mergeCustomizations.js","webpack:///./node_modules/@apollo/client/link/http/serializeFetchParameter.js","webpack:///./TypeWriterScripts/WidgetSubSourceType.ts","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/@apollo/client/errors/index.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/@uifabric/merge-styles/lib/Stylesheet.js","webpack:///./node_modules/@uifabric/utilities/lib/warn/warnDeprecations.js","webpack:///./node_modules/@apollo/client/utilities/graphql/directives.js","webpack:///./app/styles/icons/ico-nav-brandsmall.svg","webpack:///./node_modules/office-ui-fabric-react/lib/components/Button/BaseButton.classNames.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Image/Image.base.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Image/Image.styles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Image/Image.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/@uifabric/utilities/lib/hoistStatics.js","webpack:///./node_modules/office-ui-fabric-react/lib/utilities/positioning/positioning.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Callout/CalloutContent.base.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Callout/CalloutContent.styles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Callout/CalloutContent.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Callout/Callout.js","webpack:///./node_modules/@uifabric/set-version/lib/setVersion.js","webpack:///./node_modules/@uifabric/set-version/lib/index.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./TypeWriterScripts/Timeframe.ts","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/@sentry/tracing/esm/span.js","webpack:///./app/utils/url.ts","webpack:///./app/styles/icons/ico-external-link.svg","webpack:///./TypeWriterScripts/AlertStepType.ts","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./TypeWriterScripts/DateAggregationType.ts","webpack:///./node_modules/@apollo/client/link/utils/throwServerError.js","webpack:///./node_modules/core-js/modules/es.map.js","webpack:///./node_modules/mini-create-react-context/dist/esm/index.js","webpack:///./node_modules/react-router/esm/react-router.js","webpack:///./TypeWriterScripts/SyntheticErrorType.ts","webpack:///./node_modules/custom-event-polyfill/polyfill.js","webpack:///./node_modules/@apollo/client/link/core/execute.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/graphql-tag/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/graphql/jsutils/isObjectLike.mjs","webpack:///./node_modules/graphql/polyfills/symbols.mjs","webpack:///./node_modules/graphql/language/location.mjs","webpack:///./node_modules/graphql/language/printLocation.mjs","webpack:///./node_modules/graphql/error/GraphQLError.mjs","webpack:///./node_modules/graphql/error/syntaxError.mjs","webpack:///./node_modules/graphql/language/kinds.mjs","webpack:///./node_modules/graphql/language/tokenKind.mjs","webpack:///./node_modules/graphql/jsutils/devAssert.mjs","webpack:///./node_modules/graphql/jsutils/instanceOf.mjs","webpack:///./node_modules/graphql/language/source.mjs","webpack:///./node_modules/graphql/language/directiveLocation.mjs","webpack:///./node_modules/graphql/language/lexer.mjs","webpack:///./node_modules/graphql/language/parser.mjs","webpack:///./node_modules/graphql-tag/lib/index.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/@apollo/client/react/index.js","webpack:///./node_modules/@uifabric/utilities/lib/GlobalSettings.js","webpack:///./node_modules/@apollo/client/index.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@uifabric/utilities/lib/initializeComponentRef.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/@uifabric/utilities/lib/styled.js","webpack:///./node_modules/@uifabric/utilities/lib/focus.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Layer/Layer.notification.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Layer/Layer.base.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Layer/Layer.styles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Layer/Layer.js","webpack:///./TypeWriterScripts/TestReportMetricDataType.ts","webpack:///./node_modules/@uifabric/merge-styles/lib/mergeStyles.js","webpack:///./TypeWriterScripts/DisplayMonitorType.ts","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./TypeWriterScripts/SlaTimeFrame.ts","webpack:///./node_modules/@uifabric/utilities/lib/customizations/customizable.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@uifabric/utilities/lib/aria.js","webpack:///./node_modules/core-js/modules/es.symbol.search.js","webpack:///./node_modules/@apollo/client/link/http/selectURI.js","webpack:///./TypeWriterScripts/RPKIStatusType.ts","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./TypeWriterScripts/SupportedTimeZone.ts","webpack:///./node_modules/office-ui-fabric-react/lib/common/DirectionalHint.js","webpack:///./node_modules/@apollo/client/node_modules/symbol-observable/es/ponyfill.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./TypeWriterScripts/UserPermission.ts","webpack:///./node_modules/@uifabric/utilities/lib/extendComponent.js","webpack:///./node_modules/@apollo/client/core/networkStatus.js","webpack:///./node_modules/@sentry/tracing/esm/spanstatus.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./TypeWriterScripts/ReportAlertSubType.ts","webpack:///./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack:///./app/components/Tooltip/OverlayTooltip.tsx","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/@uifabric/utilities/lib/EventGroup.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@uifabric/utilities/lib/properties.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@uifabric/utilities/lib/customizations/mergeSettings.js","webpack:///./node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js","webpack:///./app/serverInitData/tgl.ts","webpack:///./TypeWriterScripts/BreakdownDimension.ts","webpack:///./node_modules/@uifabric/utilities/lib/Async.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/elementContainsAttribute.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./wpt-app/styles/icons/ico-login-arrow.svg","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./TypeWriterScripts/SonarDeviceMetricType.ts","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./TypeWriterScripts/SyntheticMetricGroupType.ts","webpack:///./app/utils/string.ts","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/findElementRecursive.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/getParent.js","webpack:///./node_modules/core-js/modules/es.symbol.replace.js","webpack:///./TypeWriterScripts/PlaybackSourceType.ts","webpack:///./node_modules/office-ui-fabric-react/lib/utilities/decorators/BaseDecorator.js","webpack:///./node_modules/core-js/modules/es.symbol.to-primitive.js","webpack:///./node_modules/core-js/modules/es.symbol.unscopables.js","webpack:///./node_modules/@apollo/client/utilities/common/arrays.js","webpack:///./TypeWriterScripts/ChartDataFilter.ts","webpack:///./node_modules/office-ui-fabric-react/lib/components/Button/ActionButton/ActionButton.styles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Button/ActionButton/ActionButton.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./TypeWriterScripts/AnalyticsSyntheticMetric.ts","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/@wry/context/lib/context.esm.js","webpack:///./app/styles/icons/ico-lightning.svg","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@uifabric/utilities/lib/css.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/setVirtualParent.js","webpack:///./node_modules/@uifabric/utilities/lib/warn/warn.js","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./TypeWriterScripts/CredentialsType.ts","webpack:///./node_modules/office-ui-fabric-react/lib/utilities/keytips/KeytipUtils.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/KeytipData/useKeytipData.js","webpack:///./node_modules/office-ui-fabric-react/node_modules/@uifabric/react-hooks/lib/usePrevious.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/KeytipData/KeytipData.js","webpack:///./TypeWriterScripts/RealUserSiteType.ts","webpack:///./node_modules/@sentry/types/esm/transaction.js","webpack:///./node_modules/core-js/modules/es.symbol.match-all.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Button/BaseButton.styles.js","webpack:///./node_modules/office-ui-fabric-react/node_modules/@uifabric/react-hooks/lib/useConst.js","webpack:///./TypeWriterScripts/SyntheticOperatingSystemType.ts","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/@sentry/utils/esm/time.js","webpack:///./node_modules/graphql/jsutils/defineInspect.mjs","webpack:///./node_modules/graphql/jsutils/invariant.mjs","webpack:///./node_modules/graphql/language/ast.mjs","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack:///./node_modules/@uifabric/utilities/lib/appendFunction.js","webpack:///./wpt-app/components/Plans/Plans.types.ts","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./TypeWriterScripts/SupportedTimeframe.ts","webpack:///./node_modules/@sentry/hub/esm/session.js","webpack:///./node_modules/@sentry/hub/esm/hub.js","webpack:///./node_modules/@apollo/client/cache/inmemory/entityStore.js","webpack:///./node_modules/@apollo/client/cache/inmemory/readFromStore.js","webpack:///./node_modules/@apollo/client/cache/inmemory/writeToStore.js","webpack:///./node_modules/@apollo/client/cache/inmemory/inMemoryCache.js","webpack:///./node_modules/unfetch/dist/unfetch.mjs","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@uifabric/utilities/lib/language.js","webpack:///./node_modules/@uifabric/utilities/lib/localStorage.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/@uifabric/utilities/lib/getId.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/@apollo/client/utilities/common/mergeDeep.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./TypeWriterScripts/PermissionBitFlags.ts","webpack:///./node_modules/@apollo/client/utilities/observables/subclassing.js","webpack:///./TypeWriterScripts/TestReportType.ts","webpack:///./app/serverInitData/publicShareData.ts","webpack:///./app/utils/ajax/ajaxTypes.ts","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./TypeWriterScripts/NodeStatus.ts","webpack:///./app/styles/fabricIcons.scss","webpack:///./node_modules/@apollo/client/link/http/createHttpLink.js","webpack:///./node_modules/@apollo/client/react/context/ApolloProvider.js","webpack:///./TypeWriterScripts/WinHttpMethod.ts","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.types.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Icon/ImageIcon.js","webpack:///./node_modules/office-ui-fabric-react/lib/utilities/contextualMenu/contextualMenuUtility.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItem.base.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Divider/VerticalDivider.classNames.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.cnstyles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.classNames.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItem.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Divider/VerticalDivider.base.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Divider/VerticalDivider.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Divider/VerticalDivider.styles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.base.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.styles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Button/SplitButton/SplitButton.classNames.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Button/BaseButton.js","webpack:///./node_modules/@uifabric/utilities/lib/keyboard.js","webpack:///./node_modules/zen-observable/lib/Observable.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/@sentry/utils/esm/stacktrace.js","webpack:///./TypeWriterScripts/DisplayTestFrequency.ts","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/@uifabric/utilities/lib/mobileDetector.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./app/utils/consts.ts","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/@uifabric/utilities/lib/sessionStorage.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/@wry/equality/lib/equality.esm.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/graphql/jsutils/inspect.mjs","webpack:///./node_modules/@uifabric/utilities/lib/createMergedRef.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/portalContainsElement.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/getVirtualParent.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./app/components/ChartStatus/ChartStatus.scss","webpack:///./node_modules/core-js/internals/user-agent.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Fabric/Fabric.base.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Fabric/Fabric.styles.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Fabric/Fabric.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/@apollo/client/utilities/graphql/getFromAST.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/@uifabric/utilities/lib/customizations/Customizer.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/@apollo/client/link/http/checkFetcher.js","webpack:///./app/utils/analysis/enums.ts","webpack:///./node_modules/@uifabric/utilities/lib/Rectangle.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.symbol.async-iterator.js","webpack:///./node_modules/@uifabric/styling/lib/utilities/buildClassMap.js","webpack:///./node_modules/@uifabric/merge-styles/lib/keyframes.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/motion/AnimationStyles.js","webpack:///./node_modules/@uifabric/styling/lib/classNames/AnimationClassNames.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/fonts/FluentFonts.js","webpack:///./node_modules/@uifabric/merge-styles/lib/fontFace.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/fonts/createFontStyles.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/fonts/DefaultFontStyles.js","webpack:///./node_modules/@uifabric/styling/lib/classNames/FontClassNames.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/effects/FluentDepths.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/colors/DefaultPalette.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/effects/DefaultEffects.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/utilities/makeSemanticColors.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/spacing/DefaultSpacing.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/createTheme.js","webpack:///./node_modules/@uifabric/styling/node_modules/@fluentui/theme/lib/mergeThemes.js","webpack:///./node_modules/@uifabric/styling/lib/styles/theme.js","webpack:///./node_modules/@uifabric/styling/lib/classNames/ColorClassNames.js","webpack:///./node_modules/@uifabric/styling/lib/styles/CommonStyles.js","webpack:///./node_modules/@uifabric/styling/lib/styles/zIndexes.js","webpack:///./node_modules/@uifabric/styling/lib/styles/getFocusStyle.js","webpack:///./node_modules/@uifabric/styling/lib/styles/hiddenContentStyle.js","webpack:///./node_modules/@uifabric/styling/lib/styles/PulsingBeaconAnimationStyles.js","webpack:///./node_modules/@uifabric/styling/lib/styles/getGlobalClassNames.js","webpack:///./node_modules/@uifabric/styling/lib/styles/scheme.js","webpack:///./node_modules/@uifabric/styling/lib/styles/GeneralStyles.js","webpack:///./node_modules/@uifabric/styling/lib/styles/getFadedOverflowStyle.js","webpack:///./node_modules/@uifabric/styling/lib/styles/getPlaceholderStyles.js","webpack:///./node_modules/@uifabric/styling/lib/utilities/icons.js","webpack:///./node_modules/@uifabric/styling/lib/utilities/getIconClassName.js","webpack:///./node_modules/@uifabric/styling/lib/version.js","webpack:///./node_modules/@uifabric/styling/lib/index.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/@uifabric/merge-styles/lib/extractStyleParts.js","webpack:///./TypeWriterScripts/AnalyticsRealUserMetric.ts","webpack:///./node_modules/@apollo/client/react/data/QueryData.js","webpack:///./node_modules/@apollo/client/react/hooks/utils/useBaseQuery.js","webpack:///./node_modules/@apollo/client/react/hooks/utils/useDeepMemo.js","webpack:///./node_modules/@apollo/client/cache/inmemory/reactiveVars.js","webpack:///./TypeWriterScripts/DisplayTestType.ts","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/@apollo/client/react/parser/index.js","webpack:///./node_modules/@sentry/utils/esm/browser.js","webpack:///./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack:///./node_modules/office-ui-fabric-react/lib/components/Image/Image.types.js","webpack:///./node_modules/@sentry/utils/esm/memo.js","webpack:///./node_modules/core-js/internals/wrapped-well-known-symbol.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./wpt-app/utils/localize.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@uifabric/utilities/lib/memoize.js","webpack:///./TypeWriterScripts/RumMetricGroupTypes.ts","webpack:///./TypeWriterScripts/WidgetSourceType.ts","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@uifabric/utilities/lib/useFocusRects.js","webpack:///./node_modules/@sentry/types/esm/session.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@apollo/client/react/context/ApolloContext.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./app/styles/icons/ico-electrode.svg","webpack:///./node_modules/@apollo/client/utilities/common/compact.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@uifabric/utilities/lib/dom/on.js","webpack:///./node_modules/@sentry/tracing/esm/integrations/mysql.js","webpack:///./node_modules/@uifabric/merge-styles/lib/getVendorSettings.js","webpack:///./node_modules/@uifabric/merge-styles/lib/transforms/kebabRules.js","webpack:///./node_modules/@uifabric/merge-styles/lib/transforms/prefixRules.js","webpack:///./node_modules/@uifabric/merge-styles/lib/transforms/provideUnits.js","webpack:///./node_modules/@uifabric/merge-styles/lib/transforms/rtlifyRules.js","webpack:///./node_modules/@uifabric/merge-styles/lib/styleToClassName.js","webpack:///./node_modules/@apollo/client/utilities/common/canUse.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/isomorphic-unfetch/browser.js","webpack:///./node_modules/core-js/internals/set-global.js"],"names":["$","isObject","isArray","toAbsoluteIndex","toLength","toIndexedObject","createProperty","arrayMethodHasSpeciesSupport","SPECIES","wellKnownSymbol","nativeSlice","slice","max","Math","target","proto","forced","start","end","Constructor","result","n","O","this","length","k","fin","undefined","constructor","Array","prototype","call","truncate","str","substr","snipLine","line","colno","newLine","ll","min","safeJoin","input","delimiter","output","i","value","push","String","e","join","isMatchingPattern","pattern","test","indexOf","isNodeEnv","Object","toString","process","dynamicRequire","mod","request","require","DEFAULT_REQUEST_KEYS","extractNodeRequestData","req","keys","Error","requestData","headers","header","method","host","hostname","protocol","secure","socket","encrypted","originalUrl","url","absoluteUrl","forEach","key","cookies","module","parse","cookie","query_string","query","body","data","JSON","stringify","hasOwnProperty","aFunction","exports","fn","that","a","b","c","apply","arguments","useQuery","options","getIconContent","iconName","_a","subset","code","children","iconClassName","className","fontFamily","fontFace","mergeImageProps","FontIcon","props","style","iconContent","nativeProps","accessibleName","title","containerProps","role","finalChildren","alt","root","placeholder","ariaLabel","TestFlag","RealUserBreakdown","IndexedObject","requireObjectCoercible","it","iterateObserversSafely","observers","argument","observersWithMethod","obs","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","extendStatics","d","setPrototypeOf","__proto__","p","create","obj","_super","InvariantError","message","_this","genericMessage","framesToPop","name","TypeError","__","__extends","invariant","condition","verbosityLevels","verbosityLevel","wrapConsoleMethod","console","setVerbosity","level","old","log","warn","error","WebTagType","ValidActiveState","ResponseStatus","DataSourceType","FilterBladeType","mergeStyleSets","styleSets","_i","mergeCssSets","_b","classNameSet","subComponentStyles","concatenatedStyleSet","registrations","styleSetArea","styles","_c","classes","objects","registration","displayName","concat","registrations_1","specificityMultiplier","redefine","ObjectPrototype","unsafe","exec","path","global","variable","namespace","raiseClick","event","eventName","Event","document","createEvent","initEvent","createNewEvent","dispatchEvent","DataDisplayType","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","1","f","V","descriptor","enumerable","defineWellKnownSymbol","SyntheticNetworkType","anObject","aPossiblePrototype","setter","CORRECT_SETTER","set","W","X","h","trim","split","ia","m","Z","v","charCodeAt","replace","F","P","substring","w","L","ja","ka","aa","G","ba","la","ma","R","na","ea","oa","H","q","g","x","A","S","B","U","prefix","D","z","M","y","C","K","u","l","r","I","t","J","N","charAt","ca","da","fa","Y","E","ha","Q","use","T","elementContains","parent","child","allowVirtualParents","isContained","nextParent","contains","hide","fails","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","sham","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","methods","nativeMethod","regexp","arg2","forceStringMethod","done","stringMethod","regexMethod","RegExp","string","arg","defineProperty","has","TO_STRING_TAG","TAG","STATIC","configurable","Path","RouteActions","ControlCenterSelectionType","CustomDashboardSelectionType","CustomVisualizationSelectionType","InstantTestSelectionType","AlertLogsSourceType","InstantTestRouteActions","TileSize","ApolloCache","getFragmentDoc","recordOptimisticTransaction","transaction","optimisticId","performTransaction","transformDocument","identify","object","gc","modify","transformForLink","readQuery","optimistic","read","rootId","id","variables","returnPartialData","readFragment","fragment","fragmentName","writeQuery","write","dataId","broadcast","writeFragment","OPERATIONS","OPERATION_SIGNATURES","bulkWrite","countDocuments","createIndex","createIndexes","deleteMany","deleteOne","distinct","dropIndex","findOne","findOneAndDelete","findOneAndReplace","findOneAndUpdate","indexExists","insertMany","insertOne","mapReduce","rename","replaceOne","updateMany","updateOne","Mongo","_operations","operations","_describeOperations","describeOperations","setupOnce","_","getCurrentHub","collection","Collection","_instrumentOperations","operation","_patchOperation","getSpanContext","_getSpanContextFromOperationArguments","bind","orig","args","lastArg","scope","getScope","parentSpan","getSpan","span_1","startChild","then","res","finish","span","err","collectionName","dbName","spanContext","op","description","signature","shouldDescribe","includes","map","reduce","_oO","classNames","display","width","image","overflow","MS_ICON","getStyles","isPlaceholder","isImage","imageContainer","$map","callbackfn","registerErrorInstrumentation","callback","errorCallback","type","activeTransaction","InternalError","setStatus","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","check","globalThis","window","self","Function","internalObjectKeys","enumBugKeys","FREEZING","onFreeze","nativeFreeze","freeze","stat","passthrough","forward","Observable","of","toLink","handler","isTerminating","link","LinkError","ApolloLink","empty","from","links","left","right","leftLink","rightLink","execute","starting","context","next","createOperation","transformedOperation","extensions","operationName","transformOperation","OPERATION_FIELDS","validateOperation","first","second","firstLink","nextLink","onError","observer","setOnError","originalModule","webpackPolyfill","get","DOMIterables","ArrayIteratorMethods","ITERATOR","ArrayValues","values","COLLECTION_NAME","CollectionPrototype","METHOD_NAME","BGPEventType","_window","getWindow","rootElement","el","ownerDocument","defaultView","WindowContext","useWindow","useDocument","WindowProvider","Provider","DESCRIPTORS","copyConstructorProperties","NativeSymbol","Symbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","symbol","valueOf","desc","KeytipManager","keytips","persistedKeytips","sequenceMapping","inKeytipMode","shouldEnterKeytipMode","delayUpdatingKeytipChange","getInstance","_instance","init","register","keytipProps","persisted","addParentOverflow","keySequences","uniqueKeytip","_getUniqueKtp","uniqueID","event_1","PERSISTED_KEYTIP_ADDED","KEYTIP_ADDED","raise","keytip","update","newKeytipProps","oldKeyTip","visible","KEYTIP_UPDATED","unregister","keytipToRemove","PERSISTED_KEYTIP_REMOVED","KEYTIP_REMOVED","enterKeytipMode","ENTER_KEYTIP_MODE","exitKeytipMode","EXIT_KEYTIP_MODE","getKeytips","fullSequence","pop","parentKeytip","overflowSetSequence","menuExecute","overflowButtonSequences","keytipSequences","PERSISTED_KEYTIP_EXECUTE","whitespaces","getDocument","supportsFetch","Headers","Request","Response","isNativeFetch","func","supportsNativeFetch","fetch","doc","createElement","sandbox","hidden","head","appendChild","contentWindow","removeChild","supportsReferrerPolicy","referrerPolicy","supportsHistory","chrome","isChromePackagedApp","app","runtime","hasHistoryApi","history","pushState","replaceState","toObject","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","warnMutuallyExclusive","componentName","exclusiveMap","createSignalIfSupported","AbortController","controller","signal","addToUnscopables","Iterators","InternalStateModule","defineIterator","setInternalState","getInternalState","getterFor","iterated","kind","index","state","Arguments","KeyCodes","backspace","tab","enter","shift","ctrl","pauseBreak","capslock","escape","space","pageUp","pageDown","home","up","down","insert","del","zero","one","two","three","four","five","six","seven","eight","nine","j","o","s","leftWindow","rightWindow","select","zero_numpad","one_numpad","two_numpad","three_numpad","four_numpad","five_numpad","six_numpad","seven_numpad","eight_numpad","nine_numpad","multiply","add","subtract","decimalPoint","divide","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","numlock","scrollLock","semicolon","equalSign","comma","dash","period","forwardSlash","graveAccent","openBracket","backSlash","closeBracket","singleQuote","src","defaultMakeData","Trie","weakness","makeData","lookup","array","lookupArray","node","getChildTrie","isObjRef","weak","WeakMap","strong","Map","defaultDispose","Cache","dispose","Infinity","newest","oldest","getNode","older","newer","clean","size","delete","parentEntrySlot","toArray","item","maybeUnsubscribe","entryOrDep","unsubscribe","emptySetPool","assert","optionalMessage","valueGet","Entry","parents","Set","childValues","dirtyChildren","dirty","recomputing","deps","count","peek","mightBeDirty","rememberParent","recompute","entry","forgetChildren","withValue","recomputeNewValue","subscribe","setDirty","maybeSubscribe","reportClean","setClean","reallyRecompute","reportDirty","eachParent","forgetChild","forget","dependOn","dep","forgetDeps","clear","getValue","reportDirtyChild","reportCleanChild","parentCount","parentWasClean","len","childValue","removeDirtyChild","dc","_value","EntryMethods","depsByKey","depend","dep_1","entryMethodName","m_1","makeDefaultMakeCacheKeyFunction","keyTrie","caches","wrap","originalFunction","cache","pow","keyArgs","makeCacheKey","hasValue","dirtyKey","peekKey","forgetKey","getKey","makeReference","__ref","isReference","Boolean","valueToObjectRepresentation","argObj","isIntValue","isFloatValue","Number","isBooleanValue","isStringValue","isObjectValue","nestedArgObj_1","fields","isVariable","variableValue","isListValue","listValue","nestedArgArrayObj","isEnumValue","isNullValue","storeKeyNameFromField","field","directivesObj","directives","directive","getStoreKeyName","KNOWN_DIRECTIVES","fieldName","filterKeys","sort","filteredArgs_1","completeFieldName","stringifiedArgs","argumentsObjectFromField","argObj_1","resultKeyNameFromField","alias","getTypenameFromResult","selectionSet","fragmentMap","__typename","selections","selection","isField","typename","isInlineFragment","CustomizerContext","customizations","inCustomizerContext","settings","scopedSettings","__assign","assign","_root","_styleNonce","CSPSettings","nonce","_themeState","__themeState__","theme","lastStyleElement","registeredStyles","runState","perf","duration","flushTimer","mode","buffer","registeredThemableStyles","initializeThemeState","_themeTokenRegex","now","performance","Date","measure","loadStyles","loadAsync","styleParts","splitStyles","setTimeout","styleArrays","mergedStyleArray","applyThemableStyles","stylesArray","styleRecord","resolveThemableArray","styleString","styleArray","getElementsByTagName","styleElement","themable","setAttribute","createTextNode","ev","newStyle","record","themableStyle","registerStyles","loadTheme","themableStyles","option","clearStylesInternal","clearStyles","reloadStyles","records","parentElement","splitStyleArray","currentValue","themeSlot","themedValue","defaultValue","DEBUG","rawString","pos","tokenMatch","matchIndex","lastIndex","ReportAlertType","Feature","Feature2","isVirtualElement","element","_virtual","ThemeNames","lightTheme","colors","black","green","greenDark","greenLight","magenta","magentaDark","magentaLight","neutralDark","neutralPrimary","neutralPrimaryAlt","neutralLight","neutralLighter","neutralLighterAlt","neutralQuarternary","neutralQuarternaryAlt","neutralSecondary","neutralSecondaryAlt","neutralTerinary","neutralTerinaryAlt","primary","primaryDark","primaryDarker","primaryDarkAlt","primaryLight","primaryLighter","primaryLighterAlt","purple","purpleDark","purpleLight","red","redDark","redLight","secondary","teal","tealDark","tealLight","tertiary","white","catchpointBlue","yellow","criticalDark","vizBlue","vizOrange","criticalMedium","warningLight","goodLight","fonts","color","fontStyle","mini","fontSize","fontWeight","xSmall","small","smallPlus","medium","mediumPlus","large","largePlus","xLarge","xxLarge","xxLargePlus","superLarge","mega","light","Internal","OwnPromiseCapability","PromiseWrapper","IS_PURE","redefineAll","setToStringTag","setSpecies","anInstance","classof","iterate","checkCorrectnessOfIteration","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","userAgent","isForced","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","versions","v8","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","FORCED","promise","resolve","FakePromise","PromiseRejectionEvent","INCORRECT_ITERATION","iterable","all","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","reject","domain","rejection","onHandleUnhandled","exit","onUnhandled","reason","isUnhandled","emit","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","Promise","capability","$promiseResolve","counter","remaining","alreadyCalled","race","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","source","fill","replacementFactory","original","wrapped","defineProperties","__sentry_original__","_Oo","urlEncode","encodeURIComponent","getWalkSource","stack","currentTarget","CustomEvent","detail","jsonSize","encodeURI","utf8Length","normalizeToSize","depth","maxSize","serialized","normalize","normalizeValue","_events","walk","memo","normalized","serializeValue","toJSON","acc","memoize","innerKey","unmemoize","extractExceptionKeysForMessage","exception","maxLength","includedKeys","dropUndefinedKeys","val","e_1","rv","e_1_1","return","ArrayPrototype","lastHref","handlers","instrumented","instrument","originalConsoleLevel","triggerHandlers","instrumentConsole","addEventListener","domEventHandler","keypressEventHandler","handleEvent","innerOriginal","__sentry_wrapped__","instrumentDOM","requestKeys","requestValues","xhrproto","XMLHttpRequest","originalOpen","xhr","__sentry_xhr__","toUpperCase","match","__sentry_own_request__","onreadystatechangeHandler","readyState","status_code","status","requestPos","splice","args_1","endTimestamp","startTimestamp","onreadystatechange","readyStateArgs","originalSend","instrumentXHR","originalFetch","handlerData","fetchData","getFetchMethod","getFetchUrl","response","instrumentFetch","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","to","location","href","instrumentHistory","_oldOnErrorHandler","onerror","msg","column","_oldOnUnhandledRejectionHandler","onunhandledrejection","addInstrumentationHandler","fetchArgs","keypressTimeout","lastCapturedEvent","debounceTimer","debounce","clearTimeout","tagName","isContentEditable","React","default","AppContainer","warnAboutHMRDisabled","Children","only","hot","shouldWrapWithAppContainer","areComponentsEqual","setConfig","cold","configureComponent","arr","print","ast","leave","printDocASTReducer","Name","Variable","Document","definitions","OperationDefinition","varDefs","variableDefinitions","VariableDefinition","_ref","SelectionSet","_ref2","block","Field","_ref3","argsLine","indent","Argument","_ref4","FragmentSpread","_ref5","InlineFragment","_ref6","typeCondition","FragmentDefinition","_ref7","IntValue","_ref8","FloatValue","_ref9","StringValue","_ref10","BooleanValue","_ref11","NullValue","EnumValue","_ref12","ListValue","_ref13","ObjectValue","_ref14","ObjectField","_ref15","Directive","_ref16","NamedType","_ref17","ListType","_ref18","NonNullType","_ref19","SchemaDefinition","addDescription","_ref20","operationTypes","OperationTypeDefinition","_ref21","ScalarTypeDefinition","_ref22","ObjectTypeDefinition","_ref23","interfaces","FieldDefinition","_ref24","hasMultilineItems","InputValueDefinition","_ref25","InterfaceTypeDefinition","_ref26","UnionTypeDefinition","_ref27","types","EnumTypeDefinition","_ref28","EnumValueDefinition","_ref29","InputObjectTypeDefinition","_ref30","DirectiveDefinition","_ref31","repeatable","locations","SchemaExtension","_ref32","ScalarTypeExtension","_ref33","ObjectTypeExtension","_ref34","InterfaceTypeExtension","_ref35","UnionTypeExtension","_ref36","EnumTypeExtension","_ref37","InputObjectTypeExtension","_ref38","cb","maybeArray","_maybeArray$filter$jo","separator","filter","maybeString","isMultiline","some","fallbackHttpConfig","http","includeQuery","includeExtensions","accept","selectHttpOptionsAndBody","fallbackConfig","configs","credentials","config","headersToLowerCase","normalized_1","toLowerCase","BaseComponent","methodNames","_makeSafe","_makeAllSafe","componentDidUpdate","prevProps","prevState","_updateComponentRef","componentDidMount","_setComponentRef","componentRef","componentWillUnmount","__disposables","_disposables","disposable","__className","results","__async","__events","_resolveRef","refName","__resolves","ref","currentProps","newProps","_warnDeprecations","deprecationMap","_warnMutuallyExclusive","mutuallyExclusiveMap","_warnConditionallyRequiredProps","requiredProps","conditionalPropName","_skipComponentRefResolution","current","methodName","classMethod","prototypeMethod","retVal","nullRender","WebSeeTimeframe","WPT","TRACING_GETTER","globalTracingIntegration","Profiler","_mountActivity","_mountSpan","disabled","getIntegration","pushActivity","getActiveTransaction","activity","getActivitySpan","popActivity","updateProps","includeUpdates","changedProps","time","includeRender","hub","getTransaction","authToken","publicAuthToken","authTokenValue","setLocalStorageItem","localStorage","setItem","getLocalStorageItem","itemString","getItem","AppAction","addTypename","typePolicies","AnalyticsResponseType","keyFields","SyntheticAnalyticsResponseType","DimensionResponseType","NetworkGraphVerticeType","BGPGraphVerticeType","LabelKeyType","ErrorCodeType","LookupOutputType","TracepointItemType","IndicatorItemType","AlertInstructionsType","isPublicPage","httpLink","uri","connectToDevTools","setContext","AppReducer","action","UpdateAuth","sessionStorage","StyledDiv","div","renderAtFullHeight","StyledImg","img","data-testid","PivotLinkFormat","PivotLinkSize","isValid","requiredAuthList","user","UserContext","requiredPermissions","requiredFeatures","requiredLevels","requiredDisplayTestTypes","requireWptAccess","requiredUserAuthFunctions","fallbackComponent","permission","canView","isLevel","hasAccessAtLevel","feature","hasClientFeature","hasFeature","hasDisplayTestType","isWptClient","isCatchpointClient","every","auth","PivotItem","initializeComponentRef","warnDeprecations","linkText","getClassNames","classNamesFunction","PivotBase","_focusZone","_renderPivotLink","linkCollection","selectedKey","linkContent","itemKey","headerButtonProps","tabId","keyToTabIdMapping","onRenderItemLink","isSelected","_renderLinkContent","contentString","headerText","itemCount","itemIcon","CommandButton","_classNames","linkIsSelected","onClick","_onLinkClick","onKeyDown","_onKeyDown","icon","text","_pivotId","getId","_getPivotLinks","defaultSelectedKey","initialSelectedKey","defaultSelectedIndex","initialSelectedIndex","focus","focusZoneProps","_getSelectedKey","divProps","_getClassNames","_renderPivotLinks","alwaysRender","_renderPivotItem","propsSelectedKey","_isKeyValid","stateSelectedKey","items","FocusZone","direction","horizontal","css","isActive","headersOnly","keyToIndexMapping","selectedTabId","itemContainer","_isPivotItem","pivotItem","pivotItemProps","_getTabId","getTabId","preventDefault","_updateSelectedItem","which","setState","onLinkClick","rootIsLarge","linkSize","rootIsTabs","linkFormat","tabs","CharmBarNavigation","globalClassNames","linkStyles","semanticColors","actionLink","lineHeight","height","marginRight","padding","textAlign","position","backgroundColor","border","borderRadius","selectors","bottom","content","transition","durationValue2","easeFunction2","bold","visibility","buttonBackgroundHovered","buttonTextHovered","cursor","buttonBackgroundPressed","outline","focusBorder","buttonBackground","verticalAlign","outlineOffset","background","Pivot","styled","whiteSpace","buttonTextCheckedHovered","primaryButtonText","primaryButtonBackground","semibold","inputBackgroundChecked","regular","top","primaryButtonBackgroundHovered","primaryButtonBackgroundPressed","flex","marginLeft","getUrl","navigation","About","Forums","TestHistoryPublic","rootUrl","Login","Logout","MyAccount","Signup","TestHistoryPrivate","TestHistory","Documentation","Api","Blog","RootDiv","Tabs","LogoutDiv","PivotStyle","Divider","LoginIcon","actionButtonStyles","textContainer","flexContainer","flexDirection","pivotStyles","textDecoration","margin","signUpButtonStyles","minWidth","pathname","pivot","isLoggedIn","SignUp","Verification","charmBarPivotItemList","label","onTabClick","charmBarNavigation","open","Image","ActionButton","Query","client","isRequired","fetchPolicy","notifyOnNetworkStatusChange","bool","onCompleted","pollInterval","number","ssr","partialRefetch","TestAccessRestrictionType","invalidClientPermissions","UserPermission","ManageResellersForSystem","ManageClientsForSystem","ManageClientsForReseller","ManageDivisionsForSystem","ManageDivisionsForReseller","ManageSingleSignOnForSystem","ManageTestTemplatesForSystem","ManageTestTemplatesForDivision","ManagePricingCalculator","invalidDivisionPermission","ManageDivisionsForClient","ManageTestTemplatesForClient","invalidDrilldownPermissions","checkPermissions","PermissionBitFlags","ViewProperties","canModify","canDelete","levelType","activeContact","levelSummary","isDrilledDown","AccessLevel","System","access","checkDrilledDownPermission","AccessLevelData","fullAccess","FullAccessLevelData","view","ViewLevelData","fullView","FullViewLevelData","Division","parentLevelType","Client","parentPermission","isPermissionActive","getPermissionForLevel","currentLevelType","parentLevel","None","Reseller","permissionFlag","permissionToCheck","validateTestAccessRestriction","testId","canAccess","hasTestAccessRestriction","hasViewAllTestsForRestrictedContact","testAccessTestOptions","find","validateProductAccessRestriction","productId","hasProductAccessRestriction","testAccessProductOptions","CreateModify","Modify","Delete","hasDeletePermission","canDrillDownToDivision","canViewAtClient","canViewAtSystem","hasDivisions","Divisions","canDrillDownToDivisionAtClient","canAccessAtClient","canDrillDownToDivisionAtSystem","canAccessAtSystem","canDrillDownToClient","isSystem","fullAccessClientData","fullViewClientData","canViewDivisionData","hasSimpleViewFeature","SimpleView","canModifyDivisionData","hasDivisionsFeature","canManageAccess","ManageAccess","clientFeatures","hasClientFeature2","feature2","clientFeatures2","hasWebPageTestType","DisplayTestType","WebPageTestWeb","WebPageTestTransaction","isSystemUser","testTypes","allowedDisplayTestTypes","getApplicableTestTypes","getLevel","getLevelInfo","levelId","levelName","parentLevelId","parentLevelName","startWeekOnMonday","isWptEnterpriseClient","paymentStatus","liteSmartboardSettings","getDefaultDivisionId","defaultDivisionId","isPermissionValidForLevel","checkedPermission","userRole","permissions","activePermissions","getSentryInformation","email","username","testAccessRestrictType","Product","Test","hasNoTestAccessRestriction","viewAllTestsForRestrictedContact","getUserTimeZone","userTimeZone","SupportedTimeZone","UTC","isDrillingDown","useCPProvisioningForSSOContacts","UseCatchpointProvisioningForSSO","isForceToNewUIEnabled","ForceToNewUIEnabled","isLockedToDashboard","isNewUIEnabled","canModifyEndpointData","Sonar","ManageEndpoint","canViewEndpointData","hasJavascriptAPI","JavaScriptAPI","getLiteSmartboardSettings","isInternalUser","ContactEmail","endsWith","isSamlLogin","canViewNodes","hasViewPermissions","ManageTests","ManageInstantTests","allowedTestTypes","isNetworkTypeEnabled","Bgp","Backbone","LastMile","Wireless","PrivateNode","Enterprise","PublicCloud","SerializeLevel","clientId","emailPreference","productReleaseNotes","nodeUpdates","knowledgeDevelopment","hasNodeRunRateSubscription","marketingCommunication","maxTracepoints","maxIndicators","timeZone","language","waterfallOpensInNewTab","notificationFlags","smsEmail","dashboardId","smartboardId","dashboardType","isWptPaidUser","isWptAccountVerified","GET_USER_IDENTITY","loading","ChartStatus","Custom","customStatusText","CannotAuthenticate","userIdentity","BouncedRoute","exact","strict","NotFound","fallback","MyAccountVerification","WrappedComponent","componentDisplayName","Wrapped","originalFunctionToString","GlobalStyle","apolloClient","Fabric","reactRouterV5Instrumentation","routes","matchPath","reactRouterInstrumentation","allRoutes","getName","branches","matchRoutes","branch","route","params","isExact","computeRootMatch","startTransaction","startTransactionOnPageLoad","startTransactionOnLocationChange","tags","listen","FunctionToString","DEFAULT_IGNORE_ERRORS","InboundFilters","_options","getClient","clientOptions","getOptions","_mergeOptions","_shouldDropEvent","_isSentryError","logger","_isIgnoredError","_isDeniedUrl","_getEventFilterUrl","_isAllowedUrl","ignoreInternal","ignoreErrors","_getPossibleEventMessages","denyUrls","allowUrls","whitelistUrls","blacklistUrls","oO","stacktrace","frames_1","frames","filename","frames_2","prop","SentryError","_newTarget","DSN_REGEX","Dsn","_fromString","_fromComponents","_validate","withPassword","pass","port","projectId","projectMatch","components","ERROR_MESSAGE","isNaN","parseInt","installedIntegrations","setupIntegrations","integrations","defaultIntegrations","userIntegrations","userIntegrationsNames_1","pickedIntegrationsNames_1","defaultIntegration","userIntegration","integrationsNames","getIntegrationsToSetup","integration","setupIntegration","Status","BaseClient","backendClass","_integrations","_processing","_backend","dsn","_dsn","captureException","hint","eventId","event_id","_process","_getBackend","eventFromException","_captureEvent","captureMessage","promisedEvent","is","eventFromMessage","captureEvent","captureSession","session","release","_sendSession","getDsn","flush","timeout","_isClientProcessing","ready","getTransport","close","transportFlushed","enabled","_isEnabled","_updateSessionFromEvent","crashed","errored","exceptions","exceptions_1","exceptions_1_1","mechanism","handled","Crashed","errors","sendSession","ticked","interval","setInterval","clearInterval","_prepareEvent","normalizeDepth","prepared","timestamp","_applyClientOptions","_applyIntegrationsMetadata","finalScope","captureContext","clone","applyToEvent","evt","_normalizeEvent","breadcrumbs","contexts","extra","trace","environment","dist","maxValueLength","sdkInfo","sdk","integrationsArray","_sendEvent","sendEvent","_processEvent","finalEvent","beforeSend","sampleRate","isTransaction","random","__sentry__","beforeSendResult","processedEvent","getSession","originalException","fromHttpCode","Success","RateLimit","Invalid","Failed","Unknown","Severity","NoopTransport","Skipped","BaseBackend","_transport","_setupTransport","_exception","_hint","_message","_level","fromString","Debug","Info","Warning","Fatal","Critical","Log","gecko","winjs","geckoEval","chromeEval","reactMinifiedRegexp","computeStackTrace","ex","popSize","parts","opera10Regex","opera11Regex","lines","extractMessage","computeStackTraceFromStacktraceProp","popFrames","submatch","isNative","columnNumber","computeStackTraceFromStackProp","failed","exceptionFromStacktrace","prepareFramesForEvent","eventFromStacktrace","localStack","firstFrameFunction","lastFrameFunction","frame","function","in_app","lineno","reverse","eventFromUnknownInput","syntheticException","domException","name_1","eventFromString","__serialized__","eventFromPlainObject","synthetic","attachStacktrace","sessionToSentryRequest","api","sent_at","toISOString","getEnvelopeEndpointWithUrlEncodedAuth","eventToSentryRequest","samplingMethod","__sentry_samplingMethod","__sentry_sampleRate","otherTags","useEnvelope","getStoreEndpointWithUrlEncodedAuth","envelope","sample_rates","rate","API","_dsnObject","getBaseApiEndpoint","getStoreEndpoint","_getIngestEndpoint","_encodedAuth","_getEnvelopeEndpoint","getStoreEndpointPath","getRequestHeaders","clientName","clientVersion","getReportDialogEndpoint","dialogOptions","endpoint","encodedOptions","sentry_key","sentry_version","PromiseBuffer","_limit","_buffer","isReady","remove","drain","capturedSetTimeout","BaseTransport","_rateLimits","_api","_handleResponse","requestType","_handleRateLimit","_disabledUntil","category","_isRateLimited","e_2","rlHeader","raHeader","_d","parameters","headerDelay","delay","_e","_f","e_2_1","FetchTransport","_sendRequest","sentryRequest","originalPayload","supports","fetchParameters","catch","XHRTransport","getResponseHeader","setRequestHeader","send","BrowserBackend","transportOptions","transport","callOnHub","withScope","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","before","sentryWrapped","wrappedArguments","addEventProcessor","property","injectReportDialog","script","async","onLoad","onload","Breadcrumbs","dom","sentry","addSentryBreadcrumb","addBreadcrumb","_consoleBreadcrumb","_domBreadcrumb","_xhrBreadcrumb","_fetchBreadcrumb","_historyBreadcrumb","breadcrumb","parsedLoc","parsedFrom","parsedTo","relative","BrowserClient","showReportDialog","platform","packages","version","DEFAULT_EVENT_TARGET","TryCatch","eventTarget","requestAnimationFrame","_wrapTimeFunction","_wrapRAF","_wrapXHR","_wrapEventTarget","originalCallback","originalRemoveEventListener","wrappedEventHandler","originalEventHandler","xmlHttpRequestProps","wrapOptions","GlobalHandlers","_onErrorHandlerInstalled","_onUnhandledRejectionHandlerInstalled","stackTraceLimit","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","currentHub","hasIntegration","isFailedOwnDelivery","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","_eventFromRejectionWithPrimitive","LinkedErrors","_key","limit","_handler","linkedErrors","_walkErrorTree","UserAgent","navigator","referrer","Referer","window_1","SENTRY_RELEASE","autoSessionTracking","clientClass","debug","enable","bindClient","initAndBind","loadResolved","fcpResolved","possiblyEndSession","endSession","resolveWindowLoaded","removeEventListener","startSession","po","PerformanceObserver","entryList","getEntries","startTime","firstHiddenTime_1","disconnect","visibilityState","timeStamp","once","observe","buffered","startSessionTracking","IconDiv","icons","activate","activateCheck","activateGray","addIndex","addNewDarkBlue","alerts","alertsBlue","alertsCritical","alertsWarning","alertsSiteNav","analysisSiteNav","analyze","area","backbone","backboneNode","backward","blackFillSparkline","sparklineIcon","blackLineChart","blackScatterplot","burgerMenu","calendar","calendarPicker","cancel","cancelBlue","changelog","checkmark","checkMark","chevron","chevronDark","chevrondown","chevrondownLarge","chevrondownLargeLight","chevrondownLight","chevronupLight","chevronUpLight","chevronright","chevronrightLight","chevronRightLight","ChevronRightMed","chevronRightMed","circle","circleGreen","circlering","circleRing","circleLegendStatus","clock","cloud","cloudNode","colorCell","closedark","closeDark","comboBox","compareline","comparelineIcon","comparison","Completed","bannerSuccess","contactsSiteNav","controlcenterSiteNav","controlCenterSiteNav","copy","excelDownload","drag","dashboardSiteNav","success","deactivate","deactivateCheck","deleteDarkBlue","deleteIcon","diamondRed","dimensions","doubleChevronDown","doubleChevronUp","doughnut","doughnutIcon","download","unFilledDownload","downloadCsv","darkBlueDownloadCsv","darkBlueDownloadJson","edit","editDarkBlue","editFavoriteChart","editProperties","endpointsAlert","editSmall","endpointsAlertBlack","endpointsEmployeeApp","endpointsEmployeeAppBlack","endpointsEndpoint","endpointsEndpointBlack","endpointsListTests","endpointsLocation","endpointsLocationBlack","endpointsNetworkDevice","endpointsNetworkDeviceBlack","endpointScheduleTest","enterprise","emailPreferences","enterpriseNode","ErrorBadge","bannerError","errorTooltip","expandArrows","leftChevronArrow","rightChevronArrow","favoriteEmpty","favoriteEmptyDarkBlue","favoriteFilled","favoriteFilledDarkBlue","file","filterButton","filterButtonWhite","filterButtonLight","filterButtonXLarge","folder","fullScreen","groupedBar","hamburger","harDownload","heatMap","heroNumber","info","bannerInfo","infoBlack","infoSvgIcon","infoBlue","infoBlueIcon","infoIcon","instantTest","kiosk","lastmile","lastmileNode","lineChart","libraryCertificates","libraryFiles","libraryGlobalVariables","libraryPasswords","libraryProxy","lightPartial","darkPartial","linkDashboardBlade","linkIconDashboardBlade","list","list2","menu","more","moveto","moveTo","network","new","newIcon","newIconSmartboardTable","newDashboardBlade","newIconDashboardBlade","nodesSiteNav","noDataFound","noSearchFound","partial","password","pause","pauseAlerts","product","properties","refresh","removeBlack","removeBlue","removeWhite","removeDarkBlue","reportsSiteNav","reset","resume","resumeAlerts","revert","darkBlueRevert","sampledData","save","saveDarkBlue","scatterplot","scatterplotBlack","scatterplotNoAxis","scatterplotOld","search","searchLight","settingsSiteNav","share","signout","signOut","smartboard","smartboardBlue","smartboardError","squareLegendStatus","squareGrayLegendStatus","drop","acknowledge","resumeAlert","pauseAlert","square","sortdown","sortDown","assignTo","sortup","sortUp","sparkBar","statistical","statuscirclecheckmark","tableCheckMark","table","tile","timeSeries","trending","triangleLegendStatus","triangle","tune","userpreferences","userPreferences","viewall","warning","waterfall","waterfallDisabled","waterfallOld","widgetList","wireless","wirelessNode","wrench","smallXAxis","smallXAxisIcon","smallYAxis","smallYAxisIcon","smallMultiLineChart","smallMultiLineChartIcon","instantTestSiteNav","blueCircleRing","openLink","overflowItemOpenLink","webpage","webpageBlue","device","deviceBlue","wptFolder","xLegendStatus","thirdParty","testComparison","javascript","benchmark","credential","gauge","hideIcon","redEye","revealIcon","asn","defaultFontStyle","firstHiddenTime","inputPromise","bindReporter","metric","observeAllUpdates","prevValue","isFinal","delta","initMetric","entries","floor","supportedEntryTypes","isUnloading","listenersAdded","onPageHide","onHidden","capture","getFirstHidden","getLCP","onReport","reportAllChanges","report","firstHidden","entryHandler","onFinal","takeRecords","passive","getTTFB","navigationEntry","getEntriesByType","timing","entryType","navigationStart","getNavigationEntryFromPerformanceTiming","responseStart","MetricsInstrumentation","_measurements","_performanceCursor","mark","_trackCLS","_trackLCP","_trackFID","_trackTTFB","addPerformanceEntries","entryScriptSrc","entryScriptStartTimestamp","tracingInitMarkStartTime","timeOrigin","scripts","dataset","addPerformanceNavigationTiming","_startChild","requestStart","responseEnd","addRequest","addNavigationSpans","measureStartTimestamp","measureEndTimestamp","addMeasureSpans","shouldRecord","resourceName","origin","initiatorType","transferSize","encodedBodySize","decodedBodySize","addResourceSpans","_trackNavigator","timeOrigin_1","oldValue","measurementTimestamp","normalizedValue","abs","setMeasurements","hadRecentInput","getCLS","connection","effectiveType","setTag","isMeasurementValue","rtt","downlink","deviceMemory","hardwareConcurrency","processingStart","perfMetrics","onFirstInputDelay","cancelable","getFID","requestTime","eventEnd","ctx","isFinite","defaultRequestInstrumentationOptions","traceFetch","traceXHR","tracingOrigins","registerRequestInstrumentation","shouldCreateSpanForRequest","urlMap","defaultShouldCreateSpan","origins","shouldCreateSpan","spans","currentClientOptions","__span","setHttpStatus","spanId","append","toTraceparent","fetchCallback","__sentry_xhr_span_id__","xhrCallback","DEFAULT_BROWSER_TRACING_OPTIONS","idleTimeout","markBackgroundTransactions","maxTransactionDuration","routingInstrumentation","startingUrl","BrowserTracing","_metrics","_emitOptionsWarning","_getCurrentHub","_createRouteTransaction","Cancelled","beforeNavigate","parentContextFromHeader","metaName","querySelector","getAttribute","getHeaderContext","expandedContext","trimEnd","modifiedContext","finalContext","sampled","idleTransaction","registerBeforeFinishCallback","maxDuration","diff","DeadlineExceeded","adjustTransactionDuration","Express","_router","router","_methods","wrapMiddlewareArgs","patchMiddleware","instrumentMiddlewares","__sentry_transaction","Integrations","basename","browserHistory","tracesSampleRate","getElementById","hasOwn","TypeOrFieldNameRegExp","fieldNameFromStoreName","storeFieldName","selectionSetMatchesResult","storeValueIsStoreObject","makeProcessedFieldsMerger","findIndex","fromIndex","createArray","toMatrix","columnCount","rows","removeIndex","replaceElement","newElement","addElementAtIndex","itemToAdd","flatten","arraysEqual","array1","array2","PromiseCapability","$$resolve","$$reject","PREFIX","Logger","_enabled","disable","__SENTRY__","hiddenKeys","uid","METADATA","isExtensible","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","ComparativeTimeLookback","_scrollbarWidth","_bodyScrollDisabledCount","DisabledScrollClassName","DATA_IS_SCROLLABLE_ATTRIBUTE","allowScrollOnElement","events","_previousClientY","_element","on","targetTouches","clientY","stopPropagation","scrollableParent","findScrollableParent","scrollTop","scrollHeight","ceil","clientHeight","allowOverscrollOnElement","_disableIosBodyScroll","disableBodyScroll","classList","enableBodyScroll","getScrollbarWidth","scrollDiv","setProperty","offsetWidth","clientWidth","startingElement","computedStyles","getComputedStyle","overflowY","getPropertyValue","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","isarray","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","escaped","offset","group","modifier","asterisk","repeat","optional","escapeGroup","escapeString","encodeURIComponentPretty","matches","opts","encode","pretty","token","segment","attachKeys","flags","sensitive","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","fallbackGlobalObject","getGlobalObject","uuid4","crypto","msCrypto","getRandomValues","Uint16Array","pad","num","parseUrl","getEventDescription","consoleSandbox","originalConsole","wrappedLevels","addExceptionTypeValue","addExceptionMechanism","getLocationHref","parseRetryAfterHeader","headerDate","shared","isError","wat","isInstanceOf","isErrorEvent","isDOMError","isDOMException","isString","isPrimitive","isPlainObject","isEvent","isElement","Element","isRegExp","isSyntheticEvent","base","MobilePlaybackSourceType","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","_memoizedClassNames","stylesheet","onReset","styleCalcCount","getClassNamesCount","currentMemoizedClassNames","styleFunctionOrObject","styleProps","useStaticStyles","__noStyleOverride__","rtl","disableCaching","_traverseMap","cacheSize","FabricConfig","enableClassNameCacheFullWarning","_traverseEdge","_normalizeValue","inputs","__cachedInputs__","propName","merge","_merge","circularReferences","isCircularReference","reactPropsRegex","cmp","cycles","aobj","bobj","seen","out","seenIndex","OperationData","isMounted","previousOptions","setOptions","newOptions","storePrevious","unmount","refreshClient","isNew","cleanup","verifyDocumentType","cloneDeep","cloneDeepHelper","copy_1","copy_2","Reobserver","shouldFetch","reobserve","newNetworkStatus","updateOptions","updatePolling","concast","removeObserver","addObserver","compact","stop","pollingInfo","maybeFetch","nextFetchPolicy","poll","ObservableQuery","queryManager","queryInfo","onSubscribe","subscriptions","lastError","isDifferentFromLastResult","updateLastResult","lastResult","graphQLErrors","networkStatus","isTornDown","queryId","generateQueryId","opDef","queryName","removeQuery","subscription","getCurrentResult","saveAsLastResult","transform","hasForcedResolvers","getDiff","complete","newResult","lastResultSnapshot","getLastResult","getLastError","resetLastResults","resetQueryStoreErrors","resetErrors","refetch","reobserveOptions","newReobserver","fetchMore","fetchMoreOptions","combinedOptions","qid","fetchQuery","fetchMoreResult","updateQuery","previous","finally","stopQuery","subscribeToMore","startGraphQLSubscription","subscriptionData","setVariables","mapFn","previousResult","broadcastQueries","startPolling","getReobserver","stopPolling","reobserver","assumeImmutableResults","subObserver","_subscription","_observer","defaultSubscriptionObserverErrorCallback","tearDownQuery","shareOptions","setObservableQuery","currentOptions","fetchQueryObservable","ssrMode","hasObservers","sub","AnalyticsMetric","RectangleEdge","Position","filterInPlace","elem","TYPENAME_FIELD","nullIfDocIsEmpty","isEmpty","fragments","getDirectiveMatcher","removeDirectivesFromDocument","variablesInUse","variablesToRemove","fragmentSpreadsInUse","fragmentSpreadsToRemove","modifiedDoc","getAllFragmentSpreadsFromSelectionSet","allFragments","frag","argMatcher","aConfig","getArgumentMatcher","varDef","argConfig","argMatchCount_1","removeArgumentsFromDocument","fs","def","removeFragmentSpreadFromDocument","addTypenameToDocument","lastIndexOf","added","connectionRemoveConfig","willRemove","removeConnectionDirectiveFromDocument","buildQueryFromSelectionSet","removeClientSetsFromDocument","REACT_LIFECYCLE_EXCLUSIONS","hoistMethods","destination","exclusions","hoisted","_loop_1","unhoistMethods","dedentBlockStringValue","commonIndent","_commonIndent","isFirstLine","isEmptyLine","getBlockStringIndentation","startLine","isBlank","endLine","printBlockString","indentation","preferMultipleLines","isSingleLine","hasLeadingSpace","hasTrailingQuote","hasTrailingSlash","printAsMultipleLines","nativeGetOwnPropertyNames","windowNames","getWindowNames","propertyIsEnumerableModule","createPropertyDescriptor","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","ObjectType","rewriteURIForGET","chosenURI","queryParams","addQueryParam","serializedVariables","parseError","serializedExtensions","preFragment","fragmentStart","queryParamsPrefix","newURI","focusZoneStyles","_allInstances","_outerZones","ALLOWED_INPUT_TYPES","_mergedRef","_onFocus","_portalContainsElement","newActiveElement","onActiveElementChanged","doNotAllowFocusEventToPropagate","stopFocusPropagation","onFocusNotification","onFocus","shouldFocusInnerElementWhenReceivedFocus","defaultTabbableElement","isImmediateDescendant","_isImmediateDescendantOfZone","maybeElementToFocus","_activeElement","initialElementFocused","_setFocusAlignment","_updateTabIndexes","_onBlur","_setParkedFocus","_onMouseDown","_setActiveElement","isInnerZoneKeystroke","pagingSupportDisabled","shouldEnterInnerZone","isDefaultPrevented","_getDocument","activeElement","_isInnerZone","innerZone","_getFirstInnerZone","focusElement","firstChild","altKey","_tryInvokeClickForFocusable","vertical","_preventDefaultWhenHandled","_moveFocusLeft","_moveFocusRight","_moveFocusUp","_moveFocusDown","_moveFocusPaging","allowTabKey","handleTabKey","inputOnly","_isElementInput","focusChanged","_processingTabKey","_shouldWrapFocus","shiftKey","shouldResetActiveElementWhenTabFromZone","_isContentEditableElement","_shouldInputLoseFocus","lastChild","_getHorizontalDistanceFromCenter","isForward","activeRect","targetRect","leftAlignment","_focusAlignment","targetRectTop","activeRectBottom","targetRectBottom","activeRectTop","_id","getOuterZones","_onKeyDownCapture","zone","_windowElement","nodeType","defaultActiveElement","shouldFocusOnMount","_lastIndexPath","preventFocusRestoration","elementToFocus","_defaultFocusElement","as","elementType","rootProps","ariaDescribedBy","ariaLabelledBy","Tag","_evaluateFocusBeforeRender","elementRef","onMouseDownCapture","forceIntoFirstElement","ownerZoneElement","_getOwnerZone","ownerZone","focusLast","forceAlignment","onBeforeFocus","shouldReceiveFocus","setFocusAlignment","point","focusedElement","shouldRestoreFocus","isParked","_isParked","allowFocusRoot","_parkedTabIndex","removeAttribute","previousActiveElement","tabIndex","preventDefaultWhenHandled","shouldRaiseClicks","firstElementChild","nextElementSibling","_moveFocus","getDistanceFromCenter","useDefaultWrap","candidateDistance","candidateElement","changedFocus","isBidirectional","bidirectional","getBoundingClientRect","elementDistance","isCircularNavigation","lastElementChild","targetTop","distance","shouldWrap","parseFloat","toFixed","targetBottom","pagesize","isHorizontal","isVertical","rect","top_1","childNodes","childIndex","selectionStart","isRangeSelected","selectionEnd","inputValue","isReadonly","readOnly","shouldInputLoseFocusOnArrowKey","noWrapDataAttribute","checkForNoWrap","Postgres","traceHeaders","sample","samplingContext","Explicit","tracesSampler","Sampler","parentSampled","Inheritance","Rate","isValidSampleRate","initSpanRecorder","_experiments","maxSpans","getDefaultSamplingContext","transactionContext","defaultSamplingContext","requestType_1","IncomingMessage","members","member","globalObject","_startTransaction","customSamplingContext","startIdleTransaction","onScope","addExtensionMethods","carrier","getFragmentQueryDocument","actualFragmentName","definition","createFragmentMap","symTable","getFragmentFromSelection","deepCopy","isPureObject","isPrimitiveType","isEmptyObject","isEquivalent","aType","aProps","bProps","getTime","aVal","bVal","sortItems","propGetter","isAscending","caseSensitive","objA","objB","valA","valB","isNull","isNullOrUndefined","URL","searchParams","URLSearchParams","hash","isMacResult","isMac","win","KeytipEvents","KTP_PREFIX","KTP_SEPARATOR","DATAKTP_TARGET","DATAKTP_EXECUTE_TARGET","KTP_LAYER_ID","IconType","IconBase","_onImageLoadingStateChange","imageProps","onLoadingStateChange","imageLoadError","imageErrorAs","iconType","iconContentChildren","RootType","ImageType","finalIconContentChildren","Icon","AlertNotificationLevel","toInteger","RangeError","ResponsiveMode","_defaultMode","_lastMode","RESPONSIVE_MAX_CONSTRAINT","getInitialResponsiveMode","withResponsiveMode","ComposedComponent","resultClass","WithResponsiveMode","_onResize","responsiveMode","getResponsiveMode","_updateComposedComponentRef","unknown","currentWindow","innerWidth","Transaction","_hub","_trimEnd","setName","maxlen","spanRecorder","measurements","finishedSpans","prev","getTraceContext","start_timestamp","fixRegExpWellKnownSymbolLogic","advanceStringIndex","callRegExpExec","arrayPush","SUPPORTS_Y","SPLIT","nativeSplit","maybeCallNative","internalSplit","lim","lastLength","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","splitter","rx","unicodeMatching","DomainStatus","SpotlightItemType","$forEach","sloppyArrayMethod","TRACEPARENT_REGEXP","hasTracingEnabled","extractTraceparentData","traceparent","traceId","parentSpanId","msToSec","secToMs","_isRTL","getRTL","savedRTL","setRTL","documentElement","isRTL","persistSetting","getRTLSafeKeyCode","getBuiltIn","warnConditionallyRequiredProps","PermissionMapDataKey","ChartBreakdown","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","Popup","onDismiss","_containsFocus","relatedTarget","_async","needsVerticalScrollBar","UNSAFE_componentWillMount","_originalFocusedElement","_updateScrollBarAsync","onRestoreFocus","defaultFocusRestorer","originalElement","containsFocus","documentContainsFocus","hasFocus","_getScrollBar","rootHeight","firstChildHeight","States","SyncPromise","_state","PENDING","_handlers","_resolve","_setResult","RESOLVED","_reject","REJECTED","_executeHandlers","_attachHandler","cachedHandlers","onfulfilled","onrejected","resolvedCollection","onfinally","isRejected","WebSocketTransferType","foo","setGlobal","targetProperty","sourceProperty","TARGET","GLOBAL","noTargetGet","MissingFieldError","clientOnly","integer","useCustomizationSettings","scopeName","setValue","forceUpdate","unobserve","getSettings","isArrayIteratorMethod","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterator","iterFn","step","boundFunction","EndpointSourceType","useLazyQuery","useBaseQuery","MutationData","setResult","runMutation","mutationFunctionOptions","onMutationStart","mutationId","generateNewMutationId","mutate","onMutationCompleted","onMutationError","mutation","Mutation","mostRecentMutationId","afterExecute","ignoreResults","updateResult","isMostRecentMutation","useMutation","updatedOptions","mutationDataRef","mutationData","notARegExp","correctIsRegExpLogic","searchString","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","CONSTRUCTOR_NAME","ChangeType","NO_CUSTOMIZATIONS","_allSettings","Customizations","applySettings","_raiseChange","applyScopedSettings","localSettings","localScopedSettings","globalScopedSettings","properties_1","applyBatchedUpdates","suppressUpdate","_suppressUpdates","onChange","GlimpseEventType","shallowCompare","filteredAssign","isAllowed","sourceObject","mapEnumByName","theEnum","omit","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_user","_tags","_extra","_contexts","newScope","_span","_session","_transactionName","_fingerprint","addScopeListener","setUser","_notifyScopeListeners","getUser","setTags","setExtras","extras","setExtra","setFingerprint","fingerprint","setLevel","setTransactionName","setTransaction","setSpan","setSession","updatedScope","maxBreadcrumbs","mergedBreadcrumb","clearBreadcrumbs","transactionName","_applyFingerprint","_notifyEventProcessors","getGlobalEventProcessors","processors","processor","final","globalEventProcessors","addGlobalEventProcessor","_rtl","getStyleOptions","QueryDocumentKeys","BREAK","visit","visitor","visitorKeys","inArray","edits","ancestors","newRoot","isLeaving","isEdited","_i2","_Object$keys2","editOffset","ii","editKey","editValue","_visitorKeys$node$kin","visitFn","getVisitFn","kindVisitor","kindSpecificVisitor","specificVisitor","specificKindVisitor","defer","channel","html","setImmediate","clearImmediate","MessageChannel","Dispatch","runner","listener","post","postMessage","port2","port1","onmessage","importScripts","IsFocusVisibleClassName","setFocusVisibility","isAbsolute","spliceOne","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","last","part","unshift","_typeof","valueEqual","aValue","bValue","aKeys","bKeys","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","locationsAreEqual","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","_len","canUseDOM","getConfirmation","confirm","getHistoryState","createBrowserHistory","ua","globalHistory","canUseHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_window$location","createKey","transitionManager","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toLocation","toIndex","allKeys","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","prevIndex","nextKeys","goBack","goForward","unblock","unlisten","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","pushHashPath","nextPaths","clamp","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","canGo","FocusZoneDirection","FocusZoneTabbableElements","none","chartMessage","Loading","ErrorBoundaryDefaultText","NoData","alignStyle","center","alignStatus","textUpperCase","capitalize","contentStyle","cont","HasData","argsFromFieldSpecifier","spec","defaultDataIdFromObject","keyObject","nullKeyFieldsFn","simpleKeyArgsFn","_args","mergeTrueFn","existing","incoming","mergeObjects","mergeFalseFn","Policies","toBeAdded","supertypeMap","fuzzySubtypes","rootIdsByTypename","rootTypenamesById","usingPossibleTypes","dataIdFromObject","setRootTypename","possibleTypes","addPossibleTypes","addTypePolicies","ROOT_QUERY","policy","getTypePolicy","keyFn","specifierOrId","keyFieldsFnFromSpecifier","queryType","mutationType","subscriptionType","updateTypePolicy","setMerge","getFieldPolicy","keyArgsFnFromSpecifier","supertype","getSupertypeSet","subtype","policy_1","supertypes","rest","inbox","createIfMissing","fieldPolicies","supertypeSet","fragmentMatches","typenameSupertypeSet","workQueue_1","maybeEnqueue_1","needToCheckFuzzySubtypes","regExp","fuzzyString","hasKeyArgs","getStoreFieldName","fieldSpec","specifierOrString","readField","objectOrReference","store","getFieldValue","readOptions","makeFieldFunctionOptions","getStorage","getMergeFunction","parentTypename","childTypename","runMergeFunction","storage","makeMergeObjectsFunction","policies","toReference","canRead","fieldNameOrOptions","eType","iType","specifier","computeKeyObject","trie","aliasMap","makeAliasMap","workQueue","responseKey","storeKey","aliases","subsets","prevKey","keyObj","responseName","DEFAULT_IDLE_TIMEOUT","IdleTransactionSpanRecorder","_pushActivity","_popActivity","transactionSpanId","IdleTransaction","_idleHub","_idleTimeout","_onScope","activities","_heartbeatTimer","_heartbeatCounter","_finished","_beforeFinishCallbacks","clearActiveTransaction","configureScope","keepSpan","_initTimeout","_pingHeartbeat","end_1","_beat","heartbeatString","_prevHeartbeatString","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","HttpLink","EndpointMetricGroupType","fromError","errorValue","propIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","objectKeys","Properties","concatStyleSetsWithProps","allStyles","allStyles_1","DATA_PORTAL_ATTRIBUTE","setPortalAttribute","useUserIdentity","UserContextProvider","Consumer","graphQLResultHasError","isPromiseLike","Concast","sources","addCount","latest","deliverLastMessage","nextOrError","quietly","asyncMap","observable","catchFn","activeCallbackCount","completed","promiseQueue","makeCallback","examiner","delegate","both","caught","LocalState","resolvers","fragmentMatcher","addResolvers","setFragmentMatcher","resolverGroup","mergeDeep","setResolvers","getResolvers","runResolvers","remoteResult","onlyRunForcedResolvers","resolveDocument","localResult","getFragmentMatcher","clientQuery","serverQuery","prepareContext","getCacheKey","addExportedVariables","buildRootValueFromCache","exportedVariables","shouldForceResolvers","forceResolvers","rootValue","mainDefinition","definitionOperation","defaultOperationType","execContext","resolveSelectionSet","resultsToMerge","resolveField","fieldResult","fragmentResult","aliasedFieldName","aliasUsed","defaultResult","resultPromise","resolverType","resolverMap","resolveSubSelectedArray","destructiveMethodCounts","canUse","wrapDestructiveCacheMethod","cancelNotifyTimeout","QueryInfo","lastRequestId","observableQuery","networkError","updateWatch","setDiff","oldDiff","notifyTimeout","oq","oqListener","fromOptimisticTransaction","shouldNotify","lastWatch","watch","shouldWrite","lastWrite","dmCount","markResult","allowCacheWrite","shouldWriteResult","errorPolicy","markReady","markError","writeWithErrors","QueryManager","queryDeduplication","onBroadcast","clientAwareness","localState","queries","fetchCancelFns","transformCache","queryIdCounter","requestIdCounter","mutationIdCounter","inFlightLinkObservables","mutationStore","_info","stopQueryNoBroadcast","cancelPendingFetches","optimisticResponse","updateQueries","refetchQueries","awaitRefetchQueries","updateWithProxyFn","mutationStoreValue","generateMutationId","getVariables","hasClientExports","sent","markMutationOptimistic","storeResult","getObservableFromLink","markMutationResult","removeOptimistic","refetchQueryPromises","refetchQuery","queryOptions","cacheWrites_1","updateQueries_1","updater","currentQueryResult","nextQueryResult","mutationResult","queryVariables","getQueryStore","transformed","forLink","cacheEntry_1","defaultVars","watchQuery","generateRequestId","stopQueryInStore","stopQueryInStoreNoBroadcast","clearStore","resetStore","reFetchObservableQueries","includeStandby","observableQueryPromises","getQuery","makeObservable","observablePromise_1","getLocalState","deduplication","inFlightLinkObservables_1","forceFetch","byVariables_1","varJson_1","getResultsFromLink","requestId","hasErrors","aqr","oldNetworkStatus","fromVariables","fetchQueryByPolicy","readCache","resultsFromCache","fromData","resolved","resultsFromLink","newContext","mergeOptions","defaults","ApolloClient","defaultOptions","resetStoreCallbacks","clearStoreCallbacks","ssrForceFetchDelay","__APOLLO_CLIENT__","typeDefs","clientAwarenessName","clientAwarenessVersion","disableNetworkFetches","devToolsHookCb","mutations","dataWithOptimisticResults","extract","__actionHookForDevTools","__requestRaw","payload","onResetStore","onClearStore","restore","serializedState","setLocalStateFragmentMatcher","setLink","newLink","Environment","getEnvironment","Development","Staging","QA","Production","getRootWptUrl","getRootWptAppUrl","_isSSR","setSSR","isEnabled","CollectorType","concatStyleSets","mergedSet","workingSubcomponentStyles","styleSets_1","currentSet","currentComponentStyles","subCompProp","mergedValue","mergedSubStyles","workingSet_1","mergeCustomizations","parentContext","serializeFetchParameter","WidgetSubSourceType","isApolloError","ApolloError","errorMessage","extraInfo","graphQLError","_stylesheet","InjectionMode","insertNode","REUSE_STYLE_NODE","_global","Stylesheet","_rules","_preservedRules","_rulesToInsert","_counter","_keyToClassName","_onResetCallbacks","_classNameToArgs","_config","injectionMode","defaultPrefix","cspSettings","classNameCache","_lastStyleElement","fabricConfig","mergeStyles","getClassName","cacheClassName","rules","classNameFromKey","getClassNameCache","argsFromClassName","insertedRulesFromClassName","insertRule","rule","preserve","_getStyleElement","sheet","cssRules","onInsertRule","getRules","includePreservedRules","resetKeys","_styleElement","_createStyleElement","insertBefore","placeholderStyleTag","_findPlaceholderStyleTag","shouldInclude","directiveArguments","ifArgument","ifValue","getInclusionDirectives","evaledValue","hasDirectives","names","getDirectiveNames","ButtonGlobalClassNames","msButton","msButtonHasMenu","msButtonIcon","msButtonMenuIcon","msButtonLabel","msButtonDescription","msButtonScreenReaderText","msButtonFlexContainer","msButtonTextContainer","getBaseButtonClassNames","variantClassName","menuIconClassName","hasMenu","checked","expanded","isSplit","isExpanded","rootChecked","rootExpanded","iconExpandedHovered","menuIconExpandedHovered","rootExpandedHovered","rootHasMenu","rootDisabled","rootHovered","labelHovered","iconHovered","descriptionHovered","menuIconHovered","rootFocused","rootPressed","iconPressed","descriptionPressed","menuIconPressed","rootCheckedDisabled","rootCheckedHovered","rootCheckedPressed","iconExpanded","iconChecked","iconDisabled","labelChecked","labelDisabled","menuIcon","menuIconChecked","menuIconDisabled","menuIconExpanded","descriptionChecked","descriptionDisabled","screenReaderText","nodejsCustomInspectSymbol","for","ImageBase","_coverStyle","portrait","_imageElement","_frameElement","_onImageLoaded","_computeCoverStyle","loadState","loaded","_onImageError","notLoaded","UNSAFE_componentWillReceiveProps","nextProps","_checkImageLoaded","shouldFadeIn","shouldStartVisible","imageFit","maximizeFrame","coverStyle","isLoaded","isLandscape","landscape","isCenter","isCenterContain","centerContain","isCenterCover","centerCover","isContain","contain","isCover","cover","isNone","isNotImageFit","naturalWidth","naturalHeight","_svgRegex","desiredRatio","naturalRatio","GlobalClassNames","rootMaximizeFrame","imageCenter","imageContain","imageCover","imageCenterContain","imageCenterCover","imageNone","imageLandscape","imagePortrait","ImageFitStyles","supportsObjectFit","msMaxTouchPoints","fallbackObjectFitStyles","fadeIn400","objectFit","maxWidth","maxHeight","UNSCOPABLES","MATCH","hoistStatics","dest","_createPositionData","targetEdge","alignmentEdge","isAuto","DirectionalDictionary","DirectionalHint","topLeftEdge","topCenter","topRightEdge","topAutoEdge","bottomLeftEdge","bottomCenter","bottomRightEdge","bottomAutoEdge","leftTopEdge","leftCenter","leftBottomEdge","rightTopEdge","rightCenter","rightBottomEdge","_isRectangleWithinBounds","boundingRect","_getOutOfBoundsEdges","outOfBounds","_getEdgeValue","edge","_setEdgeValue","_getCenterValue","edges","_getFlankingEdges","positiveEdge","negativeEdge","_getRelativeEdgeValue","_getRelativeRectEdgeValue","_getRelativeEdgeDifference","hostRect","_moveEdge","newValue","difference","_alignEdges","gap","_isEdgeInBounds","bounds","_adjustFitWithinBounds","bounding","positionData","directionalHintFixed","coverTarget","alignTargetEdge","elementEstimate","elementRectangle","directions","currentEstimate","currentEdge","currentAlignment","_estimatePosition","_flipToFit","flippedElementEstimate","oppositeEdge","_flipAlignmentEdge","_alignOutOfBoundsEdges","outOfBoundsEdges","outOfBoundsEdges_1","_centerEdgeToPoint","elementToPosition","estimatedElementPosition","elementEdge","adjustedGap","_alignOppositeEdges","_finalizeReturnEdge","returnEdge","_calculateActualBeakWidthInPixels","beakWidth","sqrt","_getPositionData","directionalHint","directionalHintForRTL","previousPositions","positionInformation","getClosestEdge","targetCenter","boundingCenter","_positionElementWithinBounds","_finalizeBeakPosition","elementPosition","positionedBeak","actualElement","Rectangle","returnValue","closestEdge","_positionBeak","targetRectangle","beakTargetPoint","elementBounds","beakPosition","_getRectangleFromElement","clientRect","_getRectangleFromIRect","_getMaxHeightFromTargetRectangle","gapSpace","_positionElementRelative","clientX","rectOrPoint","outOfBounds_1","_getTargetRect","_getAlignmentData","positionedElement","_finalizePositionData","hostElement","doNotFinalizeReturnEdge","elementEdgeString","_finalizeElementPosition","_positionCallout","callout","isBeakVisible","positionProps","innerHeight","finalizedBeakPosition","positionCard","_positionCard","ANIMATIONS","slideUpIn10","slideDownIn10","slideLeftIn10","slideRightIn10","BEAK_ORIGIN_POSITION","OFF_SCREEN_STYLE","pointerEvents","ARIA_ROLE_ATTRIBUTES","CalloutContentBase","_hostElement","_calloutElement","_hasListeners","dismiss","_dismissOnScroll","preventDismissOnEvent","preventDismissOnScroll","positions","_dismissOnClickOrScroll","_dismissOnResize","preventDismissOnResize","_dismissOnLostFocus","preventDismissOnLostFocus","_setInitialFocus","setInitialFocus","_didSetInitialFocus","_onComponentDidMount","_addListeners","onLayerMounted","_updateAsyncPosition","_setHeightOffsetEveryFrame","_dismissOnTargetWindowBlur","shouldDismissOnWindowFocus","_targetWindow","_mouseDownOnPopup","_isMouseDownOnPopup","_mouseUpOnPopup","Async","slideDirectionalClassName","calloutElementRect","heightOffset","_positionAttempts","_removeListeners","shouldComponentUpdate","newState","shouldUpdateWhenHidden","_setTargetWindowAndElement","_getTarget","UNSAFE_componentWillUpdate","newTarget","_blockResetHeight","_maxHeight","finalHeight","_didPositionPropsChange","_bounds","calloutWidth","calloutMaxWidth","calloutMinWidth","hideOverflow","calloutMaxHeight","onScroll","getContentMaxHeight","_getMaxHeight","contentMaxHeight","overflowYHidden","beakVisible","overflowStyle","visibilityStyle","container","beak","_getBeakPosition","beakCurtain","calloutMain","onMouseDown","onMouseUp","isEventTargetOutsideCallout","_target","dismissOnTargetClick","_updatePosition","beakPostionStyle","calloutElement","expectsTarget","_getBounds","newPositions","positionCallout","_arePositionsEqual","onPositioned","currentBounds","targetWindow","segments","getWindowSegments","segments_1","_getBoundsFromTargetWindow","minPagePadding","totalGap_1","mouseTarget","elementTarget","rectOrPointTarget","boundingRectangle","getMaxHeight","newPosition","_comparePositions","oldPositions","oldPositionEdge","newPositionEdge","currentElement","currentDoc","targetElement","_setHeightOffsetTimer","calloutMainElem","scrollDiff","offsetHeight","cancelAnimationFrame","oldProps","getBeakStyle","CalloutContent","effects","boxSizing","roundedCorner2","boxShadow","elevation16","borderWidth","borderStyle","borderColor","menuBackground","overflowX","Callout","layerProps","doNotLayer","Layer","packagesCache","_win","setVersion","packageName","packageVersion","__packages__","defaultConstructor","Timeframe","$trim","forcedStringTrimMethod","SpanRecorder","_maxlen","Span","childSpan","setData","httpStatus","spanStatus","UnknownError","isSuccess","Ok","sampledString","parent_span_id","span_id","trace_id","UrlType","getRelativeUrl","Alert","TestAlertLog","RumAlertLog","AlertItem","Performance","Waterfall","SyntheticInstantTest","TestDetail","SyntheticSmartboard","TestSmartboard","WptSmartboard","TracerouteSmartboard","NodeSmartboard","RealUserSmartboard","RealUserAppDetail","Home","WidgetLibrary","RealUserRecord","RealUserRecordDetails","TestOverview","SonarOverview","DefaultDashboard","TestTemplate","TestTemplateDetail","SonarAppSmartBoard","SonarDeviceSmartBoard","SonarLocationSmartBoard","RipeStat","ProductDetail","TestFolderDetail","BGPOverview","BgpSmartboard","Explorer","RumGenericAppDetail","ControlCenter","ReportList","Reports","Templates","TemplateList","RecentErrors","Glimpse","DataviewList","CustomDashboard","CustomDashboardNew","CustomDashboardEdit","AlertNotification","IncidentListOld","IncidentList","Incidents","Contacts","ContactDetail","ContactGroups","ContactList","ContactGroupDetail","ContactGroupList","NodeMap","NodeGroups","Nodes","RejectedInstances","InstanceList","Instances","PackageList","Packages","BgpPeers","ClientList","Clients","DivisionList","DivisionDetail","ScheduleList","Schedules","UserRoleList","UserRoles","UserRoleDetail","BenchmarkIndexes","ZoneList","Zones","Insights","LicenseList","AppList","Apps","ScheduleDetail","RumAllocationList","DataCleanup","SlaPurgeItemList","AccountActivity","UsageReport","AccountInfo","IdentityProvider","PointsAllocation","AccessDenied","ControlCenterTests","ControlCenterRum","ControlCenterEndpoint","InstantTestEnpointDetail","Records","ControlCenterEndpointTest","EndpointTestSmartBoard","EndpointAppSmartBoard","EndpointDeviceSmartBoard","EndpointLocationSmartBoard","RumRecords","CustomVisualization","InstantTestListLegacy","NewInstantTest","ApiHelp","Training","PricingCalculator","ThirdPartyNotices","EndpointInstantTestList","InstantTestList","InstantTestCreate","EndpointInstantTestCreate","RipeStatNewPlaceholderPage","Help","NodeDetail","NodeView","InstanceDetail","AddInstance","ControlCenterEndpointEmployeeApp","ControlCenterEndpointDevice","ControlCenterEndpointLocation","NodeToNodeSmartboard","NodeListOld","MachineList","ControlCenterLibrary","WptRecordsCompare","WptRecord","ApiHelpV2","ControlCenterAsnLibrary","getBaseUrl","navigatingTo","isPreview","isNewExperience","isHawkPage","baseString","isExpectedPath","isPublic","baseUrl","isDevelopment","excludeBase","useRootUrl","relativeUrl","getRootUrl","getStaticFileUrl","excludeDist","cpSite","local","CPSite","setStaticFileUrl","appendRelativeUrl","expectedPath","parsedUIPathName","previewString","AlertStepType","argType","inner","inheritIfRequired","getFlags","NativeRegExp","re1","re2","CORRECT_NEW","RegExpWrapper","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy","createMethod","IS_INCLUDES","$this","$filter","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","SLOPPY_METHOD","comparefn","DateAggregationType","throwServerError","statusCode","collectionStrong","createEventEmitter","changedBits","createContext","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_Component","emitter","_proto","getChildContext","componentWillReceiveProps","_Component2","_this2","onUpdate","observedBits","_proto2","_React$Component","Router","_isMounted","_pendingLocation","staticContext","Component","Lifecycle","onMount","onUnmount","cacheCount","generatePath","generator","compilePath","Redirect","computedMatch","_ref$push","cache$1","cacheCount$1","_options$exact","_options$strict","_options$sensitive","matched","_compilePath","cacheKey","pathCache","compilePath$1","Route","context$1","_this$props","createURL","staticHandler","Switch","isValidElement","cloneElement","useContext","useHistory","useLocation","SyntheticErrorType","ce","defaultPrevented","origPrevent","bubbles","initCustomEvent","asyncIterator","SYMBOL_TO_STRING_TAG","toStringTag","getLocation","lineRegexp","printLocation","printSourceLocation","sourceLocation","firstLineColumnOffset","locationOffset","whitespace","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","locationLine","subLineIndex","subLineColumnNum","subLines","printPrefixedLines","subLine","existingLines","padLen","_defineProperties","writable","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","instance","Proxy","_Error","subClass","superClass","_inherits","GraphQLError","Derived","hasNativeReflectConstruct","protoProps","staticProps","Super","NewTarget","nodes","originalError","_locations2","_source2","_positions2","_extensions2","_classCallCheck","_nodes$0$loc","_nodes","_source","loc","_locations","_positions","_extensions","originalExtensions","captureStackTrace","_error$nodes2","_i4","_error$locations2","printError","syntaxError","Kind","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","SCHEMA_DEFINITION","OPERATION_TYPE_DEFINITION","SCALAR_TYPE_DEFINITION","OBJECT_TYPE_DEFINITION","FIELD_DEFINITION","INPUT_VALUE_DEFINITION","INTERFACE_TYPE_DEFINITION","UNION_TYPE_DEFINITION","ENUM_TYPE_DEFINITION","ENUM_VALUE_DEFINITION","INPUT_OBJECT_TYPE_DEFINITION","DIRECTIVE_DEFINITION","SCHEMA_EXTENSION","SCALAR_TYPE_EXTENSION","OBJECT_TYPE_EXTENSION","INTERFACE_TYPE_EXTENSION","UNION_TYPE_EXTENSION","ENUM_TYPE_EXTENSION","INPUT_OBJECT_TYPE_EXTENSION","TokenKind","SOF","EOF","BANG","DOLLAR","AMP","PAREN_L","PAREN_R","SPREAD","COLON","EQUALS","AT","BRACKET_L","BRACKET_R","BRACE_L","PIPE","BRACE_R","BLOCK_STRING","COMMENT","devAssert","Source","inspect","DirectiveLocation","QUERY","MUTATION","SUBSCRIPTION","SCHEMA","SCALAR","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","Lexer","startOfFileToken","lastToken","lineStart","advance","lookahead","_token$next","readToken","printCharCode","lexer","bodyLength","_line","_col","readComment","readBlockString","readString","readNumber","readName","unexpectedCharacterMessage","col","firstCode","isFloat","readDigits","isNameStart","chunkStart","charCode","char2hex","invalidSequence","rawValue","Parser","sourceObj","instanceOf","isSource","_lexer","parseName","expectToken","parseDocument","many","parseDefinition","parseOperationDefinition","parseFragmentDefinition","parseTypeSystemDefinition","parseTypeSystemExtension","peekDescription","unexpected","parseSelectionSet","parseOperationType","parseVariableDefinitions","parseDirectives","operationToken","optionalMany","parseVariableDefinition","parseVariable","parseTypeReference","expectOptionalToken","parseValueLiteral","parseSelection","parseFragment","parseField","nameOrAlias","parseArguments","isConst","parseConstArgument","parseArgument","hasTypeCondition","expectOptionalKeyword","parseFragmentName","parseNamedType","_this$_options","expectKeyword","experimentalFragmentVariables","parseList","parseObject","parseStringLiteral","any","parseObjectField","parseDirective","keywordToken","parseSchemaDefinition","parseScalarTypeDefinition","parseObjectTypeDefinition","parseInterfaceTypeDefinition","parseUnionTypeDefinition","parseEnumTypeDefinition","parseInputObjectTypeDefinition","parseDirectiveDefinition","parseDescription","parseOperationTypeDefinition","parseImplementsInterfaces","parseFieldsDefinition","_this$_options2","allowLegacySDLImplementsInterfaces","delimitedMany","_this$_options3","allowLegacySDLEmptyFields","parseFieldDefinition","parseArgumentDefs","parseInputValueDef","parseUnionMemberTypes","parseEnumValuesDefinition","parseEnumValueDefinition","parseInputFieldsDefinition","parseSchemaExtension","parseScalarTypeExtension","parseObjectTypeExtension","parseInterfaceTypeExtension","parseUnionTypeExtension","parseEnumTypeExtension","parseInputObjectTypeExtension","parseDirectiveLocations","parseDirectiveLocation","startToken","_this$_options4","noLocation","getTokenKindDesc","getTokenDesc","atToken","openKind","parseFn","closeKind","delimiterKind","isPunctuatorTokenKind","docCache","fragmentSourceMap","printFragmentWarnings","processFragments","seenKeys","fragmentDefinition","sourceKey","sourceKeySet","parsed","workSet","endToken","stripLoc","gql","literals","gql_1","resetCaches","disableFragmentWarnings","enableExperimentalFragmentVariables","disableExperimentalFragmentVariables","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","nativeReplace","searchValue","replaceValue","replacer","functionalReplace","fullUnicode","accumulatedResult","nextSourcePosition","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","GlobalSettings","globalSettings","_getGlobalSettings","callbacks","changeDescription","addChangeListener","__id__","_getCallbacks","removeChangeListener","globalObj","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","_onMount","_onUpdate","_onUnmount","ltrim","rtrim","TYPE","DefaultFields","baseStyles","getProps","customizable","pure","forwardedRef","customizedStyles","additionalProps","concatenatedStyles","pureComponent","getFirstFocusable","includeElementsInFocusZones","getNextElement","getLastFocusable","getPreviousElement","getFirstTabbable","checkNode","getLastTabbable","focusFirstChild","focusAsync","suppressParentTraversal","traverseChildren","tabbable","isCurrentElementVisible","isElementVisible","isElementFocusZone","isElementFocusSubZone","childMatch","isElementTabbable","childMatchSiblingMatch","previousElementSibling","childMatchParent","childMatchParentMatch","siblingMatch","suppressChildTraversal","visibilityAttribute","offsetParent","isVisible","checkTabIndex","tabIndexAttributeValue","isFocusableAttribute","isTabIndexSet","doesElementContainFocus","currentActiveElement","shouldWrapFocus","targetToFocusOnNextRepaint","focusableElement","getFocusableByIndexPath","path_1","nextChild","getElementIndexPath","fromElement","toElement","parent_1","bitmap","_defaultHostSelector","_layersByHostId","_filteredEventProps","LayerBase","_rootRef","_createLayerElement","hostId","_getHost","_removeLayerElement","layerElement","setVirtualParent","insertFirst","onLayerDidMount","registerLayer","eventBubblingEnabled","_onFilterEvent","_getFilteredEvents","unregisterLayer","onLayerWillUnmount","parentNode","isNotHost","defaultHostSelector","eventPhase","BUBBLING_PHASE","rootNoHost","TestReportMetricDataType","mergeCss","styleArgs","DisplayMonitorType","nativeAssign","chr","SlaTimeFrame","concatStyles","ComponentWithInjectedProps","_styleCache","_onSettingChanged","componentProps","mergedStyles","merged","CONVERT_TO_STRING","codeAt","internalStateGetterFor","getConstructor","IS_MAP","ADDER","define","getEntry","removed","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","originalArray","mergeAriaAttributeValues","ariaAttributes","mergedAttribute","selectURI","fallbackURI","contextURI","getContext","RPKIStatusType","NATIVE_WEAK_MAP","objectHas","wmget","wmhas","wmset","metadata","STATE","enforce","symbolObservablePonyfill","InternalMetadataModule","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","extendComponent","NetworkStatus","isNetworkRequestInFlight","SpanStatus","Unauthenticated","PermissionDenied","AlreadyExists","FailedPrecondition","ResourceExhausted","InvalidArgument","Unimplemented","Unavailable","nativeFunctionToString","enforceInternalState","TEMPLATE","simple","ReportAlertSubtype","SectionType","NewTargetPrototype","EventGroup","_uniqueId","_parent","_eventRecords","eventArgs","bubbleEvent","_isElement","createEventObject","evObj","fireEvent","__events__","eventRecords","eventRecordList","listIndex","objectCallback","isObserved","isDeclared","declaredEvents","__declaredEvents","cancelBubble","HTMLElement","_isDisposed","onAll","useCapture","eventRecord","processElementEvent","elementCallback","attachEvent","targetArrayLookup","targetArray","detachEvent","declare","wrappedWellKnownSymbolModule","_inheritsLoose","toObjectMap","items_1","keys_1","baseElementEvents","baseElementProperties","htmlElementProperties","labelProperties","audioProperties","videoProperties","olProperties","liProperties","anchorProperties","buttonProperties","inputProperties","textAreaProperties","selectProperties","optionProperties","tableProperties","trProperties","thProperties","tdProperties","colGroupProperties","colProperties","formProperties","iframeProperties","imgProperties","imageProperties","divProperties","getNativeProps","allowedPropNames","excludedPropNames","keys_2","mergeSettings","oldSettings","newSettings","_isSettingsFunction","_settingsMergeWith","mergeScopedSettings","scopedSettingsFromProps","oldScopedSettings","newScopedSettings","_scopedSettingsMergeWith","parseAndCheckHttpResponse","bodyText","TglDataType","getPublicShareServerInitData","getTglServerData","PublicShare","getUserAuthToken","UserAuthToken","getGraphQlUrl","GraphqlUrl","getPublicLinkToken","PublicToken","tgl","TGL","server","getPropertyFromTglServerData","propertyName","getClientTimeData","CurrentClientTime","BreakdownDimension","_timeoutIds","_immediateIds","_intervalIds","_animationFrameIds","_onErrorHandler","_noop","timeoutId","immediateId","_logError","intervalId","throttle","wait","lastArgs","waitMS","leading","trailing","lastExecuteTime","userCall","waitLength","noOpFunction","pending","maxWait","lastCallTime","markExecuted","invokeFunction","executeImmediately","maxWaitDelta","maxWaitExpired","resultFunction","animationFrameId","animationFrameCallback","elementContainsAttribute","attribute","elementMatch","testElement","hasAttribute","SonarDeviceMetricType","documentCreateElement","Empty","createDict","iframeDocument","iframe","lt","SyntheticMetricGroupType","stringVal","$find","SKIPS_HOLES","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","findElementRecursive","matchFunction","getParent","PlaybackSourceType","BaseDecorator","composedComponentInstance","_composedComponentInstance","_hoisted","isNonEmptyArray","ChartDataFilter","customStyles","baseButtonStyles","palette","themePrimary","themeDarker","neutralTertiary","justifyContent","themeDarkAlt","BaseButton","onRenderDescription","AnalyticsSyntheticMetric","propertyKey","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","currentContext","MISSING_VALUE","idCounter","Slot","context_1","slots","thisArg","saved","noContext","virtualChild","virtualParent","oldParent","setWarningCallback","warningCallback","nativeEndsWith","endPosition","CredentialsType","sequencesToID","keySequence","useKeytipData","uniqueId","keytipManager","useConst","prevOptions","nativeKeytipProps","keytipId","describedByPrepend","describedby","getAriaDescribedBy","overflowKeySequences","overflowSequenceLen","overflowSequence","newKeySequences","mergeOverflows","getKeytipData","KeytipData","RealUserSiteType","TransactionSamplingMethod","noOutline","iconStyle","buttonBorder","disabledBackground","disabledText","buttonHighContrastFocus","outlineColor","inset","highContrastStyle","userSelect","flexWrap","alignItems","initialValue","SyntheticOperatingSystemType","postfix","dateTimestampSource","nowSeconds","platformPerformance","getNodePerformance","getBrowserPerformance","timestampSource","dateTimestampInSeconds","timestampWithMs","browserPerformanceTimeOrigin","defineInspect","classObject","Location","Token","isNode","maybeNode","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","appendFunction","functions","BillingCycle","detection","POLYFILL","NATIVE","SupportedTimeframe","Session","sid","started","ip_address","ipAddress","did","Exited","attrs","user_agent","Hub","_version","_stack","getStackTop","isOlderThan","pushScope","getStack","popScope","_lastEventId","finalHint","_invokeClient","lastEventId","beforeBreadcrumb","finalBreadcrumb","oldHub","makeMain","startSpan","_callExtensionMethod","getMainCarrier","registry","getHubFromCarrier","setHubOnCarrier","hasHubOnCarrier","activeDomain","getActiveDomain","registryHubTopStack","getHubFromActiveDomain","active","EntityStore","Root","DELETE","delModifier","INVALIDATE","rootIds","refs","objOrRef","objOrIdOrRef","mergeIntoStore","storeObject","dependOnExistence","storeObjectReconciler","caching","fieldsToDirty_1","__exists","changedFields_1","needToMerge_1","allDeleted_1","sharedDetails_1","fieldValue","evict","evicted","extraRootIds","getRootIdSet","__META","newData","rest_1","retain","ids","snapshot","findChildRefIds","idsToRemove","root_1","found_1","workSet_1","canTraverse_1","keyMaker","CacheGroup","makeDepKey","resultCaching","seed","storageTrie","sharedLayerGroup","addLayer","layerId","replay","removeLayer","fromParent","existingObject","incomingObject","existingValue","incomingValue","supportsResultCaching","missingFromInvariant","StoreReader","executeSelectionSet","execSelectionSetImpl","varString","knownResults","executeSubSelectedArray","execSubSelectedArrayImpl","diffQueryAgainstStore","execResult","hasMissingFields","missing","isFresh","objectsToMerge","finalResult","getMissing","handleMissing","resultName","wasClientOnly","childResult","StoreWriter","reader","writeToStore","operationDefinition","merger","processSelectionSet","mergeTree","written","sets","incomingFields","resultFieldKey","childTree","getChildMergeTree","processFieldValue","maybeRecycleChildMergeTree","entityRef_1","applyMerges","getStorageArgs","i_1","getValue_1","eVal","iVal","emptyMergeTreePool","defaultConfig","InMemoryCache","watches","typenameDocumentCache","makeVar","txCount","maybeBroadcastWatch","broadcastWatch","optimisticData","watchDep","storeWriter","storeReader","broadcastWatches","immediate","idToRemove","newOptimisticData","layer","statusText","responseURL","responseText","json","blob","Blob","getAllResponseHeaders","withCredentials","nativeDefineProperty","Attributes","_language","getLanguage","persistenceType","savedLanguage","setLanguage","persistenceParam","ENTRIES","returnMethod","USE_NATIVE_URL","getIterator","getInternalParamsState","URL_SEARCH_PARAMS","plus","sequences","percentSequence","bytes","percentDecode","sequence","decodeURIComponent","deserialize","serialize","parseSearchParams","attributes","updateSearchParams","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","updateURL","URLSearchParamsPrototype","getAll","found","entriesIndex","sliceIndex","getState","_initializedStylesheetResets","resetIds","arraySpeciesCreate","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","mergeDeepArray","DeepMerger","defaultReconciler","reconciler","pastCopies","targetValue","shallowCopyForMerge","__rest","__decorate","decorators","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","__awaiter","_arguments","fulfilled","rejected","__generator","trys","ops","verb","__exportStar","__values","__read","ar","__spread","__spreadArrays","il","jl","__await","__asyncGenerator","fulfill","settle","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","__esModule","__importDefault","__classPrivateFieldGet","receiver","privateMap","__classPrivateFieldSet","fixObservableSubclass","subclass","species","TestReportType","PublicShareDataKey","AjaxUrls","AlertsLink","ErrorsLink","SyntheticError","PerformanceLink","ProductTree","PublicShareCreate","PublicShareDelete","PublicShareSearch","RealUserApps","RealUserChart","RealUserHistogram","RealUserTimes","ScatterplotLink","Script","SyntheticAlert","SyntheticChart","SyntheticHistogram","SyntheticSpotlight","SyntheticTest","TestPropertiesLink","TimeZones","NodeOverview","ContactSwitch","DivisionDrillDown","ClientDrillDown","SystemDrillUp","ClientDrillUp","ResetContact","RefreshToken","SyntheticRecordDownload","ChangeLog","SyntheticAnalytics","ChartDataType","ComparativeTimeframeType","Synthetic","Total","Average","CompareTimeBreakdownValue","Base","WeekPrior","DayPrior","NodeStatus","createHttpLink","linkOptions","fetcher","useGETForQueries","includeUnusedVariables","requestOptions","linkConfig","fetchOptions","clientAwarenessHeaders","contextHeaders","contextConfig","unusedNames_1","_controller","abort","ApolloProvider","ApolloContext","WinHttpMethod","HttpVersionType","ContextualMenuItemType","ImageIcon","getIsChecked","canCheck","isChecked","hasSubmenu","subMenuProps","isItemDisabled","isDisabled","getMenuItemAriaRole","renderItemIcon","hasIcons","iconProps","onRenderIcon","renderCheckMarkIcon","onCheckmarkClick","isItemChecked","checkmarkIcon","renderItemName","renderSecondaryText","secondaryText","renderSubMenuIcon","submenuIconProps","subMenuIcon","ContextualMenuItemBase","openSubMenu","getSubmenuTarget","submenuTarget","dismissSubMenu","dismissMenu","dismissAll","renderContent","onRenderContent","_renderLayout","linkContentMenu","defaultRenders","divider","neutralTertiaryAlt","MediumScreenSelector","getItemHighContrastStyles","getMenuItemStyles","_g","ContextualMenuItemBackgroundHoverColor","menuItemBackgroundHovered","ContextualMenuItemTextHoverColor","menuItemTextHovered","ContextualMenuItemBackgroundSelectedColor","menuItemBackgroundPressed","ContextualMenuItemDividerColor","bodyDivider","menuItemStyles","disabledBodyText","themeDark","bodyTextChecked","anchorLink","textRendering","letterSpacing","wordSpacing","textTransform","textIndent","textShadow","textOverflow","paddingLeft","minHeight","iconColor","bodySubtext","splitButtonFlexContainer","getSplitButtonVerticalDividerClassNames","splitMenu","isAnchorLink","knownIcon","itemClassName","dividerClassName","subMenuClassName","primaryDisabled","splitPrimary","flexBasis","splitContainer","getItemStyles","ContextualMenuItem","ContextualMenuItemWrapper","_onItemMouseEnter","onItemMouseEnter","_onItemClick","onItemClickBase","_onItemMouseLeave","onItemMouseLeave","_onItemKeyDown","onItemKeyDown","_onItemMouseMove","onItemMouseMove","_getSubmenuTarget","ContextualMenuAnchor","_anchor","_getMemoizedMenuButtonKeytipProps","onItemClick","_renderAriaDescription","ariaDescription","_ariaDescriptionId","focusableElementIndex","totalItemCount","hasCheckmarks","contextualMenuItemAs","ChildrenRenderer","expandedMenuItemKey","anchorRel","rel","itemHasSubmenu","itemProps","keytipAttributes","onMouseEnter","onMouseLeave","onMouseMove","ContextualMenuButton","_btn","onItemMouseDown","defaultRole","buttonNativeProperties","itemRole","ariaDescribedByIds","itemButtonProperties","VerticalDividerBase","deprecatedGetClassNames","VerticalDivider","ContextualMenuSplitButton","_executeItemClick","_splitButton","_onItemMouseEnterPrimary","_onItemMouseEnterIcon","_onItemMouseMovePrimary","_onItemMouseMoveIcon","_onIconItemClick","executeItemClick","_processingTouch","_onTouchStart","_handleTouchAndPointerEvent","_onPointerDown","pointerType","stopImmediatePropagation","splitButton","onTouchStart","_renderSplitPrimaryButton","_renderSplitDivider","_renderSplitIconButton","itemComponentProps","getDividerClassNames","buttonProps","onTap","_lastTouchTimeoutId","getContextualMenuItemClassNames","getSubmenuItems","_getMenuItemStylesFunction","ContextualMenuBase","_mounted","_tryFocusPreviousActiveElement","_previousActiveElement","_onRenderMenuList","menuListProps","defaultRender","indexCorrection","onKeyUp","_onKeyUp","menuItem","_renderMenuItem","itemType","Header","indexIncrease","customOnRenderListLength","itemClassNames","renderedItems","getItemClassNames","subMenuIconClassName","itemStyleProps","_renderSeparator","headerItem","_renderHeaderMenuItem","_renderListItem","Section","_renderSectionItem","_renderNormalItem","_defaultMenuItemRenderer","_lastKeyDownWasAltOrMeta","_isAltOrMeta","dismissAllMenus","_keyHandler","_shouldHandleKeyDown","_shouldCloseSubMenu","metaKey","_onMenuFocusCapture","delayUpdateFocusOnHover","_shouldUpdateFocusOnMouseEvent","_shouldHandleKeyUp","keyPressIsAltOrMetaAlone","shouldHandleKey","_focusingPreviousElement","submenuCloseKey","isSubMenu","_adjustedFocusZoneProps","_onMenuKeyDown","_host","hasModifier","isUp","isDown","_onScroll","_isScrollIdle","_scrollIdleTimeoutId","_onItemMouseEnterBase","_shouldIgnoreMouseEvent","_updateFocusOnMouseEvent","_onItemMouseMoveBase","_gotMouseMove","_enterTimerId","_onMouseItemLeave","setActive","_onItemMouseDown","_onItemClickBase","_cancelSubMenuTimer","expandedByMouseClick","nativeEvent","_onItemSubMenuExpand","_onAnchorClick","openKey","_onSubMenuDismiss","dismissedMenuItemKey","_onPointerAndTouchEvent","getMenuClassNames","contextualMenuItems","subMenuId","_isHidden","_onMenuClosed","_onMenuOpened","onMenuDismissed","labelElementId","useTargetWidth","useTargetAsMinWidth","shouldFocusOnContainer","calloutProps","onRenderSubMenu","_onRenderSubMenu","onRenderMenuList","itemsHaveIcons","contextualMenuItems_1","sectionProps","_getFocusZoneDirection","contextMenuStyle","submenuItem","canAnyMenuItemsCheck","submenuProps","_getSubmenuProps","targetAsHtmlElement","targetWidth","calloutStyles","onFocusCapture","defaultMenuItemRenderer","onMenuOpened","sectionItem","menuClassNames","groupProps","headerContextualMenuItem","ariaLabellledby","topDivider","contextualMenuItem","itemsIndex","bottomDivider","fromSection","onRender","_renderAnchorMenuItem","_renderSplitButton","_renderButtonItem","divHtmlProperties","subMenuHoverDelay","timeoutDuration","_findItemByKey","_findItemByKeyFromItems","items_2","isopen","LocalContextualMenu","listStyleType","menuHeader","paddingRight","paddingBottom","paddingTop","elevation8","ContextualMenu","splitButtonMenuButton","splitButtonMenuButtonExpanded","splitButtonMenuButtonDisabled","splitButtonMenuButtonChecked","splitButtonMenuFocused","splitButtonContainer","splitButtonContainerChecked","splitButtonContainerCheckedHovered","splitButtonContainerHovered","splitButtonContainerFocused","splitButtonContainerDisabled","splitButtonMenuIcon","splitButtonMenuIconDisabled","splitButtonDivider","splitButtonDividerDisabled","_buttonElement","_splitButtonContainer","createMergedRef","_renderedVisibleMenu","_onRenderIcon","_onRenderTextContents","onRenderText","_onRenderText","_onRenderDescription","_hasText","_labelId","_onRenderChildren","_descriptionId","_onRenderAriaDescription","_onRenderMenuIcon","menuIconProps","_onRenderMenu","menuProps","persistMenu","menuHidden","MenuType","menuAs","_menuShouldFocusOnContainer","_menuShouldFocusOnMount","_isSplitButton","_onDismissMenu","_dismissMenu","_openMenu","_onToggleMenu","_onSplitContainerFocusCapture","portalContainsElement","_onSplitButtonPrimaryClick","_onMenuClick","_onKeyPress","onKeyPress","_onMouseUp","_onClick","_onSplitButtonContainerKeyDown","click","_isValidMenuOpenKey","onMenuClick","toggled","ariaHidden","allowDisabledFocus","toggle","isPrimaryButtonDisabled","renderAsAnchor","resolvedAriaLabel","dataIsFocusable","isCheckboxTypeRole","checkedOrPressedValue","_onRenderSplitButtonContent","_onRenderContent","onPointerUp","onAfterMenuDismiss","openMenu","onRenderAriaDescription","onRenderChildren","onRenderMenu","onRenderMenuIcon","Button","_shouldRenderMenu","Content","renderPersistedMenuHiddenOnMount","getSplitButtonClassNames","primaryActionButtonProps","onPointerDown","SplitButton","_onRenderSplitButtonMenuButton","_onRenderSplitButtonDivider","splitButtonMenuProps","splitButtonAriaLabel","splitButtonProps","menuTriggerKeyCode","baseClassName","DirectionalKeyCodes","isDirectionalKeyCode","addDirectionalKeyCode","_createClass","hasSymbols","hasSymbol","getSymbol","SymbolIterator","SymbolObservable","SymbolSpecies","getMethod","getSpecies","ctor","isObservable","hostReportError","enqueue","cleanupSubscription","_cleanup","closeSubscription","_queue","notifySubscription","onNotify","flushSubscription","Subscription","subscriber","subscriptionObserver","SubscriptionObserver","_subscriber","_this3","_this4","hasSeed","_this5","startNext","_this6","outer","completeIfDone","closed","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_item","_len2","_key2","NATIVE_SYMBOL","nativeObjectCreate","getOwnPropertyNamesExternal","HIDDEN","TO_PRIMITIVE","$Symbol","nativeJSONStringify","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","$replacer","getFunctionName","DisplayTestFrequency","isIOS","NewUIHawkUIBasePath","UnknownDisplay","NoneDisplay","CoreNoDataExceptionText","InternalUserEmailHost","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","radix","maxCode","digits","NaN","NumberWrapper","fnToStr","previousComparisons","equal","aTag","bTag","previouslyCompared","definedKeys","keyCount","aIterator","isMap","aKey","Uint8Array","byteLength","aCode","suffix","nativeCodeSuffix","full","isDefinedKey","bSet","dotAll","formatValue","seenValues","previouslySeenValues","customInspectFn","getCustomFn","customValue","formatArray","getObjectTag","formatObject","formatObjectValue","createResolver","newRefs","resolver","getVirtualParent","PrototypeOfArrayIteratorPrototype","arrayIterator","getFabricTheme","FabricBase","_rootElement","_removeClassNameFromBody","contextDir","pageDir","componentDir","rootDir","needsTheme","getDir","renderedContent","Customizer","rootRef","_addClassNameToBody","applyTheme","applyThemeToBody","classNames_1","currentDoc_1","bodyThemed","inheritFont","bodyBackground","checkDocument","getOperationDefinition","getOperationName","getFragmentDefinitions","getQueryDefinition","queryDef","getFragmentDefinition","fragmentDef","getMainDefinition","queryDoc","getDefaultValues","defaultValues","defs","FunctionPrototype","FunctionPrototypeToString","nameRE","_onCustomizationChange","contextTransform","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","characterData","checkFetcher","MetricUnit","AnalysisGroup","KeyMetricType","equals","buildClassMap","styleName","className_1","keyframes","timeline","rulesArray","EASING_FUNCTION_1","EASING_FUNCTION_2","FADE_IN","FADE_OUT","SLIDE_RIGHT_IN10","_createSlideInX","SLIDE_RIGHT_IN20","SLIDE_RIGHT_IN40","SLIDE_RIGHT_IN400","SLIDE_LEFT_IN10","SLIDE_LEFT_IN20","SLIDE_LEFT_IN40","SLIDE_LEFT_IN400","SLIDE_UP_IN10","_createSlideInY","SLIDE_UP_IN20","SLIDE_DOWN_IN10","SLIDE_DOWN_IN20","SLIDE_RIGHT_OUT10","_createSlideOutX","SLIDE_RIGHT_OUT20","SLIDE_RIGHT_OUT40","SLIDE_RIGHT_OUT400","SLIDE_LEFT_OUT10","SLIDE_LEFT_OUT20","SLIDE_LEFT_OUT40","SLIDE_LEFT_OUT400","SLIDE_UP_OUT10","_createSlideOutY","SLIDE_UP_OUT20","SLIDE_DOWN_OUT10","SLIDE_DOWN_OUT20","SCALE_UP100","SCALE_DOWN98","SCALE_DOWN100","SCALE_UP103","ROTATE90","ROTATE_N90","AnimationVariables","easeFunction1","durationValue1","durationValue3","durationValue4","AnimationStyles","_createAnimation","slideRightIn20","slideRightIn40","slideRightIn400","slideLeftIn20","slideLeftIn40","slideLeftIn400","slideUpIn20","slideDownIn20","slideRightOut10","slideRightOut20","slideRightOut40","slideRightOut400","slideLeftOut10","slideLeftOut20","slideLeftOut40","slideLeftOut400","slideUpOut10","slideUpOut20","slideDownOut10","slideDownOut20","scaleUpIn100","scaleDownIn100","scaleUpOut103","scaleDownOut98","fadeIn100","fadeIn200","fadeIn500","fadeOut100","fadeOut200","fadeOut400","fadeOut500","rotate90deg","rotateN90deg","animationName","animationDuration","animationTimingFunction","animationFillMode","fromX","fromY","toX","toY","LocalizedFontNames","LocalizedFontFamilies","FontSizes","FontWeights","IconFontSizes","AnimationClassNames","font","Arabic","Cyrillic","EastEuropean","Greek","Hebrew","Thai","Vietnamese","WestEuropean","Selawik","Armenian","Georgian","ChineseSimplified","ChineseTraditional","Hindi","Japanese","Korean","size10","size12","size14","size16","size18","size20","size24","size28","size32","size42","size68","xLargePlus","semilight","defaultFontFamily","LanguageToFontMap","bg","cs","et","he","hi","hr","hu","kk","ko","lv","pl","ru","sk","th","tr","uk","vi","hy","_createFont","weight","MozOsxFontSmoothing","WebkitFontSmoothing","createFontStyles","localeCode","localizedFont","lang","_getLocalizedFontFamily","fontFamilyWithFallback","tiny","DefaultFontStyles","_registerFontFace","localFontName","localFontSrc","fontDisplay","_registerFontFaceSet","cdnFolder","cdnFontName","urlBase","registerDefaultFontFaces","fontUrl","fontBaseUrl","Depths","FontClassNames","DefaultPalette","themeSecondary","themeTertiary","themeLight","themeLighter","themeLighterAlt","blackTranslucent40","neutralQuaternary","neutralQuaternaryAlt","accent","whiteTranslucent40","yellowDark","yellowLight","orange","orangeLight","orangeLighter","blueDark","blueMid","blue","blueLight","depth0","depth4","depth8","depth16","depth64","DefaultEffects","elevation4","elevation64","roundedCorner4","roundedCorner6","makeSemanticColors","isInverted","depComments","listTextColor","listText","menuItemBackgroundChecked","warningHighlight","warningText","messageText","successText","_fixDeprecatedSlots","getSemanticColors","primaryButtonBorder","errorText","messageLink","messageLinkHovered","errorIcon","blockingIcon","warningIcon","severeWarningIcon","successIcon","infoBackground","errorBackground","blockingBackground","warningBackground","severeWarningBackground","successBackground","bodyFrameBackground","accentButtonText","primaryButtonTextHovered","primaryButtonTextPressed","inputBackground","inputForegroundChecked","listBackground","cardStandoutBackground","inputIcon","inputFocusBorderAlt","accentButtonBackground","inputBackgroundCheckedHovered","inputIconHovered","linkHovered","inputPlaceholderBackgroundChecked","bodyBackgroundChecked","bodyFrameDivider","variantBorder","buttonBackgroundCheckedHovered","listItemBackgroundChecked","listHeaderBackgroundPressed","bodyBackgroundHovered","buttonBackgroundDisabled","buttonBorderDisabled","primaryButtonBackgroundDisabled","listItemBackgroundHovered","listHeaderBackgroundHovered","primaryButtonTextDisabled","disabledSubtext","listItemBackgroundCheckedHovered","variantBorderHovered","buttonTextDisabled","inputIconDisabled","buttonText","inputBorderHovered","inputText","menuItemText","bodyStandoutBackground","defaultStateBackground","actionLinkHovered","buttonTextChecked","buttonTextPressed","inputTextHovered","inputBorder","smallInputBorder","inputPlaceholderText","disabledBodySubtext","disabledBorder","buttonBackgroundChecked","menuDivider","cardShadow","cardShadowHovered","DefaultSpacing","s2","s1","l1","l2","createTheme","partialTheme","mergedTheme","stylesheets","mergeThemes","spacing","disableGlobalClassNames","_theme","_onThemeChangeCallbacks","ThemeSettingName","initializeThemeInCustomizations","getTheme","registerOnThemeChangeCallback","removeOnThemeChangeCallback","fontName","_loadFonts","ColorClassNames","_defineGetter","colorName","isHover","cssProperty","HighContrastSelector","HighContrastSelectorWhite","HighContrastSelectorBlack","EdgeChromiumHighContrastSelector","ScreenWidthMinSmall","ScreenWidthMinMedium","ScreenWidthMinLarge","ScreenWidthMinXLarge","ScreenWidthMinXXLarge","ScreenWidthMinXXXLarge","ScreenWidthMaxSmall","ScreenWidthMaxMedium","ScreenWidthMaxLarge","ScreenWidthMaxXLarge","ScreenWidthMaxXXLarge","ScreenWidthMinUhfMobile","getScreenSelector","getHighContrastNoAdjustStyle","forcedColorAdjust","MsHighContrastAdjust","getEdgeChromiumNoHighContrastAdjustSelector","ZIndexes","getFocusStyle","insetOrOptions","isFocusedOnly","_getFocusStyleInternal","_h","FocusStyle","focusClear","getFocusOutlineStyle","Nav","ScrollablePane","Coachmark","KeytipLayer","getInputFocusStyle","borderType","borderPosition","isBorderBottom","hiddenContentStyle","_continuousPulseStepOne","beaconColorOne","innerDimension","_continuousPulseStepTwo","_continuousPulseStepFour","beaconColorTwo","outerDimension","_continuousPulseStepFive","PulsingBeaconAnimationStyles","continuousPulseAnimationDouble","continuousPulseAnimationSingle","createDefaultAnimation","delayLength","animationDelay","_getGlobalClassNames","styleSheet","getGlobalClassNames","getThemedContext","scheme","schemeSource","schemeTheme","schemes","noWrap","getFadedOverflowStyle","getDefaultValue","colorValue","rgbColor","color2rgb","backgroundImage","getPlaceholderStyles","_iconSettings","__options","disableWarnings","warnOnMissingIcons","__remapped","normalizeIconName","registerIcons","iconSubset","isRegistered","normalizedIconName","_warnDuplicateIcon","unregisterIcons","iconNames","iconNames_1","registerIconAlias","mappedToName","getIcon","setIconOptions","_missingIcons","_missingIconsTimer","defaultIconStyles","getIconClassName","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","extractStyleParts","_processArgs","argsList","argsList_1","translatedArgs","AnalyticsRealUserMetric","QueryData","onNewData","runLazy","runLazyQuery","lazyOptions","getQueryResult","observableQueryFields","skip","currentObservable","currentResult","previousData","obsRefetch","obsFetchMore","obsUpdateQuery","obsStartPolling","obsStopPolling","obsSubscribeToMore","removeQuerySubscription","removeObservable","updateObservableQuery","startQuerySubscription","getExecuteSsrResult","getExecuteResult","executeLazy","lazy","handleErrorOrCompleted","ssrInitiated","renderPromises","ssrDisabled","fetchDisabled","ssrLoading","stale","addQueryPromise","prepareObservableQueryOptions","initializeObservableQuery","getSSRObservable","observableQueryOptions","registerSSRObservable","newObservableQueryOptions","currentSubscription","resubscribeToQuery","andDelete","tick","queryDataRef","queryData","memoFn","queryResult","cacheSlot","cacheInfoMap","getCacheInfo","vars","forgetCache","recallCache","attachCache","oldListeners","attach","onNextChange","preventExtensions","DocumentType","parser","cached","htmlTreeAsString","currentElem","sepLength","nextStr","_htmlElementAsString","attr","allowedAttrs","_extends","interleave","strings","interpolations","EMPTY_ARRAY","EMPTY_OBJECT","isFunction","getComponentName","isStyledComponent","styledComponentId","SC_ATTR","REACT_APP_SC_ATTR","IS_BROWSER","DISABLE_SPEEDY","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","STATIC_EXECUTION_CONTEXT","getNonce","throwStyledComponentsError","makeStyleTag","prevStyle","findLastStyleTag","nextSibling","CSSOMTag","styleSheets","ownerNode","getSheet","_error","deleteRule","getRule","cssText","TextTag","refNode","textContent","VirtualTag","_proto3","DefaultGroupedTag","groupSizes","Uint32Array","indexOfGroup","insertRules","oldBuffer","oldSize","newSize","ruleIndex","clearGroup","startIndex","endIndex","getGroup","groupIDRegister","reverseRegister","nextFreeGroup","getGroupForId","getIdForGroup","setGroupForId","SELECTOR","MARKER_RE","rehydrateNamesFromContent","registerName","rehydrateSheetFromTag","innerHTML","getTag","SHOULD_REHYDRATE","isServer","useCSSOMInjection","StyleSheet","globalStyles","gs","querySelectorAll","rehydrateSheet","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","groupNames","clearNames","clearRules","clearTag","selector","outputSheet","phash","COMMENT_REGEX","createStylisInstance","_temp","_componentId","_selector","_selectorRegexp","_ref$options","_ref$plugins","plugins","stylis","parsingRules","parseRulesPlugin","toSheet","ns","at","insertRulePlugin","selfReferenceReplacer","stringifyRules","componentId","flatCSS","cssStr","parsedRules","plugin","StyleSheetContext","StylisContext","masterSheet","masterStylis","useStyleSheet","useStylis","Keyframes","stringifyArgs","inject","uppercasePattern","msPattern","hyphenateStyleName","isFalsish","chunk","objToCssArray","executionContext","ruleSet","isReactComponent","isValidKey","mixin","mixinDeep","_rest","AD_REPLACER_R","getAlphabeticChar","generateAlphabeticName","isStaticRules","ComponentStyle","staticRulesId","isStatic","baseHash","generateAndInjectStyles","cssStatic","cssStaticFormatted","dynamicHash","partRule","partChunk","partString","_name","cssFormatted","determineTheme","providedTheme","escapeRegex","dashesAtEnds","isTag","generateComponentId","ThemeContext","ThemeProvider","outerTheme","themeContext","mergeTheme","identifiers","useStyledComponentImpl","forwardedComponent","componentAttrs","componentStyle","foldedComponentIds","shouldForwardProp","_useResolvedAttrs","resolvedAttrs","attrDef","resolvedAttrDef","useResolvedAttrs","generatedClassName","hasAttrs","warnTooManyClasses","useInjectedStyle","refToForward","elementToBeCreated","$as","isTargetTag","computedProps","propFilterFn","propsForElement","createStyledComponent","isTargetStyledComp","isCompositeComponent","_options$displayName","generateDisplayName","_options$componentId","parentComponentId","generateId","_options$attrs","finalAttrs","filterFn","WrappedStyledComponent","forwardRef","withComponent","previousComponentId","optionsToCopy","excluded","sourceKeys","_objectWithoutPropertiesLoose","newComponentId","_foldedDefaultProps","constructWithOptions","componentConstructor","templateFunction","withConfig","domElement","createStyles","removeStyles","renderStyles","createGlobalStyle","globalStyle","GlobalStyleComponent","instanceRef","useTheme","ImageFit","ImageCoverStyle","ImageLoadState","_hasWeakSet","WeakSet","_inner","PREFERRED_STRING","ActivePlan","AddSubscription","AllPlansInclude","Amount","And","AnnualPayment","APIConsumers","APIKey","ApiKeyHasBeenCreated","ApiKeyHasBeenRegenerated","ApiKeysHaveBeenDeleted","ApiSubscriptionPlan","BillingHistory","Cancel","CancelSubscription","CancellationReasonQuestion","CancellationReason1","CancellationReason2","CancellationReason3","CancellationReason4","CardNumber","ChangeYourPassword","City","ClickVerificationLink","CompanyName","CompareTestLimitErrorMessage","PlotGraphTestLimitErrorMessage","ConfirmCancellation","ConfirmEmail","ConfirmPassword","ContactInformation","ContactInformationUpdated","ContactSupport","ContactUs","Copy","CreateDate","CreditCard","Country","CustomEnterprisePlan","DateTimeStamp","DidNotRecieveEmail","Docs","Email","EmailsMustMatch","Expires","EnterApplicationName","EnterpriseContactUsText","FeedbackQuestion","FirstName","FreeAccountsInclude","Hide","HideTest","HideTests","HideTestError","HideTestAndRemoveFromTestHistory","HideTestsAndRemoveFromTestHistory","HideTestSuccess","HideTestsSuccess","InvalidEmailMessage","LastName","Label","LastUpdated","LearnMore","Month","MonthlyPayment","NewApiKey","NA","NewVerificationLinkSent","NoPlansAvailable","NoSubscriptionToWptApi","OneDay","OneYear","Other","Password","PasswordChanged","PasswordsMustMatch","PasswordPlaceholder","PasswordsDoNotMatch","Payment","PaymentInformation","Plan","PlanFeature1","PlanFeature2","PlanFeature3","PlanFeature4","PlanFeature5","PlanFeature6","PlanRenewal","Please","PleaseSelectPlan","PleaseSelectCancellationReason","Price","PrivacyPolicy","PromoHeader","PurchaseSummary","RegenerateApiKey","RemainingRuns","RemoveSubscription","ResendVerificationLink","RunBy","RunDate","RunFrom","RunsRenewal","Save","Select","SelectACountry","Selected","SevenDays","SignupFeature1","SignupFeature2","SignupFeature3","SignupFeature4","SixMonths","State","StreetAddress","SorrySomethingWentWrong","SubscriptionDetails","SubscriptionPlan","SuccessfullyCanceledTheSubscription","SuccessfullyUpdatedThePaymentMethod","TermsAndConditionsLabel","TermsOfService","ThirtyDays","ToLearnMoreAbout","Url","USD","VerificationLinkSent","View","WptEnterprise","ZipCode","getBillingFrequency","billingCycle","Monthly","Annual","_resetCounter","_emptyObject","_dictionary","_weakMap","setMemoizeWeakMap","weakMap","resetMemoizations","memoizeFunction","maxCacheSize","ignoreNullOrUndefinedResult","rootNode","localResetCounter","currentNode","_createNode","_normalizeArg","createMemoizer","RumMetricGroupType","WidgetSourceType","mountCounters","setMountCounters","currValue","useFocusRects","disableFocusRects","FocusRects","SessionStatus","getApolloContext","$includes","EXISTS","Mysql","sql","_vendorSettings","autoPrefixNames","prefixRules","rulePairs","vendorSettings","nav","isWebkit","isMoz","isOpera","isMs","getVendorSettings","NON_PIXEL_NUMBER_PROPS","provideUnits","isNonPixelProp","isVariableOrPrefixed","unit","LEFT","RIGHT","NAME_REPLACEMENTS","VALUE_REPLACEMENTS","rtlifyRules","flipQuad","partIndex","numberVal","negateNum","getDisplayName","rootStyle","globalSelectorRegExp","expandSelector","newSelector","currentSelector","extractSelector","__order","extractRules","selectorWithGlobals","replacementInfo","findGlobal","matchEndIndex","expandCommaSeparatedGlobals","separatedSelector","currentRules","expandedRules","propValue","expandQuads","getKeyForRules","hasProps","rulesForSelector","repeatString","serializeRuleEntries","ruleEntries","allEntries","styleToRegistration","rulesToInsert","applyRegistration","processedRule","styleToClassName","canUseWeakMap","promiseCapability"],"mappings":";6FACA,IAAIA,EAAI,EAAQ,QACZC,EAAW,EAAQ,QACnBC,EAAU,EAAQ,QAClBC,EAAkB,EAAQ,QAC1BC,EAAW,EAAQ,QACnBC,EAAkB,EAAQ,QAC1BC,EAAiB,EAAQ,QACzBC,EAA+B,EAAQ,QAGvCC,EAFkB,EAAQ,OAEhBC,CAAgB,WAC1BC,EAAc,GAAGC,MACjBC,EAAMC,KAAKD,IAKfZ,EAAE,CAAEc,OAAQ,QAASC,OAAO,EAAMC,QAAST,EAA6B,UAAY,CAClFI,MAAO,SAAeM,EAAOC,GAC3B,IAKIC,EAAaC,EAAQC,EALrBC,EAAIjB,EAAgBkB,MACpBC,EAASpB,EAASkB,EAAEE,QACpBC,EAAItB,EAAgBc,EAAOO,GAC3BE,EAAMvB,OAAwBwB,IAART,EAAoBM,EAASN,EAAKM,GAG5D,GAAItB,EAAQoB,KAGgB,mBAF1BH,EAAcG,EAAEM,cAEyBT,IAAgBU,QAAS3B,EAAQiB,EAAYW,WAE3E7B,EAASkB,IAEE,QADpBA,EAAcA,EAAYX,MACAW,OAAcQ,GAHxCR,OAAcQ,EAKZR,IAAgBU,YAAyBF,IAAhBR,GAC3B,OAAOT,EAAYqB,KAAKT,EAAGG,EAAGC,GAIlC,IADAN,EAAS,SAAqBO,IAAhBR,EAA4BU,MAAQV,GAAaP,EAAIc,EAAMD,EAAG,IACvEJ,EAAI,EAAGI,EAAIC,EAAKD,IAAKJ,IAASI,KAAKH,GAAGhB,EAAec,EAAQC,EAAGC,EAAEG,IAEvE,OADAL,EAAOI,OAASH,EACTD,M,oCC1CX,wJAQO,SAASY,EAASC,EAAKrB,GAE1B,YADY,IAARA,IAAkBA,EAAM,GACT,iBAARqB,GAA4B,IAARrB,GAGxBqB,EAAIT,QAAUZ,EAFVqB,EAEsBA,EAAIC,OAAO,EAAGtB,GAAO,MAUnD,SAASuB,EAASC,EAAMC,GAC3B,IAAIC,EAAUF,EACVG,EAAKD,EAAQd,OACjB,GAAIe,GAAM,IACN,OAAOD,EAEPD,EAAQE,IAERF,EAAQE,GAEZ,IAAItB,EAAQJ,KAAKD,IAAIyB,EAAQ,GAAI,GAC7BpB,EAAQ,IACRA,EAAQ,GAEZ,IAAIC,EAAML,KAAK2B,IAAIvB,EAAQ,IAAKsB,GAchC,OAbIrB,EAAMqB,EAAK,IACXrB,EAAMqB,GAENrB,IAAQqB,IACRtB,EAAQJ,KAAKD,IAAIM,EAAM,IAAK,IAEhCoB,EAAUA,EAAQ3B,MAAMM,EAAOC,GAC3BD,EAAQ,IACRqB,EAAU,WAAaA,GAEvBpB,EAAMqB,IACND,GAAW,WAERA,EASJ,SAASG,EAASC,EAAOC,GAC5B,IAAKd,MAAM3B,QAAQwC,GACf,MAAO,GAIX,IAFA,IAAIE,EAAS,GAEJC,EAAI,EAAGA,EAAIH,EAAMlB,OAAQqB,IAAK,CACnC,IAAIC,EAAQJ,EAAMG,GAClB,IACID,EAAOG,KAAKC,OAAOF,IAEvB,MAAOG,GACHL,EAAOG,KAAK,iCAGpB,OAAOH,EAAOM,KAAKP,GAOhB,SAASQ,EAAkBL,EAAOM,GACrC,QAAK,YAASN,KAGV,YAASM,GACFA,EAAQC,KAAKP,GAED,iBAAZM,IAC4B,IAA5BN,EAAMQ,QAAQF,M,qCC1F7B,gJAOO,SAASG,IACZ,MAAwF,qBAAjFC,OAAO1B,UAAU2B,SAAS1B,UAAwB,IAAZ2B,EAA0BA,EAAU,GAQ9E,SAASC,EAAeC,EAAKC,GAEhC,OAAOD,EAAIE,QAAQD,GAGvB,IAAIE,EAAuB,CAAC,UAAW,OAAQ,UAAW,SAAU,eAAgB,OAS7E,SAASC,EAAuBC,EAAKC,GAGxC,QAFa,IAATA,IAAmBA,EAAOH,IAEzBR,IACD,MAAM,IAAIY,MAAM,6DAEpB,IAAIC,EAAc,GAIdC,EAAWJ,EAAII,SAAWJ,EAAIK,QAAU,GAGxCC,EAASN,EAAIM,OAKbC,EAAOP,EAAIQ,UAAYR,EAAIO,MAAQH,EAAQG,MAAQ,YAInDE,EAA4B,UAAjBT,EAAIS,UAAwBT,EAAIU,SAAWV,EAAIW,QAAU,IAAIC,UACtE,QACA,OAIFC,EAAeb,EAAIa,aAAeb,EAAIc,KAAO,GAE7CC,EAAcN,EAAW,MAAQF,EAAOM,EA0C5C,OAzCAZ,EAAKe,SAAQ,SAAUC,GACnB,OAAQA,GACJ,IAAK,UACDd,EAAYC,QAAUA,EACtB,MACJ,IAAK,SACDD,EAAYG,OAASA,EACrB,MACJ,IAAK,MACDH,EAAYW,IAAMC,EAClB,MACJ,IAAK,UAKDZ,EAAYe,QAAUlB,EAAIkB,SAAWxB,EAAeyB,EAAQ,UAAUC,MAAMhB,EAAQiB,QAAU,IAC9F,MACJ,IAAK,eAKDlB,EAAYmB,aAAe5B,EAAeyB,EAAQ,OAAOC,MAAMP,GAAe,IAAI,GAAOU,MACzF,MACJ,IAAK,OACD,GAAe,QAAXjB,GAA+B,SAAXA,EACpB,WAIa5C,IAAbsC,EAAIwB,OACJrB,EAAYsB,KAAO,YAASzB,EAAIwB,MAAQxB,EAAIwB,KAAOE,KAAKC,UAAU,YAAU3B,EAAIwB,QAEpF,MACJ,SACQ,IAAGI,eAAe9D,KAAKkC,EAAKiB,KAC5Bd,EAAYc,GAAOjB,EAAIiB,QAIhCd,K,0DCtGX,IAAI0B,EAAY,EAAQ,QAGxBV,EAAOW,QAAU,SAAUC,EAAIC,EAAMzE,GAEnC,GADAsE,EAAUE,QACGrE,IAATsE,EAAoB,OAAOD,EAC/B,OAAQxE,GACN,KAAK,EAAG,OAAO,WACb,OAAOwE,EAAGjE,KAAKkE,IAEjB,KAAK,EAAG,OAAO,SAAUC,GACvB,OAAOF,EAAGjE,KAAKkE,EAAMC,IAEvB,KAAK,EAAG,OAAO,SAAUA,EAAGC,GAC1B,OAAOH,EAAGjE,KAAKkE,EAAMC,EAAGC,IAE1B,KAAK,EAAG,OAAO,SAAUD,EAAGC,EAAGC,GAC7B,OAAOJ,EAAGjE,KAAKkE,EAAMC,EAAGC,EAAGC,IAG/B,OAAO,WACL,OAAOJ,EAAGK,MAAMJ,EAAMK,c,oCCrB1B,kDACO,SAASC,EAASf,EAAOgB,GAC5B,OAAO,YAAahB,EAAOgB,GAAS,K,qBCFxCpB,EAAOW,QAAU,kT,oCCAjB,4JAKWU,EAAiB,aAAgB,SAAUC,GAClD,IAAIC,EAAK,kBAAQD,IAAa,CAC1BE,OAAQ,GACRC,UAAMlF,GACPkF,EAAOF,EAAGE,KAAMD,EAASD,EAAGC,OAC/B,OAAKC,EAGE,CACHC,SAAUD,EACVE,cAAeH,EAAOI,UACtBC,WAAYL,EAAOM,UAAYN,EAAOM,SAASD,WAC/CE,gBAAiBP,EAAOO,iBANjB,YAQZxF,GAAW,GAMHyF,EAAW,SAAUC,GAC5B,IAAIX,EAAWW,EAAMX,SAAUM,EAAYK,EAAML,UAAWL,EAAKU,EAAMC,MAAOA,OAAe,IAAPX,EAAgB,GAAKA,EACvGY,EAAcd,EAAeC,IAAa,GAC1CK,EAAgBQ,EAAYR,cAAeD,EAAWS,EAAYT,SAAUG,EAAaM,EAAYN,WAAYE,EAAkBI,EAAYJ,gBAC/IK,EAAc,YAAeH,EAAO,KACpCI,EAAiBJ,EAAM,eAAiBA,EAAMK,MAC9CC,EAAiBN,EAAM,eAAiBA,EAAM,oBAAsBA,EAAMK,MACxE,CACEE,KAAMT,OAAkBxF,EAAY,OAEtC,CACE,eAAe,GAEnBkG,EAAgBf,EAMpB,OALIK,GACwB,iBAAbL,GAAmD,iBAAnBA,EAASO,OAAsBI,IACtEI,EAAgB,eAAmBf,EAAU,CAAEgB,IAAKL,KAGpD,gBAAoB,IAAK,mBAAS,CAAE,iBAAkBf,GAAYiB,EAAgBH,EAAcL,EAClG,CACEO,WAAO/F,EACP,kBAAcA,GAEhB,GAAK,CAAEqF,UAAW,YAAI,IAAS,IAAWe,KAAMhB,GAAgBL,GAAY,IAAWsB,YAAahB,GAGtGM,MAAO,mBAAS,CAAEL,WAAYA,GAAcK,KAAWO,IAStC,aAAgB,SAAUnB,EAAUM,EAAWiB,GACpE,OAAOb,EAAS,CAAEV,SAAUA,EAAUM,UAAWA,EAAW,aAAciB,Q,oCC7D1E,IAAYC,EAAZ,2CAAYA,GACR,mBACA,2EACA,qCACA,mCACA,iCACA,iCACA,qCACA,uCACA,uDACA,uCACA,sDACA,wDACA,sEACA,4DACA,oDACA,oCACA,0CACA,kEACA,0CACA,8BACA,0CACA,wCACA,wCACA,kCACA,wDACA,0EACA,gEACA,8DACA,8EACA,0EACA,oEACA,wDACA,gDACA,sCACA,0DACA,8DACA,sDACA,8CACA,wDACA,4CACA,gDACA,8EACA,8DACA,0DACA,oCACA,wDA9CJ,CAAYA,MAAQ,M,oCCApB,IAAYC,EAAZ,2CAAYA,GACR,mBACA,mBACA,6BACA,6BACA,mBACA,6BACA,yBACA,uBACA,mBACA,6BACA,kBACA,0BACA,kBACA,0BACA,8CACA,gBACA,oCACA,kCACA,oCACA,4CACA,0CACA,kDACA,wBACA,wBACA,0BACA,0CACA,4BACA,0CACA,oCACA,sBACA,oBACA,gCACA,gCACA,kCACA,oCACA,0BACA,oCACA,sDACA,kDACA,sCACA,gCACA,gCA1CJ,CAAYA,MAAiB,M,uBCAjC,IAAIC,EAAgB,EAAQ,QACxBC,EAAyB,EAAQ,QAErCjD,EAAOW,QAAU,SAAUuC,GACzB,OAAOF,EAAcC,EAAuBC,M,oCCLvC,SAASC,EAAuBC,EAAWjE,EAAQkE,GACtD,IAAIC,EAAsB,GAC1BF,EAAUvD,SAAQ,SAAU0D,GAAO,OAAOA,EAAIpE,IAAWmE,EAAoB3F,KAAK4F,MAClFD,EAAoBzD,SAAQ,SAAU0D,GAAO,OAAOA,EAAIpE,GAAQkE,MAHpE,mC,qBCEArD,EAAOW,QAAU,CACf6C,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,I,0ICjBb,IAAIC,EAAgB,SAASC,EAAGzE,GAI5B,OAHAwE,EAAgBnH,OAAOqH,gBAClB,CAAEC,UAAW,cAAgBjJ,OAAS,SAAU+I,EAAGzE,GAAKyE,EAAEE,UAAY3E,IACvE,SAAUyE,EAAGzE,GAAK,IAAK,IAAI4E,KAAK5E,EAAO3C,OAAO1B,UAAU+D,eAAe9D,KAAKoE,EAAG4E,KAAIH,EAAEG,GAAK5E,EAAE4E,MAC3EH,EAAGzE,IAuFC3C,OAAOwH,OAsGXxH,OAAOwH,OC/MhC,IACIrE,EAAKnD,OAAOqH,eAAgBA,OAAwB,IAAPlE,EAAgB,SAAUsE,EAAKlK,GAE5E,OADAkK,EAAIH,UAAY/J,EACTkK,GACPtE,EACA,EAAgC,SAAUuE,GAE1C,SAASC,EAAeC,QACJ,IAAZA,IAAsBA,EARb,uBASb,IAAIC,EAAQH,EAAOnJ,KAAKR,KAAyB,iBAAZ6J,EAC/BE,wBAAwBF,EAAU,6DAClCA,IAAY7J,KAIlB,OAHA8J,EAAME,YAAc,EACpBF,EAAMG,KAbO,sBAcbX,EAAeQ,EAAOF,EAAerJ,WAC9BuJ,EAEX,ODIG,SAAmBT,EAAGzE,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIsF,UAAU,uBAAyBzI,OAAOmD,GAAK,iCAE7D,SAASuF,IAAOnK,KAAKK,YAAcgJ,EADnCD,EAAcC,EAAGzE,GAEjByE,EAAE9I,UAAkB,OAANqE,EAAa3C,OAAOwH,OAAO7E,IAAMuF,EAAG5J,UAAYqE,EAAErE,UAAW,IAAI4J,GCpB/EC,CAAUR,EAAgBD,GAWnBC,EAZwB,CAajChH,OACF,SAASyH,EAAUC,EAAWT,GAC1B,IAAKS,EACD,MAAM,IAAI,EAAeT,GAGjC,IAAIU,EAAkB,CAAC,MAAO,OAAQ,QAAS,UAC3CC,EAAiBD,EAAgBxI,QAAQ,OAC7C,SAAS0I,EAAkBzH,GACvB,OAAO,WACH,GAAIuH,EAAgBxI,QAAQiB,IAAWwH,EACnC,OAAOE,QAAQ1H,GAAQ8B,MAAM4F,QAAS3F,YASlD,SAAS4F,EAAaC,GAClB,IAAIC,EAAMN,EAAgBC,GAE1B,OADAA,EAAiBlL,KAAKD,IAAI,EAAGkL,EAAgBxI,QAAQ6I,IAC9CC,GARX,SAAWR,GACPA,EAAUS,IAAML,EAAkB,OAClCJ,EAAUU,KAAON,EAAkB,QACnCJ,EAAUW,MAAQP,EAAkB,SAHxC,CAIGJ,IAAcA,EAAY,M,oCCtCzB,IAAYY,EAAZ,2CAAYA,GACR,yBACA,qBACA,uBACA,uBACA,mBACA,iBACA,qBACA,qBACA,mBATJ,CAAYA,MAAU,M,oCCqE1B,IAAYC,EAMAC,EAQAC,EAwCAC,EAtDZ,6EAAYH,GACR,yBACA,2BACA,uBAHJ,CAAYA,MAAgB,KAM5B,SAAYC,GACR,uBACA,yBACA,yBACA,qBACA,uBALJ,CAAYA,MAAc,KAQ1B,SAAYC,GACR,mBACA,qBACA,iBACA,mBACA,mBACA,yBACA,qCACA,iCACA,2BACA,mBACA,0BACA,wBACA,sBACA,gDACA,oCACA,wCACA,8BAjBJ,CAAYA,MAAc,KAwC1B,SAAYC,GACR,6CACA,+BACA,qCACA,iDACA,+CACA,qCACA,+CACA,2CACA,qDATJ,CAAYA,MAAe,M,oCC5H3B,wHAYO,SAASC,IAEZ,IADA,IAAIC,EAAY,GACPC,EAAK,EAAGA,EAAKzG,UAAU9E,OAAQuL,IACpCD,EAAUC,GAAMzG,UAAUyG,GAE9B,OAAOC,EAAaF,EAAW,eAW5B,SAASE,EAAaF,EAAWtG,GACpC,IAAIG,EAAIsG,EACJC,EAAe,CAAEC,mBAAoB,IAEzC,IADeL,EAAU,IACRA,EAAUtL,QAAU,EACjC,MAAO,CAAE2L,mBAAoB,IAEjC,IAAIC,EAAuB,IAAgB/G,WAAM,EAAQyG,GACrDO,EAAgB,GACpB,IAAK,IAAIC,KAAgBF,EACrB,GAAIA,EAAqBvH,eAAeyH,GAAe,CACnD,GAAqB,uBAAjBA,EAAuC,CACvCJ,EAAaC,mBAAqBC,EAAqBD,oBAAsB,GAC7E,SAEJ,IAAII,EAASH,EAAqBE,GAC9BE,EAAK,YAAkBD,GAASE,EAAUD,EAAGC,QAASC,EAAUF,EAAGE,QACvE,GAAuB,QAAlB/G,EAAK+G,SAA4B,IAAP/G,OAAgB,EAASA,EAAGnF,QACnDmM,EAAe,YAAoBnH,GAAW,GAAI,CAAEoH,YAAaN,GAAgBI,MAEjFL,EAActK,KAAK4K,GACnBT,EAAaI,GAAgBG,EAAQI,OAAO,CAACF,EAAa3G,YAAY9D,KAAK,WAI/EgK,EAAaI,GAAgBG,EAAQvK,KAAK,KAItD,IAAK,IAAI6J,EAAK,EAAGe,EAAkBT,EAAeN,EAAKe,EAAgBtM,OAAQuL,IAAM,CACjF,IAAIY,KAAeG,EAAgBf,KAE/B,YAAkBY,EAAiC,QAAlBV,EAAKzG,SAA4B,IAAPyG,OAAgB,EAASA,EAAGc,uBAG/F,OAAOb,I,uBC/DX,IAAIc,EAAW,EAAQ,QACnBvK,EAAW,EAAQ,QAEnBwK,EAAkBzK,OAAO1B,UAIzB2B,IAAawK,EAAgBxK,UAC/BuK,EAASC,EAAiB,WAAYxK,EAAU,CAAEyK,QAAQ,K,uBCR5D9I,EAAOW,QAAU,IAA0B,wC,qBCA3CX,EAAOW,QAAU,I,qBCAjBX,EAAOW,QAAU,SAAUoI,GACzB,IACE,QAASA,IACT,MAAO5B,GACP,OAAO,K,uBCJX,IAAI6B,EAAO,EAAQ,QACfC,EAAS,EAAQ,QAEjBvI,EAAY,SAAUwI,GACxB,MAA0B,mBAAZA,EAAyBA,OAAW3M,GAGpDyD,EAAOW,QAAU,SAAUwI,EAAWhK,GACpC,OAAO+B,UAAU9E,OAAS,EAAIsE,EAAUsI,EAAKG,KAAezI,EAAUuI,EAAOE,IACzEH,EAAKG,IAAcH,EAAKG,GAAWhK,IAAW8J,EAAOE,IAAcF,EAAOE,GAAWhK,K,oCCRpF,SAASiK,EAAW1N,GACvB,IAAI2N,EAIR,SAAwBC,GACpB,IAAID,EACiB,mBAAVE,MAEPF,EAAQ,IAAIE,MAAMD,IAIlBD,EAAQG,SAASC,YAAY,UACvBC,UAAUJ,GAAW,GAAM,GAErC,OAAOD,EAfKM,CAAe,eAC3BN,EAAMK,UAAU,SAAS,GAAM,GAC/BhO,EAAOkO,cAAcP,GAJzB,mC,oCCCI,IAAYQ,EAAZ,2CAAYA,GACR,oBACA,uBACA,yBACA,2BACA,iCACA,+BACA,qBACA,6BACA,uCACA,mBACA,eACA,8BACA,0BACA,oBACA,8BACA,gDACA,gDACA,oBACA,4BACA,kCACA,8BACA,gDACA,8BACA,kCACA,4BACA,4CACA,sCACA,gCA5BJ,CAAYA,MAAe,M,oCCE7B7J,EAAOW,QAAU,EAAQ,S,oCCF3B,IAAImJ,EAA6B,GAAGC,qBAChCC,EAA2B5L,OAAO4L,yBAGlCC,EAAcD,IAA6BF,EAA2BnN,KAAK,CAAEuN,EAAG,GAAK,GAIzFvJ,EAAQwJ,EAAIF,EAAc,SAA8BG,GACtD,IAAIC,EAAaL,EAAyB7N,KAAMiO,GAChD,QAASC,GAAcA,EAAWC,YAChCR,G,uBCZwB,EAAQ,OAIpCS,CAAsB,a,oCCHlB,IAAYC,EAAZ,2CAAYA,GACR,2BACA,2BACA,2BACA,yBACA,+BACA,iCACA,iBACA,iBACA,iCATJ,CAAYA,MAAoB,M,uBCDpC,IAAIC,EAAW,EAAQ,QACnBC,EAAqB,EAAQ,QAMjC1K,EAAOW,QAAUvC,OAAOqH,iBAAmB,aAAe,GAAK,WAC7D,IAEIkF,EAFAC,GAAiB,EACjB3M,EAAO,GAEX,KACE0M,EAASvM,OAAO4L,yBAAyB5L,OAAO1B,UAAW,aAAamO,KACjElO,KAAKsB,EAAM,IAClB2M,EAAiB3M,aAAgBxB,MACjC,MAAO0K,IACT,OAAO,SAAwBjL,EAAGP,GAKhC,OAJA8O,EAASvO,GACTwO,EAAmB/O,GACfiP,EAAgBD,EAAOhO,KAAKT,EAAGP,GAC9BO,EAAEwJ,UAAY/J,EACZO,GAdoD,QAgBzDK,I,oCC+kBS,IAtmBf,SAAqBuO,GAkUnB,SAASC,EAAEvF,EAAGxE,EAAGnD,GACf,IAAImN,EAAIhK,EAAEiK,OAAOC,MAAMC,GACvBnK,EAAIgK,EACJ,IAAIlK,EAAIkK,EAAE5O,OACNgP,EAAI5F,EAAEpJ,OAEV,OAAQgP,GACN,KAAK,EACL,KAAK,EACH,IAAIrK,EAAI,EAER,IAAKyE,EAAI,IAAM4F,EAAI,GAAK5F,EAAE,GAAK,IAAKzE,EAAID,IAAKC,EAC3CC,EAAED,GAAKsK,EAAE7F,EAAGxE,EAAED,GAAIlD,GAAGoN,OAGvB,MAEF,QACE,IAAIK,EAAIvK,EAAI,EAEZ,IAAKC,EAAI,GAAID,EAAID,IAAKC,EACpB,IAAK,IAAI9E,EAAI,EAAGA,EAAImP,IAAKnP,EACvB+E,EAAEsK,KAAOD,EAAE7F,EAAEvJ,GAAK,IAAK+O,EAAEjK,GAAIlD,GAAGoN,OAMxC,OAAOjK,EAGT,SAASqK,EAAE7F,EAAGxE,EAAGnD,GACf,IAAImN,EAAIhK,EAAEuK,WAAW,GAGrB,OAFA,GAAKP,IAAMA,GAAKhK,EAAIA,EAAEiK,QAAQM,WAAW,IAEjCP,GACN,KAAK,GACH,OAAOhK,EAAEwK,QAAQC,EAAG,KAAOjG,EAAEyF,QAE/B,KAAK,GACH,OAAOzF,EAAEyF,OAASjK,EAAEwK,QAAQC,EAAG,KAAOjG,EAAEyF,QAE1C,QACE,GAAI,EAAI,EAAIpN,GAAK,EAAImD,EAAE9C,QAAQ,MAAO,OAAO8C,EAAEwK,QAAQC,GAAI,KAAOjG,EAAE+F,WAAW,GAAK,GAAK,MAAQ/F,EAAEyF,QAGvG,OAAOzF,EAAIxE,EAGb,SAAS0K,EAAElG,EAAGxE,EAAGnD,EAAGmN,GAClB,IAAIlK,EAAI0E,EAAI,IACR4F,EAAI,EAAIpK,EAAI,EAAInD,EAAI,EAAImN,EAE5B,GAAI,MAAQI,EAAG,CACb5F,EAAI1E,EAAE5C,QAAQ,IAAK,GAAK,EACxB,IAAI6C,EAAID,EAAE6K,UAAUnG,EAAG1E,EAAE1E,OAAS,GAAG6O,OAErC,OADAlK,EAAID,EAAE6K,UAAU,EAAGnG,GAAGyF,OAASlK,EAAI,IAC5B,IAAM6K,GAAK,IAAMA,GAAKC,EAAE9K,EAAG,GAAK,WAAaA,EAAIA,EAAIA,EAG9D,GAAI,IAAM6K,GAAK,IAAMA,IAAMC,EAAE/K,EAAG,GAAI,OAAOA,EAE3C,OAAQsK,GACN,KAAK,KACH,OAAO,KAAOtK,EAAEyK,WAAW,IAAM,WAAazK,EAAIA,EAAIA,EAExD,KAAK,IACH,OAAO,MAAQA,EAAEyK,WAAW,GAAK,WAAazK,EAAIA,EAAIA,EAExD,KAAK,IACH,OAAO,MAAQA,EAAEyK,WAAW,GAAK,WAAazK,EAAIA,EAAIA,EAExD,KAAK,KACH,GAAI,MAAQA,EAAEyK,WAAW,GAAI,MAE/B,KAAK,IACL,KAAK,IACH,MAAO,WAAazK,EAAIA,EAE1B,KAAK,IACH,MAAO,WAAaA,EAAI,QAAUA,EAAIA,EAExC,KAAK,KACL,KAAK,IACH,MAAO,WAAaA,EAAI,QAAUA,EAAI,OAASA,EAAIA,EAErD,KAAK,IACH,GAAI,KAAOA,EAAEyK,WAAW,GAAI,MAAO,WAAazK,EAAIA,EACpD,GAAI,EAAIA,EAAE5C,QAAQ,aAAc,IAAK,OAAO4C,EAAE0K,QAAQM,EAAI,gBAAkBhL,EAC5E,MAEF,KAAK,IACH,GAAI,KAAOA,EAAEyK,WAAW,GAAI,OAAQzK,EAAEyK,WAAW,IAC/C,KAAK,IACH,MAAO,eAAiBzK,EAAE0K,QAAQ,QAAS,IAAM,WAAa1K,EAAI,OAASA,EAAE0K,QAAQ,OAAQ,YAAc1K,EAE7G,KAAK,IACH,MAAO,WAAaA,EAAI,OAASA,EAAE0K,QAAQ,SAAU,YAAc1K,EAErE,KAAK,GACH,MAAO,WAAaA,EAAI,OAASA,EAAE0K,QAAQ,QAAS,kBAAoB1K,EAE5E,MAAO,WAAaA,EAAI,OAASA,EAAIA,EAEvC,KAAK,IACH,MAAO,WAAaA,EAAI,YAAcA,EAAIA,EAE5C,KAAK,KACH,GAAI,KAAOA,EAAEyK,WAAW,GAAI,MAE5B,MAAO,oBADPxK,EAAID,EAAE6K,UAAU7K,EAAE5C,QAAQ,IAAK,KAAKsN,QAAQ,QAAS,IAAIA,QAAQ,gBAAiB,YAClD,WAAa1K,EAAI,gBAAkBC,EAAID,EAEzE,KAAK,KACH,OAAOiL,EAAG9N,KAAK6C,GAAKA,EAAE0K,QAAQQ,EAAI,aAAelL,EAAE0K,QAAQQ,EAAI,UAAYlL,EAAIA,EAEjF,KAAK,IAIH,OAFAE,GADAD,EAAID,EAAE6K,UAAU,IAAIV,QACd/M,QAAQ,KAAO,EAEb6C,EAAEwK,WAAW,GAAKxK,EAAEwK,WAAWvK,IACrC,KAAK,IACHD,EAAID,EAAE0K,QAAQS,EAAG,MACjB,MAEF,KAAK,IACHlL,EAAID,EAAE0K,QAAQS,EAAG,SACjB,MAEF,KAAK,IACHlL,EAAID,EAAE0K,QAAQS,EAAG,MACjB,MAEF,QACE,OAAOnL,EAGX,MAAO,WAAaA,EAAI,OAASC,EAAID,EAEvC,KAAK,KACH,IAAK,IAAMA,EAAE5C,QAAQ,SAAU,GAAI,MAErC,KAAK,IAIH,OAHA8C,GAAKF,EAAI0E,GAAGpJ,OAAS,GAGbgP,GAFRrK,GAAK,KAAOD,EAAEyK,WAAWvK,GAAKF,EAAE6K,UAAU,EAAG3K,GAAKF,GAAG6K,UAAUnG,EAAEtH,QAAQ,IAAK,GAAK,GAAG+M,QAExEM,WAAW,IAAwB,EAAlBxK,EAAEwK,WAAW,KAC1C,KAAK,IACH,GAAI,IAAMxK,EAAEwK,WAAW,GAAI,MAE7B,KAAK,IACHzK,EAAIA,EAAE0K,QAAQzK,EAAG,WAAaA,GAAK,IAAMD,EACzC,MAEF,KAAK,IACL,KAAK,IACHA,EAAIA,EAAE0K,QAAQzK,EAAG,YAAc,IAAMqK,EAAI,UAAY,IAAM,OAAS,IAAMtK,EAAE0K,QAAQzK,EAAG,WAAaA,GAAK,IAAMD,EAAE0K,QAAQzK,EAAG,OAASA,EAAI,OAAS,IAAMD,EAG5J,OAAOA,EAAI,IAEb,KAAK,IACH,GAAI,KAAOA,EAAEyK,WAAW,GAAI,OAAQzK,EAAEyK,WAAW,IAC/C,KAAK,IACH,OAAOxK,EAAID,EAAE0K,QAAQ,SAAU,IAAK,WAAa1K,EAAI,eAAiBC,EAAI,YAAcA,EAAID,EAE9F,KAAK,IACH,MAAO,WAAaA,EAAI,iBAAmBA,EAAE0K,QAAQU,EAAI,IAAMpL,EAEjE,QACE,MAAO,WAAaA,EAAI,qBAAuBA,EAAE0K,QAAQ,gBAAiB,IAAIA,QAAQU,EAAI,IAAMpL,EAEpG,MAEF,KAAK,IACL,KAAK,IACH,GAAI,KAAOA,EAAEyK,WAAW,IAAM,MAAQzK,EAAEyK,WAAW,GAAI,MAEzD,KAAK,IACL,KAAK,IACH,IAAI,IAAOY,EAAGlO,KAAKuH,GAAI,OAAO,OAASzE,EAAIyE,EAAEmG,UAAUnG,EAAEtH,QAAQ,KAAO,IAAIqN,WAAW,GAAKG,EAAElG,EAAEgG,QAAQ,UAAW,kBAAmBxK,EAAGnD,EAAGmN,GAAGQ,QAAQ,kBAAmB,YAAc1K,EAAE0K,QAAQzK,EAAG,WAAaA,GAAKD,EAAE0K,QAAQzK,EAAG,QAAUA,EAAEyK,QAAQ,QAAS,KAAO1K,EACxQ,MAEF,KAAK,IACH,GAAIA,EAAI,WAAaA,GAAK,MAAQA,EAAEyK,WAAW,GAAK,OAASzK,EAAI,IAAMA,EAAG,MAAQjD,EAAImN,GAAK,MAAQlK,EAAEyK,WAAW,KAAO,EAAIzK,EAAE5C,QAAQ,YAAa,IAAK,OAAO4C,EAAE6K,UAAU,EAAG7K,EAAE5C,QAAQ,IAAK,IAAM,GAAGsN,QAAQY,EAAI,gBAAkBtL,EAGvO,OAAOA,EAGT,SAAS+K,EAAErG,EAAGxE,GACZ,IAAInD,EAAI2H,EAAEtH,QAAQ,IAAM8C,EAAI,IAAM,KAC9BgK,EAAIxF,EAAEmG,UAAU,EAAG,IAAM3K,EAAInD,EAAI,IAErC,OADAA,EAAI2H,EAAEmG,UAAU9N,EAAI,EAAG2H,EAAEpJ,OAAS,GAC3BiQ,EAAE,IAAMrL,EAAIgK,EAAIA,EAAEQ,QAAQc,EAAI,MAAOzO,EAAGmD,GAGjD,SAASuL,EAAG/G,EAAGxE,GACb,IAAInD,EAAI6N,EAAE1K,EAAGA,EAAEuK,WAAW,GAAIvK,EAAEuK,WAAW,GAAIvK,EAAEuK,WAAW,IAC5D,OAAO1N,IAAMmD,EAAI,IAAMnD,EAAE2N,QAAQgB,EAAI,YAAYb,UAAU,GAAK,IAAM3K,EAAI,IAG5E,SAASyL,EAAEjH,EAAGxE,EAAGnD,EAAGmN,EAAGlK,EAAGsK,EAAGrK,EAAGuK,EAAGrP,EAAGyQ,GACpC,IAAK,IAAkBd,EAAde,EAAI,EAAGC,EAAI5L,EAAM2L,EAAIE,IAAKF,EACjC,OAAQf,EAAIkB,EAAEH,GAAGhQ,KAAKoQ,EAAGvH,EAAGoH,EAAG/O,EAAGmN,EAAGlK,EAAGsK,EAAGrK,EAAGuK,EAAGrP,EAAGyQ,IAClD,UAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,KACH,MAEF,QACEE,EAAIhB,EAIV,GAAIgB,IAAM5L,EAAG,OAAO4L,EAmBtB,SAASI,EAAExH,GAGT,YADA,KADAA,EAAIA,EAAEyH,UACWZ,EAAI,KAAM7G,EAAI,mBAAsBA,EAAIoG,EAAI,GAAKA,EAAI,EAAGS,EAAI7G,GAAKoG,EAAI,GAC/EoB,EAGT,SAASD,EAAEvH,EAAGxE,GACZ,IAAInD,EAAI2H,EAKR,GAJA,GAAK3H,EAAE0N,WAAW,KAAO1N,EAAIA,EAAEoN,QAE/BpN,EAAI,CADAA,GAGA,EAAIgP,EAAG,CACT,IAAI7B,EAAIyB,GAAG,EAAGzL,EAAGnD,EAAGA,EAAGqP,EAAGC,EAAG,EAAG,EAAG,EAAG,QACtC,IAAWnC,GAAK,iBAAoBA,IAAMhK,EAAIgK,GAGhD,IAAIlK,EA5jBN,SAASsM,EAAE5H,EAAGxE,EAAGnD,EAAGmN,EAAGlK,GACrB,IAAK,IAAgC4L,EAAGC,EAAiBtQ,EAAuEgR,EAAmCC,EAA1JlC,EAAI,EAAGrK,EAAI,EAAGuK,EAAI,EAAGrP,EAAI,EAAS2Q,EAAI,EAAGW,EAAI,EAAMC,EAAInR,EAAIqQ,EAAI,EAAGe,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAAGb,EAAIlP,EAAEzB,OAAQyR,EAAId,EAAI,EAAM5C,EAAI,GAAIxE,EAAI,GAAI8F,EAAI,GAAIQ,EAAI,GAAOwB,EAAIV,GAAI,CAI5K,GAHAJ,EAAI9O,EAAE0N,WAAWkC,GACjBA,IAAMI,GAAK,IAAM9M,EAAI9E,EAAIqP,EAAIF,IAAM,IAAMrK,IAAM4L,EAAI,KAAO5L,EAAI,GAAK,IAAK9E,EAAIqP,EAAIF,EAAI,EAAG2B,IAAKc,KAExF,IAAM9M,EAAI9E,EAAIqP,EAAIF,EAAG,CACvB,GAAIqC,IAAMI,IAAM,EAAIH,IAAMvD,EAAIA,EAAEqB,QAAQsC,EAAG,KAAM,EAAI3D,EAAEc,OAAO7O,QAAS,CACrE,OAAQuQ,GACN,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,MAEF,QACExC,GAAKtM,EAAEkQ,OAAON,GAGlBd,EAAI,GAGN,OAAQA,GACN,KAAK,IAKH,IAHAD,GADAvC,EAAIA,EAAEc,QACAM,WAAW,GACjBlP,EAAI,EAECuR,IAAMH,EAAGA,EAAIV,GAAI,CACpB,OAAQJ,EAAI9O,EAAE0N,WAAWkC,IACvB,KAAK,IACHpR,IACA,MAEF,KAAK,IACHA,IACA,MAEF,KAAK,GACH,OAAQsQ,EAAI9O,EAAE0N,WAAWkC,EAAI,IAC3B,KAAK,GACL,KAAK,GACH3M,EAAG,CACD,IAAK0M,EAAIC,EAAI,EAAGD,EAAIK,IAAKL,EACvB,OAAQ3P,EAAE0N,WAAWiC,IACnB,KAAK,GACH,GAAI,KAAOb,GAAK,KAAO9O,EAAE0N,WAAWiC,EAAI,IAAMC,EAAI,IAAMD,EAAG,CACzDC,EAAID,EAAI,EACR,MAAM1M,EAGR,MAEF,KAAK,GACH,GAAI,KAAO6L,EAAG,CACZc,EAAID,EAAI,EACR,MAAM1M,GAMd2M,EAAID,GAKV,MAEF,KAAK,GACHb,IAEF,KAAK,GACHA,IAEF,KAAK,GACL,KAAK,GACH,KAAOc,IAAMI,GAAKhQ,EAAE0N,WAAWkC,KAAOd,KAK1C,GAAI,IAAMtQ,EAAG,MACboR,IAMF,OAHApR,EAAIwB,EAAE8N,UAAUiC,EAAGH,GACnB,IAAMf,IAAMA,GAAKvC,EAAIA,EAAEqB,QAAQwC,EAAI,IAAI/C,QAAQM,WAAW,IAElDmB,GACN,KAAK,GAIH,OAHA,EAAIgB,IAAMvD,EAAIA,EAAEqB,QAAQsC,EAAG,KAC3BnB,EAAIxC,EAAEoB,WAAW,IAGf,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,GACHmC,EAAI1M,EACJ,MAEF,QACE0M,EAAIxR,EAMR,GAFA0R,GADAvR,EAAI+Q,EAAEpM,EAAG0M,EAAGrR,EAAGsQ,EAAG7L,EAAI,IAChB1E,OACN,EAAIyQ,IAAsBS,EAAIb,EAAE,EAAGpQ,EAAzBqR,EAAI3C,EAAE7O,EAAGiO,EAAGwD,GAAmB3M,EAAGkM,EAAGC,EAAGS,EAAGjB,EAAG7L,EAAGkK,GAAIb,EAAIuD,EAAE5P,KAAK,SAAK,IAAWwP,GAAK,KAAOM,GAAKvR,EAAIiR,EAAErC,QAAQ7O,UAAYuQ,EAAI,EAAGtQ,EAAI,KAC5I,EAAIuR,EAAG,OAAQjB,GACjB,KAAK,IACHxC,EAAIA,EAAEqB,QAAQyC,EAAI1B,GAEpB,KAAK,IACL,KAAK,IACL,KAAK,GACHlQ,EAAI8N,EAAI,IAAM9N,EAAI,IAClB,MAEF,KAAK,IAEHA,GADA8N,EAAIA,EAAEqB,QAAQ0C,EAAI,UACV,IAAM7R,EAAI,IAClBA,EAAI,IAAMuP,GAAK,IAAMA,GAAKC,EAAE,IAAMxP,EAAG,GAAK,YAAcA,EAAI,IAAMA,EAAI,IAAMA,EAC5E,MAEF,QACEA,EAAI8N,EAAI9N,EAAG,MAAQ2O,IAAWrF,GAAKtJ,EAAVA,EAAa,SACnCA,EAAI,GACX,MAEF,QACEA,EAAI+Q,EAAEpM,EAAG+J,EAAE/J,EAAGmJ,EAAGwD,GAAItR,EAAG2O,EAAGlK,EAAI,GAGnC2K,GAAKpP,EACLA,EAAIsR,EAAID,EAAIF,EAAId,EAAI,EACpBvC,EAAI,GACJwC,EAAI9O,EAAE0N,aAAakC,GACnB,MAEF,KAAK,IACL,KAAK,GAEH,GAAI,GAAKG,GADTzD,GAAK,EAAIuD,EAAIvD,EAAEqB,QAAQsC,EAAG,IAAM3D,GAAGc,QACpB7O,QAAS,OAAQ,IAAMoR,IAAMd,EAAIvC,EAAEoB,WAAW,GAAI,KAAOmB,GAAK,GAAKA,GAAK,IAAMA,KAAOkB,GAAKzD,EAAIA,EAAEqB,QAAQ,IAAK,MAAMpP,QAAS,EAAIyQ,QAAK,KAAYS,EAAIb,EAAE,EAAGtC,EAAGnJ,EAAGwE,EAAG0H,EAAGC,EAAGxH,EAAEvJ,OAAQ4O,EAAGlK,EAAGkK,KAAO,KAAO4C,GAAKzD,EAAImD,EAAErC,QAAQ7O,UAAY+N,EAAI,QAAauC,EAAIvC,EAAEoB,WAAW,GAAIoB,EAAIxC,EAAEoB,WAAW,GAAImB,GAC9S,KAAK,EACH,MAEF,KAAK,GACH,GAAI,MAAQC,GAAK,KAAOA,EAAG,CACzBV,GAAK9B,EAAItM,EAAEkQ,OAAON,GAClB,MAGJ,QACE,KAAOtD,EAAEoB,WAAWqC,EAAI,KAAOjI,GAAK+F,EAAEvB,EAAGuC,EAAGC,EAAGxC,EAAEoB,WAAW,KAEhEoC,EAAID,EAAIF,EAAId,EAAI,EAChBvC,EAAI,GACJwC,EAAI9O,EAAE0N,aAAakC,IAIzB,OAAQd,GACN,KAAK,GACL,KAAK,GACH,KAAO5L,EAAIA,EAAI,EAAI,IAAM,EAAI2L,GAAK,MAAQ1B,GAAK,EAAIb,EAAE/N,SAAWsR,EAAI,EAAGvD,GAAK,MAC5E,EAAI0C,EAAIsB,GAAK1B,EAAE,EAAGtC,EAAGnJ,EAAGwE,EAAG0H,EAAGC,EAAGxH,EAAEvJ,OAAQ4O,EAAGlK,EAAGkK,GACjDmC,EAAI,EACJD,IACA,MAEF,KAAK,GACL,KAAK,IACH,GAAI,IAAMnM,EAAI9E,EAAIqP,EAAIF,EAAG,CACvB+B,IACA,MAGJ,QAIE,OAHAA,IACAE,EAAIxP,EAAEkQ,OAAON,GAELd,GACN,KAAK,EACL,KAAK,GACH,GAAI,IAAM1Q,EAAImP,EAAIrK,EAAG,OAAQ6L,GAC3B,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACHS,EAAI,GACJ,MAEF,QACE,KAAOV,IAAMU,EAAI,KAErB,MAEF,KAAK,EACHA,EAAI,MACJ,MAEF,KAAK,GACHA,EAAI,MACJ,MAEF,KAAK,GACHA,EAAI,MACJ,MAEF,KAAK,GACH,IAAMpR,EAAI8E,EAAIqK,IAAMsC,EAAIC,EAAI,EAAGN,EAAI,KAAOA,GAC1C,MAEF,KAAK,IACH,GAAI,IAAMpR,EAAI8E,EAAIqK,EAAIgD,GAAK,EAAIZ,EAAG,OAAQC,EAAID,GAC5C,KAAK,EACH,MAAQZ,GAAK,KAAO/O,EAAE0N,WAAWkC,EAAI,KAAOW,EAAIxB,GAElD,KAAK,EACH,MAAQW,IAAMa,EAAIb,GAEtB,MAEF,KAAK,GACH,IAAMtR,EAAI8E,EAAIqK,IAAMoC,EAAIC,GACxB,MAEF,KAAK,GACH,IAAM1M,EAAIuK,EAAIrP,EAAImP,IAAMsC,EAAI,EAAGL,GAAK,MACpC,MAEF,KAAK,GACL,KAAK,GACH,IAAMtM,IAAM9E,EAAIA,IAAM0Q,EAAI,EAAI,IAAM1Q,EAAI0Q,EAAI1Q,GAC5C,MAEF,KAAK,GACH,IAAMA,EAAI8E,EAAIuK,GAAKF,IACnB,MAEF,KAAK,GACH,IAAMnP,EAAI8E,EAAIuK,GAAKF,IACnB,MAEF,KAAK,GACH,IAAMnP,EAAI8E,EAAIqK,GAAKE,IACnB,MAEF,KAAK,GACH,GAAI,IAAMrP,EAAI8E,EAAIqK,EAAG,CACnB,GAAI,IAAMsB,EAAG,OAAQ,EAAIE,EAAI,EAAIW,GAC/B,KAAK,IACH,MAEF,QACEb,EAAI,EAERpB,IAGF,MAEF,KAAK,GACH,IAAMvK,EAAIuK,EAAIrP,EAAImP,EAAIoC,EAAInR,IAAMA,EAAI,GACpC,MAEF,KAAK,GACL,KAAK,GACH,KAAM,EAAIJ,EAAImP,EAAIE,GAAI,OAAQvK,GAC5B,KAAK,EACH,OAAQ,EAAI4L,EAAI,EAAI9O,EAAE0N,WAAWkC,EAAI,IACnC,KAAK,IACH1M,EAAI,GACJ,MAEF,KAAK,IACH6M,EAAIH,EAAG1M,EAAI,GAGf,MAEF,KAAK,GACH,KAAO4L,GAAK,KAAOC,GAAKgB,EAAI,IAAMH,IAAM,KAAO5P,EAAE0N,WAAWqC,EAAI,KAAOjI,GAAK9H,EAAE8N,UAAUiC,EAAGH,EAAI,IAAKJ,EAAI,GAAItM,EAAI,IAIxH,IAAMA,IAAMoJ,GAAKkD,GAGrBE,EAAIX,EACJA,EAAID,EACJc,IAKF,GAAI,GAFJG,EAAIjI,EAAEvJ,QAEK,CAET,GADAsR,EAAI1M,EACA,EAAI6L,SAA2C,KAArCS,EAAIb,EAAE,EAAG9G,EAAG+H,EAAGlI,EAAG0H,EAAGC,EAAGS,EAAG5C,EAAGlK,EAAGkK,KAAoB,KAAOrF,EAAI2H,GAAGlR,QAAS,OAAO6P,EAAItG,EAAI8F,EAGzG,GAFA9F,EAAI+H,EAAE5P,KAAK,KAAO,IAAM6H,EAAI,IAExB,GAAMiG,EAAIwC,EAAG,CAGf,OAFA,IAAMxC,GAAKC,EAAElG,EAAG,KAAOyI,EAAI,GAEnBA,GACN,KAAK,IACHzI,EAAIA,EAAE6F,QAAQ6C,EAAI,YAAc1I,EAChC,MAEF,KAAK,IACHA,EAAIA,EAAE6F,QAAQ8C,EAAG,sBAAwB3I,EAAE6F,QAAQ8C,EAAG,aAAe3I,EAAE6F,QAAQ8C,EAAG,iBAAmB3I,EAGzGyI,EAAI,GAIR,OAAOnC,EAAItG,EAAI8F,EA8PP2B,CAAElR,EAAG2B,EAAGmD,EAAG,EAAG,GAKtB,OAJA,EAAI6L,SAAmD,KAA7C7B,EAAIyB,GAAG,EAAG3L,EAAGjD,EAAGA,EAAGqP,EAAGC,EAAGrM,EAAE1E,OAAQ,EAAG,EAAG,MAAqB0E,EAAIkK,IACxE,GACJoD,EAAI,EACJjB,EAAID,EAAI,EACDpM,EAGT,IAAIkN,EAAK,QACLF,EAAI,YACJ9B,EAAK,OACLD,EAAK,UACLK,EAAK,sBACLjB,EAAK,SACLM,EAAI,oBACJyC,EAAK,qBACLI,EAAI,aACJD,EAAK,gBACLpC,EAAI,qBACJgC,EAAK,kBACLzB,EAAK,eACLN,EAAK,eACLI,EAAK,8BACLH,EAAK,mCACLL,EAAK,sBACLqB,EAAI,EACJD,EAAI,EACJkB,EAAI,EACJxC,EAAI,EACJ1P,EAAI,GACJ4Q,EAAI,GACJD,EAAI,EACJR,EAAI,KACJ8B,EAAI,EAKR,OAHApB,EAAEwB,IApEF,SAASC,EAAEhJ,GACT,OAAQA,GACN,UAAK,EACL,KAAK,KACHqH,EAAIC,EAAE1Q,OAAS,EACf,MAEF,QACE,GAAI,mBAAsBoJ,EAAGsH,EAAED,KAAOrH,OAAO,GAAI,iBAAoBA,EAAG,IAAK,IAAIxE,EAAI,EAAGnD,EAAI2H,EAAEpJ,OAAQ4E,EAAInD,IAAKmD,EAC7GwN,EAAEhJ,EAAExE,SACCmN,EAAU,IAAJ3I,EAGjB,OAAOgJ,GAwDTzB,EAAElC,IAAMmC,OACR,IAAWlC,GAAKkC,EAAElC,GACXiC,I,oCCnmBT,kDAQO,SAAS0B,EAAgBC,EAAQC,EAAOC,QACf,IAAxBA,IAAkCA,GAAsB,GAC5D,IAAIC,GAAc,EAClB,GAAIH,GAAUC,EACV,GAAIC,EACA,GAAIF,IAAWC,EACXE,GAAc,OAId,IADAA,GAAc,EACPF,GAAO,CACV,IAAIG,EAAa,YAAUH,GAC3B,GAAIG,IAAeJ,EAAQ,CACvBG,GAAc,EACd,MAEJF,EAAQG,OAIXJ,EAAOK,WACZF,EAAcH,EAAOK,SAASJ,IAGtC,OAAOE,I,oCC/BX,IAAIG,EAAO,EAAQ,QACfpG,EAAW,EAAQ,QACnBqG,EAAQ,EAAQ,QAChB5T,EAAkB,EAAQ,QAC1B6T,EAAa,EAAQ,QAErB9T,EAAUC,EAAgB,WAE1B8T,GAAiCF,GAAM,WAIzC,IAAIG,EAAK,IAMT,OALAA,EAAGrG,KAAO,WACR,IAAI/M,EAAS,GAEb,OADAA,EAAOqT,OAAS,CAAEvO,EAAG,KACd9E,GAEyB,MAA3B,GAAGwP,QAAQ4D,EAAI,WAKpBE,GAAqCL,GAAM,WAC7C,IAAIG,EAAK,OACLG,EAAeH,EAAGrG,KACtBqG,EAAGrG,KAAO,WAAc,OAAOwG,EAAatO,MAAM9E,KAAM+E,YACxD,IAAIlF,EAAS,KAAKkP,MAAMkE,GACxB,OAAyB,IAAlBpT,EAAOI,QAA8B,MAAdJ,EAAO,IAA4B,MAAdA,EAAO,MAG5DgE,EAAOW,QAAU,SAAU6O,EAAKpT,EAAQ2M,EAAM0G,GAC5C,IAAIC,EAASrU,EAAgBmU,GAEzBG,GAAuBV,GAAM,WAE/B,IAAI/S,EAAI,GAER,OADAA,EAAEwT,GAAU,WAAc,OAAO,GACZ,GAAd,GAAGF,GAAKtT,MAGb0T,EAAoBD,IAAwBV,GAAM,WAEpD,IAAIY,GAAa,EACbT,EAAK,IAWT,OAVAA,EAAGrG,KAAO,WAAiC,OAAnB8G,GAAa,EAAa,MAEtC,UAARL,IAGFJ,EAAG5S,YAAc,GACjB4S,EAAG5S,YAAYpB,GAAW,WAAc,OAAOgU,IAGjDA,EAAGM,GAAQ,KACHG,KAGV,IACGF,IACAC,GACQ,YAARJ,IAAsBL,GACd,UAARK,IAAoBF,EACrB,CACA,IAAIQ,EAAqB,IAAIJ,GACzBK,EAAUhH,EAAK2G,EAAQ,GAAGF,IAAM,SAAUQ,EAAcC,EAAQpT,EAAKqT,EAAMC,GAC7E,OAAIF,EAAOlH,OAASmG,EACdS,IAAwBQ,EAInB,CAAEC,MAAM,EAAM1S,MAAOoS,EAAmBnT,KAAKsT,EAAQpT,EAAKqT,IAE5D,CAAEE,MAAM,EAAM1S,MAAOsS,EAAarT,KAAKE,EAAKoT,EAAQC,IAEtD,CAAEE,MAAM,MAEbC,EAAeN,EAAQ,GACvBO,EAAcP,EAAQ,GAE1BnH,EAAShL,OAAOlB,UAAW8S,EAAKa,GAChCzH,EAAS2H,OAAO7T,UAAWgT,EAAkB,GAAVtT,EAG/B,SAAUoU,EAAQC,GAAO,OAAOH,EAAY3T,KAAK6T,EAAQrU,KAAMsU,IAG/D,SAAUD,GAAU,OAAOF,EAAY3T,KAAK6T,EAAQrU,QAEpDsT,GAAMT,EAAKuB,OAAO7T,UAAUgT,GAAS,QAAQ,M,uBC1FrD,IAAIgB,EAAiB,EAAQ,QAAuCvG,EAChEwG,EAAM,EAAQ,QAGdC,EAFkB,EAAQ,OAEVvV,CAAgB,eAEpC2E,EAAOW,QAAU,SAAUuC,EAAI2N,EAAKC,GAC9B5N,IAAOyN,EAAIzN,EAAK4N,EAAS5N,EAAKA,EAAGxG,UAAWkU,IAC9CF,EAAexN,EAAI0N,EAAe,CAAEG,cAAc,EAAMrT,MAAOmT,M,oCCRnE,IAAYG,EAiHAC,EAcAC,EA4BAC,EAKAC,EAIAC,EAMAC,EAMAC,EAhLZ,2CAAYP,GACR,yCACA,oCACA,gCACA,iDACA,wCACA,qCACA,kCACA,yBACA,iEACA,sCACA,wDACA,oCACA,sCACA,kDACA,oEACA,4CACA,0CACA,oDACA,+CACA,gDACA,kCACA,gDACA,2DACA,gDACA,wDACA,gEACA,8CACA,sDACA,uBACA,uCACA,gCACA,sCACA,wCACA,iCACA,kCACA,iCACA,sCACA,uCACA,0CACA,4CACA,gDACA,wCACA,0BACA,2BACA,gCACA,sCACA,6BACA,0BACA,iCACA,sCACA,4BACA,8BACA,8BACA,uBACA,2DACA,oDACA,qDACA,mDACA,mCACA,mDACA,0BACA,uCACA,+BACA,+CACA,6CACA,2CACA,kCACA,kDACA,sDACA,wCACA,4CACA,gDACA,8CACA,+BACA,4BACA,gCACA,mCACA,oDACA,qCACA,2CACA,gDACA,6CACA,iDACA,yCACA,8CACA,qDACA,2DACA,yDACA,iDACA,iDACA,2DACA,2DACA,iDACA,+BACA,+CACA,kDACA,0DACA,mCACA,kDACA,0BACA,oCACA,oCACA,6BACA,yBACA,4BACA,4BACA,oCACA,wBACA,0BACA,yCA9GJ,CAAYA,MAAI,KAiHhB,SAAYC,GACR,0BACA,YACA,4BACA,0BACA,sBACA,cACA,wBACA,4BACA,kCACA,4BACA,wBAXJ,CAAYA,MAAY,KAcxB,SAAYC,GACR,oBACA,kBACA,cACA,8BACA,wBACA,sBACA,wBACA,wBACA,8BACA,sBACA,kCACA,kBACA,YACA,sBACA,cACA,sBACA,4BACA,oBACA,8BACA,4BACA,wBACA,kBACA,gBACA,cACA,gBAzBJ,CAAYA,MAA0B,KA4BtC,SAAYC,GACR,YACA,cAFJ,CAAYA,MAA4B,KAKxC,SAAYC,GACR,cADJ,CAAYA,MAAgC,KAI5C,SAAYC,GACR,eACA,wBACA,sBAHJ,CAAYA,MAAwB,KAMpC,SAAYC,GACR,wBACA,cACA,YAHJ,CAAYA,MAAmB,KAM/B,SAAYC,GACR,YACA,kBAFJ,CAAYA,MAAuB,M,oCC/K/B,IAAYC,EAAZ,2CAAYA,GACR,2BACA,uCAFJ,CAAYA,MAAQ,M,oCCDxB,8DAEIC,EAAe,WACf,SAASA,IACLtV,KAAKuV,eAAiB,YAAK,KA0D/B,OAxDAD,EAAY/U,UAAUiV,4BAA8B,SAAUC,EAAaC,GACvE1V,KAAK2V,mBAAmBF,EAAaC,IAEzCJ,EAAY/U,UAAUqV,kBAAoB,SAAUvI,GAChD,OAAOA,GAEXiI,EAAY/U,UAAUsV,SAAW,SAAUC,KAG3CR,EAAY/U,UAAUwV,GAAK,WACvB,MAAO,IAEXT,EAAY/U,UAAUyV,OAAS,SAAU/Q,GACrC,OAAO,GAEXqQ,EAAY/U,UAAU0V,iBAAmB,SAAU5I,GAC/C,OAAOA,GAEXiI,EAAY/U,UAAU2V,UAAY,SAAUjR,EAASkR,GAEjD,YADmB,IAAfA,IAAyBA,IAAelR,EAAQkR,YAC7CnW,KAAKoW,KAAK,CACbC,OAAQpR,EAAQqR,IAAM,aACtBrS,MAAOgB,EAAQhB,MACfsS,UAAWtR,EAAQsR,UACnBC,kBAAmBvR,EAAQuR,kBAC3BL,WAAYA,KAGpBb,EAAY/U,UAAUkW,aAAe,SAAUxR,EAASkR,GAEpD,YADmB,IAAfA,IAAyBA,IAAelR,EAAQkR,YAC7CnW,KAAKoW,KAAK,CACbnS,MAAOjE,KAAKuV,eAAetQ,EAAQyR,SAAUzR,EAAQ0R,cACrDJ,UAAWtR,EAAQsR,UACnBF,OAAQpR,EAAQqR,GAChBE,kBAAmBvR,EAAQuR,kBAC3BL,WAAYA,KAGpBb,EAAY/U,UAAUqW,WAAa,SAAU3R,GACzC,OAAOjF,KAAK6W,MAAM,CACdC,OAAQ7R,EAAQqR,IAAM,aACtBzW,OAAQoF,EAAQd,KAChBF,MAAOgB,EAAQhB,MACfsS,UAAWtR,EAAQsR,UACnBQ,UAAW9R,EAAQ8R,aAG3BzB,EAAY/U,UAAUyW,cAAgB,SAAU/R,GAC5C,OAAOjF,KAAK6W,MAAM,CACdC,OAAQ7R,EAAQqR,GAChBzW,OAAQoF,EAAQd,KAChBoS,UAAWtR,EAAQsR,UACnBtS,MAAOjE,KAAKuV,eAAetQ,EAAQyR,SAAUzR,EAAQ0R,cACrDI,UAAW9R,EAAQ8R,aAGpBzB,EA5DO,I,qCCFlB,kGAEI2B,EAAa,CACb,YACA,YACA,iBACA,cACA,gBACA,aACA,YACA,WACA,OACA,YACA,cACA,yBACA,UACA,mBACA,oBACA,mBACA,UACA,cACA,mBACA,0BACA,aACA,YACA,WACA,YACA,UACA,yBACA,SACA,aACA,QACA,aACA,aAMAC,EAAuB,CAGvBC,UAAW,CAAC,cACZC,eAAgB,CAAC,SACjBC,YAAa,CAAC,eACdC,cAAe,CAAC,cAChBC,WAAY,CAAC,UACbC,UAAW,CAAC,UACZC,SAAU,CAAC,MAAO,SAClBC,UAAW,CAAC,aACZC,QAAS,CAAC,SACVC,iBAAkB,CAAC,UACnBC,kBAAmB,CAAC,SAAU,eAC9BC,iBAAkB,CAAC,SAAU,UAC7BC,YAAa,CAAC,WACdC,WAAY,CAAC,QACbC,UAAW,CAAC,OACZC,UAAW,CAAC,MAAO,UACnBC,OAAQ,CAAC,WACTC,WAAY,CAAC,SAAU,OACvBC,WAAY,CAAC,SAAU,UACvBC,UAAW,CAAC,SAAU,WAGtBC,EAAuB,WAIvB,SAASA,EAAMtT,QACK,IAAZA,IAAsBA,EAAU,IAIpCjF,KAAKiK,KAAOsO,EAAMjC,GAClBtW,KAAKwY,YAAclY,MAAM3B,QAAQsG,EAAQwT,YACnCxT,EAAQwT,WACRxB,EACNjX,KAAK0Y,sBAAsB,uBAAwBzT,IAAUA,EAAQ0T,mBAyGzE,OApGAJ,EAAMhY,UAAUqY,UAAY,SAAUC,EAAGC,GACrC,IAAIC,EACJ,IAEIA,EADoB,YAAelV,EAAQ,WAChBmV,WAE/B,MAAOtX,GAEH,YADA,IAAOsJ,MAAM,8DAGjBhL,KAAKiZ,sBAAsBF,EAAY/Y,KAAKwY,YAAaM,IAK7DP,EAAMhY,UAAU0Y,sBAAwB,SAAUF,EAAYN,EAAYK,GACtE,IAAIhP,EAAQ9J,KACZyY,EAAW/U,SAAQ,SAAUwV,GAAa,OAAOpP,EAAMqP,gBAAgBJ,EAAYG,EAAWJ,OAKlGP,EAAMhY,UAAU4Y,gBAAkB,SAAUJ,EAAYG,EAAWJ,GAC/D,GAAMI,KAAaH,EAAWxY,UAA9B,CAEA,IAAI6Y,EAAiBpZ,KAAKqZ,sCAAsCC,KAAKtZ,MACrE,YAAK+Y,EAAWxY,UAAW2Y,GAAW,SAAUK,GAC5C,OAAO,WAEH,IADA,IAIInU,EAAIsG,EAAIO,EAJRuN,EAAO,GACFhO,EAAK,EAAGA,EAAKzG,UAAU9E,OAAQuL,IACpCgO,EAAKhO,GAAMzG,UAAUyG,GAGzB,IAAIiO,EAAUD,EAAKA,EAAKvZ,OAAS,GAC7ByZ,EAAQZ,IAAgBa,WACxBC,EAA8B,QAAhBxU,EAAKsU,SAA0B,IAAPtU,OAAgB,EAASA,EAAGyU,UAGtE,GAAuB,mBAAZJ,GAAyC,cAAdP,GAA6C,IAAhBM,EAAKvZ,OAAe,CACnF,IAAI6Z,EAA+B,QAArBpO,EAAKkO,SAA+B,IAAPlO,OAAgB,EAASA,EAAGqO,WAAWX,EAAepZ,KAAMkZ,EAAWM,IAClH,OAAOD,EAAK/Y,KAAKsE,MAAMyU,EAAM,mBAAS,CAACvZ,MAAOwZ,IAAOQ,MAAK,SAAUC,GAChE,IAAI7U,EAEJ,OADkB,QAAjBA,EAAK0U,SAA2B,IAAP1U,GAAyBA,EAAG8U,SAC/CD,KAGf,IAAIE,EAA6B,QAArBlO,EAAK2N,SAA+B,IAAP3N,OAAgB,EAASA,EAAG8N,WAAWX,EAAepZ,KAAMkZ,EAAWM,EAAKpa,MAAM,GAAI,KAC/H,OAAOma,EAAK/Y,KAAKsE,MAAMyU,EAAM,mBAAS,CAACvZ,MAAOwZ,EAAKpa,MAAM,GAAI,GAAI,CAAC,SAAUgb,EAAKva,GACzE,IAAIuF,EACY,QAAfA,EAAK+U,SAAyB,IAAP/U,GAAyBA,EAAG8U,SACpDT,EAAQW,EAAKva,aAQjC0Y,EAAMhY,UAAU8Y,sCAAwC,SAAUN,EAAYG,EAAWM,GACrF,IAAIrV,EAAO,CACPkW,eAAgBtB,EAAWsB,eAC3BC,OAAQvB,EAAWuB,OACnBtN,UAAW+L,EAAW/L,WAEtBuN,EAAc,CACdC,GAAI,KACJC,YAAavB,EACb/U,KAAMA,GAINuW,EAAYxD,EAAqBgC,GACjCyB,EAAiBra,MAAM3B,QAAQqB,KAAK0Y,qBAClC1Y,KAAK0Y,oBAAoBkC,SAAS1B,GAClClZ,KAAK0Y,oBACX,IAAKgC,IAAcC,EACf,OAAOJ,EAEX,IAEI,GAAkB,cAAdrB,EAA2B,CAC3B,IAAI9T,EAAK,iBAAOoU,EAAM,GAAIqB,EAAMzV,EAAG,GAAI0V,EAAS1V,EAAG,GACnDjB,EAAKuW,EAAU,IAAqB,iBAARG,EAAmBA,EAAMA,EAAI5Q,MAAQ,cACjE9F,EAAKuW,EAAU,IAAwB,iBAAXI,EAAsBA,EAASA,EAAO7Q,MAAQ,mBAG1E,IAAK,IAAI3I,EAAI,EAAGA,EAAIoZ,EAAUza,OAAQqB,IAClC6C,EAAKuW,EAAUpZ,IAAM8C,KAAKC,UAAUmV,EAAKlY,IAIrD,MAAOyZ,IAGP,OAAOR,GAKXhC,EAAMjC,GAAK,QACJiC,EAtHe,K,6DChE1B,sHAEWyC,EAAa,yBAAe,CACnCxU,KAAM,CACFyU,QAAS,gBAEbxU,YAAa,CACT,sBACA,CACIyU,MAAO,QAGfC,MAAO,CACH,yBACA,CACIC,SAAU,aAKXC,EAAU,UACVC,EAAY,SAAUxV,GAC7B,IAAIL,EAAYK,EAAML,UAAWD,EAAgBM,EAAMN,cAAe+V,EAAgBzV,EAAMyV,cAAeC,EAAU1V,EAAM0V,QAASxP,EAASlG,EAAMkG,OACnJ,MAAO,CACHxF,KAAM,CACF+U,GAAiBP,EAAWvU,YAC5BuU,EAAWxU,KACXgV,GAAWR,EAAWG,MACtB3V,EACAC,EACAuG,GAAUA,EAAOxF,KAEjBwF,GAAUA,EAAOyP,mB,oCC/B7B,IAAIhd,EAAI,EAAQ,QACZid,EAAO,EAAQ,QAAgCb,IAMnDpc,EAAE,CAAEc,OAAQ,QAASC,OAAO,EAAMC,QALC,EAAQ,OAKAT,CAA6B,QAAU,CAChF6b,IAAK,SAAac,GAChB,OAAOD,EAAK1b,KAAM2b,EAAY5W,UAAU9E,OAAS,EAAI8E,UAAU,QAAK3E,O,uBCTxEyD,EAAOW,QAAU,CAAC,KAAO,4BAA4B,MAAQ,6BAA6B,eAAiB,sCAAsC,QAAU,+BAA+B,QAAU,+BAA+B,KAAO,4BAA4B,KAAO,4BAA4B,KAAO,4BAA4B,OAAS,gC,oCCDrV,sFAMO,SAASoX,IACZ,YAA0B,CACtBC,SAAUC,EACVC,KAAM,UAEV,YAA0B,CACtBF,SAAUC,EACVC,KAAM,uBAMd,SAASD,IACL,IAAIE,EAAoB,cACpBA,IACA,IAAOlR,IAAI,0BAA4B,IAAWmR,cAAgB,4BAClED,EAAkBE,UAAU,IAAWD,kB,oCCrB/C,IAAIE,EAAU,EAAQ,QAMlBC,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdnQ,aAAa,EACboQ,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRC,WAAW,EACXd,MAAM,GAEJe,EAAgB,CAClB7S,MAAM,EACNhK,QAAQ,EACRM,WAAW,EACXwc,QAAQ,EACRC,QAAQ,EACRjY,WAAW,EACXkY,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACTX,cAAc,EACdnQ,aAAa,EACbwQ,WAAW,EACXd,MAAM,GAEJqB,EAAe,GAInB,SAASC,EAAWC,GAElB,OAAInB,EAAQoB,OAAOD,GACVJ,EAIFE,EAAaE,EAAoB,WAAMlB,EAVhDgB,EAAajB,EAAQqB,YAhBK,CACxB,UAAY,EACZC,QAAQ,EACRjB,cAAc,EACdnQ,aAAa,EACbwQ,WAAW,GAYbO,EAAajB,EAAQuB,MAAQR,EAY7B,IAAI3I,EAAiBtS,OAAOsS,eACxBoJ,EAAsB1b,OAAO0b,oBAC7BC,EAAwB3b,OAAO2b,sBAC/B/P,EAA2B5L,OAAO4L,yBAClCgQ,EAAiB5b,OAAO4b,eACxBC,EAAkB7b,OAAO1B,UAsC7BsD,EAAOW,QArCP,SAASuZ,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,iBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqBN,EAAeI,GAEpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,GAI9D,IAAIvb,EAAOgb,EAAoBM,GAE3BL,IACFjb,EAAOA,EAAK2J,OAAOsR,EAAsBK,KAM3C,IAHA,IAAIG,EAAgBf,EAAWW,GAC3BK,EAAgBhB,EAAWY,GAEtB3c,EAAI,EAAGA,EAAIqB,EAAK1C,SAAUqB,EAAG,CACpC,IAAIqC,EAAMhB,EAAKrB,GAEf,KAAKwb,EAAcnZ,IAAUua,GAAaA,EAAUva,IAAW0a,GAAiBA,EAAc1a,IAAWya,GAAiBA,EAAcza,IAAO,CAC7I,IAAIuK,EAAaL,EAAyBoQ,EAAiBta,GAE3D,IAEE4Q,EAAeyJ,EAAiBra,EAAKuK,GACrC,MAAOxM,OAKf,OAAOsc,I,wBCnGT,2BACIM,EAAQ,SAAUvX,GACpB,OAAOA,GAAMA,EAAGzH,MAAQA,MAAQyH,GAIlClD,EAAOW,QAEL8Z,SAAaC,YAAcxe,GAAKwe,aAChCD,SAAaE,QAAUze,GAAKye,SAC5BF,SAAaG,MAAQ1e,GAAK0e,OAC1BH,SAAaxR,GAAU/M,GAAK+M,IAE5B4R,SAAS,cAATA,K,6CCbF,IAAIC,EAAqB,EAAQ,QAC7BC,EAAc,EAAQ,QAI1B/a,EAAOW,QAAUvC,OAAOU,MAAQ,SAAc5C,GAC5C,OAAO4e,EAAmB5e,EAAG6e,K,uBCNH,EAAQ,OAIpCxQ,CAAsB,gB,uBCJtB,IAAI3P,EAAI,EAAQ,QACZogB,EAAW,EAAQ,QACnB/L,EAAQ,EAAQ,QAChBpU,EAAW,EAAQ,QACnBogB,EAAW,EAAQ,QAAkCA,SAErDC,EAAe9c,OAAO+c,OAK1BvgB,EAAE,CAAEc,OAAQ,SAAU0f,MAAM,EAAMxf,OAJRqT,GAAM,WAAciM,EAAa,MAIIzL,MAAOuL,GAAY,CAChFG,OAAQ,SAAgBjY,GACtB,OAAOgY,GAAgBrgB,EAASqI,GAAMgY,EAAaD,EAAS/X,IAAOA,M,8HCTvE,SAASmY,EAAY1E,EAAI2E,GACrB,OAAQA,EAAUA,EAAQ3E,GAAM4E,EAAA,EAAWC,KAE/C,SAASC,EAAOC,GACZ,MAA0B,mBAAZA,EAAyB,IAAI,EAAWA,GAAWA,EAErE,SAASC,EAAcC,GACnB,OAAOA,EAAKnd,QAAQrC,QAAU,GAEjB,SAAU0J,GAEvB,SAAS+V,EAAU7V,EAAS4V,GACxB,IAAI3V,EAAQH,EAAOnJ,KAAKR,KAAM6J,IAAY7J,KAE1C,OADA8J,EAAM2V,KAAOA,EACN3V,EAJX,oBAAU4V,EAAW/V,GADT,CAQd/G,OARF,IASI,EAAc,WACd,SAAS+c,EAAWrd,GACZA,IACAtC,KAAKsC,QAAUA,GAuEvB,OArEAqd,EAAWC,MAAQ,WACf,OAAO,IAAID,GAAW,WAAc,OAAOP,EAAA,EAAWC,SAE1DM,EAAWE,KAAO,SAAUC,GACxB,OAAqB,IAAjBA,EAAM7f,OACC0f,EAAWC,QACfE,EAAMjF,IAAIyE,GAAQxE,QAAO,SAAUrK,EAAGS,GAAK,OAAOT,EAAEnE,OAAO4E,OAEtEyO,EAAW5Q,MAAQ,SAAUjN,EAAMie,EAAMC,GACrC,IAAIC,EAAWX,EAAOS,GAClBG,EAAYZ,EAAOU,GAAS,IAAIL,EAAWT,IAC/C,OAAIM,EAAcS,IAAaT,EAAcU,GAClC,IAAIP,GAAW,SAAUzG,GAC5B,OAAOpX,EAAKoX,GACN+G,EAAS3d,QAAQ4W,IAAckG,EAAA,EAAWC,KAC1Ca,EAAU5d,QAAQ4W,IAAckG,EAAA,EAAWC,QAI9C,IAAIM,GAAW,SAAUzG,EAAWiG,GACvC,OAAOrd,EAAKoX,GACN+G,EAAS3d,QAAQ4W,EAAWiG,IAAYC,EAAA,EAAWC,KACnDa,EAAU5d,QAAQ4W,EAAWiG,IAAYC,EAAA,EAAWC,SAItEM,EAAWQ,QAAU,SAAUV,EAAMvG,GACjC,OAAQuG,EAAKnd,QCrDd,SAAyB8d,EAAUlH,GACtC,IAAImH,EAAU,mBAAS,GAAID,GAkB3B,OARAne,OAAOsS,eAAe2E,EAAW,aAAc,CAC3C/K,YAAY,EACZ5M,MAXa,SAAU+e,GAEnBD,EADgB,mBAATC,EACG,mBAAS,mBAAS,GAAID,GAAUC,EAAKD,IAGrC,mBAAS,mBAAS,GAAIA,GAAUC,MAQlDre,OAAOsS,eAAe2E,EAAW,aAAc,CAC3C/K,YAAY,EACZ5M,MAPa,WAAc,OAAQ,kBAAD,CAAU,GAAI8e,MAS7CnH,EDkCkBqH,CAAgBrH,EAAUmH,QErDhD,SAA4BnH,GAC/B,IAAIsH,EAAuB,CACvBjK,UAAW2C,EAAU3C,WAAa,GAClCkK,WAAYvH,EAAUuH,YAAc,GACpCC,cAAexH,EAAUwH,cACzBzc,MAAOiV,EAAUjV,OAQrB,OANKuc,EAAqBE,gBACtBF,EAAqBE,cACqB,iBAA/BF,EAAqBvc,MACtB,YAAiBuc,EAAqBvc,aAAU7D,EAChD,IAEPogB,EFwCqDG,CGrDzD,SAA2BzH,GAQ9B,IAPA,IAAI0H,EAAmB,CACnB,QACA,gBACA,YACA,aACA,WAEKpV,EAAK,EAAGpG,EAAKnD,OAAOU,KAAKuW,GAAY1N,EAAKpG,EAAGnF,OAAQuL,IAAM,CAChE,IAAI7H,EAAMyB,EAAGoG,GACb,GAAIoV,EAAiB7e,QAAQ4B,GAAO,EAChC,MAA8C,IAAI,IAAe,IAGzE,OAAOuV,EHuCwE2H,CAAkB3H,OAAiBkG,EAAA,EAAWC,MAE7HM,EAAWrT,OAAS,SAAUwU,EAAOC,GACjC,IAAIC,EAAY1B,EAAOwB,GACvB,GAAItB,EAAcwB,GAEd,OAAOA,EAEX,IAAIC,EAAW3B,EAAOyB,GACtB,OAAIvB,EAAcyB,GACP,IAAItB,GAAW,SAAUzG,GAC5B,OAAO8H,EAAU1e,QAAQ4W,GAAW,SAAUsB,GAAM,OAAOyG,EAAS3e,QAAQkY,IAAO4E,EAAA,EAAWC,SAAYD,EAAA,EAAWC,QAIlH,IAAIM,GAAW,SAAUzG,EAAWiG,GACvC,OAAQ6B,EAAU1e,QAAQ4W,GAAW,SAAUsB,GAC3C,OAAOyG,EAAS3e,QAAQkY,EAAI2E,IAAYC,EAAA,EAAWC,SACjDD,EAAA,EAAWC,SAI7BM,EAAWpf,UAAUwO,MAAQ,SAAUjN,EAAMie,EAAMC,GAC/C,OAAOhgB,KAAKsM,OAAOqT,EAAW5Q,MAAMjN,EAAMie,EAAMC,GAAS,IAAIL,EAAWT,MAE5ES,EAAWpf,UAAU+L,OAAS,SAAUgU,GACpC,OAAOX,EAAWrT,OAAOtM,KAAMsgB,IAEnCX,EAAWpf,UAAU+B,QAAU,SAAU4W,EAAWiG,GAChD,MAA8C,IAAI,IAAe,KAErEQ,EAAWpf,UAAU2gB,QAAU,SAAUlW,EAAOmW,GAC5C,GAAIA,GAAYA,EAASnW,MAErB,OADAmW,EAASnW,MAAMA,IACR,EAEX,MAAMA,GAEV2U,EAAWpf,UAAU6gB,WAAa,SAAU3c,GAExC,OADAzE,KAAKkhB,QAAUzc,EACRzE,MAEJ2f,EA1EM,I,qBItBjB9b,EAAOW,QAAU,SAAS6c,GACzB,IAAKA,EAAeC,gBAAiB,CACpC,IAAIzd,EAAS5B,OAAOwH,OAAO4X,GAEtBxd,EAAO0B,WAAU1B,EAAO0B,SAAW,IACxCtD,OAAOsS,eAAe1Q,EAAQ,SAAU,CACvCsK,YAAY,EACZoT,IAAK,WACJ,OAAO1d,EAAOyN,KAGhBrP,OAAOsS,eAAe1Q,EAAQ,KAAM,CACnCsK,YAAY,EACZoT,IAAK,WACJ,OAAO1d,EAAOvC,KAGhBW,OAAOsS,eAAe1Q,EAAQ,UAAW,CACxCsK,YAAY,IAEbtK,EAAOyd,gBAAkB,EAE1B,OAAOzd,I,uBCtBR,IAAIiJ,EAAS,EAAQ,QACjB0U,EAAe,EAAQ,QACvBC,EAAuB,EAAQ,QAC/B5O,EAAO,EAAQ,QACf3T,EAAkB,EAAQ,QAE1BwiB,EAAWxiB,EAAgB,YAC3BuV,EAAgBvV,EAAgB,eAChCyiB,EAAcF,EAAqBG,OAEvC,IAAK,IAAIC,KAAmBL,EAAc,CACxC,IAAIxI,EAAalM,EAAO+U,GACpBC,EAAsB9I,GAAcA,EAAWzY,UACnD,GAAIuhB,EAAqB,CAEvB,GAAIA,EAAoBJ,KAAcC,EAAa,IACjD9O,EAAKiP,EAAqBJ,EAAUC,GACpC,MAAO3W,GACP8W,EAAoBJ,GAAYC,EAGlC,GADKG,EAAoBrN,IAAgB5B,EAAKiP,EAAqBrN,EAAeoN,GAC9EL,EAAaK,GAAkB,IAAK,IAAIE,KAAeN,EAEzD,GAAIK,EAAoBC,KAAiBN,EAAqBM,GAAc,IAC1ElP,EAAKiP,EAAqBC,EAAaN,EAAqBM,IAC5D,MAAO/W,GACP8W,EAAoBC,GAAeN,EAAqBM,O,oCCzB5D,IAAYC,EAAZ,2CAAYA,GACR,mCACA,+BACA,2BAHJ,CAAYA,MAAY,M,oCCD5B,kDACIC,OAAU7hB,EAId,IACI6hB,EAAUzD,OAEd,MAAO9c,IAWA,SAASwgB,EAAUC,GACtB,IAAI,UAA6B,IAAZF,EAArB,CAII,IAAIG,EAAKD,EACT,OAAOC,GAAMA,EAAGC,eAAiBD,EAAGC,cAAcC,YAAcF,EAAGC,cAAcC,YAAcL,K,oCCzBvG,wJAIWM,EAAgB,gBAAoB,CAC3C/D,OAA0B,iBAAXA,OAAsBA,YAASpe,IAKvCoiB,EAAY,WAAc,OAAO,aAAiBD,GAAe/D,QAIjEiE,EAAc,WAAc,IAAIrd,EAAI,OAAyD,QAAjDA,EAAK,aAAiBmd,GAAe/D,cAA2B,IAAPpZ,OAAgB,EAASA,EAAGiI,UAMjIqV,EAAiB,SAAU5c,GAClC,OAAO,gBAAoByc,EAAcI,SAAU,CAAEphB,MAAOuE,GAASA,EAAMP,Y,oCClB/E,IAAI9G,EAAI,EAAQ,QACZmkB,EAAc,EAAQ,QACtB9V,EAAS,EAAQ,QACjB0H,EAAM,EAAQ,QACd9V,EAAW,EAAQ,QACnB6V,EAAiB,EAAQ,QAAuCvG,EAChE6U,EAA4B,EAAQ,QAEpCC,EAAehW,EAAOiW,OAE1B,GAAIH,GAAsC,mBAAhBE,MAAiC,gBAAiBA,EAAaviB,iBAExDH,IAA/B0iB,IAAerI,aACd,CACD,IAAIuI,EAA8B,GAE9BC,EAAgB,WAClB,IAAIxI,EAAc1V,UAAU9E,OAAS,QAAsBG,IAAjB2E,UAAU,QAAmB3E,EAAYqB,OAAOsD,UAAU,IAChGlF,EAASG,gBAAgBijB,EACzB,IAAIH,EAAarI,QAEDra,IAAhBqa,EAA4BqI,IAAiBA,EAAarI,GAE9D,MADoB,KAAhBA,IAAoBuI,EAA4BnjB,IAAU,GACvDA,GAETgjB,EAA0BI,EAAeH,GACzC,IAAII,EAAkBD,EAAc1iB,UAAYuiB,EAAaviB,UAC7D2iB,EAAgB7iB,YAAc4iB,EAE9B,IAAIE,EAAiBD,EAAgBhhB,SACjCkhB,EAAyC,gBAAhC3hB,OAAOqhB,EAAa,SAC7BhP,EAAS,wBACbS,EAAe2O,EAAiB,cAAe,CAC7CtO,cAAc,EACd2M,IAAK,WACH,IAAI8B,EAAS3kB,EAASsB,MAAQA,KAAKsjB,UAAYtjB,KAC3CqU,EAAS8O,EAAe3iB,KAAK6iB,GACjC,GAAI7O,EAAIwO,EAA6BK,GAAS,MAAO,GACrD,IAAIE,EAAOH,EAAS/O,EAAOjV,MAAM,GAAI,GAAKiV,EAAOhF,QAAQyE,EAAQ,MACjE,MAAgB,KAATyP,OAAcnjB,EAAYmjB,KAIrC9kB,EAAE,CAAEqO,QAAQ,EAAMrN,QAAQ,GAAQ,CAChCsjB,OAAQE,M,oCC/CZ,sFAMIO,EAA+B,WAC/B,SAASA,IACLxjB,KAAKyjB,QAAU,GACfzjB,KAAK0jB,iBAAmB,GACxB1jB,KAAK2jB,gBAAkB,GAGvB3jB,KAAK4jB,cAAe,EAGpB5jB,KAAK6jB,uBAAwB,EAG7B7jB,KAAK8jB,2BAA4B,EA6JrC,OAtJAN,EAAcO,YAAc,WACxB,OAAO/jB,KAAKgkB,WAShBR,EAAcjjB,UAAU0jB,KAAO,SAAUH,GACrC9jB,KAAK8jB,0BAA4BA,GASrCN,EAAcjjB,UAAU2jB,SAAW,SAAUC,EAAaC,QACpC,IAAdA,IAAwBA,GAAY,GACxC,IAAIte,EAAQqe,EACPC,IAEDte,EAAQ9F,KAAKqkB,kBAAkBF,GAC/BnkB,KAAK2jB,gBAAgB7d,EAAMwe,aAAapiB,YAAc4D,GAG1D,IAAIye,EAAevkB,KAAKwkB,cAAc1e,GAMtC,GAJAse,EACOpkB,KAAK0jB,iBAAiBa,EAAaE,UAAYF,EAC/CvkB,KAAKyjB,QAAQc,EAAaE,UAAYF,EAEzCvkB,KAAK4jB,eAAiB5jB,KAAK8jB,0BAA2B,CACtD,IAAIY,EAAUN,EAAY,IAAaO,uBAAyB,IAAaC,aAC7E,IAAWC,MAAM7kB,KAAM0kB,EAAS,CAC5BI,OAAQhf,EACR2e,SAAUF,EAAaE,WAG/B,OAAOF,EAAaE,UAQxBjB,EAAcjjB,UAAUwkB,OAAS,SAAUZ,EAAaM,GACpD,IAAIO,EAAiBhlB,KAAKqkB,kBAAkBF,GACxCI,EAAevkB,KAAKwkB,cAAcQ,EAAgBP,GAClDQ,EAAYjlB,KAAKyjB,QAAQgB,GACzBQ,IAEAV,EAAaO,OAAOI,QAAUD,EAAUH,OAAOI,QAE/CllB,KAAKyjB,QAAQgB,GAAYF,SAElBvkB,KAAK2jB,gBAAgBsB,EAAUH,OAAOR,aAAapiB,YAC1DlC,KAAK2jB,gBAAgBY,EAAaO,OAAOR,aAAapiB,YAAcqiB,EAAaO,QAE7E9kB,KAAK4jB,cAAiB5jB,KAAK8jB,2BAC3B,IAAWe,MAAM7kB,KAAM,IAAamlB,eAAgB,CAChDL,OAAQP,EAAaO,OACrBL,SAAUF,EAAaE,aAYvCjB,EAAcjjB,UAAU6kB,WAAa,SAAUC,EAAgBZ,EAAUL,QACnD,IAAdA,IAAwBA,GAAY,GACxCA,SAAmBpkB,KAAK0jB,iBAAiBe,UAAmBzkB,KAAKyjB,QAAQgB,IACxEL,UAAoBpkB,KAAK2jB,gBAAgB0B,EAAef,aAAapiB,YACtE,IAAIgL,EAAQkX,EAAY,IAAakB,yBAA2B,IAAaC,gBAEzEvlB,KAAK4jB,cAAiB5jB,KAAK8jB,2BAC3B,IAAWe,MAAM7kB,KAAMkN,EAAO,CAC1B4X,OAAQO,EACRZ,SAAUA,KAOtBjB,EAAcjjB,UAAUilB,gBAAkB,WACtC,IAAWX,MAAM7kB,KAAM,IAAaylB,oBAKxCjC,EAAcjjB,UAAUmlB,eAAiB,WACrC,IAAWb,MAAM7kB,KAAM,IAAa2lB,mBAOxCnC,EAAcjjB,UAAUqlB,WAAa,WACjC,IAAI9b,EAAQ9J,KACZ,OAAOiC,OAAOU,KAAK3C,KAAKyjB,SAAS5I,KAAI,SAAUlX,GAAO,OAAOmG,EAAM2Z,QAAQ9f,GAAKmhB,WAQpFtB,EAAcjjB,UAAU8jB,kBAAoB,SAAUF,GAClD,IAAI0B,EAAe,yBAAe1B,EAAYG,cAE9C,GADAuB,EAAaC,MACe,IAAxBD,EAAa5lB,OAAc,CAC3B,IAAI8lB,EAAe/lB,KAAK2jB,gBAAgBkC,EAAa3jB,YACrD,GAAI6jB,GAAgBA,EAAaC,oBAC7B,OAAO,mBAAS,mBAAS,GAAI7B,GAAc,CAAE6B,oBAAqBD,EAAaC,sBAGvF,OAAO7B,GAKXX,EAAcjjB,UAAU0lB,YAAc,SAAUC,EAAyBC,GACrE,IAAWtB,MAAM7kB,KAAM,IAAaomB,yBAA0B,CAC1DF,wBAAyBA,EACzBC,gBAAiBA,KAUzB3C,EAAcjjB,UAAUikB,cAAgB,SAAUL,EAAaM,GAE3D,YADiB,IAAbA,IAAuBA,EAAW,eAC/B,CAAEK,OAAQ,mBAAS,GAAIX,GAAcM,SAAUA,IAE1DjB,EAAcQ,UAAY,IAAIR,EACvBA,EA1KuB,I,uBCNlC,IAAI1Q,EAAQ,EAAQ,QAChBuT,EAAc,EAAQ,QAM1BxiB,EAAOW,QAAU,SAAUud,GACzB,OAAOjP,GAAM,WACX,QAASuT,EAAYtE,MANf,aAMqCA,MAAyBsE,EAAYtE,GAAa9X,OAAS8X,O,oCCT1G,kDASO,SAASuE,EAAYnE,GACxB,IAAI,KAA8B,oBAAb9U,SAArB,CAII,IAAI+U,EAAKD,EACT,OAAOC,GAAMA,EAAGC,cAAgBD,EAAGC,cAAgBhV,Y,oCCf3D,oKAwDO,SAASkZ,IACZ,KAAM,UAAW,eACb,OAAO,EAEX,IAII,OAHA,IAAIC,QACJ,IAAIC,QAAQ,IACZ,IAAIC,UACG,EAEX,MAAOhlB,GACH,OAAO,GAOf,SAASilB,EAAcC,GACnB,OAAOA,GAAQ,mDAAmD9kB,KAAK8kB,EAAK1kB,YAQzE,SAAS2kB,IACZ,IAAKN,IACD,OAAO,EAEX,IAAIzZ,EAAS,cAGb,GAAI6Z,EAAc7Z,EAAOga,OACrB,OAAO,EAIX,IAAIjnB,GAAS,EACTknB,EAAMja,EAAOO,SAEjB,GAAI0Z,GAAoC,mBAAtBA,EAAIC,cAClB,IACI,IAAIC,EAAUF,EAAIC,cAAc,UAChCC,EAAQC,QAAS,EACjBH,EAAII,KAAKC,YAAYH,GACjBA,EAAQI,eAAiBJ,EAAQI,cAAcP,QAE/CjnB,EAAS8mB,EAAcM,EAAQI,cAAcP,QAEjDC,EAAII,KAAKG,YAAYL,GAEzB,MAAO7M,GACH,IAAOrP,KAAK,kFAAmFqP,GAGvG,OAAOva,EAiBJ,SAAS0nB,IAKZ,IAAKhB,IACD,OAAO,EAEX,IAII,OAHA,IAAIE,QAAQ,IAAK,CACbe,eAAgB,YAEb,EAEX,MAAO9lB,GACH,OAAO,GASR,SAAS+lB,IAIZ,IAAI3a,EAAS,cAGT4a,EAAS5a,EAAO4a,OAChBC,EAAsBD,GAAUA,EAAOE,KAAOF,EAAOE,IAAIC,QAEzDC,EAAgB,YAAahb,KAAYA,EAAOib,QAAQC,aAAelb,EAAOib,QAAQE,aAC1F,OAAQN,GAAuBG,I,uBCrKnC,IAAItT,EAAM,EAAQ,QACd0T,EAAW,EAAQ,QACnBC,EAAY,EAAQ,QACpBC,EAA2B,EAAQ,QAEnCC,EAAWF,EAAU,YACrBzb,EAAkBzK,OAAO1B,UAI7BsD,EAAOW,QAAU4jB,EAA2BnmB,OAAO4b,eAAiB,SAAU9d,GAE5E,OADAA,EAAImoB,EAASnoB,GACTyU,EAAIzU,EAAGsoB,GAAkBtoB,EAAEsoB,GACH,mBAAjBtoB,EAAEM,aAA6BN,aAAaA,EAAEM,YAChDN,EAAEM,YAAYE,UACdR,aAAakC,OAASyK,EAAkB,O,uBCfnD,IAAIoG,EAAQ,EAAQ,QAEpBjP,EAAOW,SAAWsO,GAAM,WACtB,SAASxD,KAET,OADAA,EAAE/O,UAAUF,YAAc,KACnB4B,OAAO4b,eAAe,IAAIvO,KAASA,EAAE/O,c,oCCIvC,SAAS+nB,EAAsBC,EAAeziB,EAAO0iB,IAT5D,mC,oCCAA,kCAAO,IAAIC,EAA0B,WACjC,GAA+B,oBAApBC,gBACP,MAAO,CAAEC,YAAY,EAAOC,QAAQ,GACxC,IAAID,EAAa,IAAID,gBAErB,MAAO,CAAEC,WAAYA,EAAYC,OADpBD,EAAWC,U,oCCH5B,IAAI9pB,EAAkB,EAAQ,QAC1B+pB,EAAmB,EAAQ,QAC3BC,EAAY,EAAQ,QACpBC,EAAsB,EAAQ,QAC9BC,EAAiB,EAAQ,QAGzBC,EAAmBF,EAAoBra,IACvCwa,EAAmBH,EAAoBI,UAFtB,kBAcrBtlB,EAAOW,QAAUwkB,EAAe1oB,MAAO,SAAS,SAAU8oB,EAAUC,GAClEJ,EAAiBjpB,KAAM,CACrB+b,KAhBiB,iBAiBjBxc,OAAQT,EAAgBsqB,GACxBE,MAAO,EACPD,KAAMA,OAIP,WACD,IAAIE,EAAQL,EAAiBlpB,MACzBT,EAASgqB,EAAMhqB,OACf8pB,EAAOE,EAAMF,KACbC,EAAQC,EAAMD,QAClB,OAAK/pB,GAAU+pB,GAAS/pB,EAAOU,QAC7BspB,EAAMhqB,YAASa,EACR,CAAEmB,WAAOnB,EAAW6T,MAAM,IAEvB,QAARoV,EAAuB,CAAE9nB,MAAO+nB,EAAOrV,MAAM,GACrC,UAARoV,EAAyB,CAAE9nB,MAAOhC,EAAO+pB,GAAQrV,MAAM,GACpD,CAAE1S,MAAO,CAAC+nB,EAAO/pB,EAAO+pB,IAASrV,MAAM,KAC7C,UAKH6U,EAAUU,UAAYV,EAAUxoB,MAGhCuoB,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,Y,oCCpDjB,kCAMO,IAAIY,EAAW,CAClBC,UAAW,EACXC,IAAK,EACLC,MAAO,GACPC,MAAO,GACPC,KAAM,GACNvjB,IAAK,GACLwjB,WAAY,GACZC,SAAU,GACVC,OAAQ,GACRC,MAAO,GACPC,OAAQ,GACRC,SAAU,GACVzqB,IAAK,GACL0qB,KAAM,GACNtK,KAAM,GACNuK,GAAI,GACJtK,MAAO,GACPuK,KAAM,GACNC,OAAQ,GACRC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,MAAO,GACPC,KAAM,GACNC,KAAM,GACNC,IAAK,GACLC,MAAO,GACPC,MAAO,GACPC,KAAM,GACNxmB,EAAG,GACHC,EAAG,GACHC,EAAG,GACHwE,EAAG,GACH3H,EAAG,GACHsM,EAAG,GACHwC,EAAG,GACH3B,EAAG,GACHvN,EAAG,GACH8pB,EAAG,GACHlrB,EAAG,GACHoR,EAAG,GACHrC,EAAG,GACHnP,EAAG,GACHurB,EAAG,GACH7hB,EAAG,GACH+G,EAAG,GACHgB,EAAG,GACH+Z,EAAG,GACH7Z,EAAG,GACHJ,EAAG,GACHlC,EAAG,GACHM,EAAG,GACHgB,EAAG,GACHS,EAAG,GACHF,EAAG,GACHua,WAAY,GACZC,YAAa,GACbC,OAAQ,GAERC,YAAa,GACbC,WAAY,GACZC,WAAY,GACZC,aAAc,GACdC,YAAa,IACbC,YAAa,IACbC,WAAY,IACZC,aAAc,IACdC,aAAc,IACdC,YAAa,IAEbC,SAAU,IACVC,IAAK,IACLC,SAAU,IACVC,aAAc,IACdC,OAAQ,IACRC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,QAAS,IACTC,WAAY,IACZC,UAAW,IACXC,UAAW,IACXC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,aAAc,IACdC,YAAa,IACbC,YAAa,IACbC,UAAW,IACXC,aAAc,IACdC,YAAa,M,uBC3GjB,IAAIxhB,EAAW,EAAQ,QAEvB5I,EAAOW,QAAU,SAAUjF,EAAQ2uB,EAAKjpB,GACtC,IAAK,IAAItB,KAAOuqB,EAAKzhB,EAASlN,EAAQoE,EAAKuqB,EAAIvqB,GAAMsB,GACrD,OAAO1F,I,0ICCT,IAAI4uB,EAAkB,WAAc,OAAOlsB,OAAOwH,OAAO,OAErDrE,EAAK9E,MAAMC,UAAWmD,EAAU0B,EAAG1B,QAAStE,EAAQgG,EAAGhG,MACvDgvB,EAAsB,WACtB,SAASA,EAAKC,EAAUC,QACH,IAAbD,IAAuBA,GAAW,QACrB,IAAbC,IAAuBA,EAAWH,GACtCnuB,KAAKquB,SAAWA,EAChBruB,KAAKsuB,SAAWA,EAuBpB,OArBAF,EAAK7tB,UAAUguB,OAAS,WAEpB,IADA,IAAIC,EAAQ,GACHhjB,EAAK,EAAGA,EAAKzG,UAAU9E,OAAQuL,IACpCgjB,EAAMhjB,GAAMzG,UAAUyG,GAE1B,OAAOxL,KAAKyuB,YAAYD,IAE5BJ,EAAK7tB,UAAUkuB,YAAc,SAAUD,GACnC,IAAIE,EAAO1uB,KAEX,OADA0D,EAAQlD,KAAKguB,GAAO,SAAU7qB,GAAO,OAAO+qB,EAAOA,EAAKC,aAAahrB,MAC9D+qB,EAAKvqB,OAASuqB,EAAKvqB,KAAOnE,KAAKsuB,SAASlvB,EAAMoB,KAAKguB,MAE9DJ,EAAK7tB,UAAUouB,aAAe,SAAUhrB,GACpC,IAAIkX,EAAM7a,KAAKquB,UAUvB,SAAkB9sB,GACd,cAAeA,GACX,IAAK,SACD,GAAc,OAAVA,EACA,MAER,IAAK,WACD,OAAO,EAEf,OAAO,EAnBwBqtB,CAASjrB,GAC9B3D,KAAK6uB,OAAS7uB,KAAK6uB,KAAO,IAAIC,SAC9B9uB,KAAK+uB,SAAW/uB,KAAK+uB,OAAS,IAAIC,KACpCxc,EAAQqI,EAAI0G,IAAI5d,GAGpB,OAFK6O,GACDqI,EAAInM,IAAI/K,EAAK6O,EAAQ,IAAI4b,EAAKpuB,KAAKquB,SAAUruB,KAAKsuB,WAC/C9b,GAEJ4b,EA5Bc,G,gBCHzB,SAASa,KACT,IAuFI,EAvFAC,EAAuB,WACvB,SAASA,EAAM7vB,EAAK8vB,QACJ,IAAR9vB,IAAkBA,EAAM+vB,UACZ,IAAZD,IAAsBA,EAAUF,GACpCjvB,KAAKX,IAAMA,EACXW,KAAKmvB,QAAUA,EACfnvB,KAAK6a,IAAM,IAAImU,IACfhvB,KAAKqvB,OAAS,KACdrvB,KAAKsvB,OAAS,KA0ElB,OAxEAJ,EAAM3uB,UAAUiU,IAAM,SAAU7Q,GAC5B,OAAO3D,KAAK6a,IAAIrG,IAAI7Q,IAExBurB,EAAM3uB,UAAUghB,IAAM,SAAU5d,GAC5B,IAAI+qB,EAAO1uB,KAAKuvB,QAAQ5rB,GACxB,OAAO+qB,GAAQA,EAAKntB,OAExB2tB,EAAM3uB,UAAUgvB,QAAU,SAAU5rB,GAChC,IAAI+qB,EAAO1uB,KAAK6a,IAAI0G,IAAI5d,GACxB,GAAI+qB,GAAQA,IAAS1uB,KAAKqvB,OAAQ,CAC9B,IAAIG,EAAQd,EAAKc,MAAOC,EAAQf,EAAKe,MACjCA,IACAA,EAAMD,MAAQA,GAEdA,IACAA,EAAMC,MAAQA,GAElBf,EAAKc,MAAQxvB,KAAKqvB,OAClBX,EAAKc,MAAMC,MAAQf,EACnBA,EAAKe,MAAQ,KACbzvB,KAAKqvB,OAASX,EACVA,IAAS1uB,KAAKsvB,SACdtvB,KAAKsvB,OAASG,GAGtB,OAAOf,GAEXQ,EAAM3uB,UAAUmO,IAAM,SAAU/K,EAAKpC,GACjC,IAAImtB,EAAO1uB,KAAKuvB,QAAQ5rB,GACxB,OAAI+qB,EACOA,EAAKntB,MAAQA,GAExBmtB,EAAO,CACH/qB,IAAKA,EACLpC,MAAOA,EACPkuB,MAAO,KACPD,MAAOxvB,KAAKqvB,QAEZrvB,KAAKqvB,SACLrvB,KAAKqvB,OAAOI,MAAQf,GAExB1uB,KAAKqvB,OAASX,EACd1uB,KAAKsvB,OAAStvB,KAAKsvB,QAAUZ,EAC7B1uB,KAAK6a,IAAInM,IAAI/K,EAAK+qB,GACXA,EAAKntB,QAEhB2tB,EAAM3uB,UAAUmvB,MAAQ,WACpB,KAAO1vB,KAAKsvB,QAAUtvB,KAAK6a,IAAI8U,KAAO3vB,KAAKX,KACvCW,KAAK4vB,OAAO5vB,KAAKsvB,OAAO3rB,MAGhCurB,EAAM3uB,UAAUqvB,OAAS,SAAUjsB,GAC/B,IAAI+qB,EAAO1uB,KAAK6a,IAAI0G,IAAI5d,GACxB,QAAI+qB,IACIA,IAAS1uB,KAAKqvB,SACdrvB,KAAKqvB,OAASX,EAAKc,OAEnBd,IAAS1uB,KAAKsvB,SACdtvB,KAAKsvB,OAASZ,EAAKe,OAEnBf,EAAKe,QACLf,EAAKe,MAAMD,MAAQd,EAAKc,OAExBd,EAAKc,QACLd,EAAKc,MAAMC,MAAQf,EAAKe,OAE5BzvB,KAAK6a,IAAI+U,OAAOjsB,GAChB3D,KAAKmvB,QAAQT,EAAKntB,MAAOoC,IAClB,IAIRurB,EAlFe,GAqFtBW,EAAkB,IAAI,IAGtB,EAAiB5tB,OAAO1B,UAAU+D,eAOtCwrB,OAAmC,KAAxB,EAAKxvB,MAAMuf,MAAsB,SAAU9G,GAClD,IAAIyV,EAAQ,GAEZ,OADAzV,EAAWrV,SAAQ,SAAUqsB,GAAQ,OAAOvB,EAAMhtB,KAAKuuB,MAChDvB,GACP,EACJ,SAASwB,EAAiBC,GACtB,IAAIC,EAAcD,EAAWC,YACF,mBAAhBA,IACPD,EAAWC,iBAAc,EACzBA,KAIR,IAAIC,EAAe,GAInB,SAASC,EAAO9lB,EAAW+lB,GACvB,IAAK/lB,EACD,MAAM,IAAI1H,MAAMytB,GAAmB,qBAa3C,SAASC,EAAS/uB,GACd,OAAQA,EAAMtB,QACV,KAAK,EAAG,MAAM,IAAI2C,MAAM,iBACxB,KAAK,EAAG,OAAOrB,EAAM,GACrB,KAAK,EAAG,MAAMA,EAAM,IAM5B,IAAIgvB,EAAuB,WACvB,SAASA,EAAM9rB,GACXzE,KAAKyE,GAAKA,EACVzE,KAAKwwB,QAAU,IAAIC,IACnBzwB,KAAK0wB,YAAc,IAAI1B,IAIvBhvB,KAAK2wB,cAAgB,KACrB3wB,KAAK4wB,OAAQ,EACb5wB,KAAK6wB,aAAc,EACnB7wB,KAAKuB,MAAQ,GACbvB,KAAK8wB,KAAO,OACVP,EAAMQ,MA8EZ,OA5EAR,EAAMhwB,UAAUywB,KAAO,WACnB,GAA0B,IAAtBhxB,KAAKuB,MAAMtB,SAAiBgxB,EAAajxB,MAEzC,OADAkxB,EAAelxB,MACRA,KAAKuB,MAAM,IAS1BgvB,EAAMhwB,UAAU4wB,UAAY,SAAU3X,GAGlC,OAFA4W,GAAQpwB,KAAK6wB,YAAa,uBAC1BK,EAAelxB,MACRixB,EAAajxB,MA+E5B,SAAyBoxB,EAAO5X,GAC5B6X,EAAeD,GAEfvB,EAAgByB,UAAUF,EAAOG,EAAmB,CAACH,EAAO5X,IA4HhE,SAAwB4X,EAAO5X,GAC3B,GAA+B,mBAApB4X,EAAMI,UACb,IACIxB,EAAiBoB,GACjBA,EAAMlB,YAAckB,EAAMI,UAAU1sB,MAAM,KAAM0U,GAEpD,MAAO9X,GAMH,OADA0vB,EAAMK,YACC,EAKf,OAAO,EA5IHC,CAAeN,EAAO5X,IAyB9B,SAAkB4X,GAEd,GADAA,EAAMR,OAAQ,EACVK,EAAaG,GAGb,OAEJO,EAAYP,GA7BRQ,CAASR,GAEb,OAAOd,EAASc,EAAM7vB,OAvFZswB,CAAgB7xB,KAAMwZ,GACtB8W,EAAStwB,KAAKuB,QAExBgvB,EAAMhwB,UAAUkxB,SAAW,WACnBzxB,KAAK4wB,QAET5wB,KAAK4wB,OAAQ,EACb5wB,KAAKuB,MAAMtB,OAAS,EACpB6xB,EAAY9xB,MAIZgwB,EAAiBhwB,QAErBuwB,EAAMhwB,UAAU4uB,QAAU,WACtB,IAAIrlB,EAAQ9J,KACZA,KAAKyxB,WAILJ,EAAerxB,MAYf+xB,EAAW/xB,MAAM,SAAUuS,EAAQC,GAC/BD,EAAOkf,WACPO,EAAYzf,EAAQzI,OAG5BymB,EAAMhwB,UAAU0xB,OAAS,WAIrBjyB,KAAKmvB,WAEToB,EAAMhwB,UAAU2xB,SAAW,SAAUC,GACjCA,EAAI9F,IAAIrsB,MACHA,KAAK8wB,OACN9wB,KAAK8wB,KAAOX,EAAarK,OAAS,IAAI2K,KAE1CzwB,KAAK8wB,KAAKzE,IAAI8F,IAElB5B,EAAMhwB,UAAU6xB,WAAa,WACzB,IAAItoB,EAAQ9J,KACRA,KAAK8wB,OACLhB,EAAQ9vB,KAAK8wB,MAAMptB,SAAQ,SAAUyuB,GAAO,OAAOA,EAAIvC,OAAO9lB,MAC9D9J,KAAK8wB,KAAKuB,QACVlC,EAAa3uB,KAAKxB,KAAK8wB,MACvB9wB,KAAK8wB,KAAO,OAGpBP,EAAMQ,MAAQ,EACPR,EA3Fe,GA6F1B,SAASW,EAAe1e,GACpB,IAAID,EAASsd,EAAgByC,WAC7B,GAAI/f,EAWA,OAVAC,EAAMge,QAAQnE,IAAI9Z,GACbA,EAAOme,YAAYlc,IAAIhC,IACxBD,EAAOme,YAAYhiB,IAAI8D,EAAO,IAE9Bye,EAAaze,GACb+f,EAAiBhgB,EAAQC,GAGzBggB,EAAiBjgB,EAAQC,GAEtBD,EAcf,SAASgf,EAAkBH,EAAO5X,GAC9B4X,EAAMP,aAAc,EAEpBO,EAAM7vB,MAAMtB,OAAS,EACrB,IAEImxB,EAAM7vB,MAAM,GAAK6vB,EAAM3sB,GAAGK,MAAM,KAAM0U,GAE1C,MAAO9X,GAEH0vB,EAAM7vB,MAAM,GAAKG,EAGrB0vB,EAAMP,aAAc,EAExB,SAASI,EAAaG,GAClB,OAAOA,EAAMR,UAAYQ,EAAMT,gBAAiBS,EAAMT,cAAchB,MAWxE,SAASmC,EAAYtf,GACjBuf,EAAWvf,EAAO+f,GAEtB,SAASZ,EAAYnf,GACjBuf,EAAWvf,EAAOggB,GAEtB,SAAST,EAAWvf,EAAOqJ,GACvB,IAAI4W,EAAcjgB,EAAMge,QAAQb,KAChC,GAAI8C,EAEA,IADA,IAAIjC,EAAUV,EAAQtd,EAAMge,SACnBlvB,EAAI,EAAGA,EAAImxB,IAAenxB,EAC/Bua,EAAS2U,EAAQlvB,GAAIkR,GAKjC,SAAS+f,EAAiBhgB,EAAQC,GAG9B4d,EAAO7d,EAAOme,YAAYlc,IAAIhC,IAC9B4d,EAAOa,EAAaze,IACpB,IAAIkgB,GAAkBzB,EAAa1e,GACnC,GAAKA,EAAOoe,eAGP,GAAIpe,EAAOoe,cAAcnc,IAAIhC,GAI9B,YANAD,EAAOoe,cAAgBR,EAAarK,OAAS,IAAI2K,IAQrDle,EAAOoe,cAActE,IAAI7Z,GAGrBkgB,GACAZ,EAAYvf,GAIpB,SAASigB,EAAiBjgB,EAAQC,GAG9B4d,EAAO7d,EAAOme,YAAYlc,IAAIhC,IAC9B4d,GAAQa,EAAaze,IACrB,IAnNa7N,EAAGC,EACZ+tB,EAkNAC,EAAargB,EAAOme,YAAYnP,IAAI/O,GACd,IAAtBogB,EAAW3yB,OACXsS,EAAOme,YAAYhiB,IAAI8D,EAAiBA,EAAMjR,MAnMrCnC,MAAM,KAlBNuF,EAuNKiuB,EAvNFhuB,EAuNc4N,EAAMjR,OAtNhCoxB,EAAMhuB,EAAE1E,QAGN,GAEF0yB,IAAQ/tB,EAAE3E,QAEV0E,EAAEguB,EAAM,KAAO/tB,EAAE+tB,EAAM,IAgNvBpgB,EAAOkf,YAEXoB,EAAiBtgB,EAAQC,GACrBye,EAAa1e,IAGjBof,EAAYpf,GAEhB,SAASsgB,EAAiBtgB,EAAQC,GAC9B,IAAIsgB,EAAKvgB,EAAOoe,cACZmC,IACAA,EAAGlD,OAAOpd,GACM,IAAZsgB,EAAGnD,OACCQ,EAAalwB,OA7ON,KA8OPkwB,EAAa3uB,KAAKsxB,GAEtBvgB,EAAOoe,cAAgB,OAMnC,SAASU,EAAe9e,GAChBA,EAAOme,YAAYf,KAAO,GAC1Bpd,EAAOme,YAAYhtB,SAAQ,SAAUqvB,EAAQvgB,GACzCwf,EAAYzf,EAAQC,MAK5BD,EAAO6f,aAGPhC,EAAgC,OAAzB7d,EAAOoe,eAElB,SAASqB,EAAYzf,EAAQC,GACzBA,EAAMge,QAAQZ,OAAOrd,GACrBA,EAAOme,YAAYd,OAAOpd,GAC1BqgB,EAAiBtgB,EAAQC,GAsB7B,IAAIwgB,EAAe,CACfvB,UAAU,EACVtC,SAAS,EACT8C,QAAQ,GAEZ,SAASE,EAAIltB,GACT,IAAIguB,EAAY,IAAIjE,IAChBwC,EAAYvsB,GAAWA,EAAQusB,UACnC,SAAS0B,EAAOvvB,GACZ,IAAI4O,EAASsd,EAAgByC,WAC7B,GAAI/f,EAAQ,CACR,IAAI4gB,EAAQF,EAAU1R,IAAI5d,GACrBwvB,GACDF,EAAUvkB,IAAI/K,EAAKwvB,EAAQ,IAAI1C,KAEnCle,EAAO2f,SAASiB,GACS,mBAAd3B,IACPxB,EAAiBmD,GACjBA,EAAMjD,YAAcsB,EAAU7tB,KAiB1C,OAbAuvB,EAAOtC,MAAQ,SAAejtB,EAAKyvB,GAC/B,IAAIjB,EAAMc,EAAU1R,IAAI5d,GACxB,GAAIwuB,EAAK,CACL,IAAIkB,EAAOD,GACP,EAAe5yB,KAAKwyB,EAAcI,GAAoBA,EAAkB,WAI5EtD,EAAQqC,GAAKzuB,SAAQ,SAAU0tB,GAAS,OAAOA,EAAMiC,QACrDJ,EAAUrD,OAAOjsB,GACjBqsB,EAAiBmC,KAGlBe,EAGX,SAASI,IACL,IAAIC,EAAU,IAAInF,EAAwB,mBAAZU,SAC9B,OAAO,WACH,OAAOyE,EAAQ9E,YAAY1pB,YAUTuuB,IAA1B,IACIE,EAAS,IAAI/C,IACjB,SAASgD,EAAKC,EAAkBzuB,QACZ,IAAZA,IAAsBA,EAAUhD,OAAOwH,OAAO,OAClD,IAAIkqB,EAAQ,IAAIzE,EAAMjqB,EAAQ5F,KAAOC,KAAKs0B,IAAI,EAAG,KAAK,SAAUxC,GAAS,OAAOA,EAAMjC,aAClF0E,EAAU5uB,EAAQ4uB,QAClBC,EAAe7uB,EAAQ6uB,cACvBR,IACAnd,EAAa,WACb,IAAIxS,EAAMmwB,EAAahvB,MAAM,KAAM+uB,EAAUA,EAAQ/uB,MAAM,KAAMC,WAAaA,WAC9E,QAAY,IAARpB,EACA,OAAO+vB,EAAiB5uB,MAAM,KAAMC,WAExC,IAAIqsB,EAAQuC,EAAMpS,IAAI5d,GACjBytB,IACDuC,EAAMjlB,IAAI/K,EAAKytB,EAAQ,IAAIb,EAAMmD,IACjCtC,EAAMI,UAAYvsB,EAAQusB,UAG1BJ,EAAMa,OAAS,WAAc,OAAO0B,EAAM/D,OAAOjsB,KAErD,IAAIpC,EAAQ6vB,EAAMD,UAAU7wB,MAAMC,UAAUnB,MAAMoB,KAAKuE,YAYvD,OATA4uB,EAAMjlB,IAAI/K,EAAKytB,GACfoC,EAAOnH,IAAIsH,GAIN9D,EAAgBkE,aACjBP,EAAO9vB,SAAQ,SAAUiwB,GAAS,OAAOA,EAAMjE,WAC/C8D,EAAOnB,SAEJ9wB,GASX,SAASyyB,EAASrwB,GACd,IAAIytB,EAAQuC,EAAMpS,IAAI5d,GAClBytB,GACAA,EAAMK,WAOd,SAASwC,EAAQtwB,GACb,IAAIytB,EAAQuC,EAAMpS,IAAI5d,GACtB,GAAIytB,EACA,OAAOA,EAAMJ,OAOrB,SAASkD,EAAUvwB,GACf,OAAOgwB,EAAM/D,OAAOjsB,GAUxB,OAtCA1B,OAAOsS,eAAe4B,EAAY,OAAQ,CACtCoL,IAAK,WACD,OAAOoS,EAAW,IAAEhE,MAExB/a,cAAc,EACdzG,YAAY,IAQhBgI,EAAW6d,SAAWA,EACtB7d,EAAWya,MAAQ,WACfoD,EAASF,EAAahvB,MAAM,KAAMC,aAQtCoR,EAAW8d,QAAUA,EACrB9d,EAAW6a,KAAO,WACd,OAAOiD,EAAQH,EAAahvB,MAAM,KAAMC,aAK5CoR,EAAW+d,UAAYA,EACvB/d,EAAW8b,OAAS,WAChB,OAAOiC,EAAUJ,EAAahvB,MAAM,KAAMC,aAE9CoR,EAAW2d,aAAeA,EAC1B3d,EAAWge,OAASN,EAAU,WAC1B,OAAOC,EAAahvB,MAAM,KAAM+uB,EAAQ/uB,MAAM,KAAMC,aACpD+uB,EACG7xB,OAAO+c,OAAO7I,K,oCC3gBzB,qYAGO,SAASie,EAAc9d,GAC1B,MAAO,CAAE+d,MAAO5yB,OAAO6U,IAEpB,SAASge,EAAY5qB,GACxB,OAAO6qB,QAAQ7qB,GAAsB,iBAARA,GAAyC,iBAAdA,EAAI2qB,OA6BzD,SAASG,EAA4BC,EAAQxqB,EAAM1I,EAAOgV,GAC7D,GAtBJ,SAAoBhV,GAChB,MAAsB,aAAfA,EAAM8nB,KAqBTqL,CAAWnzB,IAnBnB,SAAsBA,GAClB,MAAsB,eAAfA,EAAM8nB,KAkBYsL,CAAapzB,GAClCkzB,EAAOxqB,EAAK1I,OAASqzB,OAAOrzB,EAAMA,YAEjC,GA5BT,SAAwBA,GACpB,MAAsB,iBAAfA,EAAM8nB,KA2BJwL,CAAetzB,IA/B5B,SAAuBA,GACnB,MAAsB,gBAAfA,EAAM8nB,KA8BqByL,CAAcvzB,GAC5CkzB,EAAOxqB,EAAK1I,OAASA,EAAMA,WAE1B,GAnBT,SAAuBA,GACnB,MAAsB,gBAAfA,EAAM8nB,KAkBJ0L,CAAcxzB,GAAQ,CAC3B,IAAIyzB,EAAiB,GACrBzzB,EAAM0zB,OAAOpa,KAAI,SAAUnR,GACvB,OAAO8qB,EAA4BQ,EAAgBtrB,EAAIO,KAAMP,EAAInI,MAAOgV,MAE5Eke,EAAOxqB,EAAK1I,OAASyzB,OAEpB,GA7BT,SAAoBzzB,GAChB,MAAsB,aAAfA,EAAM8nB,KA4BJ6L,CAAW3zB,GAAQ,CACxB,IAAI4zB,GAAiB5e,GAAa,IAAIhV,EAAM0I,KAAK1I,OACjDkzB,EAAOxqB,EAAK1I,OAAS4zB,OAEpB,GA3BT,SAAqB5zB,GACjB,MAAsB,cAAfA,EAAM8nB,KA0BJ+L,CAAY7zB,GACjBkzB,EAAOxqB,EAAK1I,OAASA,EAAMqgB,OAAO/G,KAAI,SAAUwa,GAC5C,IAAIC,EAAoB,GAExB,OADAd,EAA4Bc,EAAmBrrB,EAAMorB,EAAW9e,GACzD+e,EAAkBrrB,EAAK1I,eAGjC,GA/BT,SAAqBA,GACjB,MAAsB,cAAfA,EAAM8nB,KA8BJkM,CAAYh0B,GACjBkzB,EAAOxqB,EAAK1I,OAASA,EAAMA,UAE1B,KA/BT,SAAqBA,GACjB,MAAsB,cAAfA,EAAM8nB,KA8BJmM,CAAYj0B,GAIjB,MAA8C,IAAI,IAAe,IAHjEkzB,EAAOxqB,EAAK1I,OAAS,MAQtB,SAASk0B,EAAsBC,EAAOnf,GACzC,IAAIof,EAAgB,KAChBD,EAAME,aACND,EAAgB,GAChBD,EAAME,WAAWlyB,SAAQ,SAAUmyB,GAC/BF,EAAcE,EAAU5rB,KAAK1I,OAAS,GAClCs0B,EAAU9wB,WACV8wB,EAAU9wB,UAAUrB,SAAQ,SAAU0B,GAClC,IAAI6E,EAAO7E,EAAG6E,KAAM1I,EAAQ6D,EAAG7D,MAC/B,OAAOizB,EAA4BmB,EAAcE,EAAU5rB,KAAK1I,OAAQ0I,EAAM1I,EAAOgV,UAKrG,IAAIke,EAAS,KAQb,OAPIiB,EAAM3wB,WAAa2wB,EAAM3wB,UAAU9E,SACnCw0B,EAAS,GACTiB,EAAM3wB,UAAUrB,SAAQ,SAAU0B,GAC9B,IAAI6E,EAAO7E,EAAG6E,KAAM1I,EAAQ6D,EAAG7D,MAC/B,OAAOizB,EAA4BC,EAAQxqB,EAAM1I,EAAOgV,OAGzDuf,EAAgBJ,EAAMzrB,KAAK1I,MAAOkzB,EAAQkB,GAErD,IAAII,EAAmB,CACnB,aACA,UACA,OACA,SACA,OACA,UAEG,SAASD,EAAgBE,EAAWxc,EAAMoc,GAC7C,GAAIpc,GACAoc,GACAA,EAAuB,YACvBA,EAAuB,WAAO,IAAG,CACjC,GAAIA,EAAuB,WAAU,QACjCA,EAAuB,WAAU,OAAE31B,OAAS,EAAG,CAC/C,IAAIg2B,EAAaL,EAAuB,WAAU,OAC5CA,EAAuB,WAAU,OACjC,GACNK,EAAWC,OACX,IAAIC,EAAiB,GAIrB,OAHAF,EAAWvyB,SAAQ,SAAUC,GACzBwyB,EAAexyB,GAAO6V,EAAK7V,MAExBiyB,EAAuB,WAAO,IAAI,IAAMxxB,KAAKC,UAAU8xB,GAAkB,IAGhF,OAAOP,EAAuB,WAAO,IAG7C,IAAIQ,EAAoBJ,EACxB,GAAIxc,EAAM,CACN,IAAI6c,EAAkB,IAAU7c,GAChC4c,GAAqB,IAAMC,EAAkB,IAcjD,OAZIT,GACA3zB,OAAOU,KAAKizB,GAAYlyB,SAAQ,SAAUC,IACC,IAAnCoyB,EAAiBh0B,QAAQ4B,KAEzBiyB,EAAWjyB,IAAQ1B,OAAOU,KAAKizB,EAAWjyB,IAAM1D,OAChDm2B,GAAqB,IAAMzyB,EAAM,IAAMS,KAAKC,UAAUuxB,EAAWjyB,IAAQ,IAGzEyyB,GAAqB,IAAMzyB,MAIhCyyB,EAEJ,SAASE,EAAyBZ,EAAOnf,GAC5C,GAAImf,EAAM3wB,WAAa2wB,EAAM3wB,UAAU9E,OAAQ,CAC3C,IAAIs2B,EAAW,GAKf,OAJAb,EAAM3wB,UAAUrB,SAAQ,SAAU0B,GAC9B,IAAI6E,EAAO7E,EAAG6E,KAAM1I,EAAQ6D,EAAG7D,MAC/B,OAAOizB,EAA4B+B,EAAUtsB,EAAM1I,EAAOgV,MAEvDggB,EAEX,OAAO,KAEJ,SAASC,EAAuBd,GACnC,OAAOA,EAAMe,MAAQf,EAAMe,MAAMl1B,MAAQm0B,EAAMzrB,KAAK1I,MAEjD,SAASm1B,EAAsB72B,EAAQ82B,EAAcC,GACxD,GAAiC,iBAAtB/2B,EAAOg3B,WACd,OAAOh3B,EAAOg3B,WAElB,IAAK,IAAIrrB,EAAK,EAAGpG,EAAKuxB,EAAaG,WAAYtrB,EAAKpG,EAAGnF,OAAQuL,IAAM,CACjE,IAAIurB,EAAY3xB,EAAGoG,GACnB,GAAIwrB,EAAQD,IACR,GAA6B,eAAzBA,EAAU9sB,KAAK1I,MACf,OAAO1B,EAAO22B,EAAuBO,QAGxC,CACD,IAAIE,EAAWP,EAAsB72B,EAAQ,YAAyBk3B,EAAWH,GAAaD,aAAcC,GAC5G,GAAwB,iBAAbK,EACP,OAAOA,IAKhB,SAASD,EAAQD,GACpB,MAA0B,UAAnBA,EAAU1N,KAEd,SAAS6N,EAAiBH,GAC7B,MAA0B,mBAAnBA,EAAU1N,O,oCCtLrB,kDACW8N,EAAoB,gBAAoB,CAC/CC,eAAgB,CACZC,qBAAqB,EACrBC,SAAU,GACVC,eAAgB,O,qCCLxB,gFAEA,IAAIC,EAAsC,WAStC,OARAA,EAAWv1B,OAAOw1B,QAAU,SAAShmB,GACjC,IAAK,IAAI6Z,EAAGhqB,EAAI,EAAGxB,EAAIiF,UAAU9E,OAAQqB,EAAIxB,EAAGwB,IAE5C,IAAK,IAAIkI,KADT8hB,EAAIvmB,UAAUzD,GACOW,OAAO1B,UAAU+D,eAAe9D,KAAK8qB,EAAG9hB,KACzDiI,EAAEjI,GAAK8hB,EAAE9hB,IAEjB,OAAOiI,IAEK3M,MAAM9E,KAAM+E,YAI5B2yB,EAA0B,oBAAXlZ,OAAyB1R,EAAS0R,OAEjDmZ,EAAcD,GAASA,EAAME,aAAeF,EAAME,YAAYC,MAC9DC,EAiBJ,WACI,IAAIvO,EAAQmO,EAAMK,gBAAkB,CAChCC,WAAO53B,EACP63B,sBAAkB73B,EAClB83B,iBAAkB,IAEjB3O,EAAM4O,WACP5O,EAAQiO,EAASA,EAAS,GAAIjO,GAAQ,CAAE6O,KAAM,CACtCrH,MAAO,EACPsH,SAAU,GACXF,SAAU,CACTG,WAAY,EACZC,KAAM,EACNC,OAAQ,OAGfjP,EAAMkP,2BACPlP,EAAQiO,EAASA,EAAS,GAAIjO,GAAQ,CAAEkP,yBAA0B,MAGtE,OADAf,EAAMK,eAAiBxO,EAChBA,EArCOmP,GAIdC,EAAmB,iHACnBC,EAAM,WACN,MAA8B,oBAAhBC,aAAiCA,YAAYD,IAAMC,YAAYD,MAAQE,KAAKF,OAE9F,SAASG,EAAQnS,GACb,IAAIlnB,EAAQk5B,IACZhS,IACA,IAAIjnB,EAAMi5B,IACVd,EAAYM,KAAKC,UAAY14B,EAAMD,EAiChC,SAASs5B,EAAWhtB,EAAQitB,QACb,IAAdA,IAAwBA,GAAY,GACxCF,GAAQ,WACJ,IAAIG,EAAa54B,MAAM3B,QAAQqN,GAAUA,EAASmtB,EAAYntB,GAC1D5G,EAAK0yB,EAAYK,SAAUI,EAAOnzB,EAAGmzB,KAAMC,EAASpzB,EAAGozB,OAAQF,EAAalzB,EAAGkzB,WAC/EW,GAAsB,IAATV,GACbC,EAAOh3B,KAAK03B,GACPZ,IACDR,EAAYK,SAASG,WAwC1Bc,YAAW,WACdtB,EAAYK,SAASG,WAAa,EAdtCS,GAAQ,WACJ,IAAIM,EAAcvB,EAAYK,SAASK,OAAOp5B,QAC9C04B,EAAYK,SAASK,OAAS,GAC9B,IAAIc,EAAmB,GAAGhtB,OAAOxH,MAAM,GAAIu0B,GACvCC,EAAiBr5B,OAAS,GAC1Bs5B,EAAoBD,QAWzB,KAvCKC,EAAoBL,MA+ChC,SAASK,EAAoBC,EAAaC,GAClC3B,EAAYkB,WACZlB,EAAYkB,WAAWU,EAAqBF,GAAaG,YAAaH,GA4I9E,SAAwBI,GACpB,GAAwB,oBAAbvsB,SACP,OAEJ,IAAI8Z,EAAO9Z,SAASwsB,qBAAqB,QAAQ,GAC7CC,EAAezsB,SAAS2Z,cAAc,SACtC5hB,EAAKs0B,EAAqBE,GAAaD,EAAcv0B,EAAGu0B,YAAaI,EAAW30B,EAAG20B,SACvFD,EAAaE,aAAa,0BAA2B,QACjDrC,GACAmC,EAAaE,aAAa,QAASrC,GAEvCmC,EAAa1S,YAAY/Z,SAAS4sB,eAAeN,IACjD7B,EAAYM,KAAKrH,QACjB5J,EAAKC,YAAY0S,GACjB,IAAII,EAAK7sB,SAASC,YAAY,cAC9B4sB,EAAG3sB,UAAU,eAAe,GAAwB,GACpD2sB,EAAG1gB,KAAO,CACN2gB,SAAUL,GAEdzsB,SAASI,cAAcysB,GACvB,IAAIE,EAAS,CACTN,aAAcA,EACdO,cAAeT,GAEfG,EACAjC,EAAYW,yBAAyBj3B,KAAK44B,GAG1CtC,EAAYI,iBAAiB12B,KAAK44B,GArKlCE,CAAed,GAQhB,SAASe,EAAUvC,GACtBF,EAAYE,MAAQA,EA+BxB,WACI,GAAIF,EAAYE,MAAO,CAEnB,IADA,IAAIwC,EAAiB,GACZhvB,EAAK,EAAGpG,EAAK0yB,EAAYW,yBAA0BjtB,EAAKpG,EAAGnF,OAAQuL,IAAM,CAC9E,IAAIiuB,EAAcr0B,EAAGoG,GACrBgvB,EAAeh5B,KAAKi4B,EAAYY,eAEhCG,EAAev6B,OAAS,KA7B7B,SAAqBw6B,QACT,IAAXA,IAAqBA,EAAS,GACnB,IAAXA,GAAqC,IAAXA,IAC1BC,EAAoB5C,EAAYI,kBAChCJ,EAAYI,iBAAmB,IAEpB,IAAXuC,GAAqC,IAAXA,IAC1BC,EAAoB5C,EAAYW,0BAChCX,EAAYW,yBAA2B,IAsBnCkC,CAAY,GACZpB,EAAoB,GAAGjtB,OAAOxH,MAAM,GAAI01B,MAtChDI,GAkBJ,SAASF,EAAoBG,GACzBA,EAAQn3B,SAAQ,SAAU+1B,GACtB,IAAIK,EAAeL,GAAeA,EAAYK,aAC1CA,GAAgBA,EAAagB,eAC7BhB,EAAagB,cAAcxT,YAAYwS,MAkCnD,SAASJ,EAAqBqB,GAC1B,IAAI/C,EAAQF,EAAYE,MACpB+B,GAAW,EA2Bf,MAAO,CACHJ,aAzBiBoB,GAAmB,IAAIlgB,KAAI,SAAUmgB,GACtD,IAAIC,EAAYD,EAAahD,MAC7B,GAAIiD,EAAW,CACXlB,GAAW,EAEX,IAAImB,EAAclD,EAAQA,EAAMiD,QAAa76B,EACzC+6B,EAAeH,EAAaG,cAAgB,UAWhD,OARInD,IACCkD,GACDxwB,WACEuwB,KAAajD,IACE,oBAAVoD,OACPA,OACA1wB,QAAQK,KAAK,mCAAsCkwB,EAAY,uBAA2BE,EAAe,MAEtGD,GAAeC,EAItB,OAAOH,EAAaK,aAIG15B,KAAK,IAChCo4B,SAAUA,GAOX,SAASZ,EAAYntB,GACxB,IAAInM,EAAS,GACb,GAAImM,EAAQ,CAGR,IAFA,IAAIsvB,EAAM,EACNC,OAAa,EACTA,EAAa5C,EAAiB/rB,KAAKZ,IAAU,CACjD,IAAIwvB,EAAaD,EAAWjS,MACxBkS,EAAaF,GACbz7B,EAAO2B,KAAK,CACR65B,UAAWrvB,EAAOwD,UAAU8rB,EAAKE,KAGzC37B,EAAO2B,KAAK,CACRw2B,MAAOuD,EAAW,GAClBJ,aAAcI,EAAW,KAG7BD,EAAM3C,EAAiB8C,UAG3B57B,EAAO2B,KAAK,CACR65B,UAAWrvB,EAAOwD,UAAU8rB,KAGpC,OAAOz7B,K,0DC/PP,IAAY67B,EAAZ,2CAAYA,GACR,mBACA,qBACA,+BACA,mCACA,iCACA,yCACA,+BACA,mCACA,yBACA,iCACA,wCACA,sCACA,oBACA,4BACA,kCACA,oCACA,0BACA,kBACA,wCACA,kCACA,oBACA,sBACA,oBACA,kBACA,kCACA,4BA1BJ,CAAYA,MAAe,M,oCCA3B,IAAYC,EAiEAC,EAjEZ,6EAAYD,GACR,mBACA,6BACA,2BACA,+BACA,iCACA,yBACA,uCACA,yCACA,yDACA,+DACA,sCACA,wCACA,gDACA,4EACA,4DACA,4CACA,0DACA,gCACA,0BACA,0BACA,kCACA,4BACA,4BACA,4BACA,0CACA,sDACA,gCACA,wCACA,sCACA,4BACA,4BACA,kCACA,kDACA,4CACA,kDACA,gDACA,8BACA,0BACA,kDACA,gCACA,oBACA,0DACA,oCACA,4BACA,oCACA,8DACA,0DACA,gEACA,4DACA,wCACA,sDACA,gDACA,8BACA,gDACA,0EACA,kCACA,wBACA,gFACA,0DACA,sCACA,g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,wDACA,sDACA,sCACA,0CACA,8CACA,4CACA,0DACA,4CACA,sDACA,oDACA,8CACA,0BACA,8CACA,gDACA,8CACA,gCACA,sBACA,oDACA,wEACA,0CACA,oDACA,wCACA,kCACA,0CACA,oDACA,8BACA,8DACA,gDACA,wCACA,wCACA,8CACA,gDACA,4BACA,oDACA,8CACA,8CACA,gDACA,4CACA,0CACA,0CACA,8CACA,8CACA,4BACA,4BACA,0CACA,kCACA,8CACA,4BACA,gCACA,4CACA,gCACA,kCACA,8BACA,4BACA,4BACA,gCACA,gCACA,gCACA,8BACA,kEACA,oCACA,4CACA,8CACA,8CACA,oDACA,gCACA,gCACA,sCACA,sCACA,4CACA,4BACA,gDACA,gDACA,gDACA,sCACA,gDACA,0CACA,sDACA,kEACA,kDACA,gCACA,qCACA,iCACA,6BACA,+BACA,qBACA,yBACA,+BACA,qBACA,2DACA,uCACA,mCACA,mCACA,uCACA,uCACA,qDACA,uDACA,mDACA,iDACA,iDACA,qDACA,qDACA,qDACA,mDACA,uCACA,yCACA,uCACA,yCACA,iDACA,yCACA,2CACA,2CACA,6CACA,+CACA,qCACA,iDACA,uCACA,6CACA,yCACA,iDACA,mCACA,iCACA,2BACA,2CACA,yCACA,yCACA,6FACA,qGACA,+FACA,iGACA,mCACA,iCACA,iCACA,iDACA,6CACA,mDACA,qCACA,qDACA,uCACA,qDACA,2CACA,6CACA,yCACA,iCACA,mCACA,mCACA,2CACA,uCACA,+CACA,iCACA,qDACA,+CACA,2CACA,yCACA,2CACA,iCACA,2CACA,6CACA,6CACA,qDACA,iCACA,iCACA,2DACA,uCACA,mCACA,uCACA,mCACA,+BACA,yDACA,qBACA,2BACA,6BACA,uBACA,yCACA,uCACA,yCACA,6CACA,yCACA,+CACA,iDACA,+CACA,qCACA,2DACA,iDACA,2BACA,6CACA,iCACA,mCACA,6CACA,yCACA,mCACA,uCACA,qCACA,2DACA,2BACA,qDACA,6CACA,mDACA,qDACA,2DACA,qEACA,yDACA,uDACA,2BACA,yBACA,mCACA,2CACA,+CACA,6DACA,iEACA,qEACA,qEACA,iDACA,iDACA,+CACA,qCACA,qCACA,6DACA,mDACA,+BACA,6BACA,2CACA,uDACA,iCACA,2BACA,iDACA,+CACA,mCACA,2CACA,yCACA,2CACA,+CACA,+CACA,6CACA,2CACA,+EACA,iEACA,qEACA,qCACA,+CACA,6EACA,iCACA,iDACA,6DACA,yDACA,iCACA,iDACA,mDACA,mDACA,mDACA,qCACA,qCACA,mCACA,yCACA,yDACA,+DACA,2BACA,yBArRJ,CAAYA,MAAe,M,kCCD/B,2EAEIp4F,EAAY,IAAWA,UAEtBA,EADe,kBAEhBA,EAFgB,gBAEW,WAAc,OAAOP,Q,oCCL7C,IAAI44F,EAOAC,EAPX,kCACA,SAAWD,GACPA,EAAcA,EAAmB,IAAI,GAAK,MAC1CA,EAAcA,EAAsB,QAAK,GAAK,SAC9CA,EAAcA,EAAoB,KAAI,GAAK,OAC3CA,EAAcA,EAAqB,OAAK,GAAK,QAJjD,CAKGA,IAAkBA,EAAgB,KAErC,SAAWC,GACPA,EAASA,EAAc,IAAI,GAAK,MAChCA,EAASA,EAAiB,OAAI,GAAK,SACnCA,EAASA,EAAgB,MAAI,GAAK,QAClCA,EAASA,EAAc,IAAI,GAAK,MAJpC,CAKGA,IAAaA,EAAW,M,8NCbpB,SAASC,EAActqE,EAAO1sB,EAAMue,GACvC,IAAI9gB,EAAS,EAOb,OANAivB,EAAM9qB,SAAQ,SAAUq1F,EAAMz3F,GACtBQ,EAAKtB,KAAKR,KAAM+4F,EAAMz3F,EAAGktB,KACzBA,EAAMjvB,KAAYw5F,KAEvB14E,GACHmO,EAAMvuB,OAASV,EACRivB,E,4BCDPwqE,EAAiB,CACjB3vE,KAAM,QACNpf,KAAM,CACFof,KAAM,OACN9nB,MAAO,eASf,SAAS03F,EAAiBlyE,GACtB,OAPJ,SAASmyE,EAAQ1+E,EAAI2+E,GACjB,OAAO3+E,EAAGmc,aAAaG,WAAW+kB,OAAM,SAAU9kB,GAC9C,MAA0B,mBAAnBA,EAAU1N,MACb6vE,EAAQC,EAAUpiE,EAAU9sB,KAAK1I,OAAQ43F,MAI1CD,CAAQ,YAAuBnyE,IAAQ,YAAsBA,GAAM,YAAkB,YAAuBA,KAC7G,KACAA,EAEV,SAASqyE,EAAoBxjE,GACzB,OAAO,SAA0BC,GAC7B,OAAOD,EAAWyd,MAAK,SAAU04C,GAC7B,OAAQA,EAAI9hF,MAAQ8hF,EAAI9hF,OAAS4rB,EAAU5rB,KAAK1I,OAC3CwqF,EAAIjqF,MAAQiqF,EAAIjqF,KAAK+zB,OAI/B,SAASwjE,EAA6BzjE,EAAY7O,GACrD,IAAIuyE,EAAiBr3F,OAAOwH,OAAO,MAC/B8vF,EAAoB,GACpBC,EAAuBv3F,OAAOwH,OAAO,MACrCgwF,EAA0B,GAC1BC,EAAcT,EAAiB,YAAMlyE,EAAK,CAC1CimB,SAAU,CACNpjB,MAAO,SAAU8E,EAAM46C,EAAM/2D,GACL,uBAAhBA,EAAO8W,OACPiwE,EAAe5qE,EAAKzkB,KAAK1I,QAAS,KAI9CosC,MAAO,CACH/jB,MAAO,SAAU8E,GACb,GAAIkH,GAAclH,EAAKkH,aACKA,EAAWyd,MAAK,SAAUxd,GAAa,OAAOA,EAAUutC,WAE5E10C,EAAKkH,YACLlH,EAAKkH,WAAWyd,KAAK+lD,EAAoBxjE,KAiBzC,OAhBIlH,EAAK3pB,WACL2pB,EAAK3pB,UAAUrB,SAAQ,SAAU4Q,GACN,aAAnBA,EAAI/S,MAAM8nB,MACVkwE,EAAkB/3F,KAAK,CACnByI,KAAMqK,EAAI/S,MAAM0I,KAAK1I,WAKjCmtB,EAAKiI,cAqKjC,SAASgjE,EAAsChjE,GAC3C,IAAIijE,EAAe,GAUnB,OATAjjE,EAAaG,WAAWpzB,SAAQ,SAAUqzB,IACjC,YAAQA,IAAc,YAAiBA,KACxCA,EAAUJ,aACVgjE,EAAsC5iE,EAAUJ,cAAcjzB,SAAQ,SAAUm2F,GAAQ,OAAOD,EAAap4F,KAAKq4F,MAEzF,mBAAnB9iE,EAAU1N,MACfuwE,EAAap4F,KAAKu1B,MAGnB6iE,EA/KiBD,CAAsCjrE,EAAKiI,cAAcjzB,SAAQ,SAAUm2F,GACvEJ,EAAwBj4F,KAAK,CACzByI,KAAM4vF,EAAK5vF,KAAK1I,WAIrB,OAKvB0sC,eAAgB,CACZrkB,MAAO,SAAU8E,GACb8qE,EAAqB9qE,EAAKzkB,KAAK1I,QAAS,IAGhDkuC,UAAW,CACP7lB,MAAO,SAAU8E,GACb,GAAI0qE,EAAoBxjE,EAApBwjE,CAAgC1qE,GAChC,OAAO,UAcvB,OATIgrE,GACAZ,EAAcS,GAAmB,SAAUpqF,GAAK,QAASA,EAAElF,OAASqvF,EAAenqF,EAAElF,SAAUhK,SAC/Fy5F,EA0FD,SAAqC3lD,EAAQhtB,GAChD,IAAI+yE,EAZR,SAA4B/lD,GACxB,OAAO,SAAyB7sC,GAC5B,OAAO6sC,EAAOV,MAAK,SAAU0mD,GACzB,OAAO7yF,EAAS3F,OACY,aAAxB2F,EAAS3F,MAAM8nB,MACfniB,EAAS3F,MAAM0I,OACd8vF,EAAQ9vF,OAAS/C,EAAS3F,MAAM0I,KAAK1I,OACjCw4F,EAAQj4F,MAAQi4F,EAAQj4F,KAAKoF,QAK7B8yF,CAAmBjmD,GACpC,OAAOklD,EAAiB,YAAMlyE,EAAK,CAC/BomB,oBAAqB,CACjBvjB,MAAO,SAAU8E,GACb,OAAO,mBAAS,mBAAS,GAAIA,GAAO,CAAE2e,oBAAqB3e,EAAK2e,oBAAsB3e,EAAK2e,oBAAoB6F,QAAO,SAAU+mD,GACxH,OAAQlmD,EAAOV,MAAK,SAAU/+B,GAAO,OAAOA,EAAIrK,OAASgwF,EAAOltF,SAAS9C,KAAK1I,YAC7E,OAGjBosC,MAAO,CACH/jB,MAAO,SAAU8E,GAEb,GADwBqlB,EAAOV,MAAK,SAAU6mD,GAAa,OAAOA,EAAU92B,UACrD,CACnB,IAAI+2B,EAAkB,EAQtB,GAPIzrE,EAAK3pB,WACL2pB,EAAK3pB,UAAUrB,SAAQ,SAAU4Q,GACzBwlF,EAAWxlF,KACX6lF,GAAmB,MAIP,IAApBA,EACA,OAAO,QAKvBpsD,SAAU,CACNnkB,MAAO,SAAU8E,GACb,GAAIorE,EAAWprE,GACX,OAAO,UAzHL0rE,CAA4Bb,EAAmBG,IAE7DA,GACAZ,EAAcW,GAAyB,SAAUY,GAAM,QAASA,EAAGpwF,OAASuvF,EAAqBa,EAAGpwF,SAC/FhK,SACLy5F,EA0HD,SAA0C3lD,EAAQhtB,GACrD,SAAS6C,EAAM8E,GACX,GAAIqlB,EAAOV,MAAK,SAAUinD,GAAO,OAAOA,EAAIrwF,OAASykB,EAAKzkB,KAAK1I,SAC3D,OAAO,KAGf,OAAO03F,EAAiB,YAAMlyE,EAAK,CAC/BknB,eAAgB,CAAErkB,MAAOA,GACzB0kB,mBAAoB,CAAE1kB,MAAOA,MAlIf2wE,CAAiCd,EAAyBC,IAErEA,EAEJ,SAASc,EAAsBzzE,GAClC,OAAO,YAAM,YAAcA,GAAM,CAC7BymB,aAAc,CACV5jB,MAAO,SAAU8E,EAAM46C,EAAM/2D,GACzB,IAAIA,GACgB,wBAAhBA,EAAO8W,KADX,CAIA,IAAIyN,EAAapI,EAAKoI,WACtB,GAAKA,EAQL,IALWA,EAAWuc,MAAK,SAAUtc,GACjC,OAAQ,YAAQA,KACc,eAAzBA,EAAU9sB,KAAK1I,OACkC,IAA9Cw1B,EAAU9sB,KAAK1I,MAAMk5F,YAAY,KAAM,OAEnD,CAGA,IAAI/kE,EAAQnjB,EACZ,KAAI,YAAQmjB,IACRA,EAAME,YACNF,EAAME,WAAWyd,MAAK,SAAUhqC,GAAK,MAAwB,WAAjBA,EAAEY,KAAK1I,UAGvD,OAAO,mBAAS,mBAAS,GAAImtB,GAAO,CAAEoI,WAAY,yBAAeA,EAAY,CAACkiE,YAK9FwB,EAAsBE,MAAQ,SAAUhlE,GACpC,OAAOA,IAAUsjE,GAErB,IAAI2B,EAAyB,CACzB74F,KAAM,SAAU+zB,GACZ,IAAI+kE,EAAsC,eAAzB/kE,EAAU5rB,KAAK1I,MAQhC,OAPIq5F,KACK/kE,EAAU9wB,WACV8wB,EAAU9wB,UAAUsuC,MAAK,SAAU/+B,GAAO,MAA0B,QAAnBA,EAAIrK,KAAK1I,UAK5Dq5F,IAGR,SAASC,EAAsC9zE,GAClD,OAAOsyE,EAA6B,CAACsB,GAAyB,YAAc5zE,IA8FzE,SAAS+zE,EAA2BztF,GAGvC,MAA4B,UAFX,YAAkBA,GACE6L,UAE1B7L,EAEO,YAAMA,EAAU,CAC9B8/B,oBAAqB,CACjBvjB,MAAO,SAAU8E,GACb,OAAO,mBAAS,mBAAS,GAAIA,GAAO,CAAExV,UAAW,cAM1D,SAAS6hF,EAA6B1tF,GACzC,YAAcA,GACd,IAAIqsF,EAAcL,EAA6B,CAC3C,CACIv3F,KAAM,SAAU+zB,GAAa,MAAgC,WAAzBA,EAAU5rB,KAAK1I,OACnD6hE,QAAQ,IAEb/1D,GAiBH,OAhBIqsF,IACAA,EAAc,YAAMA,EAAa,CAC7BprD,mBAAoB,CAChB1kB,MAAO,SAAU8E,GACb,GAAIA,EAAKiI,cACgBjI,EAAKiI,aAAaG,WAAW+kB,OAAM,SAAU9kB,GAC9D,OAAO,YAAQA,IAAuC,eAAzBA,EAAU9sB,KAAK1I,SAG5C,OAAO,UAOxBm4F,I,kCCvRX,wEAAIsB,EAA6B,CAC7B,WACA,SACA,qBACA,4BACA,oBACA,4BACA,mCACA,wBACA,sBACA,0BACA,6BACA,qBACA,wBAWG,SAASC,EAEhBC,EAEAp2D,EAAQq2D,QACe,IAAfA,IAAyBA,EAAaH,GAC1C,IAAII,EAAU,GACVC,EAAU,SAAUhlD,GACc,mBAAvBvR,EAAOuR,SACcj2C,IAA5B86F,EAAY7kD,IACV8kD,IAAkD,IAApCA,EAAWp5F,QAAQs0C,KACnC+kD,EAAQ55F,KAAK60C,GAEb6kD,EAAY7kD,GAAc,WAEtB,IADA,IAAI78B,EAAO,GACFhO,EAAK,EAAGA,EAAKzG,UAAU9E,OAAQuL,IACpCgO,EAAKhO,GAAMzG,UAAUyG,GAEzBs5B,EAAOuR,GAAYvxC,MAAMggC,EAAQtrB,MAI7C,IAAK,IAAI68B,KAAcvR,EACnBu2D,EAAQhlD,GAEZ,OAAO+kD,EAUJ,SAASE,EAAex2D,EAAQsP,GACnCA,EAAY1wC,SAAQ,SAAU2yC,GAAc,cAAcvR,EAAOuR,Q,kCCpD9D,SAASklD,EAAuBlgE,GAErC,IAAI8jC,EAAQ9jC,EAAUtsB,MAAM,gBAExBysF,EAuCC,SAAmCj6F,GAQxC,IAPA,IAAIk6F,EAEAC,GAAc,EACdC,GAAc,EACd7tD,EAAS,EACT0tD,EAAe,KAEVl6F,EAAI,EAAGA,EAAIC,EAAMtB,SAAUqB,EAClC,OAAQC,EAAM6N,WAAW9N,IACvB,KAAK,GAE6B,KAA5BC,EAAM6N,WAAW9N,EAAI,MACrBA,EAKN,KAAK,GAEHo6F,GAAc,EACdC,GAAc,EACd7tD,EAAS,EACT,MAEF,KAAK,EAEL,KAAK,KAEDA,EACF,MAEF,QACM6tD,IAAgBD,IAAiC,OAAjBF,GAAyB1tD,EAAS0tD,KACpEA,EAAe1tD,GAGjB6tD,GAAc,EAIpB,OAA0C,QAAlCF,EAAgBD,SAA4C,IAAlBC,EAA2BA,EAAgB,EAhF1EG,CAA0BvgE,GAE7C,GAAqB,IAAjBmgE,EACF,IAAK,IAAIl6F,EAAI,EAAGA,EAAI69D,EAAMl/D,OAAQqB,IAChC69D,EAAM79D,GAAK69D,EAAM79D,GAAGlC,MAAMo8F,GAO9B,IAFA,IAAIK,EAAY,EAETA,EAAY18B,EAAMl/D,QAAU67F,EAAQ38B,EAAM08B,OAC7CA,EAKJ,IAFA,IAAIE,EAAU58B,EAAMl/D,OAEb87F,EAAUF,GAAaC,EAAQ38B,EAAM48B,EAAU,OAClDA,EAIJ,OAAO58B,EAAM//D,MAAMy8F,EAAWE,GAASp6F,KAAK,MAG9C,SAASm6F,EAAQp7F,GACf,IAAK,IAAIY,EAAI,EAAGA,EAAIZ,EAAIT,SAAUqB,EAChC,GAAe,MAAXZ,EAAIY,IAAyB,OAAXZ,EAAIY,GACxB,OAAO,EAIX,OAAO,EA0DF,SAAS06F,EAAiBz6F,GAC/B,IAAI06F,EAAcl3F,UAAU9E,OAAS,QAAsBG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,GAClFm3F,EAAsBn3F,UAAU9E,OAAS,QAAsBG,IAAjB2E,UAAU,IAAmBA,UAAU,GACrFo3F,GAAwC,IAAzB56F,EAAMQ,QAAQ,MAC7Bq6F,EAA+B,MAAb76F,EAAM,IAA2B,OAAbA,EAAM,GAC5C86F,EAA+C,MAA5B96F,EAAMA,EAAMtB,OAAS,GACxCq8F,EAA+C,OAA5B/6F,EAAMA,EAAMtB,OAAS,GACxCs8F,GAAwBJ,GAAgBE,GAAoBC,GAAoBJ,EAChFr8F,EAAS,GAYb,OAVI08F,GAA0BJ,GAAgBC,IAC5Cv8F,GAAU,KAAOo8F,GAGnBp8F,GAAUo8F,EAAc16F,EAAM8N,QAAQ,MAAO,KAAO4sF,GAAe16F,EAE/Dg7F,IACF18F,GAAU,MAGL,MAAQA,EAAOwP,QAAQ,OAAQ,SAAW,MA1HnD,qE,uBCAA,IAAIvQ,EAAkB,EAAQ,QAC1B09F,EAA4B,EAAQ,QAA8CxuF,EAElF9L,EAAW,GAAGA,SAEdu6F,EAA+B,iBAAVj+E,QAAsBA,QAAUvc,OAAO0b,oBAC5D1b,OAAO0b,oBAAoBa,QAAU,GAWzC3a,EAAOW,QAAQwJ,EAAI,SAA6BjH,GAC9C,OAAO01F,GAAoC,mBAArBv6F,EAAS1B,KAAKuG,GAVjB,SAAUA,GAC7B,IACE,OAAOy1F,EAA0Bz1F,GACjC,MAAOiE,GACP,OAAOyxF,EAAYr9F,SAOjBs9F,CAAe31F,GACfy1F,EAA0B19F,EAAgBiI,M,kCCnB5C,IAAYuhD,EAAZ,2CAAYA,GACR,uBACA,4BACA,wBACA,4BAJJ,CAAYA,MAAW,M,kCCD3B,qiB,qBCAA,IAAI1lC,EAAc,EAAQ,QACtB+5E,EAA6B,EAAQ,QACrCC,EAA2B,EAAQ,QACnC99F,EAAkB,EAAQ,QAC1B+9F,EAAc,EAAQ,QACtBroF,EAAM,EAAQ,QACdsoF,EAAiB,EAAQ,QAEzBC,EAAiC96F,OAAO4L,yBAI5CrJ,EAAQwJ,EAAI4U,EAAcm6E,EAAiC,SAAkCh9F,EAAGwP,GAG9F,GAFAxP,EAAIjB,EAAgBiB,GACpBwP,EAAIstF,EAAYttF,GAAG,GACfutF,EAAgB,IAClB,OAAOC,EAA+Bh9F,EAAGwP,GACzC,MAAOvE,IACT,GAAIwJ,EAAIzU,EAAGwP,GAAI,OAAOqtF,GAA0BD,EAA2B3uF,EAAExN,KAAKT,EAAGwP,GAAIxP,EAAEwP,M,kCCjBzF,IAAYytF,EAAZ,2CAAYA,GACR,mBACA,uCACA,+BACA,yBACA,6BACA,uBACA,mDACA,+CACA,iEACA,2BACA,gDACA,0BACA,oCACA,4CACA,gCACA,gDACA,4BACA,wBACA,4BACA,4BACA,oCACA,8CACA,wDACA,gEACA,sCACA,oDACA,gCACA,wCACA,0BACA,4CACA,gCACA,4BACA,oBACA,kDACA,oCACA,8CACA,0DACA,8BACA,oCACA,wDACA,0BACA,oCACA,gCACA,sCACA,kDACA,kCACA,0CACA,4BACA,8DACA,0CACA,4CACA,8CACA,kDACA,sEACA,wCACA,oCACA,4BACA,wCACA,wCACA,8CACA,4BACA,8DACA,wEACA,4DACA,wEACA,kCACA,4CACA,kCACA,0DACA,0CACA,kCACA,gCACA,4CACA,sDACA,gDACA,kCACA,oDACA,oDACA,0DACA,4DACA,4CACA,0CACA,8CACA,gCACA,0CACA,8BACA,wBACA,0CACA,kDACA,wCACA,0BACA,oCACA,gDACA,sEACA,8BACA,4CACA,oCACA,gBACA,oCACA,0CACA,2CACA,mDACA,2DACA,2CACA,yCACA,qCACA,uCACA,mDACA,qEACA,+DACA,2DACA,uCACA,qEACA,qCACA,uCACA,6BACA,2BACA,6BACA,6CACA,+DACA,qDACA,+CACA,yCACA,qEACA,6EACA,+DACA,6CACA,2CACA,uBACA,2CACA,mCACA,2CACA,qCACA,6CACA,iEACA,+DACA,+CACA,mDACA,qCACA,+DACA,6CACA,mDACA,iDACA,2CACA,6CACA,+CACA,6CACA,iDACA,+CACA,yDACA,yCACA,qCACA,uDACA,2EACA,qEACA,6EACA,6BACA,iCACA,qDACA,qDACA,iDACA,uDACA,qEACA,iCACA,+BACA,mDACA,6DACA,2BACA,6CACA,mDACA,uDACA,+DACA,iFACA,uCACA,+BACA,iCACA,+CACA,2DACA,mDACA,+BACA,mDACA,uCACA,yCACA,+CACA,+BACA,yCACA,uDACA,mBACA,mDA7LJ,CAAYA,MAAU,M,kCCD1B,yG,kCCAA,kDACO,SAASC,EAAiBC,EAAWh5F,GACxC,IAAIi5F,EAAc,GACdC,EAAgB,SAAUz5F,EAAKpC,GAC/B47F,EAAY37F,KAAKmC,EAAM,IAAM4hC,mBAAmBhkC,KAQpD,GANI,UAAW2C,GACXk5F,EAAc,QAASl5F,EAAKD,OAE5BC,EAAKwc,eACL08E,EAAc,gBAAiBl5F,EAAKwc,eAEpCxc,EAAKqS,UAAW,CAChB,IAAI8mF,OAAsB,EAC1B,IACIA,EAAsB,YAAwBn5F,EAAKqS,UAAW,iBAElE,MAAO+mF,GACH,MAAO,CAAEA,WAAYA,GAEzBF,EAAc,YAAaC,GAE/B,GAAIn5F,EAAKuc,WAAY,CACjB,IAAI88E,OAAuB,EAC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X,KAAKhI,EAAQiI,UACT,MAAO,uBACX,KAAKjI,EAAQkI,wBACT,MAAO,8BACX,QACI,MAAO,KA1anB,SAAYlI,GACR,qBACA,qBACA,iCACA,6BACA,mBACA,+BACA,6BACA,iDACA,uCACA,gDACA,8CACA,oBACA,sCACA,wCACA,oCACA,4CACA,sCACA,oCACA,gDACA,gDACA,sDACA,0DACA,4BACA,sCACA,4CACA,kCACA,sCACA,4BACA,kDACA,sCACA,0BACA,gCACA,8BACA,oCACA,oCACA,0BACA,oCACA,0CACA,8CACA,0CACA,8BACA,kCACA,4BACA,4CACA,sCACA,0BACA,gCACA,4BACA,sBACA,8CACA,oCACA,8BACA,kCACA,4BACA,4BACA,gCACA,0BACA,oCACA,8BACA,oCACA,8BACA,oCACA,8BACA,4CACA,4BACA,sBACA,4BACA,kBACA,kCACA,0BACA,oBACA,8CACA,kCACA,4CACA,0CACA,kCACA,kCACA,4CACA,4CACA,oCACA,oCACA,oDACA,gDACA,4CACA,sDACA,0BACA,4DACA,wDACA,wCACA,gDACA,wCACA,sCACA,wCACA,wBACA,sBACA,sDACA,8DACA,wDACA,iCACA,uDACA,6DACA,iEACA,mDACA,qDACA,2CACA,yCACA,+CACA,+CACA,2BACA,6BACA,2DACA,iDACA,mDACA,qBACA,uCACA,iEACA,iCACA,6BACA,qCACA,mCACA,yCACA,mCACA,6EACA,mEACA,uEACA,qDACA,mCACA,mCACA,qCACA,uCACA,qDACA,+CACA,uDACA,+CACA,+BACA,yCACA,+DACA,+BACA,2DA3IJ,CAAYA,MAAO,KA8eb,SAAUmI,EAAWC,G,MACjBC,EAAYC,IACZ/1I,EAAO2R,OAAOosB,SAAS0a,SACvBu9F,GAAyD,KAAd,QAA9B,EAACH,aAAY,EAAZA,EAAc3gJ,QAAQ,gBAAO,SAAM,GAEjD+gJ,EA6GCC,EAAe,QA7GO,MAAQC,IAAa,QAAUL,EAAY,IAAsB,UACxFr5H,EAAQzc,EAAKqnC,cAAcnyC,QAAQ+gJ,EAAW5uG,eAChD+uG,EAAUp2I,EAAK2C,UAAU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B6Q,EAAIjT,EAAO,SAASsR,EAAKtR,EAAO,OAAQoC,GACvEqkK,EAAqBzmK,GAAOujC,OAASmjI,EAAStmK,KAAmB,iBAAPgC,EAAkBA,EAAM,KAEhF5D,IAAM+M,GAIEH,GAEAsnG,GAAel0G,EAAE4D,KAC3BukK,GAAS,UAFFnoK,EAAE4D,GAIPukK,EAAQnoK,EAAE4D,GAAOpC,EAChBsR,EAAK9S,EAAG4D,EAAKpC,IATZ2mK,EAAQnoK,EAAE4D,GAAOpC,EAChBqyG,EAAUjwG,EAAKpC,KAUrBmd,SAASne,UAAW,YAAY,WACjC,MAAsB,mBAARP,MAAsBkpB,EAAiBlpB,MAAM8kC,QAAUijI,EAAuBvnK,KAAKR,U,kCCpC/F,IAAYmoK,EAAZ,2CAAYA,GACR,mBACA,uCACA,iDACA,qEACA,sEACA,kEACA,4DACA,sGACA,oEACA,0EACA,sEACA,wCACA,wCACA,sDACA,kDACA,8DACA,gEACA,sDACA,0DACA,0DACA,wDACA,8CACA,8CACA,4CACA,0CACA,8CACA,sCACA,0CACA,kDACA,4CACA,4CACA,kDACA,kEACA,oDACA,oEACA,8DACA,8EACA,oEACA,kDACA,sEACA,gGACA,gEACA,sDACA,oEACA,oDACA,0CACA,4CACA,sDACA,gDACA,wCACA,wCACA,sDACA,kDACA,wCACA,4CACA,0DACA,oDACA,qDACA,yCACA,2CACA,uCACA,mDACA,+CACA,6DACA,6DACA,+DACA,2DACA,yDACA,yDACA,6DACA,6DACA,+DACA,+DACA,qEACA,mDACA,iEACA,6DACA,qEACA,6EACA,yFACA,6CACA,mDACA,qDACA,yCACA,qCACA,mCACA,iCACA,+BACA,qCACA,uCACA,2DACA,uDACA,+DACA,qDACA,+CACA,uDACA,iCACA,6BACA,iCACA,uCACA,6BACA,uCACA,+DACA,uCACA,yCACA,+BACA,6BACA,+CACA,+CACA,2DA9GJ,CAAYA,MAAkB,M,qBCDlC,IAAI1pK,EAAI,EAAQ,QACZqU,EAAQ,EAAQ,QAChB0pF,EAA4B,EAAQ,QAAuDxuF,EAM/FvP,EAAE,CAAEc,OAAQ,SAAU0f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CA,8BACA,4BACA,0BACA,8BACA,0BACA,8CACA,gBACA,oCACA,oCACA,kDACA,kCACA,4CACA,8BACA,8BACA,wBACA,wBACA,0BACA,8BACA,kDACA,8BACA,0BACA,wCACA,0CACA,oDACA,gCACA,4BACA,gCACA,gCACA,oDACA,kEACA,0DACA,8BACA,8BACA,oCACA,8CACA,4BACA,4BACA,8CACA,oCACA,4CACA,kCACA,0CACA,4BACA,0CACA,oCACA,oBACA,wBACA,sCACA,gCACA,gCACA,oCACA,sDACA,kDACA,0BACA,wCACA,wDACA,gCACA,oBACA,0BACA,gCACA,kCACA,8DACA,4DACA,sBACA,sBACA,8BACA,kCACA,0BACA,gCACA,0BACA,gCACA,oBACA,sBACA,sCACA,0BACA,mCACA,uCACA,mBACA,mBACA,iDACA,yCACA,yCACA,uBACA,iCACA,yBACA,2CACA,6CACA,iCACA,2BACA,mCACA,+CACA,2CACA,yCACA,2CACA,mCACA,mCACA,+BACA,qCACA,+CACA,6EACA,yDACA,yDACA,yCACA,2CACA,2CACA,qBACA,yDACA,yCACA,2EACA,6DACA,yDACA,qDACA,2CACA,6CACA,uCACA,2CACA,2CACA,iCACA,6BACA,qCACA,mCACA,mCACA,mCACA,+CACA,yDACA,uCACA,uDACA,yBACA,iCACA,yCACA,iDACA,+CACA,iDACA,yCACA,mCACA,uCACA,iDACA,uCACA,yFACA,yCACA,uCACA,iDACA,6DACA,+CACA,+BACA,iCACA,yCACA,qCACA,iCACA,mDA5KJ,CAAYA,MAAkB,M,kCCDlC,kDAUIp7B,EAAuB,WAEvB,SAASA,EAAM1gI,EAAQ2O,GACnBlhB,KAAKsuK,YAAc,KACnBtuK,KAAKuuK,cAAgB,KACrBvuK,KAAKwuK,aAAe,KACpBxuK,KAAKyuK,mBAAqB,KAC1BzuK,KAAK2pK,aAAc,EACnB3pK,KAAKwoK,QAAUj2J,GAAU,KACzBvS,KAAK0uK,gBAAkBxtJ,EACvBlhB,KAAK2uK,MAAQ,aAsYjB,OA/XA17B,EAAM1yI,UAAU4uB,QAAU,WACtB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CAAYA,GACR,mBACA,qCACA,iCACA,2BACA,2BACA,yCACA,2BACA,uDACA,iCACA,yCACA,4CACA,4BACA,gCACA,gDACA,0CACA,kDACA,gEACA,oDACA,sDACA,wDACA,sDACA,sCACA,0CACA,8CACA,4CACA,0DACA,4CACA,sDACA,oDACA,8CACA,0BACA,8CACA,gDACA,8CACA,gCACA,sBACA,oDACA,wEACA,0CACA,oDACA,wCACA,kCACA,0CACA,oDACA,8BACA,8DACA,gDACA,wCACA,wCACA,8CACA,gDACA,4BACA,oDACA,8CACA,8CACA,gDACA,4CACA,0CACA,0CACA,8CACA,8CACA,4BACA,4BACA,0CACA,kCACA,8CACA,4BACA,gCACA,4CACA,gCACA,kCACA,8BACA,4BACA,4BACA,gCACA,gCACA,gCACA,8BACA,kEACA,oCACA,4CACA,8CACA,8CACA,oDACA,gCACA,gCACA,sCACA,sCACA,4CACA,4BACA,gDACA,gDACA,gDACA,sCACA,gDACA,0CACA,sDACA,kEACA,kDACA,gCACA,qCACA,iCACA,6BACA,+BACA,qBACA,yBACA,+BACA,qBACA,2DACA,uCACA,mCACA,mCACA,uCACA,uCACA,qDACA,uDACA,mDACA,iDACA,iDACA,qDACA,qDACA,qDACA,mDACA,yCACA,uCACA,yCACA,uCACA,yCACA,uCACA,yCACA,iDACA,yCACA,2CACA,uCACA,mCACA,yDAxIJ,CAAYA,MAAwB,M,kCCAxC,IAAI72E,EAAc,EAAQ,QACtBh4D,EAAuB,EAAQ,QAC/B+3D,EAA2B,EAAQ,QAEvC/4F,EAAOW,QAAU,SAAUsR,EAAQnS,EAAKpC,GACtC,IAAIoyK,EAAc92E,EAAYl5F,GAC1BgwK,KAAe79J,EAAQ+uB,EAAqB72B,EAAE8H,EAAQ69J,EAAa/2E,EAAyB,EAAGr7F,IAC9FuU,EAAO69J,GAAepyK,I,kCCP7B,IAAIssG,EAAgC,EAAQ,QACxCv/F,EAAW,EAAQ,QACnBxH,EAAyB,EAAQ,QACjC8sK,EAAY,EAAQ,QACpBzX,EAAa,EAAQ,QAGzBtuD,EAA8B,SAAU,GAAG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","file":"main.e0548b63bb83c5a00310.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","import { isRegExp, isString } from './is';\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str, max) {\n if (max === void 0) { max = 0; }\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : str.substr(0, max) + \"...\";\n}\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line, colno) {\n var newLine = line;\n var ll = newLine.length;\n if (ll <= 150) {\n return newLine;\n }\n if (colno > ll) {\n // eslint-disable-next-line no-param-reassign\n colno = ll;\n }\n var start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n var end = Math.min(start + 140, ll);\n if (end > ll - 5) {\n end = ll;\n }\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = \"'{snip} \" + newLine;\n }\n if (end < ll) {\n newLine += ' {snip}';\n }\n return newLine;\n}\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n var output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n }\n catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n return output.join(delimiter);\n}\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value, pattern) {\n if (!isString(value)) {\n return false;\n }\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n//# sourceMappingURL=string.js.map","import { isString } from './is';\nimport { normalize } from './object';\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv() {\n return Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function dynamicRequire(mod, request) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return mod.require(request);\n}\n/** Default request keys that'll be used to extract data from the request */\nvar DEFAULT_REQUEST_KEYS = ['cookies', 'data', 'headers', 'method', 'query_string', 'url'];\n/**\n * Normalizes data from the request object, accounting for framework differences.\n *\n * @param req The request object from which to extract data\n * @param keys An optional array of keys to include in the normalized data. Defaults to DEFAULT_REQUEST_KEYS if not\n * provided.\n * @returns An object containing normalized request data\n */\nexport function extractNodeRequestData(req, keys) {\n if (keys === void 0) { keys = DEFAULT_REQUEST_KEYS; }\n // make sure we can safely use dynamicRequire below\n if (!isNodeEnv()) {\n throw new Error(\"Can't get node request data outside of a node environment\");\n }\n var requestData = {};\n // headers:\n // node, express: req.headers\n // koa: req.header\n var headers = (req.headers || req.header || {});\n // method:\n // node, express, koa: req.method\n var method = req.method;\n // host:\n // express: req.hostname in > 4 and req.host in < 4\n // koa: req.host\n // node: req.headers.host\n var host = req.hostname || req.host || headers.host || '';\n // protocol:\n // node: \n // express, koa: req.protocol\n var protocol = req.protocol === 'https' || req.secure || (req.socket || {}).encrypted\n ? 'https'\n : 'http';\n // url (including path and query string):\n // node, express: req.originalUrl\n // koa: req.url\n var originalUrl = (req.originalUrl || req.url || '');\n // absolute url\n var absoluteUrl = protocol + \"://\" + host + originalUrl;\n keys.forEach(function (key) {\n switch (key) {\n case 'headers':\n requestData.headers = headers;\n break;\n case 'method':\n requestData.method = method;\n break;\n case 'url':\n requestData.url = absoluteUrl;\n break;\n case 'cookies':\n // cookies:\n // node, express, koa: req.headers.cookie\n // vercel, sails.js, express (w/ cookie middleware): req.cookies\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n requestData.cookies = req.cookies || dynamicRequire(module, 'cookie').parse(headers.cookie || '');\n break;\n case 'query_string':\n // query string:\n // node: req.url (raw)\n // express, koa: req.query\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n requestData.query_string = dynamicRequire(module, 'url').parse(originalUrl || '', false).query;\n break;\n case 'data':\n if (method === 'GET' || method === 'HEAD') {\n break;\n }\n // body data:\n // node, express, koa: req.body\n if (req.body !== undefined) {\n requestData.data = isString(req.body) ? req.body : JSON.stringify(normalize(req.body));\n }\n break;\n default:\n if ({}.hasOwnProperty.call(req, key)) {\n requestData[key] = req[key];\n }\n }\n });\n return requestData;\n}\n//# sourceMappingURL=node.js.map","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","import { useBaseQuery } from \"./utils/useBaseQuery.js\";\nexport function useQuery(query, options) {\n return useBaseQuery(query, options, false);\n}\n//# sourceMappingURL=useQuery.js.map","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iX0xpc3RfIiBkYXRhLW5hbWU9IltMaXN0XSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjx0aXRsZT5pY28tZHJvcGRvd24tY2hldnJvbjwvdGl0bGU+PHBvbHlnb24gcG9pbnRzPSIxMCA2IDEwIDcgOSA3IDkgOCA4IDggOCA5IDcgOSA3IDggNiA4IDYgNyA1IDcgNSA2IDEwIDYiLz48L3N2Zz4=\"","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNames, MS_ICON } from './Icon.styles';\nimport { css, getNativeProps, htmlElementProperties, memoizeFunction } from '../../Utilities';\nimport { getIcon } from '../../Styling';\nexport var getIconContent = memoizeFunction(function (iconName) {\n var _a = getIcon(iconName) || {\n subset: {},\n code: undefined,\n }, code = _a.code, subset = _a.subset;\n if (!code) {\n return null;\n }\n return {\n children: code,\n iconClassName: subset.className,\n fontFamily: subset.fontFace && subset.fontFace.fontFamily,\n mergeImageProps: subset.mergeImageProps,\n };\n}, undefined, true /*ignoreNullOrUndefinedResult */);\n/**\n * Fast icon component which only supports font glyphs (not images) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\nexport var FontIcon = function (props) {\n var iconName = props.iconName, className = props.className, _a = props.style, style = _a === void 0 ? {} : _a;\n var iconContent = getIconContent(iconName) || {};\n var iconClassName = iconContent.iconClassName, children = iconContent.children, fontFamily = iconContent.fontFamily, mergeImageProps = iconContent.mergeImageProps;\n var nativeProps = getNativeProps(props, htmlElementProperties);\n var accessibleName = props['aria-label'] || props.title;\n var containerProps = props['aria-label'] || props['aria-labelledby'] || props.title\n ? {\n role: mergeImageProps ? undefined : 'img',\n }\n : {\n 'aria-hidden': true,\n };\n var finalChildren = children;\n if (mergeImageProps) {\n if (typeof children === 'object' && typeof children.props === 'object' && accessibleName) {\n finalChildren = React.cloneElement(children, { alt: accessibleName });\n }\n }\n return (React.createElement(\"i\", __assign({ \"data-icon-name\": iconName }, containerProps, nativeProps, (mergeImageProps\n ? {\n title: undefined,\n 'aria-label': undefined,\n }\n : {}), { className: css(MS_ICON, classNames.root, iconClassName, !iconName && classNames.placeholder, className), \n // Apply the font family this way to ensure it doesn't get overridden by Fabric Core ms-Icon styles\n // https://github.com/microsoft/fluentui/issues/10449\n style: __assign({ fontFamily: fontFamily }, style) }), finalChildren));\n};\n/**\n * Memoized helper for rendering a FontIcon.\n * @param iconName - The name of the icon to use from the icon font.\n * @param className - Class name for styling the icon.\n * @param ariaLabel - Label for the icon for the benefit of screen readers.\n * {@docCategory Icon}\n */\nexport var getFontIcon = memoizeFunction(function (iconName, className, ariaLabel) {\n return FontIcon({ iconName: iconName, className: className, 'aria-label': ariaLabel });\n});\n//# sourceMappingURL=FontIcon.js.map"," \r\n export enum TestFlag {\r\n None = 0,\r\n DnsExperienceCacheTopLevelDomain = 1,\r\n VerifyOnError = 2,\r\n DebugOnError = 3,\r\n EnableHttp2 = 4,\r\n PauseAlerts = 5,\r\n CustomReports = 6,\r\n CollectCookies = 7,\r\n DebugOnErrorFirstChild = 8,\r\n CaptureHeaders = 9,\r\n CaptureHeadersOnError = 10,\r\n CaptureResponseContent = 11,\r\n CaptureResponseContentOnError = 12,\r\n CaptureSnapshotFilmStrip = 13,\r\n CaptureSnapshotFinal = 14,\r\n RunPageSpeed = 16,\r\n IgnoreSslErrors = 17,\r\n CaptureSnapshotFinalOnError = 18,\r\n DnsHostNameBind = 19,\r\n DnsViaTcp = 20,\r\n DnsNameServerId = 21,\r\n DnsNoRecursion = 22,\r\n HostCollection = 23,\r\n ContentZone = 24,\r\n StopOnDocumentComplete = 25,\r\n DnsTryNextNameServerUponFailure = 26,\r\n IgnoreResponseCodeFailures = 27,\r\n CaptureHeadersOnErrorPage = 28,\r\n CaptureResponseContentOnErrorPage = 29,\r\n CaptureSnapshotFinalOnErrorPage = 30,\r\n DnsExperienceBiasTowardsBest = 31,\r\n DisableParisTraceRoute = 32,\r\n IgnoreRedirections = 33,\r\n EnableAdblock = 34,\r\n StoreCaptureDataInCloud = 35,\r\n SelfVersusThirdPartyZones = 36,\r\n AllowTestSizeOverride = 37,\r\n EnableWebSecurity = 38,\r\n StopOnDomContentLoaded = 39,\r\n InitiatedFromApi = 40,\r\n InstantTestCharged = 41,\r\n DisableCertificateRevocationCheck = 42,\r\n EnforceCertificatePinning = 43,\r\n EnforcePublicKeyPinning = 44,\r\n EnableDnssec = 48,\r\n EnablePathMtuDiscovery = 50,\r\n }\r\n"," \r\n export enum RealUserBreakdown {\r\n None = 0,\r\n Site = 1,\r\n PageGroup = 2,\r\n Variation = 3,\r\n Page = 4,\r\n Continent = 5,\r\n Country = 6,\r\n Region = 7,\r\n City = 8,\r\n Bandwidth = 9,\r\n ISP = 10,\r\n Company = 11,\r\n ASN = 12,\r\n Browser = 13,\r\n BrowserAndVersion = 14,\r\n OS = 15,\r\n OSAndVersion = 16,\r\n MobileBrand = 17,\r\n MobileDevice = 18,\r\n ScreenResolution = 19,\r\n TracepointValue = 20,\r\n MobileDeviceVersion = 21,\r\n Domain = 22,\r\n Screen = 23,\r\n Request = 24,\r\n ComparativeTime = 25,\r\n Provider = 26,\r\n ProviderProduct = 27,\r\n ProviderType = 28,\r\n Zones = 29,\r\n Ajax = 30,\r\n HasRecords = 31,\r\n RecordsKey = 32,\r\n ErrorSource = 33,\r\n ErrorMessage = 34,\r\n ViewUrl = 35,\r\n GlimpseEvent = 74,\r\n GlimpseEventTimestamp = 75,\r\n GlimpseEventMessage = 76,\r\n NetworkErrors = 77,\r\n StatusCode = 78,\r\n PageDomain = 79,\r\n }\r\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","export function iterateObserversSafely(observers, method, argument) {\n var observersWithMethod = [];\n observers.forEach(function (obs) { return obs[method] && observersWithMethod.push(obs); });\n observersWithMethod.forEach(function (obs) { return obs[method](argument); });\n}\n//# sourceMappingURL=iteration.js.map","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { __extends } from 'tslib';\n\nvar genericMessage = \"Invariant Violation\";\r\nvar _a = Object.setPrototypeOf, setPrototypeOf = _a === void 0 ? function (obj, proto) {\r\n obj.__proto__ = proto;\r\n return obj;\r\n} : _a;\r\nvar InvariantError = /** @class */ (function (_super) {\r\n __extends(InvariantError, _super);\r\n function InvariantError(message) {\r\n if (message === void 0) { message = genericMessage; }\r\n var _this = _super.call(this, typeof message === \"number\"\r\n ? genericMessage + \": \" + message + \" (see https://github.com/apollographql/invariant-packages)\"\r\n : message) || this;\r\n _this.framesToPop = 1;\r\n _this.name = genericMessage;\r\n setPrototypeOf(_this, InvariantError.prototype);\r\n return _this;\r\n }\r\n return InvariantError;\r\n}(Error));\r\nfunction invariant(condition, message) {\r\n if (!condition) {\r\n throw new InvariantError(message);\r\n }\r\n}\r\nvar verbosityLevels = [\"log\", \"warn\", \"error\", \"silent\"];\r\nvar verbosityLevel = verbosityLevels.indexOf(\"log\");\r\nfunction wrapConsoleMethod(method) {\r\n return function () {\r\n if (verbosityLevels.indexOf(method) >= verbosityLevel) {\r\n return console[method].apply(console, arguments);\r\n }\r\n };\r\n}\r\n(function (invariant) {\r\n invariant.log = wrapConsoleMethod(\"log\");\r\n invariant.warn = wrapConsoleMethod(\"warn\");\r\n invariant.error = wrapConsoleMethod(\"error\");\r\n})(invariant || (invariant = {}));\r\nfunction setVerbosity(level) {\r\n var old = verbosityLevels[verbosityLevel];\r\n verbosityLevel = Math.max(0, verbosityLevels.indexOf(level));\r\n return old;\r\n}\r\nvar invariant$1 = invariant;\n\nexport default invariant$1;\nexport { InvariantError, invariant, setVerbosity };\n//# sourceMappingURL=invariant.esm.js.map\n"," \r\n export enum WebTagType {\r\n Unknown = 0,\r\n Image = 1,\r\n Script = 2,\r\n IFrame = 3,\r\n Link = 4,\r\n Xhr = 5,\r\n Flash = 6,\r\n Media = 7,\r\n Font = 8,\r\n }\r\n","import { ObjectType } from 'TypeWriterScripts/ObjectType';\r\nimport { TestReportMetricDataType } from 'TypeWriterScripts/TestReportMetricDataType';\r\nimport { MetricSetting } from 'pages/CustomDashboard/config/widgetConfig';\r\n\r\ntype Selection = T | T[];\r\n\r\nexport type Value = string | number;\r\n\r\nexport interface KeyValuePair {\r\n [key: string]: string;\r\n}\r\n\r\nexport type NullableNumber = number | null;\r\n\r\nexport type ValueSelection = Selection;\r\n\r\nexport interface Item {\r\n id: Value;\r\n name: string;\r\n}\r\n\r\nexport interface ViewItem {\r\n id: Value;\r\n name: Value;\r\n bubbleText?: Value;\r\n}\r\n\r\nexport interface ItemVal {\r\n item: Item;\r\n value: Value;\r\n}\r\n\r\nexport interface Update {\r\n curr: T;\r\n prev: T;\r\n}\r\n\r\nexport interface Position {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface Offset {\r\n x?: number;\r\n y?: number;\r\n}\r\n\r\nexport interface Size {\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport interface ValidActiveItem extends Item {\r\n validActiveState: ValidActiveState;\r\n group?: string;\r\n offset?: string;\r\n}\r\n\r\nexport type ItemSelection = Selection;\r\n\r\nexport interface ObjectItem extends Item {\r\n status?: Item;\r\n tracepoints?: Item[];\r\n}\r\n\r\nexport interface ObjectTypeItem extends ObjectItem {\r\n objectType: ObjectType;\r\n isWptTestFolder?: boolean;\r\n}\r\n\r\nexport enum ValidActiveState {\r\n Invalid = 1,\r\n Inactive = 2,\r\n Active = 3\r\n}\r\n\r\nexport enum ResponseStatus {\r\n NoData,\r\n Loading,\r\n HasData,\r\n Error,\r\n Custom\r\n}\r\n\r\nexport enum DataSourceType {\r\n Apps,\r\n Tests,\r\n Bgp,\r\n Node,\r\n City,\r\n Country,\r\n SonarLocation,\r\n SonarDevice,\r\n SonarApp,\r\n None,\r\n Product,\r\n Folder,\r\n Label,\r\n SonarNetworkDevice,\r\n EndpointTest,\r\n NodeToNodeTest,\r\n WptFolder\r\n}\r\n\r\nexport interface ItemPair {\r\n primary: T;\r\n secondary: T;\r\n}\r\n\r\nexport interface StatisticalValueItem {\r\n metricDataType: TestReportMetricDataType;\r\n statisticalModifier?: number;\r\n}\r\n\r\nexport interface NumericRange {\r\n min: number;\r\n max: number;\r\n}\r\n\r\nexport interface ItemColor {\r\n id: Value;\r\n color: string;\r\n}\r\n\r\nexport enum FilterBladeType {\r\n SyntheticOverview,\r\n Smartboard,\r\n BGPSmartboard,\r\n SyntheticSmartBoard,\r\n RealUserSmartBoard,\r\n TestsExplorer,\r\n EndpointSmartboard,\r\n EndpointOverview,\r\n SyntheticSmartBoardV2\r\n}\r\n\r\nexport interface StatisticalValues {\r\n type: Item;\r\n value: number;\r\n metric: MetricSetting;\r\n}\r\n\r\nexport interface LookupItem extends Item {\r\n originalName?: string;\r\n}\r\n\r\n/**\r\n * Values to be passed to the anchor tag \"target\" attribute.\r\n */\r\nexport type LinkTarget = '_self' | '_blank' | '_parent' | '_top';\r\n","import { concatStyleSets } from './concatStyleSets';\nimport { extractStyleParts } from './extractStyleParts';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { applyRegistration, styleToRegistration } from './styleToClassName';\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets() {\n var styleSets = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styleSets[_i] = arguments[_i];\n }\n return mergeCssSets(styleSets, getStyleOptions());\n}\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(styleSets, options) {\n var _a, _b;\n var classNameSet = { subComponentStyles: {} };\n var styleSet = styleSets[0];\n if (!styleSet && styleSets.length <= 1) {\n return { subComponentStyles: {} };\n }\n var concatenatedStyleSet = concatStyleSets.apply(void 0, styleSets);\n var registrations = [];\n for (var styleSetArea in concatenatedStyleSet) {\n if (concatenatedStyleSet.hasOwnProperty(styleSetArea)) {\n if (styleSetArea === 'subComponentStyles') {\n classNameSet.subComponentStyles = concatenatedStyleSet.subComponentStyles || {};\n continue;\n }\n var styles = concatenatedStyleSet[styleSetArea];\n var _c = extractStyleParts(styles), classes = _c.classes, objects = _c.objects;\n if ((_a = objects) === null || _a === void 0 ? void 0 : _a.length) {\n var registration = styleToRegistration(options || {}, { displayName: styleSetArea }, objects);\n if (registration) {\n registrations.push(registration);\n classNameSet[styleSetArea] = classes.concat([registration.className]).join(' ');\n }\n }\n else {\n classNameSet[styleSetArea] = classes.join(' ');\n }\n }\n }\n for (var _i = 0, registrations_1 = registrations; _i < registrations_1.length; _i++) {\n var registration = registrations_1[_i];\n if (registration) {\n applyRegistration(registration, (_b = options) === null || _b === void 0 ? void 0 : _b.specificityMultiplier);\n }\n }\n return classNameSet;\n}\n//# sourceMappingURL=mergeStyleSets.js.map","var redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\nvar ObjectPrototype = Object.prototype;\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (toString !== ObjectPrototype.toString) {\n redefine(ObjectPrototype, 'toString', toString, { unsafe: true });\n}\n","module.exports = __webpack_public_path__ + \"876c3d4cd6ac7d61b88ae317ee35fb48.svg\";","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","/** Raises a click event. */\nexport function raiseClick(target) {\n var event = createNewEvent('MouseEvents');\n event.initEvent('click', true, true);\n target.dispatchEvent(event);\n}\nfunction createNewEvent(eventName) {\n var event;\n if (typeof Event === 'function') {\n // Chrome, Opera, Firefox\n event = new Event(eventName);\n }\n else {\n // IE\n event = document.createEvent('Event');\n event.initEvent(eventName, true, true);\n }\n return event;\n}\n//# sourceMappingURL=raiseClick.js.map"," \r\n export enum DataDisplayType {\r\n None = -1,\r\n String = 0,\r\n Integer = 1,\r\n Checkbox = 2,\r\n CompareLine = 3,\r\n Percentage = 4,\r\n Color = 5,\r\n Sparkline = 6,\r\n NullableNumber = 7,\r\n Icon = 8,\r\n IP = 9,\r\n Hyperlink = 10,\r\n NavLink = 11,\r\n Pill = 12,\r\n InfoBlock = 13,\r\n SparklineInfoBlock = 14,\r\n AnalyticsSparkline = 15,\r\n Date = 16,\r\n IconMenu = 17,\r\n WinLossCell = 19,\r\n MultiPill = 20,\r\n ColorNumericalCell = 21,\r\n Threshold = 22,\r\n IconNavLink = 23,\r\n Doughnut = 24,\r\n CustomRenderCell = 25,\r\n DateRangeCell = 26,\r\n RouterLink = 27,\r\n }\r\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-hot-loader.production.min.js');\n} else if (process.env.NODE_ENV === 'test') {\n module.exports = require('./dist/react-hot-loader.production.min.js');\n} else if (typeof window === 'undefined') {\n // this is just server environment\n module.exports = require('./dist/react-hot-loader.production.min.js');\n} else if (!module.hot) {\n module.exports = require('./dist/react-hot-loader.production.min.js');\n module.exports.AppContainer.warnAboutHMRDisabled = true;\n module.exports.hot.shouldWrapWithAppContainer = true;\n} else {\n var evalAllowed = false;\n try {\n eval('evalAllowed = true');\n } catch (e) {\n // eval not allowed due to CSP\n }\n\n // RHL needs setPrototypeOf to operate Component inheritance, and eval to patch methods\n var jsFeaturesPresent = !!Object.setPrototypeOf;\n\n if (!jsFeaturesPresent || !evalAllowed) {\n // we are not in prod mode, but RHL could not be activated\n console.warn('React-Hot-Loader is not supported in this environment.');\n module.exports = require('./dist/react-hot-loader.production.min.js');\n } else {\n module.exports = window.reactHotLoaderGlobal = require('./dist/react-hot-loader.development.js');\n }\n}\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n"," \r\n export enum SyntheticNetworkType {\r\n Backbone = 0,\r\n LastMile = 1,\r\n Wireless = 2,\r\n Private = 3,\r\n Enterprise = 4,\r\n PublicCloud = 5,\r\n Any = 6,\r\n Bgp = 7,\r\n WebPageTest = 8,\r\n }\r\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","import { getParent } from './getParent';\n/**\n * Determines whether or not a parent element contains a given child element.\n * If `allowVirtualParents` is true, this method may return `true` if the child\n * has the parent in its virtual element hierarchy.\n *\n * @public\n */\nexport function elementContains(parent, child, allowVirtualParents) {\n if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n var isContained = false;\n if (parent && child) {\n if (allowVirtualParents) {\n if (parent === child) {\n isContained = true;\n }\n else {\n isContained = false;\n while (child) {\n var nextParent = getParent(child);\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n child = nextParent;\n }\n }\n }\n else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n return isContained;\n}\n//# sourceMappingURL=elementContains.js.map","'use strict';\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n if (sham) hide(RegExp.prototype[SYMBOL], 'sham', true);\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","export enum Path {\r\n SyntheticSmartboard = '/Smartboard/Syn*',\r\n TestSmartboard = '/Smartboard/Test',\r\n PublicTestSmartboard = '/TSB/*',\r\n OldSyntheticSmartboard = '/Smartboard/Old/Syn/*',\r\n RealUserSmartboard = '/Smartboard/RUM*',\r\n SynOverview = '/Dashboard/Synthetic',\r\n TestOverview = '/Dashboard/Test*',\r\n Dashboard = '/Dashboard',\r\n CustomDashboard = '/Dashboard/Custom/:firstParam?/:secondParam?',\r\n SonarSmartboard = '/Smartboard/Sonar',\r\n EndpointDeviceSmartboard = '/Smartboard/EndpointDevice',\r\n NodeSmartboard = '/Smartboard/Node',\r\n SonarOverview = '/Dashboard/Endpoint',\r\n TestTemplate = '/ControlCenter/TestTemplate/:id?',\r\n Observatory = '/ControlCenter/:section?/:objectType?/:id?/:action?',\r\n LocationSmartboard = '/Smartboard/Location',\r\n DeviceSmartboard = '/Smartboard/Endpoint',\r\n EndpointTestSmartboard = '/Smartboard/EndpointTest',\r\n SonarAppSmartboard = '/Smartboard/EmployeeApp',\r\n TracerouteSmartboard = '/Smartboard/Traceroute',\r\n BGPSmartboard = '/Smartboard/BGP',\r\n NodeToNodeSmartboard = '/Smartboard/NodeToNode',\r\n InvalidAccess = '/Entry/ErrorPage.aspx?type=InvalidAccess',\r\n BenchmarkIndex = '/Administration/Indexes/:id?',\r\n BenchmarkIndexLegacy = '/Administration/IndexList.aspx',\r\n BenchmarkIndexDetailLegacy = '/Administration/IndexDetail.aspx',\r\n NodeGroup = '/Nodes/NodeGroups/:id?/:action?',\r\n TestModuleList = '/Tests/TestModuleList.aspx?ix=:ix?',\r\n Explorer = '/Explorer',\r\n Node = '/Nodes/NodeList/:id?/:action?',\r\n BGPOverview = '/Dashboard/Bgp*',\r\n AnalyticsPublicSmartboard = '/APSB/*',\r\n PublicNodeToNodeSmartboard = '/NTNSB/*',\r\n PublicBGPSmartboard = '/BGPSB/*',\r\n PublicCustomDashboard = '/APCD/*',\r\n PublicSyntheticRecord = '/SPW/*',\r\n PublicEndpointInstantTest = '/EITP/*',\r\n PublicSyntheticInstantTest = '/SITP/*',\r\n PublicEndpointDeviceSmartboard = '/EDS/*',\r\n PublicEndpointLocationSmartboard = '/ELS/*',\r\n PublicEndpointEmployeeAppSmartboard = '/EEAS/*',\r\n PublicEndpointTestSmartboard = '/ETS/*',\r\n PublicExplorer = '/PSE/*',\r\n PublicRumRecord = '/RPW/*',\r\n BgpPeerPage = '/Nodes/BgpPeers',\r\n SyntheticRecord = '/Record/Synthetic',\r\n TestRecord = '/Record/Test*',\r\n RumRecord = '/Record/Rum',\r\n DivisionList = '/Divisions/:id?',\r\n ContactGroups = '/ContactGroups/:id?',\r\n Contacts = '/Contacts/:id?',\r\n Schedules = '/Schedules/:id?',\r\n UserRoles = '/UserRoles/:id?',\r\n NotFound = '/NotFound',\r\n CustomVisualization = '/CustomVisualization/:id?/:action?',\r\n CustomVisualizationNew = '/CustomVisualization/New',\r\n InstantTest = '/InstantTest/:section?/:id?/:action?',\r\n RipeStatPlaceholder = '/RipeStatPlaceholder.aspx*',\r\n AlertLogs = '/Alerts/:sourceType?',\r\n Instance = '/Instances/InstanceList/:id?/:action?',\r\n Saas = '/Smartboard/Saas',\r\n RecordsCompare = '/wpt/RecordsCompare',\r\n TestAlertLogs = '/Alerts/Test',\r\n NodeDetail = '/Nodes/NodeDetail/:id?/:action?',\r\n RealUserControlCenter = '/ControlCenter/Rum',\r\n RecentErrors = '/Charts/RecentErrors.aspx',\r\n RealUser = '/Charts/Glimpse.aspx',\r\n DataviewList = '/Charts/GlimpseDataViewList.aspx',\r\n SyntheticInstantTest = '/Charts/InstantTestList.aspx',\r\n ReportList = '/Reports/ReportList.aspx',\r\n TemplateList = '/Reports/TemplateList.aspx',\r\n AlertLog = '/Alerts/AlertNotificationList.aspx',\r\n IncidentListOld = '/Alerts/IncidentList.aspx',\r\n IncidentList = '/IncidentList',\r\n RumAlertLog = '/Alerts/Rum',\r\n Incidents = '/Alerts/Incidents',\r\n NodeMap = '/Nodes/NodeInformation',\r\n RejectedInstances = '/Nodes/RejectedAgentList.aspx',\r\n Packages = '/Nodes/PackageList.aspx',\r\n ZoneList = '/Administration/ZoneList.aspx',\r\n Insights = '/Administration/InsightDetail.aspx',\r\n ApiDetail = '/Administration/ApiDetail.aspx',\r\n LicenseList = '/Administration/LicenseList.aspx',\r\n AppList = '/Administration/AppList.aspx',\r\n Licenses = '/Administration/LicenseList.aspx',\r\n DataCleanup = '/Administration/DataCleanupList.aspx',\r\n SlaPurgeItemList = '/Administration/SLAPurgeItemList.aspx',\r\n AccountActivity = '/Administration/AccountActivity.aspx',\r\n UsageReport = '/Administration/UsageReport.aspx',\r\n AccountInfo = '/Administration/AccountInfo.aspx',\r\n IdentityProvider = '/Administration/IdentityProvider.aspx',\r\n PointsAllocation = '/Administration/PointsAllocation.aspx',\r\n Integration = '/Administration/Integration.aspx',\r\n Smartboard = '/Smartboard/Syn',\r\n SytheticControlCenter = '/ControlCenter/Tests',\r\n EndpointControlCenter = '/ControlCenter/Endpoint',\r\n TestTemplateControlCenter = '/ControlCenter/TestTemplate',\r\n CustomViz = '/CustomVisualization',\r\n EndpointInstantTestList = '/InstantTest/Endpoint',\r\n ContactList = '/Contacts',\r\n ContactGroupList = '/ContactGroups',\r\n NodeGroupList = '/Nodes/NodeGroups',\r\n NodeList = '/Nodes/NodeList',\r\n Divisions = '/Divisions',\r\n ScheduleList = '/Schedules',\r\n UserRoleList = '/UserRoles',\r\n Indexes = '/Administration/Indexes',\r\n Record = '/Record/Test',\r\n WptRecord = '/Record/Wpt',\r\n InstanceList = '/Instances/InstanceList'\r\n}\r\n\r\nexport enum RouteActions {\r\n Properties = 'Properties',\r\n New = 'New',\r\n TestRecords = 'TestRecords',\r\n RumRecords = 'RumRecords',\r\n Licenses = 'Licenses',\r\n Copy = 'Copy',\r\n Changelog = 'Changelog',\r\n AddInstance = 'AddInstance',\r\n NodeProperties = 'NodeProperties',\r\n Utilization = 'Utilization',\r\n Instances = 'Instances'\r\n}\r\n\r\nexport enum ControlCenterSelectionType {\r\n Product = 'Product',\r\n Folder = 'Folder',\r\n Test = 'Test',\r\n TestTemplate = 'TestTemplate',\r\n Synthetic = 'Synthetic',\r\n Endpoint = 'Endpoint',\r\n Locations = 'Locations',\r\n Endpoints = 'Endpoints',\r\n EmployeeApps = 'EmployeeApps',\r\n EndpointTest = 'Test',\r\n NetworkDevices = 'NetworkDevices',\r\n Alerts = 'Alerts',\r\n Rum = 'Rum',\r\n SiteType = 'SiteType',\r\n Site = 'Site',\r\n Template = 'Template',\r\n WebPageTest = 'WebPageTest',\r\n Library = 'Library',\r\n Certificates = 'Certificates',\r\n Credentials = 'Credentials',\r\n Passwords = 'Passwords',\r\n Tokens = 'Tokens',\r\n Tests = 'Tests',\r\n ASNs = 'ASNs',\r\n Files = 'Files'\r\n}\r\n\r\nexport enum CustomDashboardSelectionType {\r\n New = 'New',\r\n Edit = 'Edit'\r\n}\r\n\r\nexport enum CustomVisualizationSelectionType {\r\n Edit = 'Edit'\r\n}\r\n\r\nexport enum InstantTestSelectionType {\r\n Test = 'Tests',\r\n Synthetic = 'Synthetic',\r\n Endpoint = 'Endpoint'\r\n}\r\n\r\nexport enum AlertLogsSourceType {\r\n Synthetic = 'Synthetic',\r\n Test = 'Test',\r\n Rum = 'Rum'\r\n}\r\n\r\nexport enum InstantTestRouteActions {\r\n New = 'New',\r\n Detail = 'Detail'\r\n}\r\n"," \r\n export enum TileSize {\r\n FullSize = 0,\r\n ScaleDownToFit = 1,\r\n }\r\n","import { wrap } from 'optimism';\nimport { getFragmentQueryDocument, } from \"../../utilities/index.js\";\nvar ApolloCache = (function () {\n function ApolloCache() {\n this.getFragmentDoc = wrap(getFragmentQueryDocument);\n }\n ApolloCache.prototype.recordOptimisticTransaction = function (transaction, optimisticId) {\n this.performTransaction(transaction, optimisticId);\n };\n ApolloCache.prototype.transformDocument = function (document) {\n return document;\n };\n ApolloCache.prototype.identify = function (object) {\n return;\n };\n ApolloCache.prototype.gc = function () {\n return [];\n };\n ApolloCache.prototype.modify = function (options) {\n return false;\n };\n ApolloCache.prototype.transformForLink = function (document) {\n return document;\n };\n ApolloCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = !!options.optimistic; }\n return this.read({\n rootId: options.id || 'ROOT_QUERY',\n query: options.query,\n variables: options.variables,\n returnPartialData: options.returnPartialData,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = !!options.optimistic; }\n return this.read({\n query: this.getFragmentDoc(options.fragment, options.fragmentName),\n variables: options.variables,\n rootId: options.id,\n returnPartialData: options.returnPartialData,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.writeQuery = function (options) {\n return this.write({\n dataId: options.id || 'ROOT_QUERY',\n result: options.data,\n query: options.query,\n variables: options.variables,\n broadcast: options.broadcast,\n });\n };\n ApolloCache.prototype.writeFragment = function (options) {\n return this.write({\n dataId: options.id,\n result: options.data,\n variables: options.variables,\n query: this.getFragmentDoc(options.fragment, options.fragmentName),\n broadcast: options.broadcast,\n });\n };\n return ApolloCache;\n}());\nexport { ApolloCache };\n//# sourceMappingURL=cache.js.map","import { __read, __spread } from \"tslib\";\nimport { dynamicRequire, fill, logger } from '@sentry/utils';\nvar OPERATIONS = [\n 'aggregate',\n 'bulkWrite',\n 'countDocuments',\n 'createIndex',\n 'createIndexes',\n 'deleteMany',\n 'deleteOne',\n 'distinct',\n 'drop',\n 'dropIndex',\n 'dropIndexes',\n 'estimatedDocumentCount',\n 'findOne',\n 'findOneAndDelete',\n 'findOneAndReplace',\n 'findOneAndUpdate',\n 'indexes',\n 'indexExists',\n 'indexInformation',\n 'initializeOrderedBulkOp',\n 'insertMany',\n 'insertOne',\n 'isCapped',\n 'mapReduce',\n 'options',\n 'parallelCollectionScan',\n 'rename',\n 'replaceOne',\n 'stats',\n 'updateMany',\n 'updateOne',\n];\n// All of the operations above take `options` and `callback` as their final parameters, but some of them\n// take additional parameters as well. For those operations, this is a map of\n// { : [] }, as a way to know what to call the operation's\n// positional arguments when we add them to the span's `data` object later\nvar OPERATION_SIGNATURES = {\n // aggregate intentionally not included because `pipeline` arguments are too complex to serialize well\n // see https://github.com/getsentry/sentry-javascript/pull/3102\n bulkWrite: ['operations'],\n countDocuments: ['query'],\n createIndex: ['fieldOrSpec'],\n createIndexes: ['indexSpecs'],\n deleteMany: ['filter'],\n deleteOne: ['filter'],\n distinct: ['key', 'query'],\n dropIndex: ['indexName'],\n findOne: ['query'],\n findOneAndDelete: ['filter'],\n findOneAndReplace: ['filter', 'replacement'],\n findOneAndUpdate: ['filter', 'update'],\n indexExists: ['indexes'],\n insertMany: ['docs'],\n insertOne: ['doc'],\n mapReduce: ['map', 'reduce'],\n rename: ['newName'],\n replaceOne: ['filter', 'doc'],\n updateMany: ['filter', 'update'],\n updateOne: ['filter', 'update'],\n};\n/** Tracing integration for mongo package */\nvar Mongo = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function Mongo(options) {\n if (options === void 0) { options = {}; }\n /**\n * @inheritDoc\n */\n this.name = Mongo.id;\n this._operations = Array.isArray(options.operations)\n ? options.operations\n : OPERATIONS;\n this._describeOperations = 'describeOperations' in options ? options.describeOperations : true;\n }\n /**\n * @inheritDoc\n */\n Mongo.prototype.setupOnce = function (_, getCurrentHub) {\n var collection;\n try {\n var mongodbModule = dynamicRequire(module, 'mongodb');\n collection = mongodbModule.Collection;\n }\n catch (e) {\n logger.error('Mongo Integration was unable to require `mongodb` package.');\n return;\n }\n this._instrumentOperations(collection, this._operations, getCurrentHub);\n };\n /**\n * Patches original collection methods\n */\n Mongo.prototype._instrumentOperations = function (collection, operations, getCurrentHub) {\n var _this = this;\n operations.forEach(function (operation) { return _this._patchOperation(collection, operation, getCurrentHub); });\n };\n /**\n * Patches original collection to utilize our tracing functionality\n */\n Mongo.prototype._patchOperation = function (collection, operation, getCurrentHub) {\n if (!(operation in collection.prototype))\n return;\n var getSpanContext = this._getSpanContextFromOperationArguments.bind(this);\n fill(collection.prototype, operation, function (orig) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a, _b, _c;\n var lastArg = args[args.length - 1];\n var scope = getCurrentHub().getScope();\n var parentSpan = (_a = scope) === null || _a === void 0 ? void 0 : _a.getSpan();\n // Check if the operation was passed a callback. (mapReduce requires a different check, as\n // its (non-callback) arguments can also be functions.)\n if (typeof lastArg !== 'function' || (operation === 'mapReduce' && args.length === 2)) {\n var span_1 = (_b = parentSpan) === null || _b === void 0 ? void 0 : _b.startChild(getSpanContext(this, operation, args));\n return orig.call.apply(orig, __spread([this], args)).then(function (res) {\n var _a;\n (_a = span_1) === null || _a === void 0 ? void 0 : _a.finish();\n return res;\n });\n }\n var span = (_c = parentSpan) === null || _c === void 0 ? void 0 : _c.startChild(getSpanContext(this, operation, args.slice(0, -1)));\n return orig.call.apply(orig, __spread([this], args.slice(0, -1), [function (err, result) {\n var _a;\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n lastArg(err, result);\n }]));\n };\n });\n };\n /**\n * Form a SpanContext based on the user input to a given operation.\n */\n Mongo.prototype._getSpanContextFromOperationArguments = function (collection, operation, args) {\n var data = {\n collectionName: collection.collectionName,\n dbName: collection.dbName,\n namespace: collection.namespace,\n };\n var spanContext = {\n op: \"db\",\n description: operation,\n data: data,\n };\n // If the operation takes no arguments besides `options` and `callback`, or if argument\n // collection is disabled for this operation, just return early.\n var signature = OPERATION_SIGNATURES[operation];\n var shouldDescribe = Array.isArray(this._describeOperations)\n ? this._describeOperations.includes(operation)\n : this._describeOperations;\n if (!signature || !shouldDescribe) {\n return spanContext;\n }\n try {\n // Special case for `mapReduce`, as the only one accepting functions as arguments.\n if (operation === 'mapReduce') {\n var _a = __read(args, 2), map = _a[0], reduce = _a[1];\n data[signature[0]] = typeof map === 'string' ? map : map.name || '';\n data[signature[1]] = typeof reduce === 'string' ? reduce : reduce.name || '';\n }\n else {\n for (var i = 0; i < signature.length; i++) {\n data[signature[i]] = JSON.stringify(args[i]);\n }\n }\n }\n catch (_oO) {\n // no-empty\n }\n return spanContext;\n };\n /**\n * @inheritDoc\n */\n Mongo.id = 'Mongo';\n return Mongo;\n}());\nexport { Mongo };\n//# sourceMappingURL=mongo.js.map","import { mergeStyleSets } from '../../Styling';\n/** Class names used in themeable and non-themeable Icon components */\nexport var classNames = mergeStyleSets({\n root: {\n display: 'inline-block',\n },\n placeholder: [\n 'ms-Icon-placeHolder',\n {\n width: '1em',\n },\n ],\n image: [\n 'ms-Icon-imageContainer',\n {\n overflow: 'hidden',\n },\n ],\n});\n/** Class name used only in non-themeable Icon components */\nexport var MS_ICON = 'ms-Icon';\nexport var getStyles = function (props) {\n var className = props.className, iconClassName = props.iconClassName, isPlaceholder = props.isPlaceholder, isImage = props.isImage, styles = props.styles;\n return {\n root: [\n isPlaceholder && classNames.placeholder,\n classNames.root,\n isImage && classNames.image,\n iconClassName,\n className,\n styles && styles.root,\n // eslint-disable-next-line deprecation/deprecation\n styles && styles.imageContainer,\n ],\n };\n};\n//# sourceMappingURL=Icon.styles.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('map') }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"OverlayTooltip_main_1uIOi\",\"title\":\"OverlayTooltip_title_1twwp\",\"sectionHeading\":\"OverlayTooltip_sectionHeading_xJM45\",\"content\":\"OverlayTooltip_content_29Qq6\",\"heading\":\"OverlayTooltip_heading_3sHJB\",\"info\":\"OverlayTooltip_info_25K5y\",\"text\":\"OverlayTooltip_text_16YHI\",\"date\":\"OverlayTooltip_date_v0Tu-\",\"border\":\"OverlayTooltip_border_1NhyC\"};","import { addInstrumentationHandler, logger } from '@sentry/utils';\nimport { SpanStatus } from './spanstatus';\nimport { getActiveTransaction } from './utils';\n/**\n * Configures global error listeners\n */\nexport function registerErrorInstrumentation() {\n addInstrumentationHandler({\n callback: errorCallback,\n type: 'error',\n });\n addInstrumentationHandler({\n callback: errorCallback,\n type: 'unhandledrejection',\n });\n}\n/**\n * If an error or unhandled promise occurs, we mark the active transaction as failed\n */\nfunction errorCallback() {\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n logger.log(\"[Tracing] Transaction: \" + SpanStatus.InternalError + \" -> Global error occured\");\n activeTransaction.setStatus(SpanStatus.InternalError);\n }\n}\n//# sourceMappingURL=errors.js.map","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\nvar nativeFreeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); });\n\n// `Object.freeze` method\n// https://tc39.github.io/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;\n }\n});\n","import { __extends } from \"tslib\";\nimport { InvariantError, invariant } from 'ts-invariant';\nimport { Observable } from \"../../utilities/index.js\";\nimport { validateOperation, createOperation, transformOperation, } from \"../utils/index.js\";\nfunction passthrough(op, forward) {\n return (forward ? forward(op) : Observable.of());\n}\nfunction toLink(handler) {\n return typeof handler === 'function' ? new ApolloLink(handler) : handler;\n}\nfunction isTerminating(link) {\n return link.request.length <= 1;\n}\nvar LinkError = (function (_super) {\n __extends(LinkError, _super);\n function LinkError(message, link) {\n var _this = _super.call(this, message) || this;\n _this.link = link;\n return _this;\n }\n return LinkError;\n}(Error));\nvar ApolloLink = (function () {\n function ApolloLink(request) {\n if (request)\n this.request = request;\n }\n ApolloLink.empty = function () {\n return new ApolloLink(function () { return Observable.of(); });\n };\n ApolloLink.from = function (links) {\n if (links.length === 0)\n return ApolloLink.empty();\n return links.map(toLink).reduce(function (x, y) { return x.concat(y); });\n };\n ApolloLink.split = function (test, left, right) {\n var leftLink = toLink(left);\n var rightLink = toLink(right || new ApolloLink(passthrough));\n if (isTerminating(leftLink) && isTerminating(rightLink)) {\n return new ApolloLink(function (operation) {\n return test(operation)\n ? leftLink.request(operation) || Observable.of()\n : rightLink.request(operation) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return test(operation)\n ? leftLink.request(operation, forward) || Observable.of()\n : rightLink.request(operation, forward) || Observable.of();\n });\n }\n };\n ApolloLink.execute = function (link, operation) {\n return (link.request(createOperation(operation.context, transformOperation(validateOperation(operation)))) || Observable.of());\n };\n ApolloLink.concat = function (first, second) {\n var firstLink = toLink(first);\n if (isTerminating(firstLink)) {\n process.env.NODE_ENV === \"production\" || invariant.warn(new LinkError(\"You are calling concat on a terminating link, which will have no effect\", firstLink));\n return firstLink;\n }\n var nextLink = toLink(second);\n if (isTerminating(nextLink)) {\n return new ApolloLink(function (operation) {\n return firstLink.request(operation, function (op) { return nextLink.request(op) || Observable.of(); }) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return (firstLink.request(operation, function (op) {\n return nextLink.request(op, forward) || Observable.of();\n }) || Observable.of());\n });\n }\n };\n ApolloLink.prototype.split = function (test, left, right) {\n return this.concat(ApolloLink.split(test, left, right || new ApolloLink(passthrough)));\n };\n ApolloLink.prototype.concat = function (next) {\n return ApolloLink.concat(this, next);\n };\n ApolloLink.prototype.request = function (operation, forward) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(21) : new InvariantError('request is not implemented');\n };\n ApolloLink.prototype.onError = function (error, observer) {\n if (observer && observer.error) {\n observer.error(error);\n return false;\n }\n throw error;\n };\n ApolloLink.prototype.setOnError = function (fn) {\n this.onError = fn;\n return this;\n };\n return ApolloLink;\n}());\nexport { ApolloLink };\n//# sourceMappingURL=ApolloLink.js.map","import { __assign } from \"tslib\";\nexport function createOperation(starting, operation) {\n var context = __assign({}, starting);\n var setContext = function (next) {\n if (typeof next === 'function') {\n context = __assign(__assign({}, context), next(context));\n }\n else {\n context = __assign(__assign({}, context), next);\n }\n };\n var getContext = function () { return (__assign({}, context)); };\n Object.defineProperty(operation, 'setContext', {\n enumerable: false,\n value: setContext,\n });\n Object.defineProperty(operation, 'getContext', {\n enumerable: false,\n value: getContext,\n });\n return operation;\n}\n//# sourceMappingURL=createOperation.js.map","import { getOperationName } from \"../../utilities/index.js\";\nexport function transformOperation(operation) {\n var transformedOperation = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query,\n };\n if (!transformedOperation.operationName) {\n transformedOperation.operationName =\n typeof transformedOperation.query !== 'string'\n ? getOperationName(transformedOperation.query) || undefined\n : '';\n }\n return transformedOperation;\n}\n//# sourceMappingURL=transformOperation.js.map","import { InvariantError } from 'ts-invariant';\nexport function validateOperation(operation) {\n var OPERATION_FIELDS = [\n 'query',\n 'operationName',\n 'variables',\n 'extensions',\n 'context',\n ];\n for (var _i = 0, _a = Object.keys(operation); _i < _a.length; _i++) {\n var key = _a[_i];\n if (OPERATION_FIELDS.indexOf(key) < 0) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(26) : new InvariantError(\"illegal argument: \" + key);\n }\n }\n return operation;\n}\n//# sourceMappingURL=validateOperation.js.map","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar hide = require('../internals/hide');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n hide(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n"," \r\n export enum BGPEventType {\r\n Announcement = 1,\r\n Withdrawal = 2,\r\n PeerDown = 3,\r\n }\r\n","import { _isSSR } from './setSSR';\nvar _window = undefined;\n// Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\ntry {\n _window = window;\n}\ncatch (e) {\n /* no-op */\n}\n/**\n * Helper to get the window object. The helper will make sure to use a cached variable\n * of \"window\", to avoid overhead and memory leaks in IE11. Note that in popup scenarios the\n * window object won't match the \"global\" window object, and for these scenarios, you should\n * pass in an element hosted within the popup.\n *\n * @public\n */\nexport function getWindow(rootElement) {\n if (_isSSR || typeof _window === 'undefined') {\n return undefined;\n }\n else {\n var el = rootElement;\n return el && el.ownerDocument && el.ownerDocument.defaultView ? el.ownerDocument.defaultView : _window;\n }\n}\n//# sourceMappingURL=getWindow.js.map","import * as React from 'react';\n/**\n * Context for providing the window.\n */\nexport var WindowContext = React.createContext({\n window: typeof window === 'object' ? window : undefined,\n});\n/**\n * Hook to access the window object. This can be overridden contextually using the `WindowProvider`.\n */\nexport var useWindow = function () { return React.useContext(WindowContext).window; };\n/**\n * Hook to access the document object. This can be overridden contextually using the `WindowProvider`.\n */\nexport var useDocument = function () { var _a; return (_a = React.useContext(WindowContext).window) === null || _a === void 0 ? void 0 : _a.document; };\n/**\n * Component to provide the window object contextually. This is useful when rendering content to an element\n * contained within a child window or iframe element, where event handlers and styling must be projected\n * to an alternative window or document.\n */\nexport var WindowProvider = function (props) {\n return React.createElement(WindowContext.Provider, { value: props }, props.children);\n};\n//# sourceMappingURL=WindowProvider.js.map","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","import { __assign, __spreadArrays } from \"tslib\";\nimport { EventGroup, getId } from '../../Utilities';\nimport { KeytipEvents } from '../../utilities/keytips/KeytipConstants';\n/**\n * This class is responsible for handling registering, updating, and unregistering of keytips\n */\nvar KeytipManager = /** @class */ (function () {\n function KeytipManager() {\n this.keytips = {};\n this.persistedKeytips = {};\n this.sequenceMapping = {};\n // This is (and should be) updated and kept in sync\n // with the inKeytipMode in KeytipLayer.\n this.inKeytipMode = false;\n // Boolean that gets checked before entering keytip mode by the KeytipLayer\n // Used for an override in special cases (e.g. Disable entering keytip mode when a modal is shown)\n this.shouldEnterKeytipMode = true;\n // Boolean to indicate whether to delay firing an event to update subscribers of\n // keytip data changed.\n this.delayUpdatingKeytipChange = false;\n }\n /**\n * Static function to get singleton KeytipManager instance\n *\n * @returns Singleton KeytipManager instance\n */\n KeytipManager.getInstance = function () {\n return this._instance;\n };\n /**\n * Initialization code to set set parameters to define\n * how the KeytipManager handles keytip data.\n *\n * @param delayUpdatingKeytipChange - T/F if we should delay notifiying keytip subscribers\n * of keytip changes\n */\n KeytipManager.prototype.init = function (delayUpdatingKeytipChange) {\n this.delayUpdatingKeytipChange = delayUpdatingKeytipChange;\n };\n /**\n * Registers a keytip\n *\n * @param keytipProps - Keytip to register\n * @param persisted - T/F if this keytip should be persisted, default is false\n * @returns Unique ID for this keytip\n */\n KeytipManager.prototype.register = function (keytipProps, persisted) {\n if (persisted === void 0) { persisted = false; }\n var props = keytipProps;\n if (!persisted) {\n // Add the overflowSetSequence if necessary\n props = this.addParentOverflow(keytipProps);\n this.sequenceMapping[props.keySequences.toString()] = props;\n }\n // Create a unique keytip\n var uniqueKeytip = this._getUniqueKtp(props);\n // Add to dictionary\n persisted\n ? (this.persistedKeytips[uniqueKeytip.uniqueID] = uniqueKeytip)\n : (this.keytips[uniqueKeytip.uniqueID] = uniqueKeytip);\n // We only want to add something new if we are currently showing keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n var event_1 = persisted ? KeytipEvents.PERSISTED_KEYTIP_ADDED : KeytipEvents.KEYTIP_ADDED;\n EventGroup.raise(this, event_1, {\n keytip: props,\n uniqueID: uniqueKeytip.uniqueID,\n });\n }\n return uniqueKeytip.uniqueID;\n };\n /**\n * Update a keytip\n *\n * @param keytipProps - Keytip to update\n * @param uniqueID - Unique ID of this keytip\n */\n KeytipManager.prototype.update = function (keytipProps, uniqueID) {\n var newKeytipProps = this.addParentOverflow(keytipProps);\n var uniqueKeytip = this._getUniqueKtp(newKeytipProps, uniqueID);\n var oldKeyTip = this.keytips[uniqueID];\n if (oldKeyTip) {\n // Update everything except 'visible'\n uniqueKeytip.keytip.visible = oldKeyTip.keytip.visible;\n // Update keytip in this.keytips\n this.keytips[uniqueID] = uniqueKeytip;\n // Update the sequence to be up to date\n delete this.sequenceMapping[oldKeyTip.keytip.keySequences.toString()];\n this.sequenceMapping[uniqueKeytip.keytip.keySequences.toString()] = uniqueKeytip.keytip;\n // Raise event only if we are currently in keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n EventGroup.raise(this, KeytipEvents.KEYTIP_UPDATED, {\n keytip: uniqueKeytip.keytip,\n uniqueID: uniqueKeytip.uniqueID,\n });\n }\n }\n };\n /**\n * Unregisters a keytip\n *\n * @param keytipToRemove - IKeytipProps of the keytip to remove\n * @param uniqueID - Unique ID of this keytip\n * @param persisted - T/F if this keytip should be persisted, default is false\n */\n KeytipManager.prototype.unregister = function (keytipToRemove, uniqueID, persisted) {\n if (persisted === void 0) { persisted = false; }\n persisted ? delete this.persistedKeytips[uniqueID] : delete this.keytips[uniqueID];\n !persisted && delete this.sequenceMapping[keytipToRemove.keySequences.toString()];\n var event = persisted ? KeytipEvents.PERSISTED_KEYTIP_REMOVED : KeytipEvents.KEYTIP_REMOVED;\n // Update keytips only if we're in keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n EventGroup.raise(this, event, {\n keytip: keytipToRemove,\n uniqueID: uniqueID,\n });\n }\n };\n /**\n * Manual call to enter keytip mode\n */\n KeytipManager.prototype.enterKeytipMode = function () {\n EventGroup.raise(this, KeytipEvents.ENTER_KEYTIP_MODE);\n };\n /**\n * Manual call to exit keytip mode\n */\n KeytipManager.prototype.exitKeytipMode = function () {\n EventGroup.raise(this, KeytipEvents.EXIT_KEYTIP_MODE);\n };\n /**\n * Gets all IKeytipProps from this.keytips\n *\n * @returns All keytips stored in the manager\n */\n KeytipManager.prototype.getKeytips = function () {\n var _this = this;\n return Object.keys(this.keytips).map(function (key) { return _this.keytips[key].keytip; });\n };\n /**\n * Adds the overflowSetSequence to the keytipProps if its parent keytip also has it\n *\n * @param keytipProps - Keytip props to add overflowSetSequence to if necessary\n * @returns - Modified keytip props, if needed to be modified\n */\n KeytipManager.prototype.addParentOverflow = function (keytipProps) {\n var fullSequence = __spreadArrays(keytipProps.keySequences);\n fullSequence.pop();\n if (fullSequence.length !== 0) {\n var parentKeytip = this.sequenceMapping[fullSequence.toString()];\n if (parentKeytip && parentKeytip.overflowSetSequence) {\n return __assign(__assign({}, keytipProps), { overflowSetSequence: parentKeytip.overflowSetSequence });\n }\n }\n return keytipProps;\n };\n /**\n * Public function to bind for overflow items that have a submenu\n */\n KeytipManager.prototype.menuExecute = function (overflowButtonSequences, keytipSequences) {\n EventGroup.raise(this, KeytipEvents.PERSISTED_KEYTIP_EXECUTE, {\n overflowButtonSequences: overflowButtonSequences,\n keytipSequences: keytipSequences,\n });\n };\n /**\n * Creates an IUniqueKeytip object\n *\n * @param keytipProps - IKeytipProps\n * @param uniqueID - Unique ID, will default to the next unique ID if not passed\n * @returns IUniqueKeytip object\n */\n KeytipManager.prototype._getUniqueKtp = function (keytipProps, uniqueID) {\n if (uniqueID === void 0) { uniqueID = getId(); }\n return { keytip: __assign({}, keytipProps), uniqueID: uniqueID };\n };\n KeytipManager._instance = new KeytipManager();\n return KeytipManager;\n}());\nexport { KeytipManager };\n//# sourceMappingURL=KeytipManager.js.map","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","import { _isSSR } from './setSSR';\n/**\n * Helper to get the document object. Note that in popup window cases, document\n * might be the wrong document, which is why we look at ownerDocument for the\n * truth. Also note that the SSR flag is used to test ssr scenarios even if\n * document is defined (from JSDOM for example.)\n *\n * @public\n */\nexport function getDocument(rootElement) {\n if (_isSSR || typeof document === 'undefined') {\n return undefined;\n }\n else {\n var el = rootElement;\n return el && el.ownerDocument ? el.ownerDocument : document;\n }\n}\n//# sourceMappingURL=getDocument.js.map","import { logger } from './logger';\nimport { getGlobalObject } from './misc';\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent() {\n try {\n new ErrorEvent('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError() {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException() {\n try {\n new DOMException('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n var global = getGlobalObject();\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n var result = false;\n var doc = global.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof doc.createElement === \"function\") {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n }\n catch (err) {\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n return result;\n}\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver() {\n return 'ReportingObserver' in getGlobalObject();\n}\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n if (!supportsFetch()) {\n return false;\n }\n try {\n new Request('_', {\n referrerPolicy: 'origin',\n });\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var chrome = global.chrome;\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}\n//# sourceMappingURL=supports.js.map","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","import { warn } from './warn';\n/**\n * Warns when two props which are mutually exclusive are both being used.\n *\n * @public\n * @param componentName - The name of the component being used.\n * @param props - The props passed into the component.\n * @param exclusiveMap - A map where the key is a parameter, and the value is the other parameter.\n */\nexport function warnMutuallyExclusive(componentName, props, exclusiveMap) {\n if (process.env.NODE_ENV !== 'production') {\n for (var propName in exclusiveMap) {\n if (props && props[propName] !== undefined) {\n var propInExclusiveMapValue = exclusiveMap[propName];\n if (propInExclusiveMapValue && props[propInExclusiveMapValue] !== undefined) {\n warn(componentName + \" property '\" + propName + \"' is mutually exclusive with '\" + exclusiveMap[propName] + \"'. \" +\n \"Use one or the other.\");\n }\n }\n }\n }\n}\n//# sourceMappingURL=warnMutuallyExclusive.js.map","export var createSignalIfSupported = function () {\n if (typeof AbortController === 'undefined')\n return { controller: false, signal: false };\n var controller = new AbortController();\n var signal = controller.signal;\n return { controller: controller, signal: signal };\n};\n//# sourceMappingURL=createSignalIfSupported.js.map","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","/**\n * Simulated enum for keycodes. These will get inlined by uglify when used much like an enum\n *\n * @public\n * {@docCategory KeyCodes}\n */\nexport var KeyCodes = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n ctrl: 17,\n alt: 18,\n pauseBreak: 19,\n capslock: 20,\n escape: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n insert: 45,\n del: 46,\n zero: 48,\n one: 49,\n two: 50,\n three: 51,\n four: 52,\n five: 53,\n six: 54,\n seven: 55,\n eight: 56,\n nine: 57,\n a: 65,\n b: 66,\n c: 67,\n d: 68,\n e: 69,\n f: 70,\n g: 71,\n h: 72,\n i: 73,\n j: 74,\n k: 75,\n l: 76,\n m: 77,\n n: 78,\n o: 79,\n p: 80,\n q: 81,\n r: 82,\n s: 83,\n t: 84,\n u: 85,\n v: 86,\n w: 87,\n x: 88,\n y: 89,\n z: 90,\n leftWindow: 91,\n rightWindow: 92,\n select: 93,\n /* eslint-disable @typescript-eslint/naming-convention */\n zero_numpad: 96,\n one_numpad: 97,\n two_numpad: 98,\n three_numpad: 99,\n four_numpad: 100,\n five_numpad: 101,\n six_numpad: 102,\n seven_numpad: 103,\n eight_numpad: 104,\n nine_numpad: 105,\n /* eslint-enable @typescript-eslint/naming-convention */\n multiply: 106,\n add: 107,\n subtract: 109,\n decimalPoint: 110,\n divide: 111,\n f1: 112,\n f2: 113,\n f3: 114,\n f4: 115,\n f5: 116,\n f6: 117,\n f7: 118,\n f8: 119,\n f9: 120,\n f10: 121,\n f11: 122,\n f12: 123,\n numlock: 144,\n scrollLock: 145,\n semicolon: 186,\n equalSign: 187,\n comma: 188,\n dash: 189,\n period: 190,\n forwardSlash: 191,\n graveAccent: 192,\n openBracket: 219,\n backSlash: 220,\n closeBracket: 221,\n singleQuote: 222,\n};\n//# sourceMappingURL=KeyCodes.js.map","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","// A [trie](https://en.wikipedia.org/wiki/Trie) data structure that holds\r\n// object keys weakly, yet can also hold non-object keys, unlike the\r\n// native `WeakMap`.\r\n// If no makeData function is supplied, the looked-up data will be an empty,\r\n// null-prototype Object.\r\nvar defaultMakeData = function () { return Object.create(null); };\r\n// Useful for processing arguments objects as well as arrays.\r\nvar _a = Array.prototype, forEach = _a.forEach, slice = _a.slice;\r\nvar Trie = /** @class */ (function () {\r\n function Trie(weakness, makeData) {\r\n if (weakness === void 0) { weakness = true; }\r\n if (makeData === void 0) { makeData = defaultMakeData; }\r\n this.weakness = weakness;\r\n this.makeData = makeData;\r\n }\r\n Trie.prototype.lookup = function () {\r\n var array = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n array[_i] = arguments[_i];\r\n }\r\n return this.lookupArray(array);\r\n };\r\n Trie.prototype.lookupArray = function (array) {\r\n var node = this;\r\n forEach.call(array, function (key) { return node = node.getChildTrie(key); });\r\n return node.data || (node.data = this.makeData(slice.call(array)));\r\n };\r\n Trie.prototype.getChildTrie = function (key) {\r\n var map = this.weakness && isObjRef(key)\r\n ? this.weak || (this.weak = new WeakMap())\r\n : this.strong || (this.strong = new Map());\r\n var child = map.get(key);\r\n if (!child)\r\n map.set(key, child = new Trie(this.weakness, this.makeData));\r\n return child;\r\n };\r\n return Trie;\r\n}());\r\nfunction isObjRef(value) {\r\n switch (typeof value) {\r\n case \"object\":\r\n if (value === null)\r\n break;\r\n // Fall through to return true...\r\n case \"function\":\r\n return true;\r\n }\r\n return false;\r\n}\n\nexport { Trie };\n//# sourceMappingURL=trie.esm.js.map\n","import { Trie } from '@wry/trie';\nexport { Trie as KeyTrie } from '@wry/trie';\nimport { Slot } from '@wry/context';\nexport { asyncFromGen, bind as bindContext, noContext, setTimeout } from '@wry/context';\n\nfunction defaultDispose() { }\r\nvar Cache = /** @class */ (function () {\r\n function Cache(max, dispose) {\r\n if (max === void 0) { max = Infinity; }\r\n if (dispose === void 0) { dispose = defaultDispose; }\r\n this.max = max;\r\n this.dispose = dispose;\r\n this.map = new Map();\r\n this.newest = null;\r\n this.oldest = null;\r\n }\r\n Cache.prototype.has = function (key) {\r\n return this.map.has(key);\r\n };\r\n Cache.prototype.get = function (key) {\r\n var node = this.getNode(key);\r\n return node && node.value;\r\n };\r\n Cache.prototype.getNode = function (key) {\r\n var node = this.map.get(key);\r\n if (node && node !== this.newest) {\r\n var older = node.older, newer = node.newer;\r\n if (newer) {\r\n newer.older = older;\r\n }\r\n if (older) {\r\n older.newer = newer;\r\n }\r\n node.older = this.newest;\r\n node.older.newer = node;\r\n node.newer = null;\r\n this.newest = node;\r\n if (node === this.oldest) {\r\n this.oldest = newer;\r\n }\r\n }\r\n return node;\r\n };\r\n Cache.prototype.set = function (key, value) {\r\n var node = this.getNode(key);\r\n if (node) {\r\n return node.value = value;\r\n }\r\n node = {\r\n key: key,\r\n value: value,\r\n newer: null,\r\n older: this.newest\r\n };\r\n if (this.newest) {\r\n this.newest.newer = node;\r\n }\r\n this.newest = node;\r\n this.oldest = this.oldest || node;\r\n this.map.set(key, node);\r\n return node.value;\r\n };\r\n Cache.prototype.clean = function () {\r\n while (this.oldest && this.map.size > this.max) {\r\n this.delete(this.oldest.key);\r\n }\r\n };\r\n Cache.prototype.delete = function (key) {\r\n var node = this.map.get(key);\r\n if (node) {\r\n if (node === this.newest) {\r\n this.newest = node.older;\r\n }\r\n if (node === this.oldest) {\r\n this.oldest = node.newer;\r\n }\r\n if (node.newer) {\r\n node.newer.older = node.older;\r\n }\r\n if (node.older) {\r\n node.older.newer = node.newer;\r\n }\r\n this.map.delete(key);\r\n this.dispose(node.value, key);\r\n return true;\r\n }\r\n return false;\r\n };\r\n return Cache;\r\n}());\n\nvar parentEntrySlot = new Slot();\n\nvar _a;\r\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\r\nvar \r\n// This Array.from polyfill is restricted to working with Set for now,\r\n// but we can improve the polyfill and add other input types, as needed. Note\r\n// that this fallback implementation will only be used if the host environment\r\n// does not support a native Array.from function. In most modern JS runtimes,\r\n// the toArray function exported here will be === Array.from.\r\ntoArray = (_a = Array.from, _a === void 0 ? function (collection) {\r\n var array = [];\r\n collection.forEach(function (item) { return array.push(item); });\r\n return array;\r\n} : _a);\r\nfunction maybeUnsubscribe(entryOrDep) {\r\n var unsubscribe = entryOrDep.unsubscribe;\r\n if (typeof unsubscribe === \"function\") {\r\n entryOrDep.unsubscribe = void 0;\r\n unsubscribe();\r\n }\r\n}\n\nvar emptySetPool = [];\r\nvar POOL_TARGET_SIZE = 100;\r\n// Since this package might be used browsers, we should avoid using the\r\n// Node built-in assert module.\r\nfunction assert(condition, optionalMessage) {\r\n if (!condition) {\r\n throw new Error(optionalMessage || \"assertion failure\");\r\n }\r\n}\r\nfunction valueIs(a, b) {\r\n var len = a.length;\r\n return (\r\n // Unknown values are not equal to each other.\r\n len > 0 &&\r\n // Both values must be ordinary (or both exceptional) to be equal.\r\n len === b.length &&\r\n // The underlying value or exception must be the same.\r\n a[len - 1] === b[len - 1]);\r\n}\r\nfunction valueGet(value) {\r\n switch (value.length) {\r\n case 0: throw new Error(\"unknown value\");\r\n case 1: return value[0];\r\n case 2: throw value[1];\r\n }\r\n}\r\nfunction valueCopy(value) {\r\n return value.slice(0);\r\n}\r\nvar Entry = /** @class */ (function () {\r\n function Entry(fn) {\r\n this.fn = fn;\r\n this.parents = new Set();\r\n this.childValues = new Map();\r\n // When this Entry has children that are dirty, this property becomes\r\n // a Set containing other Entry objects, borrowed from emptySetPool.\r\n // When the set becomes empty, it gets recycled back to emptySetPool.\r\n this.dirtyChildren = null;\r\n this.dirty = true;\r\n this.recomputing = false;\r\n this.value = [];\r\n this.deps = null;\r\n ++Entry.count;\r\n }\r\n Entry.prototype.peek = function () {\r\n if (this.value.length === 1 && !mightBeDirty(this)) {\r\n rememberParent(this);\r\n return this.value[0];\r\n }\r\n };\r\n // This is the most important method of the Entry API, because it\r\n // determines whether the cached this.value can be returned immediately,\r\n // or must be recomputed. The overall performance of the caching system\r\n // depends on the truth of the following observations: (1) this.dirty is\r\n // usually false, (2) this.dirtyChildren is usually null/empty, and thus\r\n // (3) valueGet(this.value) is usually returned without recomputation.\r\n Entry.prototype.recompute = function (args) {\r\n assert(!this.recomputing, \"already recomputing\");\r\n rememberParent(this);\r\n return mightBeDirty(this)\r\n ? reallyRecompute(this, args)\r\n : valueGet(this.value);\r\n };\r\n Entry.prototype.setDirty = function () {\r\n if (this.dirty)\r\n return;\r\n this.dirty = true;\r\n this.value.length = 0;\r\n reportDirty(this);\r\n // We can go ahead and unsubscribe here, since any further dirty\r\n // notifications we receive will be redundant, and unsubscribing may\r\n // free up some resources, e.g. file watchers.\r\n maybeUnsubscribe(this);\r\n };\r\n Entry.prototype.dispose = function () {\r\n var _this = this;\r\n this.setDirty();\r\n // Sever any dependency relationships with our own children, so those\r\n // children don't retain this parent Entry in their child.parents sets,\r\n // thereby preventing it from being fully garbage collected.\r\n forgetChildren(this);\r\n // Because this entry has been kicked out of the cache (in index.js),\r\n // we've lost the ability to find out if/when this entry becomes dirty,\r\n // whether that happens through a subscription, because of a direct call\r\n // to entry.setDirty(), or because one of its children becomes dirty.\r\n // Because of this loss of future information, we have to assume the\r\n // worst (that this entry might have become dirty very soon), so we must\r\n // immediately mark this entry's parents as dirty. Normally we could\r\n // just call entry.setDirty() rather than calling parent.setDirty() for\r\n // each parent, but that would leave this entry in parent.childValues\r\n // and parent.dirtyChildren, which would prevent the child from being\r\n // truly forgotten.\r\n eachParent(this, function (parent, child) {\r\n parent.setDirty();\r\n forgetChild(parent, _this);\r\n });\r\n };\r\n Entry.prototype.forget = function () {\r\n // The code that creates Entry objects in index.ts will replace this method\r\n // with one that actually removes the Entry from the cache, which will also\r\n // trigger the entry.dispose method.\r\n this.dispose();\r\n };\r\n Entry.prototype.dependOn = function (dep) {\r\n dep.add(this);\r\n if (!this.deps) {\r\n this.deps = emptySetPool.pop() || new Set();\r\n }\r\n this.deps.add(dep);\r\n };\r\n Entry.prototype.forgetDeps = function () {\r\n var _this = this;\r\n if (this.deps) {\r\n toArray(this.deps).forEach(function (dep) { return dep.delete(_this); });\r\n this.deps.clear();\r\n emptySetPool.push(this.deps);\r\n this.deps = null;\r\n }\r\n };\r\n Entry.count = 0;\r\n return Entry;\r\n}());\r\nfunction rememberParent(child) {\r\n var parent = parentEntrySlot.getValue();\r\n if (parent) {\r\n child.parents.add(parent);\r\n if (!parent.childValues.has(child)) {\r\n parent.childValues.set(child, []);\r\n }\r\n if (mightBeDirty(child)) {\r\n reportDirtyChild(parent, child);\r\n }\r\n else {\r\n reportCleanChild(parent, child);\r\n }\r\n return parent;\r\n }\r\n}\r\nfunction reallyRecompute(entry, args) {\r\n forgetChildren(entry);\r\n // Set entry as the parent entry while calling recomputeNewValue(entry).\r\n parentEntrySlot.withValue(entry, recomputeNewValue, [entry, args]);\r\n if (maybeSubscribe(entry, args)) {\r\n // If we successfully recomputed entry.value and did not fail to\r\n // (re)subscribe, then this Entry is no longer explicitly dirty.\r\n setClean(entry);\r\n }\r\n return valueGet(entry.value);\r\n}\r\nfunction recomputeNewValue(entry, args) {\r\n entry.recomputing = true;\r\n // Set entry.value as unknown.\r\n entry.value.length = 0;\r\n try {\r\n // If entry.fn succeeds, entry.value will become a normal Value.\r\n entry.value[0] = entry.fn.apply(null, args);\r\n }\r\n catch (e) {\r\n // If entry.fn throws, entry.value will become exceptional.\r\n entry.value[1] = e;\r\n }\r\n // Either way, this line is always reached.\r\n entry.recomputing = false;\r\n}\r\nfunction mightBeDirty(entry) {\r\n return entry.dirty || !!(entry.dirtyChildren && entry.dirtyChildren.size);\r\n}\r\nfunction setClean(entry) {\r\n entry.dirty = false;\r\n if (mightBeDirty(entry)) {\r\n // This Entry may still have dirty children, in which case we can't\r\n // let our parents know we're clean just yet.\r\n return;\r\n }\r\n reportClean(entry);\r\n}\r\nfunction reportDirty(child) {\r\n eachParent(child, reportDirtyChild);\r\n}\r\nfunction reportClean(child) {\r\n eachParent(child, reportCleanChild);\r\n}\r\nfunction eachParent(child, callback) {\r\n var parentCount = child.parents.size;\r\n if (parentCount) {\r\n var parents = toArray(child.parents);\r\n for (var i = 0; i < parentCount; ++i) {\r\n callback(parents[i], child);\r\n }\r\n }\r\n}\r\n// Let a parent Entry know that one of its children may be dirty.\r\nfunction reportDirtyChild(parent, child) {\r\n // Must have called rememberParent(child) before calling\r\n // reportDirtyChild(parent, child).\r\n assert(parent.childValues.has(child));\r\n assert(mightBeDirty(child));\r\n var parentWasClean = !mightBeDirty(parent);\r\n if (!parent.dirtyChildren) {\r\n parent.dirtyChildren = emptySetPool.pop() || new Set;\r\n }\r\n else if (parent.dirtyChildren.has(child)) {\r\n // If we already know this child is dirty, then we must have already\r\n // informed our own parents that we are dirty, so we can terminate\r\n // the recursion early.\r\n return;\r\n }\r\n parent.dirtyChildren.add(child);\r\n // If parent was clean before, it just became (possibly) dirty (according to\r\n // mightBeDirty), since we just added child to parent.dirtyChildren.\r\n if (parentWasClean) {\r\n reportDirty(parent);\r\n }\r\n}\r\n// Let a parent Entry know that one of its children is no longer dirty.\r\nfunction reportCleanChild(parent, child) {\r\n // Must have called rememberChild(child) before calling\r\n // reportCleanChild(parent, child).\r\n assert(parent.childValues.has(child));\r\n assert(!mightBeDirty(child));\r\n var childValue = parent.childValues.get(child);\r\n if (childValue.length === 0) {\r\n parent.childValues.set(child, valueCopy(child.value));\r\n }\r\n else if (!valueIs(childValue, child.value)) {\r\n parent.setDirty();\r\n }\r\n removeDirtyChild(parent, child);\r\n if (mightBeDirty(parent)) {\r\n return;\r\n }\r\n reportClean(parent);\r\n}\r\nfunction removeDirtyChild(parent, child) {\r\n var dc = parent.dirtyChildren;\r\n if (dc) {\r\n dc.delete(child);\r\n if (dc.size === 0) {\r\n if (emptySetPool.length < POOL_TARGET_SIZE) {\r\n emptySetPool.push(dc);\r\n }\r\n parent.dirtyChildren = null;\r\n }\r\n }\r\n}\r\n// Removes all children from this entry and returns an array of the\r\n// removed children.\r\nfunction forgetChildren(parent) {\r\n if (parent.childValues.size > 0) {\r\n parent.childValues.forEach(function (_value, child) {\r\n forgetChild(parent, child);\r\n });\r\n }\r\n // Remove this parent Entry from any sets to which it was added by the\r\n // addToSet method.\r\n parent.forgetDeps();\r\n // After we forget all our children, this.dirtyChildren must be empty\r\n // and therefore must have been reset to null.\r\n assert(parent.dirtyChildren === null);\r\n}\r\nfunction forgetChild(parent, child) {\r\n child.parents.delete(parent);\r\n parent.childValues.delete(child);\r\n removeDirtyChild(parent, child);\r\n}\r\nfunction maybeSubscribe(entry, args) {\r\n if (typeof entry.subscribe === \"function\") {\r\n try {\r\n maybeUnsubscribe(entry); // Prevent double subscriptions.\r\n entry.unsubscribe = entry.subscribe.apply(null, args);\r\n }\r\n catch (e) {\r\n // If this Entry has a subscribe function and it threw an exception\r\n // (or an unsubscribe function it previously returned now throws),\r\n // return false to indicate that we were not able to subscribe (or\r\n // unsubscribe), and this Entry should remain dirty.\r\n entry.setDirty();\r\n return false;\r\n }\r\n }\r\n // Returning true indicates either that there was no entry.subscribe\r\n // function or that it succeeded.\r\n return true;\r\n}\n\nvar EntryMethods = {\r\n setDirty: true,\r\n dispose: true,\r\n forget: true,\r\n};\r\nfunction dep(options) {\r\n var depsByKey = new Map();\r\n var subscribe = options && options.subscribe;\r\n function depend(key) {\r\n var parent = parentEntrySlot.getValue();\r\n if (parent) {\r\n var dep_1 = depsByKey.get(key);\r\n if (!dep_1) {\r\n depsByKey.set(key, dep_1 = new Set);\r\n }\r\n parent.dependOn(dep_1);\r\n if (typeof subscribe === \"function\") {\r\n maybeUnsubscribe(dep_1);\r\n dep_1.unsubscribe = subscribe(key);\r\n }\r\n }\r\n }\r\n depend.dirty = function dirty(key, entryMethodName) {\r\n var dep = depsByKey.get(key);\r\n if (dep) {\r\n var m_1 = (entryMethodName &&\r\n hasOwnProperty.call(EntryMethods, entryMethodName)) ? entryMethodName : \"setDirty\";\r\n // We have to use toArray(dep).forEach instead of dep.forEach, because\r\n // modifying a Set while iterating over it can cause elements in the Set\r\n // to be removed from the Set before they've been iterated over.\r\n toArray(dep).forEach(function (entry) { return entry[m_1](); });\r\n depsByKey.delete(key);\r\n maybeUnsubscribe(dep);\r\n }\r\n };\r\n return depend;\r\n}\n\nfunction makeDefaultMakeCacheKeyFunction() {\r\n var keyTrie = new Trie(typeof WeakMap === \"function\");\r\n return function () {\r\n return keyTrie.lookupArray(arguments);\r\n };\r\n}\r\n// The defaultMakeCacheKey function is remarkably powerful, because it gives\r\n// a unique object for any shallow-identical list of arguments. If you need\r\n// to implement a custom makeCacheKey function, you may find it helpful to\r\n// delegate the final work to defaultMakeCacheKey, which is why we export it\r\n// here. However, you may want to avoid defaultMakeCacheKey if your runtime\r\n// does not support WeakMap, or you have the ability to return a string key.\r\n// In those cases, just write your own custom makeCacheKey functions.\r\nvar defaultMakeCacheKey = makeDefaultMakeCacheKeyFunction();\r\nvar caches = new Set();\r\nfunction wrap(originalFunction, options) {\r\n if (options === void 0) { options = Object.create(null); }\r\n var cache = new Cache(options.max || Math.pow(2, 16), function (entry) { return entry.dispose(); });\r\n var keyArgs = options.keyArgs;\r\n var makeCacheKey = options.makeCacheKey ||\r\n makeDefaultMakeCacheKeyFunction();\r\n var optimistic = function () {\r\n var key = makeCacheKey.apply(null, keyArgs ? keyArgs.apply(null, arguments) : arguments);\r\n if (key === void 0) {\r\n return originalFunction.apply(null, arguments);\r\n }\r\n var entry = cache.get(key);\r\n if (!entry) {\r\n cache.set(key, entry = new Entry(originalFunction));\r\n entry.subscribe = options.subscribe;\r\n // Give the Entry the ability to trigger cache.delete(key), even though\r\n // the Entry itself does not know about key or cache.\r\n entry.forget = function () { return cache.delete(key); };\r\n }\r\n var value = entry.recompute(Array.prototype.slice.call(arguments));\r\n // Move this entry to the front of the least-recently used queue,\r\n // since we just finished computing its value.\r\n cache.set(key, entry);\r\n caches.add(cache);\r\n // Clean up any excess entries in the cache, but only if there is no\r\n // active parent entry, meaning we're not in the middle of a larger\r\n // computation that might be flummoxed by the cleaning.\r\n if (!parentEntrySlot.hasValue()) {\r\n caches.forEach(function (cache) { return cache.clean(); });\r\n caches.clear();\r\n }\r\n return value;\r\n };\r\n Object.defineProperty(optimistic, \"size\", {\r\n get: function () {\r\n return cache[\"map\"].size;\r\n },\r\n configurable: false,\r\n enumerable: false,\r\n });\r\n function dirtyKey(key) {\r\n var entry = cache.get(key);\r\n if (entry) {\r\n entry.setDirty();\r\n }\r\n }\r\n optimistic.dirtyKey = dirtyKey;\r\n optimistic.dirty = function dirty() {\r\n dirtyKey(makeCacheKey.apply(null, arguments));\r\n };\r\n function peekKey(key) {\r\n var entry = cache.get(key);\r\n if (entry) {\r\n return entry.peek();\r\n }\r\n }\r\n optimistic.peekKey = peekKey;\r\n optimistic.peek = function peek() {\r\n return peekKey(makeCacheKey.apply(null, arguments));\r\n };\r\n function forgetKey(key) {\r\n return cache.delete(key);\r\n }\r\n optimistic.forgetKey = forgetKey;\r\n optimistic.forget = function forget() {\r\n return forgetKey(makeCacheKey.apply(null, arguments));\r\n };\r\n optimistic.makeCacheKey = makeCacheKey;\r\n optimistic.getKey = keyArgs ? function getKey() {\r\n return makeCacheKey.apply(null, keyArgs.apply(null, arguments));\r\n } : makeCacheKey;\r\n return Object.freeze(optimistic);\r\n}\n\nexport { defaultMakeCacheKey, dep, wrap };\n//# sourceMappingURL=bundle.esm.js.map\n","import stringify from 'fast-json-stable-stringify';\nimport { InvariantError } from 'ts-invariant';\nimport { getFragmentFromSelection } from \"./fragments.js\";\nexport function makeReference(id) {\n return { __ref: String(id) };\n}\nexport function isReference(obj) {\n return Boolean(obj && typeof obj === 'object' && typeof obj.__ref === 'string');\n}\nfunction isStringValue(value) {\n return value.kind === 'StringValue';\n}\nfunction isBooleanValue(value) {\n return value.kind === 'BooleanValue';\n}\nfunction isIntValue(value) {\n return value.kind === 'IntValue';\n}\nfunction isFloatValue(value) {\n return value.kind === 'FloatValue';\n}\nfunction isVariable(value) {\n return value.kind === 'Variable';\n}\nfunction isObjectValue(value) {\n return value.kind === 'ObjectValue';\n}\nfunction isListValue(value) {\n return value.kind === 'ListValue';\n}\nfunction isEnumValue(value) {\n return value.kind === 'EnumValue';\n}\nfunction isNullValue(value) {\n return value.kind === 'NullValue';\n}\nexport function valueToObjectRepresentation(argObj, name, value, variables) {\n if (isIntValue(value) || isFloatValue(value)) {\n argObj[name.value] = Number(value.value);\n }\n else if (isBooleanValue(value) || isStringValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isObjectValue(value)) {\n var nestedArgObj_1 = {};\n value.fields.map(function (obj) {\n return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables);\n });\n argObj[name.value] = nestedArgObj_1;\n }\n else if (isVariable(value)) {\n var variableValue = (variables || {})[value.name.value];\n argObj[name.value] = variableValue;\n }\n else if (isListValue(value)) {\n argObj[name.value] = value.values.map(function (listValue) {\n var nestedArgArrayObj = {};\n valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables);\n return nestedArgArrayObj[name.value];\n });\n }\n else if (isEnumValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isNullValue(value)) {\n argObj[name.value] = null;\n }\n else {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(53) : new InvariantError(\"The inline argument \\\"\" + name.value + \"\\\" of kind \\\"\" + value.kind + \"\\\"\" +\n 'is not supported. Use variables instead of inline arguments to ' +\n 'overcome this limitation.');\n }\n}\nexport function storeKeyNameFromField(field, variables) {\n var directivesObj = null;\n if (field.directives) {\n directivesObj = {};\n field.directives.forEach(function (directive) {\n directivesObj[directive.name.value] = {};\n if (directive.arguments) {\n directive.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(directivesObj[directive.name.value], name, value, variables);\n });\n }\n });\n }\n var argObj = null;\n if (field.arguments && field.arguments.length) {\n argObj = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj, name, value, variables);\n });\n }\n return getStoreKeyName(field.name.value, argObj, directivesObj);\n}\nvar KNOWN_DIRECTIVES = [\n 'connection',\n 'include',\n 'skip',\n 'client',\n 'rest',\n 'export',\n];\nexport function getStoreKeyName(fieldName, args, directives) {\n if (args &&\n directives &&\n directives['connection'] &&\n directives['connection']['key']) {\n if (directives['connection']['filter'] &&\n directives['connection']['filter'].length > 0) {\n var filterKeys = directives['connection']['filter']\n ? directives['connection']['filter']\n : [];\n filterKeys.sort();\n var filteredArgs_1 = {};\n filterKeys.forEach(function (key) {\n filteredArgs_1[key] = args[key];\n });\n return directives['connection']['key'] + \"(\" + JSON.stringify(filteredArgs_1) + \")\";\n }\n else {\n return directives['connection']['key'];\n }\n }\n var completeFieldName = fieldName;\n if (args) {\n var stringifiedArgs = stringify(args);\n completeFieldName += \"(\" + stringifiedArgs + \")\";\n }\n if (directives) {\n Object.keys(directives).forEach(function (key) {\n if (KNOWN_DIRECTIVES.indexOf(key) !== -1)\n return;\n if (directives[key] && Object.keys(directives[key]).length) {\n completeFieldName += \"@\" + key + \"(\" + JSON.stringify(directives[key]) + \")\";\n }\n else {\n completeFieldName += \"@\" + key;\n }\n });\n }\n return completeFieldName;\n}\nexport function argumentsObjectFromField(field, variables) {\n if (field.arguments && field.arguments.length) {\n var argObj_1 = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj_1, name, value, variables);\n });\n return argObj_1;\n }\n return null;\n}\nexport function resultKeyNameFromField(field) {\n return field.alias ? field.alias.value : field.name.value;\n}\nexport function getTypenameFromResult(result, selectionSet, fragmentMap) {\n if (typeof result.__typename === 'string') {\n return result.__typename;\n }\n for (var _i = 0, _a = selectionSet.selections; _i < _a.length; _i++) {\n var selection = _a[_i];\n if (isField(selection)) {\n if (selection.name.value === '__typename') {\n return result[resultKeyNameFromField(selection)];\n }\n }\n else {\n var typename = getTypenameFromResult(result, getFragmentFromSelection(selection, fragmentMap).selectionSet, fragmentMap);\n if (typeof typename === 'string') {\n return typename;\n }\n }\n }\n}\nexport function isField(selection) {\n return selection.kind === 'Field';\n}\nexport function isInlineFragment(selection) {\n return selection.kind === 'InlineFragment';\n}\n//# sourceMappingURL=storeUtils.js.map","import * as React from 'react';\nexport var CustomizerContext = React.createContext({\n customizations: {\n inCustomizerContext: false,\n settings: {},\n scopedSettings: {},\n },\n});\n//# sourceMappingURL=CustomizerContext.js.map","// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Store the theming state in __themeState__ global scope for reuse in the case of duplicate\n// load-themed-styles hosted on the page.\nvar _root = typeof window === 'undefined' ? global : window; // eslint-disable-line @typescript-eslint/no-explicit-any\n// Nonce string to inject into script tag if one provided. This is used in CSP (Content Security Policy).\nvar _styleNonce = _root && _root.CSPSettings && _root.CSPSettings.nonce;\nvar _themeState = initializeThemeState();\n/**\n * Matches theming tokens. For example, \"[theme: themeSlotName, default: #FFF]\" (including the quotes).\n */\nvar _themeTokenRegex = /[\\'\\\"]\\[theme:\\s*(\\w+)\\s*(?:\\,\\s*default:\\s*([\\\\\"\\']?[\\.\\,\\(\\)\\#\\-\\s\\w]*[\\.\\,\\(\\)\\#\\-\\w][\\\"\\']?))?\\s*\\][\\'\\\"]/g;\nvar now = function () {\n return typeof performance !== 'undefined' && !!performance.now ? performance.now() : Date.now();\n};\nfunction measure(func) {\n var start = now();\n func();\n var end = now();\n _themeState.perf.duration += end - start;\n}\n/**\n * initialize global state object\n */\nfunction initializeThemeState() {\n var state = _root.__themeState__ || {\n theme: undefined,\n lastStyleElement: undefined,\n registeredStyles: []\n };\n if (!state.runState) {\n state = __assign(__assign({}, state), { perf: {\n count: 0,\n duration: 0\n }, runState: {\n flushTimer: 0,\n mode: 0 /* sync */,\n buffer: []\n } });\n }\n if (!state.registeredThemableStyles) {\n state = __assign(__assign({}, state), { registeredThemableStyles: [] });\n }\n _root.__themeState__ = state;\n return state;\n}\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load\n * event is fired.\n * @param {string | ThemableArray} styles Themable style text to register.\n * @param {boolean} loadAsync When true, always load styles in async mode, irrespective of current sync mode.\n */\nexport function loadStyles(styles, loadAsync) {\n if (loadAsync === void 0) { loadAsync = false; }\n measure(function () {\n var styleParts = Array.isArray(styles) ? styles : splitStyles(styles);\n var _a = _themeState.runState, mode = _a.mode, buffer = _a.buffer, flushTimer = _a.flushTimer;\n if (loadAsync || mode === 1 /* async */) {\n buffer.push(styleParts);\n if (!flushTimer) {\n _themeState.runState.flushTimer = asyncLoadStyles();\n }\n }\n else {\n applyThemableStyles(styleParts);\n }\n });\n}\n/**\n * Allows for customizable loadStyles logic. e.g. for server side rendering application\n * @param {(processedStyles: string, rawStyles?: string | ThemableArray) => void}\n * a loadStyles callback that gets called when styles are loaded or reloaded\n */\nexport function configureLoadStyles(loadStylesFn) {\n _themeState.loadStyles = loadStylesFn;\n}\n/**\n * Configure run mode of load-themable-styles\n * @param mode load-themable-styles run mode, async or sync\n */\nexport function configureRunMode(mode) {\n _themeState.runState.mode = mode;\n}\n/**\n * external code can call flush to synchronously force processing of currently buffered styles\n */\nexport function flush() {\n measure(function () {\n var styleArrays = _themeState.runState.buffer.slice();\n _themeState.runState.buffer = [];\n var mergedStyleArray = [].concat.apply([], styleArrays);\n if (mergedStyleArray.length > 0) {\n applyThemableStyles(mergedStyleArray);\n }\n });\n}\n/**\n * register async loadStyles\n */\nfunction asyncLoadStyles() {\n return setTimeout(function () {\n _themeState.runState.flushTimer = 0;\n flush();\n }, 0);\n}\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load event\n * is fired.\n * @param {string} styleText Style to register.\n * @param {IStyleRecord} styleRecord Existing style record to re-apply.\n */\nfunction applyThemableStyles(stylesArray, styleRecord) {\n if (_themeState.loadStyles) {\n _themeState.loadStyles(resolveThemableArray(stylesArray).styleString, stylesArray);\n }\n else {\n registerStyles(stylesArray);\n }\n}\n/**\n * Registers a set theme tokens to find and replace. If styles were already registered, they will be\n * replaced.\n * @param {theme} theme JSON object of theme tokens to values.\n */\nexport function loadTheme(theme) {\n _themeState.theme = theme;\n // reload styles.\n reloadStyles();\n}\n/**\n * Clear already registered style elements and style records in theme_State object\n * @param option - specify which group of registered styles should be cleared.\n * Default to be both themable and non-themable styles will be cleared\n */\nexport function clearStyles(option) {\n if (option === void 0) { option = 3 /* all */; }\n if (option === 3 /* all */ || option === 2 /* onlyNonThemable */) {\n clearStylesInternal(_themeState.registeredStyles);\n _themeState.registeredStyles = [];\n }\n if (option === 3 /* all */ || option === 1 /* onlyThemable */) {\n clearStylesInternal(_themeState.registeredThemableStyles);\n _themeState.registeredThemableStyles = [];\n }\n}\nfunction clearStylesInternal(records) {\n records.forEach(function (styleRecord) {\n var styleElement = styleRecord && styleRecord.styleElement;\n if (styleElement && styleElement.parentElement) {\n styleElement.parentElement.removeChild(styleElement);\n }\n });\n}\n/**\n * Reloads styles.\n */\nfunction reloadStyles() {\n if (_themeState.theme) {\n var themableStyles = [];\n for (var _i = 0, _a = _themeState.registeredThemableStyles; _i < _a.length; _i++) {\n var styleRecord = _a[_i];\n themableStyles.push(styleRecord.themableStyle);\n }\n if (themableStyles.length > 0) {\n clearStyles(1 /* onlyThemable */);\n applyThemableStyles([].concat.apply([], themableStyles));\n }\n }\n}\n/**\n * Find theme tokens and replaces them with provided theme values.\n * @param {string} styles Tokenized styles to fix.\n */\nexport function detokenize(styles) {\n if (styles) {\n styles = resolveThemableArray(splitStyles(styles)).styleString;\n }\n return styles;\n}\n/**\n * Resolves ThemingInstruction objects in an array and joins the result into a string.\n * @param {ThemableArray} splitStyleArray ThemableArray to resolve and join.\n */\nfunction resolveThemableArray(splitStyleArray) {\n var theme = _themeState.theme;\n var themable = false;\n // Resolve the array of theming instructions to an array of strings.\n // Then join the array to produce the final CSS string.\n var resolvedArray = (splitStyleArray || []).map(function (currentValue) {\n var themeSlot = currentValue.theme;\n if (themeSlot) {\n themable = true;\n // A theming annotation. Resolve it.\n var themedValue = theme ? theme[themeSlot] : undefined;\n var defaultValue = currentValue.defaultValue || 'inherit';\n // Warn to console if we hit an unthemed value even when themes are provided, but only if \"DEBUG\" is true.\n // Allow the themedValue to be undefined to explicitly request the default value.\n if (theme &&\n !themedValue &&\n console &&\n !(themeSlot in theme) &&\n typeof DEBUG !== 'undefined' &&\n DEBUG) {\n console.warn(\"Theming value not provided for \\\"\" + themeSlot + \"\\\". Falling back to \\\"\" + defaultValue + \"\\\".\");\n }\n return themedValue || defaultValue;\n }\n else {\n // A non-themable string. Preserve it.\n return currentValue.rawString;\n }\n });\n return {\n styleString: resolvedArray.join(''),\n themable: themable\n };\n}\n/**\n * Split tokenized CSS into an array of strings and theme specification objects\n * @param {string} styles Tokenized styles to split.\n */\nexport function splitStyles(styles) {\n var result = [];\n if (styles) {\n var pos = 0; // Current position in styles.\n var tokenMatch = void 0;\n while ((tokenMatch = _themeTokenRegex.exec(styles))) {\n var matchIndex = tokenMatch.index;\n if (matchIndex > pos) {\n result.push({\n rawString: styles.substring(pos, matchIndex)\n });\n }\n result.push({\n theme: tokenMatch[1],\n defaultValue: tokenMatch[2] // May be undefined\n });\n // index of the first character after the current match\n pos = _themeTokenRegex.lastIndex;\n }\n // Push the rest of the string after the last match.\n result.push({\n rawString: styles.substring(pos)\n });\n }\n return result;\n}\n/**\n * Registers a set of style text. If it is registered too early, we will register it when the\n * window.load event is fired.\n * @param {ThemableArray} styleArray Array of IThemingInstruction objects to register.\n * @param {IStyleRecord} styleRecord May specify a style Element to update.\n */\nfunction registerStyles(styleArray) {\n if (typeof document === 'undefined') {\n return;\n }\n var head = document.getElementsByTagName('head')[0];\n var styleElement = document.createElement('style');\n var _a = resolveThemableArray(styleArray), styleString = _a.styleString, themable = _a.themable;\n styleElement.setAttribute('data-load-themed-styles', 'true');\n if (_styleNonce) {\n styleElement.setAttribute('nonce', _styleNonce);\n }\n styleElement.appendChild(document.createTextNode(styleString));\n _themeState.perf.count++;\n head.appendChild(styleElement);\n var ev = document.createEvent('HTMLEvents');\n ev.initEvent('styleinsert', true /* bubbleEvent */, false /* cancelable */);\n ev.args = {\n newStyle: styleElement\n };\n document.dispatchEvent(ev);\n var record = {\n styleElement: styleElement,\n themableStyle: styleArray\n };\n if (themable) {\n _themeState.registeredThemableStyles.push(record);\n }\n else {\n _themeState.registeredStyles.push(record);\n }\n}\n//# sourceMappingURL=index.js.map"," \r\n export enum ReportAlertType {\r\n None = 0,\r\n Exits = 1,\r\n ByteLength = 2,\r\n ContentMatch = 3,\r\n HostFailure = 4,\r\n HttpHeaderMatch = 5,\r\n TagFailure = 6,\r\n ResponseTime = 7,\r\n Traffic = 8,\r\n PageFailure = 9,\r\n CustomTestData = 10,\r\n ScriptFailure = 11,\r\n Ping = 12,\r\n Requests = 13,\r\n ContentZone = 14,\r\n Availability = 15,\r\n Address = 16,\r\n Dns = 17,\r\n GlimpseCounter = 18,\r\n GlimpseRate = 19,\r\n Path = 20,\r\n Score = 21,\r\n Wifi = 22,\r\n Asn = 23,\r\n WebPageTest = 24,\r\n Endpoint = 25,\r\n }\r\n"," \r\n export enum Feature {\r\n None = 0,\r\n IEMonitor = 1,\r\n RealUser = 2,\r\n SimpleView = 3,\r\n PublicLinks = 4,\r\n APIPull = 5,\r\n AdvancedAlerts = 6,\r\n EmulatedMonitor = 7,\r\n AdvancedPerformanceView = 8,\r\n StatisticalPerformanceView = 9,\r\n ChromeMonitor = 10,\r\n OutclipEnabled = 11,\r\n CaptureHttpHeaders = 12,\r\n CaptureResponseContentOrMetaData = 13,\r\n CaptureTestEndScreenshot = 14,\r\n CaptureFilmstrip = 15,\r\n CalculatePageSpeedScore = 16,\r\n InsightAPI = 17,\r\n Reports = 18,\r\n Insight = 19,\r\n APIDataPush = 20,\r\n APIAlert = 21,\r\n HostData = 22,\r\n ZoneData = 23,\r\n PlaybackMonitor = 24,\r\n MobilePlaybackMonitor = 25,\r\n Dashboards = 26,\r\n OverviewReport = 27,\r\n MobileMonitor = 28,\r\n LastMile = 29,\r\n Wireless = 30,\r\n PrivateNode = 31,\r\n ChildErrorReporting = 32,\r\n RequestReporting = 33,\r\n RequestApiReporting = 34,\r\n OneMinuteFrequency = 35,\r\n Divisions = 36,\r\n Indexes = 37,\r\n FourMinuteFrequency = 38,\r\n Enterprise = 39,\r\n IPv6 = 40,\r\n StoreCaptureDataInCloud = 41,\r\n RestrictData = 42,\r\n Backbone = 43,\r\n SingleSignOn = 44,\r\n SelfVersusThirdPartyZones = 45,\r\n ProductPointsAllocation = 46,\r\n AllowDownloadLimitOverride = 47,\r\n EnterpriseNodeActivation = 48,\r\n APMIntegration = 49,\r\n SLADataClassification = 50,\r\n APMRecursiveSearch = 51,\r\n SLAReport = 52,\r\n EnforceAllocations = 53,\r\n UseCatchpointProvisioningForSSO = 54,\r\n PublicCloud = 55,\r\n Events = 56,\r\n SyntheticPageUrlTruncationDisabled = 57,\r\n SaaSManageTestTemplates = 58,\r\n JavaScriptAPI = 59,\r\n SaaSTestBetaAccess = 60,\r\n SyntheticTestEndDateRequired = 61,\r\n Sonar = 62,\r\n }\r\n export enum Feature2 {\r\n None = 0,\r\n NodeToNodePublicNodesEnabled = 1,\r\n LibraryUserAssignment = 2,\r\n ForceToNewUIEnabled = 3,\r\n DuoAuthenticationEnabled = 4,\r\n }\r\n","/**\n * Determines whether or not an element has the virtual hierarchy extension.\n *\n * @public\n */\nexport function isVirtualElement(element) {\n return element && !!element._virtual;\n}\n//# sourceMappingURL=isVirtualElement.js.map","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","export enum ThemeNames {\r\n light = 'Light',\r\n dark = 'Dark'\r\n}\r\n\r\nexport interface CatchpointColors {\r\n black: string;\r\n green: string;\r\n greenDark: string;\r\n greenLight: string;\r\n magenta: string;\r\n magentaDark: string;\r\n magentaLight: string;\r\n neutralDark: string;\r\n neutralPrimary: string;\r\n neutralPrimaryAlt: string;\r\n neutralLight: string;\r\n neutralLighter: string;\r\n neutralLighterAlt: string;\r\n neutralQuarternary: string;\r\n neutralQuarternaryAlt: string;\r\n neutralSecondary: string;\r\n neutralSecondaryAlt: string;\r\n neutralTerinary: string;\r\n neutralTerinaryAlt: string;\r\n primary: string;\r\n primaryDark: string;\r\n primaryDarker: string;\r\n primaryDarkAlt: string;\r\n primaryLight: string;\r\n primaryLighter: string;\r\n primaryLighterAlt: string;\r\n purple: string;\r\n purpleDark: string;\r\n purpleLight: string;\r\n red: string;\r\n redDark: string;\r\n redLight: string;\r\n secondary: string;\r\n teal: string;\r\n tealDark: string;\r\n tealLight: string;\r\n tertiary: string;\r\n white: string;\r\n catchpointBlue: string;\r\n yellow: string;\r\n vizBlue: string;\r\n vizOrange: string;\r\n}\r\n\r\nexport interface CatchpointFontCollection {\r\n fontFamily: string;\r\n color: string;\r\n fontStyle: string;\r\n mini: CatchpointFont;\r\n xSmall: CatchpointFont;\r\n small: CatchpointFont;\r\n smallPlus: CatchpointFont;\r\n medium: CatchpointFont;\r\n mediumPlus: CatchpointFont;\r\n large: CatchpointFont;\r\n largePlus: CatchpointFont;\r\n xLarge: CatchpointFont;\r\n xxLarge: CatchpointFont;\r\n xxLargePlus: CatchpointFont;\r\n superLarge: CatchpointFont;\r\n mega: CatchpointFont;\r\n}\r\n\r\nexport interface CatchpointFont {\r\n fontSize: string;\r\n fontWeight: string;\r\n}\r\n","import { CatchpointFontCollection } from './';\r\n\r\nexport const defaultFonts: CatchpointFontCollection = {\r\n fontFamily: 'Arial',\r\n color: '#333333',\r\n fontStyle: 'normal',\r\n mini: {\r\n fontSize: '10px',\r\n fontWeight: 'normal'\r\n },\r\n xSmall: {\r\n fontSize: '11px',\r\n fontWeight: 'normal'\r\n },\r\n small: {\r\n fontSize: '12px',\r\n fontWeight: 'normal'\r\n },\r\n smallPlus: {\r\n fontSize: '12px',\r\n fontWeight: 'bold'\r\n },\r\n medium: {\r\n fontSize: '13px',\r\n fontWeight: 'normal'\r\n },\r\n mediumPlus: {\r\n fontSize: '13px',\r\n fontWeight: 'bold'\r\n },\r\n large: {\r\n fontSize: '16px',\r\n fontWeight: 'normal'\r\n },\r\n largePlus: {\r\n fontSize: '16px',\r\n fontWeight: 'bold'\r\n },\r\n xLarge: {\r\n fontSize: '18px',\r\n fontWeight: 'normal'\r\n },\r\n xxLarge: {\r\n fontSize: '20px',\r\n fontWeight: 'normal'\r\n },\r\n xxLargePlus: {\r\n fontSize: '20px',\r\n fontWeight: 'bold'\r\n },\r\n superLarge: {\r\n fontSize: '28px',\r\n fontWeight: 'bold'\r\n },\r\n mega: {\r\n fontSize: '34px',\r\n fontWeight: 'bold'\r\n }\r\n};\r\n","import { defaultFonts } from './fonts';\r\nimport { DefaultTheme } from 'styled-components';\r\nimport { ThemeNames } from './types';\r\n\r\nconst lightTheme: DefaultTheme = {\r\n colors: {\r\n black: '#000000',\r\n green: '#00803E',\r\n greenDark: '#006530',\r\n greenLight: '#00a850',\r\n magenta: '#8348c7',\r\n magentaDark: '#542985',\r\n magentaLight: '#b16ffe',\r\n neutralDark: '#212121',\r\n neutralPrimary: '#333333',\r\n neutralPrimaryAlt: '#3c3c3c',\r\n neutralLight: '#eaeaea',\r\n neutralLighter: '#f4f4f4',\r\n neutralLighterAlt: '#f8f8f8',\r\n neutralQuarternary: '#d0d0d0',\r\n neutralQuarternaryAlt: '#dadada',\r\n neutralSecondary: '#666666',\r\n neutralSecondaryAlt: '#808080',\r\n neutralTerinary: '#a6a6a6',\r\n neutralTerinaryAlt: '#c8c8c8',\r\n primary: '#006ad4',\r\n primaryDark: '#0057ad',\r\n primaryDarker: '#07427e',\r\n primaryDarkAlt: '#11579c',\r\n primaryLight: '#8fc7ff',\r\n primaryLighter: '#c2e0ff',\r\n primaryLighterAlt: '#e6f2ff',\r\n purple: '#8348c7',\r\n purpleDark: '#542985',\r\n purpleLight: '#b16ffe',\r\n red: '#f42828',\r\n redDark: '#ad2020',\r\n redLight: '#ff5858',\r\n secondary: '#2b94ff',\r\n teal: '#008272',\r\n tealDark: '#005c51',\r\n tealLight: '#00a390',\r\n tertiary: '#5cadff',\r\n white: '#fff',\r\n catchpointBlue: '#07427e',\r\n yellow: '#F9D856',\r\n criticalDark: '#cc4643',\r\n vizBlue: '#5d9ed4',\r\n vizOrange: '#eb7240',\r\n criticalMedium: '#ff5754',\r\n warningLight: '#f1ac70',\r\n goodLight: '#8bcc8c'\r\n },\r\n fonts: defaultFonts,\r\n name: ThemeNames.light\r\n};\r\n\r\nexport { lightTheme };\r\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar path = require('../internals/path');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar userAgent = require('../internals/user-agent');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = global[PROMISE];\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = global.fetch;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper;\n\nvar FORCED = isForced(PROMISE, function () {\n // correct subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var empty = function () { /* empty */ };\n var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !((IS_NODE || typeof PromiseRejectionEvent == 'function')\n && (!IS_PURE || promise['finally'])\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n // wrap fetch result\n if (!IS_PURE && typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = path[PROMISE];\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","import { __values } from \"tslib\";\nimport { htmlTreeAsString } from './browser';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive, isSyntheticEvent } from './is';\nimport { Memo } from './memo';\nimport { getFunctionName } from './stacktrace';\nimport { truncate } from './string';\n/**\n * Wrap a given object method with a higher-order function\n *\n * @param source An object that contains a method to be wrapped.\n * @param name A name of method to be wrapped.\n * @param replacementFactory A function that should be used to wrap a given method, returning the wrapped method which\n * will be substituted in for `source[name]`.\n * @returns void\n */\nexport function fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n var original = source[name];\n var wrapped = replacementFactory(original);\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __sentry_original__: {\n enumerable: false,\n value: original,\n },\n });\n }\n catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n source[name] = wrapped;\n}\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object) {\n return Object.keys(object)\n .map(function (key) { return encodeURIComponent(key) + \"=\" + encodeURIComponent(object[key]); })\n .join('&');\n}\n/**\n * Transforms any object into an object literal with all its attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n */\nfunction getWalkSource(value) {\n if (isError(value)) {\n var error = value;\n var err = {\n message: error.message,\n name: error.name,\n stack: error.stack,\n };\n for (var i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n return err;\n }\n if (isEvent(value)) {\n var event_1 = value;\n var source = {};\n source.type = event_1.type;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n source.target = isElement(event_1.target)\n ? htmlTreeAsString(event_1.target)\n : Object.prototype.toString.call(event_1.target);\n }\n catch (_oO) {\n source.target = '';\n }\n try {\n source.currentTarget = isElement(event_1.currentTarget)\n ? htmlTreeAsString(event_1.currentTarget)\n : Object.prototype.toString.call(event_1.currentTarget);\n }\n catch (_oO) {\n source.currentTarget = '';\n }\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n source.detail = event_1.detail;\n }\n for (var i in event_1) {\n if (Object.prototype.hasOwnProperty.call(event_1, i)) {\n source[i] = event_1;\n }\n }\n return source;\n }\n return value;\n}\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n/** JSDoc */\nexport function normalizeToSize(object, \n// Default Node.js REPL depth\ndepth, \n// 100kB, as 200kB is max payload size, so half sounds reasonable\nmaxSize) {\n if (depth === void 0) { depth = 3; }\n if (maxSize === void 0) { maxSize = 100 * 1024; }\n var serialized = normalize(object, depth);\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n return serialized;\n}\n/**\n * Transform any non-primitive, BigInt, or Symbol-type value into a string. Acts as a no-op on strings, numbers,\n * booleans, null, and undefined.\n *\n * @param value The value to stringify\n * @returns For non-primitive, BigInt, and Symbol-type values, a string denoting the value's type, type and value, or\n * type and `description` property, respectively. For non-BigInt, non-Symbol primitives, returns the original value,\n * unchanged.\n */\nfunction serializeValue(value) {\n var type = Object.prototype.toString.call(value);\n // Node.js REPL notation\n if (typeof value === 'string') {\n return value;\n }\n if (type === '[object Object]') {\n return '[Object]';\n }\n if (type === '[object Array]') {\n return '[Array]';\n }\n var normalized = normalizeValue(value);\n return isPrimitive(normalized) ? normalized : type;\n}\n/**\n * normalizeValue()\n *\n * Takes unserializable input and make it serializable friendly\n *\n * - translates undefined/NaN values to \"[undefined]\"/\"[NaN]\" respectively,\n * - serializes Error objects\n * - filter global objects\n */\nfunction normalizeValue(value, key) {\n if (key === 'domain' && value && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n if (value === void 0) {\n return '[undefined]';\n }\n if (typeof value === 'function') {\n return \"[Function: \" + getFunctionName(value) + \"]\";\n }\n // symbols and bigints are considered primitives by TS, but aren't natively JSON-serilaizable\n if (typeof value === 'symbol') {\n return \"[\" + String(value) + \"]\";\n }\n if (typeof value === 'bigint') {\n return \"[BigInt: \" + String(value) + \"]\";\n }\n return value;\n}\n/**\n * Walks an object to perform a normalization on it\n *\n * @param key of object that's walked in current iteration\n * @param value object to be walked\n * @param depth Optional number indicating how deep should walking be performed\n * @param memo Optional Memo class handling decycling\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function walk(key, value, depth, memo) {\n if (depth === void 0) { depth = +Infinity; }\n if (memo === void 0) { memo = new Memo(); }\n // If we reach the maximum depth, serialize whatever has left\n if (depth === 0) {\n return serializeValue(value);\n }\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // If value implements `toJSON` method, call it and return early\n if (value !== null && value !== undefined && typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n // If normalized value is a primitive, there are no branches left to walk, so we can just bail out, as theres no point in going down that branch any further\n var normalized = normalizeValue(value, key);\n if (isPrimitive(normalized)) {\n return normalized;\n }\n // Create source that we will use for next itterations, either objectified error object (Error type with extracted keys:value pairs) or the input itself\n var source = getWalkSource(value);\n // Create an accumulator that will act as a parent for all future itterations of that branch\n var acc = Array.isArray(value) ? [] : {};\n // If we already walked that branch, bail out, as it's circular reference\n if (memo.memoize(value)) {\n return '[Circular ~]';\n }\n // Walk all keys of the source\n for (var innerKey in source) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(source, innerKey)) {\n continue;\n }\n // Recursively walk through all the child nodes\n acc[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n }\n // Once walked through all the branches, remove the parent from memo storage\n memo.unmemoize(value);\n // Return accumulated values\n return acc;\n}\n/**\n * normalize()\n *\n * - Creates a copy to prevent original input mutation\n * - Skip non-enumerablers\n * - Calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializeable values (undefined/NaN/Functions) to serializable format\n * - Translates known global objects/Classes to a string representations\n * - Takes care of Error objects serialization\n * - Optionally limit depth of final output\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function normalize(input, depth) {\n try {\n return JSON.parse(JSON.stringify(input, function (key, value) { return walk(key, value, depth); }));\n }\n catch (_oO) {\n return '**non-serializable**';\n }\n}\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function extractExceptionKeysForMessage(exception, maxLength) {\n if (maxLength === void 0) { maxLength = 40; }\n var keys = Object.keys(getWalkSource(exception));\n keys.sort();\n if (!keys.length) {\n return '[object has no keys]';\n }\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n return '';\n}\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val) {\n var e_1, _a;\n if (isPlainObject(val)) {\n var obj = val;\n var rv = {};\n try {\n for (var _b = __values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (typeof obj[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(obj[key]);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return rv;\n }\n if (Array.isArray(val)) {\n return val.map(dropUndefinedKeys);\n }\n return val;\n}\n//# sourceMappingURL=object.js.map","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","import { __assign, __values } from \"tslib\";\nimport { isInstanceOf, isString } from './is';\nimport { logger } from './logger';\nimport { getGlobalObject } from './misc';\nimport { fill } from './object';\nimport { getFunctionName } from './stacktrace';\nimport { supportsHistory, supportsNativeFetch } from './supports';\nvar global = getGlobalObject();\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\nvar handlers = {};\nvar instrumented = {};\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n instrumented[type] = true;\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n logger.warn('unknown instrumentation type:', type);\n }\n}\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(handler) {\n if (!handler || typeof handler.type !== 'string' || typeof handler.callback !== 'function') {\n return;\n }\n handlers[handler.type] = handlers[handler.type] || [];\n handlers[handler.type].push(handler.callback);\n instrument(handler.type);\n}\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n var e_1, _a;\n if (!type || !handlers[type]) {\n return;\n }\n try {\n for (var _b = __values(handlers[type] || []), _c = _b.next(); !_c.done; _c = _b.next()) {\n var handler = _c.value;\n try {\n handler(data);\n }\n catch (e) {\n logger.error(\"Error while triggering instrumentation handler.\\nType: \" + type + \"\\nName: \" + getFunctionName(handler) + \"\\nError: \" + e);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n ['debug', 'info', 'warn', 'error', 'log', 'assert'].forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n fill(global.console, level, function (originalConsoleLevel) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n triggerHandlers('console', { args: args, level: level });\n // this fails for some browsers. :(\n if (originalConsoleLevel) {\n Function.prototype.apply.call(originalConsoleLevel, global.console, args);\n }\n };\n });\n });\n}\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n fill(global, 'fetch', function (originalFetch) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var handlerData = {\n args: args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n triggerHandlers('fetch', __assign({}, handlerData));\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(global, args).then(function (response) {\n triggerHandlers('fetch', __assign(__assign({}, handlerData), { endTimestamp: Date.now(), response: response }));\n return response;\n }, function (error) {\n triggerHandlers('fetch', __assign(__assign({}, handlerData), { endTimestamp: Date.now(), error: error }));\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n });\n };\n });\n}\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs) {\n if (fetchArgs === void 0) { fetchArgs = []; }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs) {\n if (fetchArgs === void 0) { fetchArgs = []; }\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/* eslint-enable @typescript-eslint/no-unsafe-member-access */\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n // Poor man's implementation of ES6 `Map`, tracking and keeping in sync key and value separately.\n var requestKeys = [];\n var requestValues = [];\n var xhrproto = XMLHttpRequest.prototype;\n fill(xhrproto, 'open', function (originalOpen) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var xhr = this;\n var url = args[1];\n xhr.__sentry_xhr__ = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n };\n // if Sentry key appears in URL, don't capture it as a request\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (isString(url) && xhr.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n var onreadystatechangeHandler = function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n if (xhr.__sentry_xhr__) {\n xhr.__sentry_xhr__.status_code = xhr.status;\n }\n }\n catch (e) {\n /* do nothing */\n }\n try {\n var requestPos = requestKeys.indexOf(xhr);\n if (requestPos !== -1) {\n // Make sure to pop both key and value to keep it in sync.\n requestKeys.splice(requestPos);\n var args_1 = requestValues.splice(requestPos)[0];\n if (xhr.__sentry_xhr__ && args_1[0] !== undefined) {\n xhr.__sentry_xhr__.body = args_1[0];\n }\n }\n }\n catch (e) {\n /* do nothing */\n }\n triggerHandlers('xhr', {\n args: args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr: xhr,\n });\n }\n };\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original) {\n return function () {\n var readyStateArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n readyStateArgs[_i] = arguments[_i];\n }\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n }\n else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n return originalOpen.apply(xhr, args);\n };\n });\n fill(xhrproto, 'send', function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n requestKeys.push(this);\n requestValues.push(args);\n triggerHandlers('xhr', {\n args: args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n return originalSend.apply(this, args);\n };\n });\n}\nvar lastHref;\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to,\n });\n if (oldOnPopState) {\n return oldOnPopState.apply(this, args);\n }\n };\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n // Capture breadcrumbs from any click that is unhandled / bubbled up all the way\n // to the document. Do this before we instrument addEventListener.\n global.document.addEventListener('click', domEventHandler('click', triggerHandlers.bind(null, 'dom')), false);\n global.document.addEventListener('keypress', keypressEventHandler(triggerHandlers.bind(null, 'dom')), false);\n // After hooking into document bubbled up click and keypresses events, we also hook into user handled click & keypresses.\n ['EventTarget', 'Node'].forEach(function (target) {\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n var proto = global[target] && global[target].prototype;\n // eslint-disable-next-line no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n if (fn && fn.handleEvent) {\n if (eventName === 'click') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n if (eventName === 'keypress') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n }\n else {\n if (eventName === 'click') {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'), true)(this);\n }\n if (eventName === 'keypress') {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(this);\n }\n }\n return original.call(this, eventName, fn, options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n try {\n original.call(this, eventName, fn.__sentry_wrapped__, options);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, fn, options);\n };\n });\n });\n}\nvar debounceDuration = 1000;\nvar debounceTimer = 0;\nvar keypressTimeout;\nvar lastCapturedEvent;\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param name the event name (e.g. \"click\")\n * @param handler function that will be triggered\n * @param debounce decides whether it should wait till another event loop\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction domEventHandler(name, handler, debounce) {\n if (debounce === void 0) { debounce = false; }\n return function (event) {\n // reset keypress timeout; e.g. triggering a 'click' after\n // a 'keypress' will reset the keypress debounce so that a new\n // set of keypresses can be recorded\n keypressTimeout = undefined;\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors). Ignore if we've\n // already captured the event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n lastCapturedEvent = event;\n if (debounceTimer) {\n clearTimeout(debounceTimer);\n }\n if (debounce) {\n debounceTimer = setTimeout(function () {\n handler({ event: event, name: name });\n });\n }\n else {\n handler({ event: event, name: name });\n }\n };\n}\n/**\n * Wraps addEventListener to capture keypress UI events\n * @param handler function that will be triggered\n * @returns wrapped keypress events handler\n * @hidden\n */\nfunction keypressEventHandler(handler) {\n // TODO: if somehow user switches keypress target before\n // debounce timeout is triggered, we will only capture\n // a single breadcrumb from the FIRST target (acceptable?)\n return function (event) {\n var target;\n try {\n target = event.target;\n }\n catch (e) {\n // just accessing event properties can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/raven-js/issues/838\n return;\n }\n var tagName = target && target.tagName;\n // only consider keypress events on actual input elements\n // this will disregard keypresses targeting body (e.g. tabbing\n // through elements, hotkeys, etc)\n if (!tagName || (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !target.isContentEditable)) {\n return;\n }\n // record first keypress in a series, but ignore subsequent\n // keypresses until debounce clears\n if (!keypressTimeout) {\n domEventHandler('input', handler)(event);\n }\n clearTimeout(keypressTimeout);\n keypressTimeout = setTimeout(function () {\n keypressTimeout = undefined;\n }, debounceDuration);\n };\n}\nvar _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column: column,\n error: error,\n line: line,\n msg: msg,\n url: url,\n });\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n };\n}\nvar _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return true;\n };\n}\n//# sourceMappingURL=instrument.js.map","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","\"use strict\";function _interopDefault(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}Object.defineProperty(exports,\"__esModule\",{value:!0});var React=_interopDefault(require(\"react\"));function AppContainer(e){return AppContainer.warnAboutHMRDisabled&&(AppContainer.warnAboutHMRDisabled=!0,console.error(\"React-Hot-Loader: misconfiguration detected, using production version in non-production environment.\"),console.error(\"React-Hot-Loader: Hot Module Replacement is not enabled.\")),React.Children.only(e.children)}AppContainer.warnAboutHMRDisabled=!1;var hot=function e(){return e.shouldWrapWithAppContainer?function(e){return function(n){return React.createElement(AppContainer,null,React.createElement(e,n))}}:function(e){return e}};hot.shouldWrapWithAppContainer=!1;var areComponentsEqual=function(e,n){return e===n},setConfig=function(){},cold=function(e){return e},configureComponent=function(){};exports.AppContainer=AppContainer,exports.hot=hot,exports.areComponentsEqual=areComponentsEqual,exports.setConfig=setConfig,exports.cold=cold,exports.configureComponent=configureComponent;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n","import { __assign } from \"tslib\";\nimport { print } from 'graphql';\nvar defaultHttpOptions = {\n includeQuery: true,\n includeExtensions: false,\n};\nvar defaultHeaders = {\n accept: '*/*',\n 'content-type': 'application/json',\n};\nvar defaultOptions = {\n method: 'POST',\n};\nexport var fallbackHttpConfig = {\n http: defaultHttpOptions,\n headers: defaultHeaders,\n options: defaultOptions,\n};\nexport var selectHttpOptionsAndBody = function (operation, fallbackConfig) {\n var configs = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n configs[_i - 2] = arguments[_i];\n }\n var options = __assign(__assign({}, fallbackConfig.options), { headers: fallbackConfig.headers, credentials: fallbackConfig.credentials });\n var http = fallbackConfig.http || {};\n configs.forEach(function (config) {\n options = __assign(__assign(__assign({}, options), config.options), { headers: __assign(__assign({}, options.headers), headersToLowerCase(config.headers)) });\n if (config.credentials)\n options.credentials = config.credentials;\n http = __assign(__assign({}, http), config.http);\n });\n var operationName = operation.operationName, extensions = operation.extensions, variables = operation.variables, query = operation.query;\n var body = { operationName: operationName, variables: variables };\n if (http.includeExtensions)\n body.extensions = extensions;\n if (http.includeQuery)\n body.query = print(query);\n return {\n options: options,\n body: body,\n };\n};\nfunction headersToLowerCase(headers) {\n if (headers) {\n var normalized_1 = Object.create(null);\n Object.keys(Object(headers)).forEach(function (name) {\n normalized_1[name.toLowerCase()] = headers[name];\n });\n return normalized_1;\n }\n return headers;\n}\n//# sourceMappingURL=selectHttpOptionsAndBody.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Async } from './Async';\nimport { EventGroup } from './EventGroup';\nimport { warnConditionallyRequiredProps } from './warn/warnConditionallyRequiredProps';\nimport { warnMutuallyExclusive } from './warn/warnMutuallyExclusive';\nimport { warnDeprecations } from './warn/warnDeprecations';\n/**\n * BaseComponent class, which provides basic helpers for all components.\n *\n * @public\n * {@docCategory BaseComponent}\n *\n * @deprecated Do not use. We are moving away from class component.\n */\nvar BaseComponent = /** @class */ (function (_super) {\n __extends(BaseComponent, _super);\n /**\n * BaseComponent constructor\n * @param props - The props for the component.\n * @param context - The context for the component.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function BaseComponent(props, context) {\n var _this = _super.call(this, props, context) || this;\n // eslint-disable-next-line deprecation/deprecation\n _makeAllSafe(_this, BaseComponent.prototype, [\n 'componentDidMount',\n 'shouldComponentUpdate',\n 'getSnapshotBeforeUpdate',\n 'render',\n 'componentDidUpdate',\n 'componentWillUnmount',\n ]);\n return _this;\n }\n /**\n * When the component receives props, make sure the componentRef is updated.\n */\n BaseComponent.prototype.componentDidUpdate = function (prevProps, prevState) {\n this._updateComponentRef(prevProps, this.props);\n };\n /**\n * When the component has mounted, update the componentRef.\n */\n BaseComponent.prototype.componentDidMount = function () {\n this._setComponentRef(this.props.componentRef, this);\n };\n /**\n * If we have disposables, dispose them automatically on unmount.\n */\n BaseComponent.prototype.componentWillUnmount = function () {\n this._setComponentRef(this.props.componentRef, null);\n if (this.__disposables) {\n for (var i = 0, len = this._disposables.length; i < len; i++) {\n var disposable = this.__disposables[i];\n if (disposable.dispose) {\n disposable.dispose();\n }\n }\n this.__disposables = null;\n }\n };\n Object.defineProperty(BaseComponent.prototype, \"className\", {\n /**\n * Gets the object's class name.\n */\n get: function () {\n if (!this.__className) {\n var funcNameRegex = /function (.{1,})\\(/;\n var results = funcNameRegex.exec(this.constructor.toString());\n this.__className = results && results.length > 1 ? results[1] : '';\n }\n return this.__className;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BaseComponent.prototype, \"_disposables\", {\n /**\n * Allows subclasses to push things to this._disposables to be auto disposed.\n */\n get: function () {\n if (!this.__disposables) {\n this.__disposables = [];\n }\n return this.__disposables;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BaseComponent.prototype, \"_async\", {\n /**\n * Gets the async instance associated with the component, created on demand. The async instance gives\n * subclasses a way to execute setTimeout/setInterval async calls safely, where the callbacks\n * will be cleared/ignored automatically after unmounting. The helpers within the async object also\n * preserve the this pointer so that you don't need to \"bind\" the callbacks.\n */\n get: function () {\n if (!this.__async) {\n this.__async = new Async(this);\n this._disposables.push(this.__async);\n }\n return this.__async;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BaseComponent.prototype, \"_events\", {\n /**\n * Gets the event group instance assocaited with the component, created on demand. The event instance\n * provides on/off methods for listening to DOM (or regular javascript object) events. The event callbacks\n * will be automatically disconnected after unmounting. The helpers within the events object also\n * preserve the this reference so that you don't need to \"bind\" the callbacks.\n */\n get: function () {\n if (!this.__events) {\n this.__events = new EventGroup(this);\n this._disposables.push(this.__events);\n }\n return this.__events;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Helper to return a memoized ref resolver function.\n * @param refName - Name of the member to assign the ref to.\n * @returns A function instance keyed from the given refname.\n * @deprecated Use `createRef` from React.createRef.\n */\n BaseComponent.prototype._resolveRef = function (refName) {\n var _this = this;\n if (!this.__resolves) {\n this.__resolves = {};\n }\n if (!this.__resolves[refName]) {\n this.__resolves[refName] = function (ref) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (_this[refName] = ref);\n };\n }\n return this.__resolves[refName];\n };\n /**\n * Updates the componentRef (by calling it with \"this\" when necessary.)\n */\n BaseComponent.prototype._updateComponentRef = function (currentProps, newProps) {\n if (newProps === void 0) { newProps = {}; }\n // currentProps *should* always be defined, but verify that just in case a subclass is manually\n // calling a lifecycle method with no parameters (which has happened) or other odd usage.\n if (currentProps && newProps && currentProps.componentRef !== newProps.componentRef) {\n this._setComponentRef(currentProps.componentRef, null);\n this._setComponentRef(newProps.componentRef, this);\n }\n };\n /**\n * Warns when a deprecated props are being used.\n *\n * @param deprecationMap - The map of deprecations, where key is the prop name and the value is\n * either null or a replacement prop name.\n */\n BaseComponent.prototype._warnDeprecations = function (deprecationMap) {\n warnDeprecations(this.className, this.props, deprecationMap);\n };\n /**\n * Warns when props which are mutually exclusive with each other are both used.\n *\n * @param mutuallyExclusiveMap - The map of mutually exclusive props.\n */\n BaseComponent.prototype._warnMutuallyExclusive = function (mutuallyExclusiveMap) {\n warnMutuallyExclusive(this.className, this.props, mutuallyExclusiveMap);\n };\n /**\n * Warns when props are required if a condition is met.\n *\n * @param requiredProps - The name of the props that are required when the condition is met.\n * @param conditionalPropName - The name of the prop that the condition is based on.\n * @param condition - Whether the condition is met.\n */\n BaseComponent.prototype._warnConditionallyRequiredProps = function (requiredProps, conditionalPropName, condition) {\n warnConditionallyRequiredProps(this.className, this.props, requiredProps, conditionalPropName, condition);\n };\n BaseComponent.prototype._setComponentRef = function (ref, value) {\n if (!this._skipComponentRefResolution && ref) {\n if (typeof ref === 'function') {\n ref(value);\n }\n if (typeof ref === 'object') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref.current = value;\n }\n }\n };\n return BaseComponent;\n}(React.Component));\nexport { BaseComponent };\n/**\n * Helper to override a given method with a wrapper method that can try/catch the original, but also\n * ensures that the BaseComponent's methods are called before the subclass's. This ensures that\n * componentWillUnmount in the base is called and that things in the _disposables array are disposed.\n */\n// eslint-disable-next-line deprecation/deprecation\nfunction _makeAllSafe(obj, prototype, methodNames) {\n for (var i = 0, len = methodNames.length; i < len; i++) {\n _makeSafe(obj, prototype, methodNames[i]);\n }\n}\n// eslint-disable-next-line deprecation/deprecation\nfunction _makeSafe(obj, prototype, methodName) {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n var classMethod = obj[methodName];\n var prototypeMethod = prototype[methodName];\n if (classMethod || prototypeMethod) {\n obj[methodName] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n /* eslint-enable @typescript-eslint/no-explicit-any */\n var retVal;\n if (prototypeMethod) {\n retVal = prototypeMethod.apply(this, args);\n }\n if (classMethod !== prototypeMethod) {\n retVal = classMethod.apply(this, args);\n }\n return retVal;\n };\n }\n}\n/**\n * Simple constant function for returning null, used to render empty templates in JSX.\n *\n * @public\n */\nexport function nullRender() {\n return null;\n}\n//# sourceMappingURL=BaseComponent.js.map"," \r\n export enum WebSeeTimeframe {\r\n None = 0,\r\n LastHour = 1,\r\n Last24Hours = 2,\r\n Last7Days = 3,\r\n Last4Weeks = 4,\r\n Last30Days = 5,\r\n }\r\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjYwIiB2aWV3Qm94PSIwIDAgMjAwIDYwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KPG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMSIgZmlsbD0id2hpdGUiPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05MCAwSDBWNDBIOTBWNjBMOTQgNTZMOTggNjBMMTAyIDU2TDEwNiA2MEwxMTAgNTZWNDBIMjAwVjBIMTEwSDkwWiIvPg0KPC9tYXNrPg0KPHBhdGggZD0iTTAgMFYtMC41SC0wLjVWMEgwWk0wIDQwSC0wLjVWNDAuNUgwVjQwWk05MCA0MEg5MC41VjM5LjVIOTBWNDBaTTkwIDYwSDg5LjVWNjEuMjA3MUw5MC4zNTM2IDYwLjM1MzZMOTAgNjBaTTk0IDU2TDk0LjM1MzYgNTUuNjQ2NEw5NCA1NS4yOTI5TDkzLjY0NjQgNTUuNjQ2NEw5NCA1NlpNOTggNjBMOTcuNjQ2NCA2MC4zNTM2TDk4IDYwLjcwNzFMOTguMzUzNiA2MC4zNTM2TDk4IDYwWk0xMDIgNTZMMTAyLjM1NCA1NS42NDY0TDEwMiA1NS4yOTI5TDEwMS42NDYgNTUuNjQ2NEwxMDIgNTZaTTEwNiA2MEwxMDUuNjQ2IDYwLjM1MzZMMTA2IDYwLjcwNzFMMTA2LjM1NCA2MC4zNTM2TDEwNiA2MFpNMTEwIDU2TDExMC4zNTQgNTYuMzUzNkwxMTAuNSA1Ni4yMDcxVjU2SDExMFpNMTEwIDQwVjM5LjVIMTA5LjVWNDBIMTEwWk0yMDAgNDBWNDAuNUgyMDAuNVY0MEgyMDBaTTIwMCAwSDIwMC41Vi0wLjVIMjAwVjBaTS0wLjUgMFY0LjQ0NDQ0SDAuNVYwSC0wLjVaTS0wLjUgOC44ODg4OVYxNy43Nzc4SDAuNVY4Ljg4ODg5SC0wLjVaTS0wLjUgMjIuMjIyMlYzMS4xMTExSDAuNVYyMi4yMjIySC0wLjVaTS0wLjUgMzUuNTU1NlY0MEgwLjVWMzUuNTU1NkgtMC41Wk0wIDQwLjVIMy43NVYzOS41SDBWNDAuNVpNNy41IDQwLjVIMTVWMzkuNUg3LjVWNDAuNVpNMTguNzUgNDAuNUgyNi4yNVYzOS41SDE4Ljc1VjQwLjVaTTMwIDQwLjVIMzcuNVYzOS41SDMwVjQwLjVaTTQxLjI1IDQwLjVINDguNzVWMzkuNUg0MS4yNVY0MC41Wk01Mi41IDQwLjVINjBWMzkuNUg1Mi41VjQwLjVaTTYzLjc1IDQwLjVINzEuMjVWMzkuNUg2My43NVY0MC41Wk03NSA0MC41SDgyLjVWMzkuNUg3NVY0MC41Wk04Ni4yNSA0MC41SDkwVjM5LjVIODYuMjVWNDAuNVpNODkuNSA0MFY0My4zMzMzSDkwLjVWNDBIODkuNVpNODkuNSA0Ni42NjY3VjUzLjMzMzNIOTAuNVY0Ni42NjY3SDg5LjVaTTg5LjUgNTYuNjY2N1Y2MEg5MC41VjU2LjY2NjdIODkuNVpNOTAuMzUzNiA2MC4zNTM2TDkxLjY4NjkgNTkuMDIwMkw5MC45Nzk4IDU4LjMxMzFMODkuNjQ2NCA1OS42NDY0TDkwLjM1MzYgNjAuMzUzNlpNOTMuMDIwMiA1Ny42ODY5TDk0LjM1MzYgNTYuMzUzNkw5My42NDY0IDU1LjY0NjRMOTIuMzEzMSA1Ni45Nzk4TDkzLjAyMDIgNTcuNjg2OVpNOTMuNjQ2NCA1Ni4zNTM2TDk0Ljk3OTggNTcuNjg2OUw5NS42ODY5IDU2Ljk3OThMOTQuMzUzNiA1NS42NDY0TDkzLjY0NjQgNTYuMzUzNlpNOTYuMzEzMSA1OS4wMjAyTDk3LjY0NjQgNjAuMzUzNkw5OC4zNTM2IDU5LjY0NjRMOTcuMDIwMiA1OC4zMTMxTDk2LjMxMzEgNTkuMDIwMlpNOTguMzUzNiA2MC4zNTM2TDk5LjY4NjkgNTkuMDIwMkw5OC45Nzk4IDU4LjMxMzFMOTcuNjQ2NCA1OS42NDY0TDk4LjM1MzYgNjAuMzUzNlpNMTAxLjAyIDU3LjY4NjlMMTAyLjM1NCA1Ni4zNTM2TDEwMS42NDYgNTUuNjQ2NEwxMDAuMzEzIDU2Ljk3OThMMTAxLjAyIDU3LjY4NjlaTTEwMS42NDYgNTYuMzUzNkwxMDIuOTggNTcuNjg2OUwxMDMuNjg3IDU2Ljk3OThMMTAyLjM1NCA1NS42NDY0TDEwMS42NDYgNTYuMzUzNlpNMTA0LjMxMyA1OS4wMjAyTDEwNS42NDYgNjAuMzUzNkwxMDYuMzU0IDU5LjY0NjRMMTA1LjAyIDU4LjMxMzFMMTA0LjMxMyA1OS4wMjAyWk0xMDYuMzU0IDYwLjM1MzZMMTA3LjY4NyA1OS4wMjAyTDEwNi45OCA1OC4zMTMxTDEwNS42NDYgNTkuNjQ2NEwxMDYuMzU0IDYwLjM1MzZaTTEwOS4wMiA1Ny42ODY5TDExMC4zNTQgNTYuMzUzNkwxMDkuNjQ2IDU1LjY0NjRMMTA4LjMxMyA1Ni45Nzk4TDEwOS4wMiA1Ny42ODY5Wk0xMTAuNSA1NlY1MC42NjY3SDEwOS41VjU2SDExMC41Wk0xMTAuNSA0NS4zMzMzVjQwSDEwOS41VjQ1LjMzMzNIMTEwLjVaTTExMCA0MC41SDExMy43NVYzOS41SDExMFY0MC41Wk0xMTcuNSA0MC41SDEyNVYzOS41SDExNy41VjQwLjVaTTEyOC43NSA0MC41SDEzNi4yNVYzOS41SDEyOC43NVY0MC41Wk0xNDAgNDAuNUgxNDcuNVYzOS41SDE0MFY0MC41Wk0xNTEuMjUgNDAuNUgxNTguNzVWMzkuNUgxNTEuMjVWNDAuNVpNMTYyLjUgNDAuNUgxNzBWMzkuNUgxNjIuNVY0MC41Wk0xNzMuNzUgNDAuNUgxODEuMjVWMzkuNUgxNzMuNzVWNDAuNVpNMTg1IDQwLjVIMTkyLjVWMzkuNUgxODVWNDAuNVpNMTk2LjI1IDQwLjVIMjAwVjM5LjVIMTk2LjI1VjQwLjVaTTIwMC41IDQwVjM1LjU1NTZIMTk5LjVWNDBIMjAwLjVaTTIwMC41IDMxLjExMTFWMjIuMjIyMkgxOTkuNVYzMS4xMTExSDIwMC41Wk0yMDAuNSAxNy43Nzc4VjguODg4ODlIMTk5LjVWMTcuNzc3OEgyMDAuNVpNMjAwLjUgNC40NDQ0NFYwSDE5OS41VjQuNDQ0NDRIMjAwLjVaTTIwMCAtMC41SDE5Ni4yNVYwLjVIMjAwVi0wLjVaTTE5Mi41IC0wLjVIMTg1VjAuNUgxOTIuNVYtMC41Wk0xODEuMjUgLTAuNUgxNzMuNzVWMC41SDE4MS4yNVYtMC41Wk0xNzAgLTAuNUgxNjIuNVYwLjVIMTcwVi0wLjVaTTE1OC43NSAtMC41SDE1MS4yNVYwLjVIMTU4Ljc1Vi0wLjVaTTE0Ny41IC0wLjVIMTQwVjAuNUgxNDcuNVYtMC41Wk0xMzYuMjUgLTAuNUgxMjguNzVWMC41SDEzNi4yNVYtMC41Wk0xMjUgLTAuNUgxMTcuNVYwLjVIMTI1Vi0wLjVaTTExMy43NSAtMC41SDExMFYwLjVIMTEzLjc1Vi0wLjVaTTExMCAtMC41SDEwNi42NjdWMC41SDExMFYtMC41Wk0xMDMuMzMzIC0wLjVIOTYuNjY2N1YwLjVIMTAzLjMzM1YtMC41Wk05My4zMzMzIC0wLjVIOTBWMC41SDkzLjMzMzNWLTAuNVpNOTAgLTAuNUg4Ni4yNVYwLjVIOTBWLTAuNVpNODIuNSAtMC41SDc1VjAuNUg4Mi41Vi0wLjVaTTcxLjI1IC0wLjVINjMuNzVWMC41SDcxLjI1Vi0wLjVaTTYwIC0wLjVINTIuNVYwLjVINjBWLTAuNVpNNDguNzUgLTAuNUg0MS4yNVYwLjVINDguNzVWLTAuNVpNMzcuNSAtMC41SDMwVjAuNUgzNy41Vi0wLjVaTTI2LjI1IC0wLjVIMTguNzVWMC41SDI2LjI1Vi0wLjVaTTE1IC0wLjVINy41VjAuNUgxNVYtMC41Wk0zLjc1IC0wLjVIMFYwLjVIMy43NVYtMC41Wk0wIDBWLTFILTFWMEgwWk0wIDQwSC0xVjQxSDBWNDBaTTkwIDQwSDkxVjM5SDkwVjQwWk05MCA2MEg4OVY2Mi40MTQyTDkwLjcwNzEgNjAuNzA3MUw5MCA2MFpNOTQgNTZMOTQuNzA3MSA1NS4yOTI5TDk0IDU0LjU4NThMOTMuMjkyOSA1NS4yOTI5TDk0IDU2Wk05OCA2MEw5Ny4yOTI5IDYwLjcwNzFMOTggNjEuNDE0Mkw5OC43MDcxIDYwLjcwNzFMOTggNjBaTTEwMiA1NkwxMDIuNzA3IDU1LjI5MjlMMTAyIDU0LjU4NThMMTAxLjI5MyA1NS4yOTI5TDEwMiA1NlpNMTA2IDYwTDEwNS4yOTMgNjAuNzA3MUwxMDYgNjEuNDE0MkwxMDYuNzA3IDYwLjcwNzFMMTA2IDYwWk0xMTAgNTZMMTEwLjcwNyA1Ni43MDcxTDExMSA1Ni40MTQyVjU2SDExMFpNMTEwIDQwVjM5SDEwOVY0MEgxMTBaTTIwMCA0MFY0MUgyMDFWNDBIMjAwWk0yMDAgMEgyMDFWLTFIMjAwVjBaTS0xIDBWNC40NDQ0NEgxVjBILTFaTS0xIDguODg4ODlWMTcuNzc3OEgxVjguODg4ODlILTFaTS0xIDIyLjIyMjJWMzEuMTExMUgxVjIyLjIyMjJILTFaTS0xIDM1LjU1NTZWNDBIMVYzNS41NTU2SC0xWk0wIDQxSDMuNzVWMzlIMFY0MVpNNy41IDQxSDE1VjM5SDcuNVY0MVpNMTguNzUgNDFIMjYuMjVWMzlIMTguNzVWNDFaTTMwIDQxSDM3LjVWMzlIMzBWNDFaTTQxLjI1IDQxSDQ4Ljc1VjM5SDQxLjI1VjQxWk01Mi41IDQxSDYwVjM5SDUyLjVWNDFaTTYzLjc1IDQxSDcxLjI1VjM5SDYzLjc1VjQxWk03NSA0MUg4Mi41VjM5SDc1VjQxWk04Ni4yNSA0MUg5MFYzOUg4Ni4yNVY0MVpNODkgNDBWNDMuMzMzM0g5MVY0MEg4OVpNODkgNDYuNjY2N1Y1My4zMzMzSDkxVjQ2LjY2NjdIODlaTTg5IDU2LjY2NjdWNjBIOTFWNTYuNjY2N0g4OVpNOTAuNzA3MSA2MC43MDcxTDkyLjA0MDQgNTkuMzczOEw5MC42MjYyIDU3Ljk1OTZMODkuMjkyOSA1OS4yOTI5TDkwLjcwNzEgNjAuNzA3MVpNOTMuMzczOCA1OC4wNDA0TDk0LjcwNzEgNTYuNzA3MUw5My4yOTI5IDU1LjI5MjlMOTEuOTU5NiA1Ni42MjYyTDkzLjM3MzggNTguMDQwNFpNOTMuMjkyOSA1Ni43MDcxTDk0LjYyNjIgNTguMDQwNEw5Ni4wNDA0IDU2LjYyNjJMOTQuNzA3MSA1NS4yOTI5TDkzLjI5MjkgNTYuNzA3MVpNOTUuOTU5NiA1OS4zNzM4TDk3LjI5MjkgNjAuNzA3MUw5OC43MDcxIDU5LjI5MjlMOTcuMzczOCA1Ny45NTk2TDk1Ljk1OTYgNTkuMzczOFpNOTguNzA3MSA2MC43MDcxTDEwMC4wNCA1OS4zNzM4TDk4LjYyNjIgNTcuOTU5Nkw5Ny4yOTI5IDU5LjI5MjlMOTguNzA3MSA2MC43MDcxWk0xMDEuMzc0IDU4LjA0MDRMMTAyLjcwNyA1Ni43MDcxTDEwMS4yOTMgNTUuMjkyOUw5OS45NTk2IDU2LjYyNjJMMTAxLjM3NCA1OC4wNDA0Wk0xMDEuMjkzIDU2LjcwNzFMMTAyLjYyNiA1OC4wNDA0TDEwNC4wNCA1Ni42MjYyTDEwMi43MDcgNTUuMjkyOUwxMDEuMjkzIDU2LjcwNzFaTTEwMy45NiA1OS4zNzM4TDEwNS4yOTMgNjAuNzA3MUwxMDYuNzA3IDU5LjI5MjlMMTA1LjM3NCA1Ny45NTk2TDEwMy45NiA1OS4zNzM4Wk0xMDYuNzA3IDYwLjcwNzFMMTA4LjA0IDU5LjM3MzhMMTA2LjYyNiA1Ny45NTk2TDEwNS4yOTMgNTkuMjkyOUwxMDYuNzA3IDYwLjcwNzFaTTEwOS4zNzQgNTguMDQwNEwxMTAuNzA3IDU2LjcwNzFMMTA5LjI5MyA1NS4yOTI5TDEwNy45NiA1Ni42MjYyTDEwOS4zNzQgNTguMDQwNFpNMTExIDU2VjUwLjY2NjdIMTA5VjU2SDExMVpNMTExIDQ1LjMzMzNWNDBIMTA5VjQ1LjMzMzNIMTExWk0xMTAgNDFIMTEzLjc1VjM5SDExMFY0MVpNMTE3LjUgNDFIMTI1VjM5SDExNy41VjQxWk0xMjguNzUgNDFIMTM2LjI1VjM5SDEyOC43NVY0MVpNMTQwIDQxSDE0Ny41VjM5SDE0MFY0MVpNMTUxLjI1IDQxSDE1OC43NVYzOUgxNTEuMjVWNDFaTTE2Mi41IDQxSDE3MFYzOUgxNjIuNVY0MVpNMTczLjc1IDQxSDE4MS4yNVYzOUgxNzMuNzVWNDFaTTE4NSA0MUgxOTIuNVYzOUgxODVWNDFaTTE5Ni4yNSA0MUgyMDBWMzlIMTk2LjI1VjQxWk0yMDEgNDBWMzUuNTU1NkgxOTlWNDBIMjAxWk0yMDEgMzEuMTExMVYyMi4yMjIySDE5OVYzMS4xMTExSDIwMVpNMjAxIDE3Ljc3NzhWOC44ODg4OUgxOTlWMTcuNzc3OEgyMDFaTTIwMSA0LjQ0NDQ0VjBIMTk5VjQuNDQ0NDRIMjAxWk0yMDAgLTFIMTk2LjI1VjFIMjAwVi0xWk0xOTIuNSAtMUgxODVWMUgxOTIuNVYtMVpNMTgxLjI1IC0xSDE3My43NVYxSDE4MS4yNVYtMVpNMTcwIC0xSDE2Mi41VjFIMTcwVi0xWk0xNTguNzUgLTFIMTUxLjI1VjFIMTU4Ljc1Vi0xWk0xNDcuNSAtMUgxNDBWMUgxNDcuNVYtMVpNMTM2LjI1IC0xSDEyOC43NVYxSDEzNi4yNVYtMVpNMTI1IC0xSDExNy41VjFIMTI1Vi0xWk0xMTMuNzUgLTFIMTEwVjFIMTEzLjc1Vi0xWk0xMTAgLTFIMTA2LjY2N1YxSDExMFYtMVpNMTAzLjMzMyAtMUg5Ni42NjY3VjFIMTAzLjMzM1YtMVpNOTMuMzMzMyAtMUg5MFYxSDkzLjMzMzNWLTFaTTkwIC0xSDg2LjI1VjFIOTBWLTFaTTgyLjUgLTFINzVWMUg4Mi41Vi0xWk03MS4yNSAtMUg2My43NVYxSDcxLjI1Vi0xWk02MCAtMUg1Mi41VjFINjBWLTFaTTQ4Ljc1IC0xSDQxLjI1VjFINDguNzVWLTFaTTM3LjUgLTFIMzBWMUgzNy41Vi0xWk0yNi4yNSAtMUgxOC43NVYxSDI2LjI1Vi0xWk0xNSAtMUg3LjVWMUgxNVYtMVpNMy43NSAtMUgwVjFIMy43NVYtMVoiIGZpbGw9IiM2NjY2NjYiIG1hc2s9InVybCgjcGF0aC0xLWluc2lkZS0xKSIvPg0KPC9zdmc+DQo=\"","import { CPSite, setStaticFileUrl } from 'utils/url';\r\n\r\nsetStaticFileUrl(true, CPSite.WPT);\r\n","import { __assign, __extends, __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentHub } from '@sentry/browser';\nimport { timestampWithMs } from '@sentry/utils';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nexport var UNKNOWN_COMPONENT = 'unknown';\nvar TRACING_GETTER = {\n id: 'Tracing',\n};\nvar globalTracingIntegration = null;\n/** @deprecated remove when @sentry/apm no longer used */\nvar getTracingIntegration = function () {\n if (globalTracingIntegration) {\n return globalTracingIntegration;\n }\n globalTracingIntegration = getCurrentHub().getIntegration(TRACING_GETTER);\n return globalTracingIntegration;\n};\n/**\n * pushActivity creates an new react activity.\n * Is a no-op if Tracing integration is not valid\n * @param name displayName of component that started activity\n * @deprecated remove when @sentry/apm no longer used\n */\nfunction pushActivity(name, op) {\n if (globalTracingIntegration === null) {\n return null;\n }\n return globalTracingIntegration.constructor.pushActivity(name, {\n description: \"<\" + name + \">\",\n op: \"react.\" + op,\n });\n}\n/**\n * popActivity removes a React activity.\n * Is a no-op if Tracing integration is not valid.\n * @param activity id of activity that is being popped\n * @deprecated remove when @sentry/apm no longer used\n */\nfunction popActivity(activity) {\n if (activity === null || globalTracingIntegration === null) {\n return;\n }\n globalTracingIntegration.constructor.popActivity(activity);\n}\n/**\n * Obtain a span given an activity id.\n * Is a no-op if Tracing integration is not valid.\n * @param activity activity id associated with obtained span\n * @deprecated remove when @sentry/apm no longer used\n */\nfunction getActivitySpan(activity) {\n if (activity === null || globalTracingIntegration === null) {\n return undefined;\n }\n return globalTracingIntegration.constructor.getActivitySpan(activity);\n}\n/**\n * The Profiler component leverages Sentry's Tracing integration to generate\n * spans based on component lifecycles.\n */\nvar Profiler = /** @class */ (function (_super) {\n __extends(Profiler, _super);\n function Profiler(props) {\n var _this = _super.call(this, props) || this;\n // The activity representing how long it takes to mount a component.\n _this._mountActivity = null;\n // The span of the mount activity\n _this._mountSpan = undefined;\n var _a = _this.props, name = _a.name, _b = _a.disabled, disabled = _b === void 0 ? false : _b;\n if (disabled) {\n return _this;\n }\n // If they are using @sentry/apm, we need to push/pop activities\n // eslint-disable-next-line deprecation/deprecation\n if (getTracingIntegration()) {\n // eslint-disable-next-line deprecation/deprecation\n _this._mountActivity = pushActivity(name, 'mount');\n }\n else {\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n _this._mountSpan = activeTransaction.startChild({\n description: \"<\" + name + \">\",\n op: 'react.mount',\n });\n }\n }\n return _this;\n }\n // If a component mounted, we can finish the mount activity.\n Profiler.prototype.componentDidMount = function () {\n if (this._mountSpan) {\n this._mountSpan.finish();\n }\n else {\n // eslint-disable-next-line deprecation/deprecation\n this._mountSpan = getActivitySpan(this._mountActivity);\n // eslint-disable-next-line deprecation/deprecation\n popActivity(this._mountActivity);\n this._mountActivity = null;\n }\n };\n Profiler.prototype.componentDidUpdate = function (_a) {\n var _this = this;\n var updateProps = _a.updateProps, _b = _a.includeUpdates, includeUpdates = _b === void 0 ? true : _b;\n // Only generate an update span if hasUpdateSpan is true, if there is a valid mountSpan,\n // and if the updateProps have changed. It is ok to not do a deep equality check here as it is expensive.\n // We are just trying to give baseline clues for further investigation.\n if (includeUpdates && this._mountSpan && updateProps !== this.props.updateProps) {\n // See what props haved changed between the previous props, and the current props. This is\n // set as data on the span. We just store the prop keys as the values could be potenially very large.\n var changedProps = Object.keys(updateProps).filter(function (k) { return updateProps[k] !== _this.props.updateProps[k]; });\n if (changedProps.length > 0) {\n // The update span is a point in time span with 0 duration, just signifying that the component\n // has been updated.\n var now = timestampWithMs();\n this._mountSpan.startChild({\n data: {\n changedProps: changedProps,\n },\n description: \"<\" + this.props.name + \">\",\n endTimestamp: now,\n op: \"react.update\",\n startTimestamp: now,\n });\n }\n }\n };\n // If a component is unmounted, we can say it is no longer on the screen.\n // This means we can finish the span representing the component render.\n Profiler.prototype.componentWillUnmount = function () {\n var _a = this.props, name = _a.name, _b = _a.includeRender, includeRender = _b === void 0 ? true : _b;\n if (this._mountSpan && includeRender) {\n // If we were able to obtain the spanId of the mount activity, we should set the\n // next activity as a child to the component mount activity.\n this._mountSpan.startChild({\n description: \"<\" + name + \">\",\n endTimestamp: timestampWithMs(),\n op: \"react.render\",\n startTimestamp: this._mountSpan.endTimestamp,\n });\n }\n };\n Profiler.prototype.render = function () {\n return this.props.children;\n };\n // eslint-disable-next-line @typescript-eslint/member-ordering\n Profiler.defaultProps = {\n disabled: false,\n includeRender: true,\n includeUpdates: true,\n };\n return Profiler;\n}(React.Component));\n/**\n * withProfiler is a higher order component that wraps a\n * component in a {@link Profiler} component. It is recommended that\n * the higher order component be used over the regular {@link Profiler} component.\n *\n * @param WrappedComponent component that is wrapped by Profiler\n * @param options the {@link ProfilerProps} you can pass into the Profiler\n */\nfunction withProfiler(WrappedComponent, \n// We do not want to have `updateProps` given in options, it is instead filled through the HOC.\noptions) {\n var componentDisplayName = (options && options.name) || WrappedComponent.displayName || WrappedComponent.name || UNKNOWN_COMPONENT;\n var Wrapped = function (props) { return (React.createElement(Profiler, __assign({}, options, { name: componentDisplayName, updateProps: props }),\n React.createElement(WrappedComponent, __assign({}, props)))); };\n Wrapped.displayName = \"profiler(\" + componentDisplayName + \")\";\n // Copy over static methods from Wrapped component to Profiler HOC\n // See: https://reactjs.org/docs/higher-order-components.html#static-methods-must-be-copied-over\n hoistNonReactStatics(Wrapped, WrappedComponent);\n return Wrapped;\n}\n/**\n *\n * `useProfiler` is a React hook that profiles a React component.\n *\n * Requires React 16.8 or above.\n * @param name displayName of component being profiled\n */\nfunction useProfiler(name, options) {\n if (options === void 0) { options = {\n disabled: false,\n hasRenderSpan: true,\n }; }\n var _a = __read(React.useState(function () {\n if (options && options.disabled) {\n return undefined;\n }\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n return activeTransaction.startChild({\n description: \"<\" + name + \">\",\n op: 'react.mount',\n });\n }\n return undefined;\n }), 1), mountSpan = _a[0];\n React.useEffect(function () {\n if (mountSpan) {\n mountSpan.finish();\n }\n return function () {\n if (mountSpan && options.hasRenderSpan) {\n mountSpan.startChild({\n description: \"<\" + name + \">\",\n endTimestamp: timestampWithMs(),\n op: \"react.render\",\n startTimestamp: mountSpan.endTimestamp,\n });\n }\n };\n // We only want this to run once.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n}\nexport { withProfiler, Profiler, useProfiler };\n/** Grabs active transaction off scope */\nexport function getActiveTransaction(hub) {\n if (hub === void 0) { hub = getCurrentHub(); }\n if (hub) {\n var scope = hub.getScope();\n if (scope) {\n return scope.getTransaction();\n }\n }\n return undefined;\n}\n//# sourceMappingURL=profiler.js.map","import { isNullOrUndefined } from 'utils/object';\r\n\r\ninterface Headers {\r\n [key: string]: string;\r\n}\r\n\r\nexport const getAppAuthHeaders = (authToken: string, publicAuthToken?: string): Headers => {\r\n const publicTokenKey = 'x-cp-pub-gq-tkn';\r\n const authTokenKey = 'Authorization';\r\n const authTokenValue = authToken;\r\n const headers: Headers = {};\r\n headers[authTokenKey] = `Bearer ${authTokenValue}`;\r\n\r\n if (!isNullOrUndefined(publicAuthToken)) {\r\n headers[publicTokenKey] = publicAuthToken;\r\n }\r\n\r\n return headers;\r\n};\r\n","export function setLocalStorageItem(key: string, item: T): boolean {\r\n try {\r\n if (!localStorage) {\r\n return false;\r\n }\r\n\r\n localStorage.setItem(key, JSON.stringify(item));\r\n return true;\r\n } catch {\r\n return false;\r\n }\r\n}\r\n\r\nexport function getLocalStorageItem(key: string): T | undefined {\r\n try {\r\n if (!localStorage) {\r\n return undefined;\r\n }\r\n\r\n const itemString = localStorage.getItem(key);\r\n if (itemString === null) {\r\n return undefined;\r\n }\r\n const item = JSON.parse(itemString);\r\n return item;\r\n } catch {\r\n return undefined;\r\n }\r\n}\r\n\r\nexport function removeLocalStorageItem(key: string) {\r\n if (!localStorage) {\r\n return;\r\n }\r\n localStorage.removeItem(key);\r\n}\r\n\r\nexport function clearLocalStorage() {\r\n if (!localStorage) {\r\n return;\r\n }\r\n localStorage.clear();\r\n}\r\n","import {\r\n ApolloClient,\r\n NormalizedCacheObject,\r\n InMemoryCache,\r\n ApolloLink,\r\n createHttpLink,\r\n HttpLink\r\n} from '@apollo/client';\r\nimport { getGraphqlQueryUrl } from 'utils/permission';\r\nimport { getAppAuthHeaders } from './appHeaders';\r\nimport { getLocalStorageItem, setLocalStorageItem } from 'utils/localStorage';\r\n\r\nconst cache = new InMemoryCache({\r\n addTypename: true,\r\n typePolicies: {\r\n AnalyticsResponseType: { keyFields: false },\r\n SyntheticAnalyticsResponseType: { keyFields: false },\r\n DimensionResponseType: { keyFields: false },\r\n NetworkGraphVerticeType: { keyFields: false },\r\n BGPGraphVerticeType: { keyFields: false },\r\n LabelKeyType: { keyFields: false },\r\n ErrorCodeType: { keyFields: false },\r\n LookupOutputType: { keyFields: false },\r\n TracepointItemType: { keyFields: false },\r\n IndicatorItemType: { keyFields: false },\r\n AlertInstructionsType: { keyFields: false }\r\n }\r\n});\r\n\r\nconst authMiddleware = () => {\r\n return new ApolloLink((operation, forward) => {\r\n const headers = getAppAuthHeaders(\r\n getLocalStorageItem('authToken') ?? '',\r\n getLocalStorageItem('publicAuthToken')\r\n );\r\n operation.setContext({\r\n headers: headers\r\n });\r\n\r\n return forward(operation);\r\n });\r\n};\r\n\r\nconst getPublicApolloClient = (authToken: string, publicAuthToken?: string) => {\r\n const headers = getAppAuthHeaders(authToken, publicAuthToken);\r\n const httpLink = new HttpLink({ uri: getGraphqlQueryUrl(), headers });\r\n\r\n const client = new ApolloClient({\r\n link: httpLink,\r\n cache: cache,\r\n connectToDevTools: true\r\n });\r\n\r\n return client;\r\n};\r\n\r\nexport const getApolloClient = (\r\n authToken: string,\r\n publicAuthToken?: string,\r\n isPublicPage?: boolean\r\n): ApolloClient => {\r\n if (isPublicPage) {\r\n return getPublicApolloClient(authToken, publicAuthToken);\r\n }\r\n\r\n setLocalStorageItem('authToken', authToken);\r\n setLocalStorageItem('publicAuthToken', publicAuthToken);\r\n\r\n const httpLink = createHttpLink({ uri: getGraphqlQueryUrl() });\r\n\r\n const client = new ApolloClient({\r\n link: authMiddleware().concat(httpLink),\r\n cache: cache,\r\n connectToDevTools: true\r\n });\r\n\r\n return client;\r\n};\r\n","import { AppState } from './app.types';\r\n\r\nexport enum AppAction {\r\n UpdateAuth\r\n}\r\n\r\nexport type AppActionType = {\r\n type: AppAction.UpdateAuth;\r\n authToken: string;\r\n};\r\n\r\nexport function AppReducer(state: AppState, action: AppActionType): AppState {\r\n switch (action.type) {\r\n case AppAction.UpdateAuth:\r\n localStorage?.clear();\r\n sessionStorage?.clear();\r\n\r\n const { authToken } = action;\r\n return Object.freeze({\r\n ...state,\r\n authToken\r\n });\r\n default:\r\n return state;\r\n }\r\n}\r\n","export enum Path {\r\n SignUp = '/wpt/signup',\r\n MyAccount = '/myaccount',\r\n TestHistory = '/testhistory',\r\n Verification = '/wpt/wptverification',\r\n NotFound = '/notfound',\r\n MyAccountVerification = '/wptverification'\r\n}\r\n","import * as React from 'react';\r\nimport * as LoadingGif from '../../styles/icons/network-loading.gif';\r\nimport styled from 'styled-components';\r\n\r\nconst StyledDiv = styled.div`\r\n align-items: center;\r\n background-color: ${props => props.theme.colors.neutralLight};\r\n display: flex;\r\n height: ${props => (props.renderAtFullHeight ? '100vh' : '100%')};\r\n justify-content: center;\r\n width: 100%;\r\n`;\r\n\r\nconst StyledImg = styled.img`\r\n max-height: 320px;\r\n max-width: 320px;\r\n`;\r\n\r\ninterface LoadingPageProps {\r\n renderAtFullHeight?: boolean;\r\n}\r\n\r\nconst LoadingPage = (props: LoadingPageProps) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LoadingPage;\r\n","/**\n * {@docCategory Pivot}\n */\nexport var PivotLinkFormat;\n(function (PivotLinkFormat) {\n /**\n * Display Pivot Links as links\n */\n PivotLinkFormat[PivotLinkFormat[\"links\"] = 0] = \"links\";\n /**\n * Display Pivot Links as Tabs\n */\n PivotLinkFormat[PivotLinkFormat[\"tabs\"] = 1] = \"tabs\";\n})(PivotLinkFormat || (PivotLinkFormat = {}));\n/**\n * {@docCategory Pivot}\n */\nexport var PivotLinkSize;\n(function (PivotLinkSize) {\n /**\n * Display Link using normal font size\n */\n PivotLinkSize[PivotLinkSize[\"normal\"] = 0] = \"normal\";\n /**\n * Display links using large font size\n */\n PivotLinkSize[PivotLinkSize[\"large\"] = 1] = \"large\";\n})(PivotLinkSize || (PivotLinkSize = {}));\n//# sourceMappingURL=Pivot.types.js.map","import { UserContext } from 'containers/UserContainer/UserContext';\r\nimport { UserAuthorizationFunction } from 'pages/MasterPage/MasterPage.types';\r\nimport * as React from 'react';\r\nimport { AccessLevel } from 'TypeWriterScripts/AccessLevel';\r\nimport { DisplayTestType } from 'TypeWriterScripts/DisplayTestType';\r\nimport { Feature } from 'TypeWriterScripts/Feature';\r\nimport { UserPermission } from 'TypeWriterScripts/UserPermission';\r\n\r\nexport interface BouncerProps {\r\n /** The component that should be rendered if the permission check is successful */\r\n component: JSX.Element;\r\n /** The component that should be rendered if the permission check fails. If not passed in a ```
``` is returned instead */\r\n fallbackComponent?: JSX.Element;\r\n /** The set of permissions that the user must have to be able to view the component. Note this performs a can view check on the permission. Modify / delete are not checked here. */\r\n requiredPermissions?: UserPermission[];\r\n /** The set of Features that the user needs to have enabled to see this component. */\r\n requiredFeatures?: Feature[];\r\n /** The set of levels that this component can be visible at. */\r\n requiredLevels?: AccessLevel[];\r\n requiredDisplayTestTypes?: DisplayTestType[];\r\n requireWptAccess?: boolean;\r\n requiredUserAuthFunctions?: UserAuthorizationFunction[];\r\n}\r\n\r\n/**\r\n * The Bouncer component gives you an easy way to perform a permission check,\r\n * and based on the permission check, render two different things.\r\n * This can be helpful if you need to add / remove something on a page based on\r\n * the level the user is at, or the permissions that the user has.\r\n */\r\nconst Bouncer = (props: BouncerProps) => {\r\n const user = React.useContext(UserContext);\r\n const {\r\n requiredPermissions,\r\n requiredFeatures,\r\n requiredLevels,\r\n requiredDisplayTestTypes,\r\n component,\r\n requireWptAccess,\r\n requiredUserAuthFunctions\r\n } = props;\r\n const fallbackComponent: JSX.Element = props.fallbackComponent ? props.fallbackComponent :
;\r\n\r\n const hasPermission = (): boolean => {\r\n let isValid: boolean = false;\r\n if (user && requiredPermissions) {\r\n isValid = requiredPermissions.some(permission => user.canView(permission));\r\n }\r\n return isValid;\r\n };\r\n\r\n const hasFeature = (): boolean => {\r\n let isValid: boolean = false;\r\n if (user && requiredFeatures) {\r\n isValid = requiredFeatures.some(feature => user.hasClientFeature(feature));\r\n }\r\n return isValid;\r\n };\r\n\r\n const hasAccessAtLevel = (): boolean => {\r\n let isValid: boolean = false;\r\n if (user && requiredLevels) {\r\n isValid = requiredLevels.some(level => user.isLevel(level));\r\n }\r\n\r\n return isValid;\r\n };\r\n\r\n const isWptClient = (): boolean => {\r\n let isValid: boolean = false;\r\n if (user && requireWptAccess) {\r\n isValid = user.isWptClient();\r\n }\r\n return isValid;\r\n };\r\n\r\n const isCatchpointClient = (): boolean => {\r\n let isValid: boolean = false;\r\n if (user) {\r\n isValid = !user.isWptClient();\r\n }\r\n return isValid;\r\n };\r\n\r\n const isAuthorized = (): boolean => {\r\n const requiredAuthList: boolean[] = [];\r\n\r\n if (!user) {\r\n return false;\r\n }\r\n\r\n if (requiredPermissions) {\r\n requiredAuthList.push(hasPermission());\r\n }\r\n\r\n if (requiredLevels) {\r\n requiredAuthList.push(hasAccessAtLevel());\r\n }\r\n\r\n if (requiredFeatures) {\r\n requiredAuthList.push(hasFeature());\r\n }\r\n\r\n if (requiredDisplayTestTypes && requiredDisplayTestTypes.length) {\r\n requiredAuthList.push(user.hasDisplayTestType(requiredDisplayTestTypes));\r\n }\r\n\r\n if (requiredUserAuthFunctions && requiredUserAuthFunctions.length > 0) {\r\n requiredUserAuthFunctions.forEach(a => requiredAuthList.push(a(user)));\r\n }\r\n\r\n if (requireWptAccess) {\r\n requiredAuthList.push(isWptClient());\r\n } else {\r\n requiredAuthList.push(isCatchpointClient());\r\n }\r\n\r\n return requiredAuthList.length === 0 || requiredAuthList.every(auth => auth);\r\n };\r\n\r\n return isAuthorized() ? component : fallbackComponent;\r\n};\r\n\r\nexport default Bouncer;\r\n","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { getNativeProps, divProperties, initializeComponentRef, warnDeprecations } from '../../Utilities';\nvar COMPONENT_NAME = 'PivotItem';\nvar PivotItem = /** @class */ (function (_super) {\n __extends(PivotItem, _super);\n function PivotItem(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n linkText: 'headerText',\n });\n return _this;\n }\n PivotItem.prototype.render = function () {\n return React.createElement(\"div\", __assign({}, getNativeProps(this.props, divProperties)), this.props.children);\n };\n return PivotItem;\n}(React.Component));\nexport { PivotItem };\n//# sourceMappingURL=PivotItem.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { warnDeprecations, KeyCodes, getId, getNativeProps, divProperties, classNamesFunction, warn, initializeComponentRef, css, } from '../../Utilities';\nimport { CommandButton } from '../../Button';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { PivotItem } from './PivotItem';\nimport { PivotLinkFormat } from './Pivot.types';\nimport { PivotLinkSize } from './Pivot.types';\nimport { Icon } from '../../Icon';\nvar getClassNames = classNamesFunction();\nvar PivotName = 'Pivot';\n/**\n * Usage:\n *\n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n */\nvar PivotBase = /** @class */ (function (_super) {\n __extends(PivotBase, _super);\n function PivotBase(props) {\n var _this = _super.call(this, props) || this;\n _this._focusZone = React.createRef();\n _this._renderPivotLink = function (linkCollection, link, selectedKey) {\n var itemKey = link.itemKey, headerButtonProps = link.headerButtonProps;\n var tabId = linkCollection.keyToTabIdMapping[itemKey];\n var onRenderItemLink = link.onRenderItemLink;\n var linkContent;\n var isSelected = selectedKey === itemKey;\n if (onRenderItemLink) {\n linkContent = onRenderItemLink(link, _this._renderLinkContent);\n }\n else {\n linkContent = _this._renderLinkContent(link);\n }\n var contentString = link.headerText || '';\n contentString += link.itemCount ? ' (' + link.itemCount + ')' : '';\n // Adding space supplementary for icon\n contentString += link.itemIcon ? ' xx' : '';\n return (React.createElement(CommandButton, __assign({}, headerButtonProps, { id: tabId, key: itemKey, className: isSelected ? _this._classNames.linkIsSelected : _this._classNames.link, \n // eslint-disable-next-line react/jsx-no-bind\n onClick: _this._onLinkClick.bind(_this, itemKey), \n // eslint-disable-next-line react/jsx-no-bind\n onKeyDown: _this._onKeyDown.bind(_this, itemKey), \"aria-label\": link.ariaLabel, role: \"tab\", \"aria-selected\": isSelected, name: link.headerText, keytipProps: link.keytipProps, \"data-content\": contentString }), linkContent));\n };\n _this._renderLinkContent = function (link) {\n var itemCount = link.itemCount, itemIcon = link.itemIcon, headerText = link.headerText;\n var classNames = _this._classNames;\n return (React.createElement(\"span\", { className: classNames.linkContent },\n itemIcon !== undefined && (React.createElement(\"span\", { className: classNames.icon },\n React.createElement(Icon, { iconName: itemIcon }))),\n headerText !== undefined && React.createElement(\"span\", { className: classNames.text },\n \" \",\n link.headerText),\n itemCount !== undefined && React.createElement(\"span\", { className: classNames.count },\n \" (\",\n itemCount,\n \")\")));\n };\n initializeComponentRef(_this);\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations(PivotName, props, {\n initialSelectedKey: 'defaultSelectedKey',\n initialSelectedIndex: 'defaultSelectedIndex',\n });\n }\n _this._pivotId = getId(PivotName);\n var links = _this._getPivotLinks(props).links;\n // eslint-disable-next-line deprecation/deprecation\n var _a = props.defaultSelectedKey, defaultSelectedKey = _a === void 0 ? props.initialSelectedKey : _a, _b = props.defaultSelectedIndex, defaultSelectedIndex = _b === void 0 ? props.initialSelectedIndex : _b;\n var selectedKey;\n if (defaultSelectedKey) {\n selectedKey = defaultSelectedKey;\n }\n else if (typeof defaultSelectedIndex === 'number') {\n selectedKey = links[defaultSelectedIndex].itemKey;\n }\n else if (links.length) {\n selectedKey = links[0].itemKey;\n }\n _this.state = {\n selectedKey: selectedKey,\n };\n return _this;\n }\n /**\n * Sets focus to the first pivot tab.\n */\n PivotBase.prototype.focus = function () {\n if (this._focusZone.current) {\n this._focusZone.current.focus();\n }\n };\n PivotBase.prototype.render = function () {\n var _this = this;\n var focusZoneProps = this.props.focusZoneProps;\n var linkCollection = this._getPivotLinks(this.props);\n var selectedKey = this._getSelectedKey(linkCollection);\n var divProps = getNativeProps(this.props, divProperties);\n this._classNames = this._getClassNames(this.props);\n return (React.createElement(\"div\", __assign({ role: \"toolbar\" }, divProps),\n this._renderPivotLinks(linkCollection, selectedKey, focusZoneProps),\n selectedKey &&\n linkCollection.links.map(function (link) {\n return (link.alwaysRender === true || selectedKey === link.itemKey) &&\n _this._renderPivotItem(linkCollection, link.itemKey, selectedKey === link.itemKey);\n })));\n };\n PivotBase.prototype._getSelectedKey = function (linkCollection) {\n var propsSelectedKey = this.props.selectedKey;\n if (this._isKeyValid(linkCollection, propsSelectedKey) || propsSelectedKey === null) {\n return propsSelectedKey;\n }\n var stateSelectedKey = this.state.selectedKey;\n if (this._isKeyValid(linkCollection, stateSelectedKey)) {\n return stateSelectedKey;\n }\n if (linkCollection.links.length) {\n return linkCollection.links[0].itemKey;\n }\n return undefined;\n };\n /**\n * Renders the set of links to route between pivots\n */\n PivotBase.prototype._renderPivotLinks = function (linkCollection, selectedKey, focusZoneProps) {\n var _this = this;\n var _a;\n var items = linkCollection.links.map(function (l) { return _this._renderPivotLink(linkCollection, l, selectedKey); });\n return (React.createElement(FocusZone, __assign({ role: \"tablist\", componentRef: this._focusZone, direction: FocusZoneDirection.horizontal }, focusZoneProps, { className: css(this._classNames.root, (_a = focusZoneProps) === null || _a === void 0 ? void 0 : _a.className) }), items));\n };\n /**\n * Renders a Pivot Item\n */\n PivotBase.prototype._renderPivotItem = function (linkCollection, itemKey, isActive) {\n if (this.props.headersOnly || !itemKey) {\n return null;\n }\n var index = linkCollection.keyToIndexMapping[itemKey];\n var selectedTabId = linkCollection.keyToTabIdMapping[itemKey];\n return (React.createElement(\"div\", { role: \"tabpanel\", hidden: !isActive, key: itemKey, \"aria-hidden\": !isActive, \"aria-labelledby\": selectedTabId, className: this._classNames.itemContainer }, React.Children.toArray(this.props.children)[index]));\n };\n /**\n * Gets the set of PivotLinks as array of IPivotItemProps\n * The set of Links is determined by child components of type PivotItem\n */\n PivotBase.prototype._getPivotLinks = function (props) {\n var _this = this;\n var result = {\n links: [],\n keyToIndexMapping: {},\n keyToTabIdMapping: {},\n };\n React.Children.map(React.Children.toArray(props.children), function (child, index) {\n if (_isPivotItem(child)) {\n var pivotItem = child;\n var _a = pivotItem.props, linkText = _a.linkText, pivotItemProps = __rest(_a, [\"linkText\"]);\n var itemKey = pivotItem.props.itemKey || index.toString();\n result.links.push(__assign(__assign({ \n // Use linkText (deprecated) if headerText is not provided\n headerText: linkText }, pivotItemProps), { itemKey: itemKey }));\n result.keyToIndexMapping[itemKey] = index;\n result.keyToTabIdMapping[itemKey] = _this._getTabId(itemKey, index);\n }\n else {\n warn('The children of a Pivot component must be of type PivotItem to be rendered.');\n }\n });\n return result;\n };\n /**\n * Generates the Id for the tab button.\n */\n PivotBase.prototype._getTabId = function (itemKey, index) {\n if (this.props.getTabId) {\n return this.props.getTabId(itemKey, index);\n }\n return this._pivotId + (\"-Tab\" + index);\n };\n /**\n * whether the key exists in the pivot items.\n */\n PivotBase.prototype._isKeyValid = function (linkCollection, itemKey) {\n return itemKey !== undefined && itemKey !== null && linkCollection.keyToIndexMapping[itemKey] !== undefined;\n };\n /**\n * Handles the onClick event on PivotLinks\n */\n PivotBase.prototype._onLinkClick = function (itemKey, ev) {\n ev.preventDefault();\n this._updateSelectedItem(itemKey, ev);\n };\n /**\n * Handle the onKeyDown event on the PivotLinks\n */\n PivotBase.prototype._onKeyDown = function (itemKey, ev) {\n if (ev.which === KeyCodes.enter) {\n ev.preventDefault();\n this._updateSelectedItem(itemKey);\n }\n };\n /**\n * Updates the state with the new selected index\n */\n PivotBase.prototype._updateSelectedItem = function (itemKey, ev) {\n this.setState({\n selectedKey: itemKey,\n });\n var linkCollection = this._getPivotLinks(this.props);\n if (this.props.onLinkClick && linkCollection.keyToIndexMapping[itemKey] >= 0) {\n var index = linkCollection.keyToIndexMapping[itemKey];\n // React.Element cannot directly convert to PivotItem.\n var item = React.Children.toArray(this.props.children)[index];\n if (_isPivotItem(item)) {\n this.props.onLinkClick(item, ev);\n }\n }\n };\n PivotBase.prototype._getClassNames = function (props) {\n var theme = props.theme;\n var rootIsLarge = props.linkSize === PivotLinkSize.large;\n var rootIsTabs = props.linkFormat === PivotLinkFormat.tabs;\n return getClassNames(props.styles, {\n theme: theme,\n rootIsLarge: rootIsLarge,\n rootIsTabs: rootIsTabs,\n });\n };\n return PivotBase;\n}(React.Component));\nexport { PivotBase };\nfunction _isPivotItem(item) {\n // In theory, we should be able to just check item.type === PivotItem.\n // However, under certain unclear circumstances (see https://github.com/microsoft/fluentui/issues/10785),\n // the object identity is different despite the function implementation being the same.\n return (!!item &&\n typeof item === 'object' &&\n !!item.type &&\n // Casting as an any to avoid [ object Object ] errors.\n item.type.name === PivotItem.name);\n}\n//# sourceMappingURL=Pivot.base.js.map","import { TestHistory, Forums, Docs, About, Api, Blog } from '../../utils/localize';\r\nimport { getRootWptAppUrl, getRootWptUrl } from '../../utils/url';\r\nimport { Path } from '../../utils/paths';\r\n\r\nexport enum CharmBarNavigation {\r\n TestHistoryPrivate,\r\n TestHistoryPublic,\r\n Forums,\r\n Documentation,\r\n Blog,\r\n About,\r\n MyAccount,\r\n Login,\r\n Logout,\r\n Signup,\r\n Api\r\n}\r\n\r\ninterface CharmBarPivotItem {\r\n id: CharmBarNavigation;\r\n label: string;\r\n}\r\n\r\nexport const getCharmBarPivotItemList = (isLoggedIn: boolean): CharmBarPivotItem[] => {\r\n return [\r\n {\r\n id: isLoggedIn ? CharmBarNavigation.TestHistoryPrivate : CharmBarNavigation.TestHistoryPublic,\r\n label: TestHistory\r\n },\r\n {\r\n id: CharmBarNavigation.Api,\r\n label: Api\r\n },\r\n {\r\n id: CharmBarNavigation.Forums,\r\n label: Forums\r\n },\r\n {\r\n id: CharmBarNavigation.Documentation,\r\n label: Docs\r\n },\r\n {\r\n id: CharmBarNavigation.Blog,\r\n label: Blog\r\n },\r\n {\r\n id: CharmBarNavigation.About,\r\n label: About\r\n }\r\n ];\r\n};\r\n\r\nexport function getUrl(navigation: CharmBarNavigation) {\r\n switch (navigation) {\r\n case CharmBarNavigation.About:\r\n case CharmBarNavigation.Forums:\r\n case CharmBarNavigation.TestHistoryPublic: {\r\n const rootUrl = getRootWptUrl();\r\n\r\n if (navigation === CharmBarNavigation.About) {\r\n return rootUrl + '/about';\r\n }\r\n\r\n if (navigation === CharmBarNavigation.Forums) {\r\n return 'https://forums.webpagetest.org';\r\n }\r\n\r\n if (navigation === CharmBarNavigation.TestHistoryPublic) {\r\n return rootUrl + '/testlog/1/';\r\n }\r\n\r\n return rootUrl;\r\n }\r\n case CharmBarNavigation.Login:\r\n case CharmBarNavigation.Logout:\r\n case CharmBarNavigation.MyAccount:\r\n case CharmBarNavigation.Signup:\r\n case CharmBarNavigation.TestHistoryPrivate: {\r\n if (navigation === CharmBarNavigation.Login) {\r\n return getRootWptAppUrl() + '/entry/wptlogin.aspx';\r\n }\r\n\r\n if (navigation === CharmBarNavigation.Logout) {\r\n return getRootWptAppUrl() + '/entry/logout.aspx';\r\n }\r\n\r\n if (navigation === CharmBarNavigation.Signup) {\r\n return getRootWptAppUrl() + '/entry/wpt/signup';\r\n }\r\n\r\n if (navigation === CharmBarNavigation.TestHistoryPrivate) {\r\n return Path.TestHistory;\r\n }\r\n\r\n if (navigation === CharmBarNavigation.MyAccount) {\r\n return Path.MyAccount;\r\n }\r\n\r\n return getRootWptUrl();\r\n }\r\n case CharmBarNavigation.Documentation: {\r\n return 'https://docs.webpagetest.org/';\r\n }\r\n case CharmBarNavigation.Api: {\r\n return 'https://www.product.webpagetest.org/api';\r\n }\r\n case CharmBarNavigation.Blog: {\r\n return 'https://blog.webpagetest.org/';\r\n }\r\n\r\n default:\r\n return getRootWptUrl();\r\n }\r\n}\r\n","import { __assign, __spreadArrays } from \"tslib\";\nimport { AnimationVariables, getGlobalClassNames, HighContrastSelector, normalize, FontWeights, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\nvar globalClassNames = {\n count: 'ms-Pivot-count',\n icon: 'ms-Pivot-icon',\n linkIsSelected: 'is-selected',\n link: 'ms-Pivot-link',\n linkContent: 'ms-Pivot-linkContent',\n root: 'ms-Pivot',\n rootIsLarge: 'ms-Pivot--large',\n rootIsTabs: 'ms-Pivot--tabs',\n text: 'ms-Pivot-text',\n};\nvar linkStyles = function (props) {\n var _a, _b;\n var rootIsLarge = props.rootIsLarge, rootIsTabs = props.rootIsTabs;\n var _c = props.theme, semanticColors = _c.semanticColors, fonts = _c.fonts;\n return [\n fonts.medium,\n {\n color: semanticColors.actionLink,\n display: 'inline-block',\n lineHeight: 44,\n height: 44,\n marginRight: 8,\n padding: '0 8px',\n textAlign: 'center',\n position: 'relative',\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n selectors: (_a = {\n ':before': {\n backgroundColor: 'transparent',\n bottom: 0,\n content: '\"\"',\n height: 2,\n left: 8,\n position: 'absolute',\n right: 8,\n transition: \"left \" + AnimationVariables.durationValue2 + \" \" + AnimationVariables.easeFunction2 + \",\\n right \" + AnimationVariables.durationValue2 + \" \" + AnimationVariables.easeFunction2,\n },\n ':after': {\n color: 'transparent',\n content: 'attr(data-content)',\n display: 'block',\n fontWeight: FontWeights.bold,\n height: 1,\n overflow: 'hidden',\n visibility: 'hidden',\n },\n ':hover': {\n backgroundColor: semanticColors.buttonBackgroundHovered,\n color: semanticColors.buttonTextHovered,\n cursor: 'pointer',\n },\n ':active': {\n backgroundColor: semanticColors.buttonBackgroundPressed,\n color: semanticColors.buttonTextHovered,\n },\n ':focus': {\n outline: 'none',\n }\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus\"] = {\n outline: \"1px solid \" + semanticColors.focusBorder,\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus:after\"] = {\n content: 'attr(data-content)',\n position: 'relative',\n border: 0,\n },\n _a),\n },\n rootIsLarge && {\n fontSize: fonts.large.fontSize,\n },\n rootIsTabs && [\n {\n marginRight: 0,\n height: 44,\n lineHeight: 44,\n backgroundColor: semanticColors.buttonBackground,\n padding: '0 10px',\n verticalAlign: 'top',\n selectors: (_b = {\n ':focus': {\n outlineOffset: '-1px',\n }\n },\n _b[\".\" + IsFocusVisibleClassName + \" &:focus::before\"] = {\n height: 'auto',\n background: 'transparent',\n transition: 'none',\n },\n _b),\n },\n ],\n ];\n};\nexport var getStyles = function (props) {\n var _a, _b, _c;\n var className = props.className, rootIsLarge = props.rootIsLarge, rootIsTabs = props.rootIsTabs, theme = props.theme;\n var semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(globalClassNames, theme);\n return {\n root: [\n classNames.root,\n fonts.medium,\n normalize,\n {\n position: 'relative',\n color: semanticColors.link,\n whiteSpace: 'nowrap',\n },\n rootIsLarge && classNames.rootIsLarge,\n rootIsTabs && classNames.rootIsTabs,\n className,\n ],\n itemContainer: {\n selectors: {\n '&[hidden]': {\n display: 'none',\n },\n },\n },\n link: __spreadArrays([\n classNames.link\n ], linkStyles(props), [\n rootIsTabs && {\n selectors: {\n '&:hover, &:focus': {\n color: semanticColors.buttonTextCheckedHovered,\n },\n '&:active, &:hover': {\n color: semanticColors.primaryButtonText,\n backgroundColor: semanticColors.primaryButtonBackground,\n },\n },\n },\n ]),\n linkIsSelected: __spreadArrays([\n classNames.link,\n classNames.linkIsSelected\n ], linkStyles(props), [\n {\n fontWeight: FontWeights.semibold,\n selectors: (_a = {\n ':before': {\n backgroundColor: semanticColors.inputBackgroundChecked,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n },\n _b),\n },\n ':hover::before': {\n left: 0,\n right: 0,\n }\n },\n _a[HighContrastSelector] = {\n color: 'Highlight',\n },\n _a),\n },\n rootIsTabs && {\n backgroundColor: semanticColors.primaryButtonBackground,\n color: semanticColors.primaryButtonText,\n fontWeight: FontWeights.regular,\n selectors: (_c = {\n ':before': {\n backgroundColor: 'transparent',\n transition: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n content: '\"\"',\n height: 0,\n },\n ':hover': {\n backgroundColor: semanticColors.primaryButtonBackgroundHovered,\n color: semanticColors.primaryButtonText,\n },\n '&:active': {\n backgroundColor: semanticColors.primaryButtonBackgroundPressed,\n color: semanticColors.primaryButtonText,\n }\n },\n _c[HighContrastSelector] = __assign({ fontWeight: FontWeights.semibold, color: 'HighlightText', background: 'Highlight' }, getHighContrastNoAdjustStyle()),\n _c),\n },\n ]),\n linkContent: [\n classNames.linkContent,\n {\n flex: '0 1 100%',\n selectors: {\n '& > * ': {\n marginLeft: 4,\n },\n '& > *:first-child': {\n marginLeft: 0,\n },\n },\n },\n ],\n text: [\n classNames.text,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n ],\n count: [\n classNames.count,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n ],\n icon: classNames.icon,\n };\n};\n//# sourceMappingURL=Pivot.styles.js.map","import { styled } from '../../Utilities';\nimport { PivotBase } from './Pivot.base';\nimport { getStyles } from './Pivot.styles';\n/**\n * The Pivot control and related tabs pattern are used for navigating frequently accessed,\n * distinct content categories. Pivots allow for navigation between two or more content\n * views and relies on text headers to articulate the different sections of content.\n */\nexport var Pivot = styled(PivotBase, getStyles, undefined, {\n scope: 'Pivot',\n});\n//# sourceMappingURL=Pivot.js.map","import * as React from 'react';\r\nimport {\r\n ActionButton,\r\n Pivot,\r\n PivotItem,\r\n IButtonStyles,\r\n IPivotStyleProps,\r\n IPivotStyles,\r\n IStyleFunctionOrObject\r\n} from 'office-ui-fabric-react';\r\nimport { Image } from 'office-ui-fabric-react/lib/Image';\r\nimport styled from 'styled-components';\r\nimport { lightTheme } from '../../theme';\r\nimport { Login, Logout, MyAccount, Signup } from '../../utils/localize';\r\nimport { CharmBarNavigation, getCharmBarPivotItemList, getUrl } from './CharmBarUtil';\r\nimport { Path } from '../../utils/paths';\r\nimport { getRootWptUrl } from '../../utils/url';\r\nimport { useHistory } from 'react-router-dom';\r\nimport * as WptLogo from '../../styles/icons/ico-logo.svg';\r\nimport * as loginArrowIcon from '../../styles/icons/ico-login-arrow.svg';\r\n\r\nconst RootDiv = styled.div`\r\n align-items: center;\r\n background-color: #121d35;\r\n display: flex;\r\n min-width: fit-content;\r\n padding: 0 15%;\r\n height: 73px;\r\n`;\r\n\r\nconst Tabs = styled.div`\r\n flex-grow: 1;\r\n text-align: center;\r\n`;\r\n\r\nconst LogoutDiv = styled.div`\r\n align-items: center;\r\n display: flex;\r\n height: 40px;\r\n margin-right: 10px;\r\n`;\r\n\r\nconst PivotStyle = styled.div`\r\n button {\r\n &:last-child {\r\n left: 18px;\r\n\r\n @media (min-width: 1460px) {\r\n float: right;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst Divider = styled.div`\r\n align-self: center;\r\n background-color: #fff;\r\n height: 18px;\r\n width: 1px;\r\n`;\r\n\r\nconst LoginIcon = styled.p`\r\n background: url(${loginArrowIcon}) no-repeat center;\r\n height: 10px;\r\n margin-right: 28px;\r\n width: 20px;\r\n`;\r\n\r\nconst actionButtonStyles: IButtonStyles = {\r\n textContainer: {\r\n color: lightTheme.colors.white,\r\n fontSize: lightTheme.fonts.large.fontSize\r\n },\r\n flexContainer: {\r\n flexDirection: 'row-reverse'\r\n }\r\n};\r\n\r\nconst pivotStyles: IStyleFunctionOrObject = {\r\n text: {\r\n color: lightTheme.colors.white,\r\n fontSize: lightTheme.fonts.large.fontSize,\r\n ':hover': {\r\n textDecoration: 'underline'\r\n }\r\n },\r\n link: {\r\n selectors: {\r\n ':active': {\r\n backgroundColor: 'none'\r\n },\r\n ':hover': {\r\n backgroundColor: 'none'\r\n }\r\n }\r\n },\r\n linkContent: {\r\n margin: '0 10px'\r\n },\r\n linkIsSelected: {\r\n selectors: {\r\n ':active': {\r\n backgroundColor: 'none'\r\n },\r\n ':before': {\r\n backgroundColor: lightTheme.colors.yellow,\r\n height: '3px',\r\n margin: '0 5px',\r\n top: '55px'\r\n },\r\n ':hover': {\r\n backgroundColor: 'none'\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst signUpButtonStyles: IButtonStyles = {\r\n root: {\r\n backgroundColor: '#1151bb',\r\n borderRadius: '6.25em',\r\n padding: '0.6875em 1.4375em',\r\n minWidth: 'fit-content'\r\n },\r\n textContainer: {\r\n color: lightTheme.colors.white,\r\n fontSize: lightTheme.fonts.largePlus.fontSize\r\n }\r\n};\r\n\r\ninterface CharmBarProps {\r\n pathname?: string;\r\n}\r\n\r\nconst CharmBar = (props: CharmBarProps) => {\r\n const history = useHistory();\r\n const isLoggedIn =\r\n props.pathname?.toLowerCase() !== Path.SignUp && props.pathname?.toLowerCase() !== Path.Verification;\r\n const charmBarPivotItemList = getCharmBarPivotItemList(isLoggedIn);\r\n\r\n const onTabClick = (item?: PivotItem) => {\r\n if (!item) {\r\n return;\r\n }\r\n const charmBarNavigation = Number(item.props.itemKey);\r\n if (\r\n charmBarNavigation === CharmBarNavigation.TestHistoryPrivate ||\r\n charmBarNavigation === CharmBarNavigation.MyAccount\r\n ) {\r\n history.push(getUrl(charmBarNavigation));\r\n } else {\r\n window.open(getUrl(charmBarNavigation), '_self');\r\n }\r\n };\r\n\r\n const onLoginClick = () => {\r\n const item = new PivotItem({\r\n itemKey: CharmBarNavigation.Login.toString()\r\n });\r\n onTabClick(item);\r\n };\r\n\r\n const onLogoutClick = () => {\r\n const item = new PivotItem({\r\n itemKey: CharmBarNavigation.Logout.toString()\r\n });\r\n onTabClick(item);\r\n };\r\n\r\n const onSignupClick = () => {\r\n const item = new PivotItem({\r\n itemKey: CharmBarNavigation.Signup.toString()\r\n });\r\n onTabClick(item);\r\n };\r\n\r\n const getSelectedTabKey = (pathname?: string): string | null => {\r\n if (pathname?.toLowerCase() === Path.TestHistory) {\r\n return CharmBarNavigation.TestHistoryPrivate.toString();\r\n }\r\n if (pathname?.toLowerCase() === Path.MyAccount) {\r\n return CharmBarNavigation.MyAccount.toString();\r\n }\r\n return null;\r\n };\r\n\r\n const getPivot = (): JSX.Element => {\r\n const pivot = (\r\n \r\n {charmBarPivotItemList.map(pivotItem => {\r\n return (\r\n \r\n );\r\n })}\r\n {isLoggedIn && (\r\n \r\n )}\r\n \r\n );\r\n\r\n if (isLoggedIn) {\r\n return {pivot};\r\n } else {\r\n return pivot;\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {'WebPageTest\r\n \r\n {getPivot()}\r\n \r\n {isLoggedIn ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CharmBar;\r\n","import * as React from 'react';\r\n\r\nconst NotFound = () => {\r\n return
404: Page Not Found
;\r\n};\r\n\r\nexport default NotFound;\r\n","import { __rest } from \"tslib\";\nimport PropTypes from 'prop-types';\nimport { useQuery } from \"../hooks/index.js\";\nexport function Query(props) {\n var children = props.children, query = props.query, options = __rest(props, [\"children\", \"query\"]);\n var result = useQuery(query, options);\n return children && result ? children(result) : null;\n}\nQuery.propTypes = {\n client: PropTypes.object,\n children: PropTypes.func.isRequired,\n fetchPolicy: PropTypes.string,\n notifyOnNetworkStatusChange: PropTypes.bool,\n onCompleted: PropTypes.func,\n onError: PropTypes.func,\n pollInterval: PropTypes.number,\n query: PropTypes.object.isRequired,\n variables: PropTypes.object,\n ssr: PropTypes.bool,\n partialRefetch: PropTypes.bool,\n returnPartialData: PropTypes.bool\n};\n//# sourceMappingURL=Query.js.map"," \r\n export enum TestAccessRestrictionType {\r\n None = 0,\r\n Test = 1,\r\n Product = 2,\r\n }\r\n","import { SupportedTimeframe } from 'TypeWriterScripts/SupportedTimeframe';\r\nimport { ContactNotificationType } from 'TypeWriterScripts/ContactNotificationType';\r\nimport { User as SentryUser } from '@sentry/browser';\r\nimport {\r\n GetUserIdentity_userIdentity as User,\r\n GetUserIdentity_userIdentity_activeContact as ActiveContact\r\n} from 'generatedGraphQLTypes/GetUserIdentity';\r\nimport { AccessLevel } from 'TypeWriterScripts/AccessLevel';\r\nimport { DisplayTestType } from 'TypeWriterScripts/DisplayTestType';\r\nimport { Feature, Feature2 } from 'TypeWriterScripts/Feature';\r\nimport { PermissionBitFlags } from 'TypeWriterScripts/PermissionBitFlags';\r\nimport { SupportedTimeZone } from 'TypeWriterScripts/SupportedTimeZone';\r\nimport { TestAccessRestrictionType } from 'TypeWriterScripts/TestAccessRestrictionType';\r\nimport { UserPermission } from 'TypeWriterScripts/UserPermission';\r\nimport { UserLanguage } from 'TypeWriterScripts/UserLanguage';\r\nimport { InternalUserEmailHost } from 'utils/consts';\r\n\r\nexport class UserIdentity {\r\n private readonly user: User;\r\n private readonly invalidClientPermissions: UserPermission[] = [\r\n UserPermission.ManageResellersForSystem,\r\n UserPermission.ManageClientsForSystem,\r\n UserPermission.ManageClientsForReseller,\r\n UserPermission.ManageDivisionsForSystem,\r\n UserPermission.ManageDivisionsForReseller,\r\n UserPermission.ManageSingleSignOnForSystem,\r\n UserPermission.ManageTestTemplatesForSystem,\r\n UserPermission.ManageTestTemplatesForDivision,\r\n UserPermission.ManagePricingCalculator\r\n ];\r\n private readonly invalidDivisionPermission: UserPermission[] = [\r\n UserPermission.ManageResellersForSystem,\r\n UserPermission.ManageClientsForSystem,\r\n UserPermission.ManageClientsForReseller,\r\n UserPermission.ManageDivisionsForClient,\r\n UserPermission.ManageDivisionsForReseller,\r\n UserPermission.ManageDivisionsForSystem,\r\n UserPermission.ManagePricingCalculator,\r\n UserPermission.ManageTestTemplatesForSystem,\r\n UserPermission.ManageTestTemplatesForClient\r\n ];\r\n\r\n private readonly invalidDrilldownPermissions: UserPermission[] = [\r\n UserPermission.ManageResellersForSystem,\r\n UserPermission.ManageClientsForSystem,\r\n UserPermission.ManageDivisionsForClient,\r\n UserPermission.ManageDivisionsForClient,\r\n UserPermission.ManageDivisionsForSystem,\r\n UserPermission.ManageTestTemplatesForClient,\r\n UserPermission.ManageTestTemplatesForDivision\r\n ];\r\n\r\n constructor(user: User) {\r\n this.user = user;\r\n }\r\n\r\n public canView = (permission: UserPermission) => {\r\n let canView: boolean =\r\n this.checkPermissions(permission, PermissionBitFlags.ViewProperties) ||\r\n this.canModify(permission) ||\r\n this.canDelete(permission);\r\n\r\n const levelType = this.user.activeContact?.levelSummary?.levelType ?? this.user.levelSummary.levelType;\r\n\r\n if (\r\n this.isDrilledDown() &&\r\n !this.invalidDrilldownPermissions.includes(permission) &&\r\n levelType === AccessLevel.System\r\n ) {\r\n let access = this.checkDrilledDownPermission(PermissionBitFlags.AccessLevelData);\r\n let fullAccess = this.checkDrilledDownPermission(PermissionBitFlags.FullAccessLevelData);\r\n let view = this.checkDrilledDownPermission(PermissionBitFlags.ViewLevelData);\r\n let fullView = this.checkDrilledDownPermission(PermissionBitFlags.FullViewLevelData);\r\n canView = fullAccess || fullView || access || ((access || view) && canView);\r\n\r\n if (this.user.levelSummary.levelType === AccessLevel.Division) {\r\n const parentLevelType = this.user.levelSummary.parentLevelType;\r\n if (parentLevelType === AccessLevel.Client) {\r\n const parentPermission = UserPermission.ManageClientsForSystem;\r\n access = this.isPermissionActive(parentPermission, PermissionBitFlags.AccessLevelData);\r\n fullAccess = this.isPermissionActive(parentPermission, PermissionBitFlags.FullAccessLevelData);\r\n view = this.isPermissionActive(parentPermission, PermissionBitFlags.ViewLevelData);\r\n fullView = this.isPermissionActive(parentPermission, PermissionBitFlags.FullViewLevelData);\r\n const parentCanView = fullAccess || fullView || ((access || view) && canView);\r\n canView = parentCanView && canView;\r\n }\r\n }\r\n }\r\n\r\n return canView;\r\n };\r\n\r\n private getPermissionForLevel = (): UserPermission => {\r\n const currentLevelType = this.user.levelSummary.levelType;\r\n const parentLevel = this.user.levelSummary.parentLevelType;\r\n let permission = UserPermission.None;\r\n switch (currentLevelType) {\r\n case AccessLevel.Division:\r\n switch (parentLevel) {\r\n case AccessLevel.Client:\r\n permission = UserPermission.ManageDivisionsForClient;\r\n break;\r\n case AccessLevel.System:\r\n permission = UserPermission.ManageDivisionsForSystem;\r\n break;\r\n case AccessLevel.Reseller:\r\n permission = UserPermission.ManageDivisionsForReseller;\r\n break;\r\n default:\r\n permission = UserPermission.None;\r\n break;\r\n }\r\n break;\r\n case AccessLevel.Client:\r\n switch (parentLevel) {\r\n case AccessLevel.System:\r\n permission = UserPermission.ManageClientsForSystem;\r\n break;\r\n case AccessLevel.Reseller:\r\n permission = UserPermission.ManageClientsForReseller;\r\n break;\r\n default:\r\n permission = UserPermission.None;\r\n break;\r\n }\r\n break;\r\n case AccessLevel.Reseller:\r\n permission = UserPermission.ManageResellersForSystem;\r\n break;\r\n default:\r\n permission = UserPermission.None;\r\n break;\r\n }\r\n\r\n return permission;\r\n };\r\n\r\n private checkDrilledDownPermission = (permissionFlag: PermissionBitFlags): boolean => {\r\n if (!this.isDrilledDown()) {\r\n return false;\r\n }\r\n\r\n const permissionToCheck = this.getPermissionForLevel();\r\n return this.isPermissionActive(permissionToCheck, permissionFlag);\r\n };\r\n\r\n public validateTestAccessRestriction = (testId: number): boolean => {\r\n let canAccess = true;\r\n if (this.hasTestAccessRestriction() && this.hasViewAllTestsForRestrictedContact()) {\r\n const acessTests = this.activeContact?.testAccessTestOptions || [];\r\n const isTestAccessible = acessTests.find(x => x.id === testId) !== undefined;\r\n\r\n if (!isTestAccessible) {\r\n canAccess = false;\r\n }\r\n }\r\n\r\n return canAccess;\r\n };\r\n\r\n public validateProductAccessRestriction = (productId?: number): boolean => {\r\n let canAccess = true;\r\n if (this.hasProductAccessRestriction() && this.hasViewAllTestsForRestrictedContact()) {\r\n const acessProducts = this.activeContact?.testAccessProductOptions || [];\r\n const isAccessible = acessProducts.find(x => x.id === productId) !== undefined;\r\n\r\n if (!isAccessible) {\r\n canAccess = false;\r\n }\r\n }\r\n\r\n return canAccess;\r\n };\r\n\r\n public canModify = (permission: UserPermission): boolean => {\r\n let modify: boolean =\r\n this.checkPermissions(permission, PermissionBitFlags.CreateModify) ||\r\n this.checkPermissions(permission, PermissionBitFlags.Modify) ||\r\n this.checkPermissions(permission, PermissionBitFlags.Delete);\r\n\r\n const levelType = this.user.activeContact?.levelSummary?.levelType ?? this.user.levelSummary.levelType;\r\n\r\n if (\r\n this.isDrilledDown() &&\r\n !this.invalidDrilldownPermissions.includes(permission) &&\r\n levelType === AccessLevel.System\r\n ) {\r\n let access = this.checkDrilledDownPermission(PermissionBitFlags.AccessLevelData);\r\n let fullAccess = this.checkDrilledDownPermission(PermissionBitFlags.FullAccessLevelData);\r\n modify = fullAccess || (access && modify);\r\n\r\n if (this.user.levelSummary.levelType === AccessLevel.Division) {\r\n const parentLevelType = this.user.levelSummary.parentLevelType;\r\n if (parentLevelType === AccessLevel.Client) {\r\n const parentPermission = UserPermission.ManageClientsForSystem;\r\n access = this.isPermissionActive(parentPermission, PermissionBitFlags.AccessLevelData);\r\n fullAccess = this.isPermissionActive(parentPermission, PermissionBitFlags.FullAccessLevelData);\r\n const parentCanModify = fullAccess || (access && modify);\r\n modify = parentCanModify && modify;\r\n }\r\n }\r\n }\r\n\r\n return modify;\r\n };\r\n\r\n public canDelete = (permission: UserPermission): boolean => {\r\n let hasDeletePermission: boolean = this.checkPermissions(permission, PermissionBitFlags.Delete);\r\n const levelType = this.user.activeContact?.levelSummary?.levelType ?? this.user.levelSummary.levelType;\r\n if (\r\n this.isDrilledDown() &&\r\n !this.invalidDrilldownPermissions.includes(permission) &&\r\n levelType === AccessLevel.System\r\n ) {\r\n let access = this.checkDrilledDownPermission(PermissionBitFlags.AccessLevelData);\r\n let fullAccess = this.checkDrilledDownPermission(PermissionBitFlags.FullAccessLevelData);\r\n hasDeletePermission = fullAccess || (access && hasDeletePermission);\r\n\r\n if (this.user.levelSummary.levelType === AccessLevel.Division) {\r\n const parentLevelType = this.user.levelSummary.parentLevelType;\r\n if (parentLevelType === AccessLevel.Client) {\r\n const parentPermission = UserPermission.ManageClientsForSystem;\r\n access = this.isPermissionActive(parentPermission, PermissionBitFlags.AccessLevelData);\r\n fullAccess = this.isPermissionActive(parentPermission, PermissionBitFlags.FullAccessLevelData);\r\n const parentHasDeletePermission = fullAccess || (access && hasDeletePermission);\r\n hasDeletePermission = parentHasDeletePermission && hasDeletePermission;\r\n }\r\n }\r\n }\r\n\r\n return hasDeletePermission;\r\n };\r\n\r\n public canDrillDownToDivision = (): boolean => {\r\n const canViewAtClient = this.checkPermissions(\r\n UserPermission.ManageDivisionsForClient,\r\n PermissionBitFlags.ViewLevelData\r\n );\r\n const canViewAtSystem = this.checkPermissions(\r\n UserPermission.ManageDivisionsForSystem,\r\n PermissionBitFlags.ViewLevelData\r\n );\r\n const hasDivisions = this.hasClientFeature(Feature.Divisions);\r\n\r\n return (canViewAtClient || canViewAtSystem) && hasDivisions;\r\n };\r\n\r\n public canDrillDownToDivisionAtClient = (): boolean => {\r\n const canAccessAtClient = this.checkPermissions(\r\n UserPermission.ManageDivisionsForClient,\r\n PermissionBitFlags.AccessLevelData\r\n );\r\n\r\n const canViewAtClient = this.checkPermissions(\r\n UserPermission.ManageDivisionsForClient,\r\n PermissionBitFlags.ViewLevelData\r\n );\r\n\r\n const hasDivisions = this.hasClientFeature(Feature.Divisions);\r\n\r\n return (canViewAtClient || canAccessAtClient) && hasDivisions;\r\n };\r\n\r\n public canDrillDownToDivisionAtSystem = (): boolean => {\r\n const canAccessAtSystem = this.checkPermissions(\r\n UserPermission.ManageDivisionsForSystem,\r\n PermissionBitFlags.AccessLevelData\r\n );\r\n\r\n const canViewAtSystem = this.checkPermissions(\r\n UserPermission.ManageDivisionsForSystem,\r\n PermissionBitFlags.ViewLevelData\r\n );\r\n const hasDivisions = this.hasClientFeature(Feature.Divisions);\r\n\r\n return (canViewAtSystem || canAccessAtSystem) && hasDivisions;\r\n };\r\n\r\n public canDrillDownToClient = (): boolean => {\r\n const isSystem = this.isLevel(AccessLevel.System);\r\n const fullAccessClientData = this.checkPermissions(\r\n UserPermission.ManageClientsForSystem,\r\n PermissionBitFlags.FullAccessLevelData\r\n );\r\n const fullViewClientData = this.checkPermissions(\r\n UserPermission.ManageClientsForSystem,\r\n PermissionBitFlags.FullViewLevelData\r\n );\r\n\r\n return isSystem && (fullAccessClientData || fullViewClientData);\r\n };\r\n\r\n public canViewDivisionData = (permission?: UserPermission): boolean => {\r\n const hasSimpleViewFeature = this.hasClientFeature(Feature.SimpleView);\r\n return this.canDrillDownToDivision() && !hasSimpleViewFeature && (permission ? this.canView(permission) : true);\r\n };\r\n public canModifyDivisionData = (permission: UserPermission): boolean => {\r\n const hasDivisionsFeature = this.hasClientFeature(Feature.Divisions);\r\n return this.canModify(permission) && hasDivisionsFeature;\r\n };\r\n\r\n public canManageAccess = (permission: UserPermission): boolean => {\r\n const canManageAccess = this.checkPermissions(permission, PermissionBitFlags.ManageAccess);\r\n return canManageAccess || this.canDelete(permission);\r\n };\r\n\r\n public hasClientFeature = (feature: Feature): boolean => {\r\n const clientFeatures = this.user.levelSummary.clientFeatures;\r\n if (clientFeatures) {\r\n return clientFeatures.includes(feature);\r\n }\r\n\r\n return false;\r\n };\r\n\r\n public hasClientFeature2 = (feature2: Feature2): boolean => {\r\n const clientFeatures2 = this.user.levelSummary.clientFeatures2;\r\n if (clientFeatures2) {\r\n return clientFeatures2.includes(feature2);\r\n }\r\n\r\n return false;\r\n };\r\n\r\n public hasWebPageTestType = (): boolean => {\r\n return (\r\n this.hasDisplayTestType([DisplayTestType.WebPageTestWeb, DisplayTestType.WebPageTestTransaction]) ||\r\n this.isSystemUser()\r\n );\r\n };\r\n\r\n public hasDisplayTestType = (testTypes: DisplayTestType[]): boolean => {\r\n const { allowedDisplayTestTypes } = this.user.levelSummary;\r\n for (const item of testTypes) {\r\n if (!allowedDisplayTestTypes.includes(item)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n };\r\n\r\n public getApplicableTestTypes = (): DisplayTestType[] => {\r\n return this.user.levelSummary.allowedDisplayTestTypes;\r\n };\r\n\r\n public isLevel = (level: AccessLevel) => {\r\n return this.user.levelSummary.levelType === level;\r\n };\r\n\r\n public getLevel = (): number => {\r\n return this.user.levelSummary.levelType;\r\n };\r\n\r\n public getLevelInfo = (): LevelInfo => {\r\n const { levelSummary } = this.user;\r\n return {\r\n levelId: levelSummary.levelId ?? undefined,\r\n levelName: levelSummary.levelName,\r\n levelType: levelSummary.levelType,\r\n parentLevelId: levelSummary.parentLevelId ?? undefined,\r\n parentLevelName: levelSummary.parentLevelName ?? undefined,\r\n parentLevelType: levelSummary.parentLevelType ?? undefined,\r\n startWeekOnMonday: levelSummary.startWeekOnMonday ?? undefined,\r\n isWptClient: levelSummary.isWptClient ?? undefined,\r\n isWptEnterpriseClient: levelSummary.isWptEnterpriseClient ?? undefined,\r\n paymentStatus: levelSummary.paymentStatus ?? undefined,\r\n liteSmartboardSettings: levelSummary.liteSmartboardSettings ?? undefined\r\n };\r\n };\r\n\r\n public getDefaultDivisionId = (): number | null => {\r\n return this.user.levelSummary.defaultDivisionId;\r\n };\r\n\r\n public checkPermissions = (permission: UserPermission, permissionFlag: PermissionBitFlags): boolean => {\r\n if (!this.isPermissionValidForLevel(permission)) {\r\n return false;\r\n }\r\n\r\n return this.isPermissionActive(permission, permissionFlag);\r\n };\r\n\r\n private isPermissionActive = (permission: UserPermission, permissionFlag: PermissionBitFlags): boolean => {\r\n const userRole = this.user.userRole;\r\n const checkedPermission = userRole.permissions.find(p => p.type === permission.toString());\r\n if (checkedPermission) {\r\n return checkedPermission.activePermissions.includes(permissionFlag);\r\n }\r\n\r\n return false;\r\n };\r\n\r\n public isSystemUser = (): boolean => {\r\n if (this.user && this.user.levelSummary) {\r\n const levelType = this.user.levelSummary && this.user.levelSummary.levelType;\r\n return levelType === (AccessLevel.System as number);\r\n }\r\n return false;\r\n };\r\n\r\n private isPermissionValidForLevel = (permission: UserPermission): boolean => {\r\n const level = this.user.levelSummary;\r\n switch (level.levelType) {\r\n case AccessLevel.Client:\r\n return !this.invalidClientPermissions.includes(permission);\r\n case AccessLevel.Division:\r\n return !this.invalidDivisionPermission.includes(permission);\r\n default:\r\n break;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n public getSentryInformation = (): SentryUser | undefined => {\r\n if (this.user) {\r\n return {\r\n id: this.user?.activeContact?.id.toString() ?? this.user?.id?.toString() ?? 'noid',\r\n email: this.user?.activeContact?.name ?? 'noemail',\r\n username: this.user?.name ?? 'nousername'\r\n };\r\n }\r\n };\r\n\r\n public hasProductAccessRestriction = (): boolean => {\r\n return this.user.activeContact?.testAccessRestrictType === TestAccessRestrictionType.Product;\r\n };\r\n\r\n public hasTestAccessRestriction = (): boolean => {\r\n return this.user.activeContact?.testAccessRestrictType === TestAccessRestrictionType.Test;\r\n };\r\n\r\n public hasNoTestAccessRestriction = (): boolean => {\r\n if (this.user.activeContact) {\r\n return this.user.activeContact.testAccessRestrictType === TestAccessRestrictionType.None;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n public hasViewAllTestsForRestrictedContact = (): boolean => {\r\n if (this.user.activeContact) {\r\n return this.user.activeContact.viewAllTestsForRestrictedContact;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n public getUserTimeZone = (): SupportedTimeZone => {\r\n return this.user.userTimeZone ?? SupportedTimeZone.UTC;\r\n };\r\n\r\n public isDrilledDown = (): boolean => {\r\n return this.user.isDrillingDown;\r\n };\r\n\r\n public useCPProvisioningForSSOContacts = (): boolean => {\r\n return this.hasClientFeature(Feature.UseCatchpointProvisioningForSSO);\r\n };\r\n\r\n public isForceToNewUIEnabled = (): boolean => {\r\n return this.hasClientFeature2(Feature2.ForceToNewUIEnabled);\r\n };\r\n\r\n get getReleaseNotes(): boolean {\r\n return this.user.emailPreference.productReleaseNotes;\r\n }\r\n\r\n get getNodeRunRate(): boolean {\r\n return this.user.emailPreference.nodeUpdates;\r\n }\r\n\r\n get getKnowledgeDevelopment(): boolean {\r\n return this.user.emailPreference.knowledgeDevelopment;\r\n }\r\n\r\n get getNodeRunRateSubscription(): boolean {\r\n return this.user.activeContact?.hasNodeRunRateSubscription ?? false;\r\n }\r\n\r\n get getMarketingCommunication(): boolean {\r\n return this.user.emailPreference?.marketingCommunication;\r\n }\r\n\r\n public isLockedToDashboard = () => this.user.isLockedToDashboard;\r\n\r\n public isNewUIEnabled = (): boolean => this.user.activeContact?.isNewUIEnabled ?? false;\r\n\r\n public canModifyEndpointData = (): boolean => {\r\n return this.hasClientFeature(Feature.Sonar) && this.canModify(UserPermission.ManageEndpoint);\r\n };\r\n\r\n public canViewEndpointData = (): boolean => {\r\n return this.hasClientFeature(Feature.Sonar) && this.canView(UserPermission.ManageEndpoint);\r\n };\r\n\r\n public isWptClient = (): boolean => {\r\n return this.user.levelSummary.isWptClient;\r\n };\r\n\r\n public isWptEnterpriseClient = (): boolean => {\r\n return this.user.levelSummary.isWptEnterpriseClient;\r\n };\r\n\r\n public hasJavascriptAPI = (): boolean => {\r\n return this.hasClientFeature(Feature.JavaScriptAPI);\r\n };\r\n\r\n public getLiteSmartboardSettings = (): LiteSmartboardSettings | undefined => {\r\n const { levelSummary } = this.user;\r\n return levelSummary.liteSmartboardSettings ?? undefined;\r\n };\r\n\r\n public isInternalUser = (): boolean => this.ContactEmail.endsWith(InternalUserEmailHost);\r\n\r\n public isSamlLogin = (): boolean => this.user.isSamlLogin;\r\n\r\n public canViewNodes = (): boolean => {\r\n // This logic must be in sync with the logic on server side 'AuthorizationServices'\r\n // canViewNodes() function\r\n const hasViewPermissions =\r\n this.canView(UserPermission.ManageTests) || this.canView(UserPermission.ManageInstantTests);\r\n const allowedTestTypes = this.getApplicableTestTypes();\r\n const bgpOrWebTestEnabled = allowedTestTypes?.length > 0 && allowedTestTypes.includes(DisplayTestType.Bgp);\r\n const isNetworkTypeEnabled =\r\n bgpOrWebTestEnabled ||\r\n this.hasClientFeature(Feature.Backbone) ||\r\n this.hasClientFeature(Feature.LastMile) ||\r\n this.hasClientFeature(Feature.Wireless) ||\r\n this.hasClientFeature(Feature.PrivateNode) ||\r\n this.hasClientFeature(Feature.Enterprise) ||\r\n this.hasClientFeature(Feature.PublicCloud);\r\n return hasViewPermissions && isNetworkTypeEnabled;\r\n };\r\n\r\n public SerializeLevel = (): string => {\r\n switch (this.user.levelSummary.levelType) {\r\n case AccessLevel.Client:\r\n return `[,${this.user.levelSummary.levelId},]`;\r\n case AccessLevel.Division:\r\n const clientId = this.user.isDrillingDown ? this.user.levelSummary.parentLevelId : '';\r\n return `[,${clientId ?? ''},${this.user.levelSummary.levelId}]`;\r\n default:\r\n return '[,,]';\r\n }\r\n };\r\n\r\n get MaxTracepoints(): number {\r\n return this.user.levelSummary.maxTracepoints;\r\n }\r\n\r\n get MaxIndicators(): number {\r\n return this.user.levelSummary.maxIndicators;\r\n }\r\n\r\n get ContactId(): number {\r\n return this.user.activeContact?.id ?? 0;\r\n }\r\n\r\n get ContactName(): string {\r\n return this.user.activeContact?.name ?? '';\r\n }\r\n\r\n get ContactEmail(): string {\r\n return this.user.activeContact?.email ?? '';\r\n }\r\n\r\n get ContactTimezone(): SupportedTimeZone | null {\r\n return this.user.activeContact?.timeZone ?? null;\r\n }\r\n\r\n get ContactLanguage(): UserLanguage | null {\r\n return this.user.activeContact?.language ?? null;\r\n }\r\n\r\n get ContactPreferWaterfallInTab(): boolean {\r\n return this.user.activeContact?.waterfallOpensInNewTab ?? false;\r\n }\r\n\r\n get ContactNotificationSettings(): ContactNotificationType[] {\r\n return this.user.activeContact?.notificationFlags ?? [];\r\n }\r\n\r\n get ContactSmsEmail(): string | undefined {\r\n return this.user.activeContact?.smsEmail ?? undefined;\r\n }\r\n\r\n get ContactDashboardId(): number | undefined {\r\n return this.user.activeContact?.dashboardId ?? undefined;\r\n }\r\n\r\n get ContactSmartboardId(): number | undefined {\r\n return this.user.activeContact?.smartboardId ?? undefined;\r\n }\r\n\r\n get ContactDashboardType(): number | undefined {\r\n return this.user.activeContact?.dashboardType ?? undefined;\r\n }\r\n\r\n get ContactLockedToDashboard(): boolean | undefined {\r\n return this.user.activeContact?.isLockedToDashboard ?? undefined;\r\n }\r\n\r\n get ContactIsNewUIEnabled(): boolean | undefined {\r\n return this.user.activeContact?.isNewUIEnabled ?? undefined;\r\n }\r\n\r\n get IsWptPaidUser(): boolean {\r\n return this.user.activeContact?.isWptPaidUser ?? false;\r\n }\r\n\r\n get WptAccountVerified(): boolean {\r\n return this.user.activeContact?.isWptAccountVerified ?? false;\r\n }\r\n\r\n get Id(): number {\r\n return this.user.id;\r\n }\r\n\r\n get activeContact(): ActiveContact | null {\r\n return this.user.activeContact;\r\n }\r\n}\r\n\r\nexport interface LiteSmartboardSettings {\r\n defaultTime: SupportedTimeframe;\r\n sankeyTimeLimitMax: number;\r\n disableSpotlight: boolean;\r\n hideCompareChartInTimeline: boolean;\r\n defaultCompareDays: number;\r\n sparklineDataVolume: number;\r\n}\r\n\r\nexport interface LevelInfo {\r\n levelId?: number;\r\n levelType: AccessLevel;\r\n levelName: string;\r\n parentLevelId?: number;\r\n parentLevelName?: string;\r\n parentLevelType?: AccessLevel;\r\n startWeekOnMonday?: boolean;\r\n isWptClient?: boolean;\r\n isWptEnterpriseClient?: boolean;\r\n paymentStatus?: string;\r\n liteSmartboardSettings?: LiteSmartboardSettings;\r\n}\r\n","import * as React from 'react';\r\nimport { gql } from '@apollo/client';\r\nimport { Query } from '@apollo/client/react/components';\r\nimport { UserContextProvider } from './UserContext';\r\nimport { UserIdentity } from 'utils/userIdentity/userIdentity';\r\nimport { ChartStatus } from 'components/ChartStatus/ChartStatus';\r\nimport { ResponseStatus } from 'utils/simpleTypes';\r\nimport { Localize } from 'utils/localize';\r\nimport { GetUserIdentity } from 'generatedGraphQLTypes/GetUserIdentity';\r\nimport LoadingPage from 'components/LoadingPage/LoadingPage';\r\n\r\nexport const GET_USER_IDENTITY = gql`\r\n query GetUserIdentity {\r\n userIdentity {\r\n id\r\n name\r\n userTimeZone\r\n emailPreference {\r\n productReleaseNotes\r\n knowledgeDevelopment\r\n nodeUpdates\r\n marketingCommunication\r\n }\r\n activeContact {\r\n id\r\n name\r\n email\r\n testAccessRestrictType\r\n viewAllTestsForRestrictedContact\r\n waterfallOpensInNewTab\r\n timeZone\r\n language\r\n smsEmail\r\n notificationFlags\r\n dashboardId\r\n smartboardId\r\n dashboardType\r\n hasNodeRunRateSubscription\r\n isLockedToDashboard\r\n isWptPaidUser\r\n isWptAccountVerified\r\n isNewUIEnabled\r\n levelSummary {\r\n levelId\r\n levelType\r\n }\r\n testAccessTestOptions {\r\n id\r\n }\r\n testAccessProductOptions {\r\n id\r\n }\r\n }\r\n levelSummary {\r\n defaultDivisionId\r\n levelId\r\n clientFeatures\r\n clientFeatures2\r\n levelType\r\n levelName\r\n allowedDisplayTestTypes\r\n maxTracepoints\r\n maxIndicators\r\n parentLevelId\r\n parentLevelName\r\n parentLevelType\r\n startWeekOnMonday\r\n isWptClient\r\n isWptEnterpriseClient\r\n paymentStatus\r\n liteSmartboardSettings {\r\n defaultTime\r\n sankeyTimeLimitMax\r\n disableSpotlight\r\n hideCompareChartInTimeline\r\n defaultCompareDays\r\n sparklineDataVolume\r\n }\r\n }\r\n userRole {\r\n id\r\n permissions {\r\n type\r\n activePermissions\r\n }\r\n }\r\n isDrillingDown\r\n isLockedToDashboard\r\n isWptPaidUser\r\n isWptAccountVerified\r\n isSamlLogin\r\n }\r\n }\r\n`;\r\n\r\nconst CurrentUserContainer: React.FunctionComponent = props => {\r\n return (\r\n query={GET_USER_IDENTITY}>\r\n {({ loading, error, data }) => {\r\n if (loading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n if (error) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const user = data && data.userIdentity ? new UserIdentity(data.userIdentity) : undefined;\r\n return {props.children};\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default CurrentUserContainer;\r\n","import LoadingPage from 'components/LoadingPage/LoadingPage';\r\nimport * as React from 'react';\r\nimport { Redirect, Route, RouteComponentProps, Switch, useLocation } from 'react-router-dom';\r\nimport { Path } from './utils/paths';\r\nimport Bouncer from 'components/Bouncer/Bouncer';\r\nimport CharmBar from './components/CharmBar/CharmBar';\r\nimport { isPublic } from 'utils/url';\r\nimport NotFound from './pages/NotFound/NotFound';\r\nimport CurrentUserContainer from 'containers/UserContainer/UserContainer';\r\n\r\nconst MyAccount = React.lazy(() => import(/* webpackChunkName: \"myaccount\" */ './pages/MyAccount/MyAccount'));\r\n\r\nconst SignUp = React.lazy(() => import(/* webpackChunkName: \"signup\" */ './pages/SignUp/SignUp'));\r\n\r\nconst TestHistory = React.lazy(() => import(/* webpackChunkName: \"testHistory\" */ './pages/TestHistory/TestHistory'));\r\n\r\nexport interface ValidatedRouteProps {\r\n path: Path | Path[];\r\n component:\r\n | React.ComponentType> // tslint:disable-line:no-any\r\n | React.ComponentType; // tslint:disable-line:no-any\r\n}\r\n\r\nconst ValidatedRoute = (props: ValidatedRouteProps): JSX.Element => {\r\n const BouncedRoute = (\r\n }\r\n fallbackComponent={}\r\n />\r\n );\r\n\r\n return {BouncedRoute};\r\n};\r\n\r\nexport interface ValidatedRouteProps {\r\n path: Path | Path[];\r\n component:\r\n | React.ComponentType> // tslint:disable-line:no-any\r\n | React.ComponentType; // tslint:disable-line:no-any\r\n}\r\n\r\nconst Routes = () => {\r\n const location = useLocation();\r\n const pathname = location.pathname;\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n {isPublic() && }\r\n {isPublic() && }\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import * as Sentry from '@sentry/react';\r\nimport { Fabric } from 'office-ui-fabric-react/lib/Fabric';\r\nimport * as React from 'react';\r\nimport { ApolloProvider } from '@apollo/client';\r\nimport { createGlobalStyle, ThemeProvider } from 'styled-components';\r\nimport { getApolloClient } from 'utils/query/apolloClient';\r\nimport { Router } from 'react-router-dom';\r\nimport { AppReducer } from './app.reducer';\r\nimport { AppProps } from './app.types';\r\nimport Routes from './routes';\r\nimport { lightTheme } from './theme';\r\nimport { getUserAuthorizationToken } from 'utils/permission';\r\nrequire('./Global.scss');\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n body {\r\n background-color: ${props => props.theme.colors.neutralLight};\r\n margin: 0;\r\n }\r\n`;\r\n\r\nconst App = (props: AppProps) => {\r\n /** Though these methods are deprecated, we need then until we fully\r\n * detach from TGL. We still depend on TGL for the very first time the app boots up\r\n */\r\n const [{ authToken }] = React.useReducer(AppReducer, {\r\n authToken: getUserAuthorizationToken()\r\n });\r\n const apolloClient = getApolloClient(authToken);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n } history={props.history} />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Sentry.withProfiler(App);\r\n","import { __assign } from \"tslib\";\nimport { getGlobalObject } from '@sentry/utils';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\n/* eslint-enable @typescript-eslint/no-explicit-any */\nvar global = getGlobalObject();\nvar activeTransaction;\nexport function reactRouterV4Instrumentation(history, routes, matchPath) {\n return reactRouterInstrumentation(history, 'react-router-v4', routes, matchPath);\n}\nexport function reactRouterV5Instrumentation(history, routes, matchPath) {\n return reactRouterInstrumentation(history, 'react-router-v5', routes, matchPath);\n}\nfunction reactRouterInstrumentation(history, name, allRoutes, matchPath) {\n if (allRoutes === void 0) { allRoutes = []; }\n function getName(pathname) {\n if (allRoutes === [] || !matchPath) {\n return pathname;\n }\n var branches = matchRoutes(allRoutes, pathname, matchPath);\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (var x = 0; x < branches.length; x++) {\n if (branches[x].match.isExact) {\n return branches[x].match.path;\n }\n }\n return pathname;\n }\n return function (startTransaction, startTransactionOnPageLoad, startTransactionOnLocationChange) {\n if (startTransactionOnPageLoad === void 0) { startTransactionOnPageLoad = true; }\n if (startTransactionOnLocationChange === void 0) { startTransactionOnLocationChange = true; }\n if (startTransactionOnPageLoad && global && global.location) {\n activeTransaction = startTransaction({\n name: getName(global.location.pathname),\n op: 'pageload',\n tags: {\n 'routing.instrumentation': name,\n },\n });\n }\n if (startTransactionOnLocationChange && history.listen) {\n history.listen(function (location, action) {\n if (action && (action === 'PUSH' || action === 'POP')) {\n if (activeTransaction) {\n activeTransaction.finish();\n }\n var tags = {\n 'routing.instrumentation': name,\n };\n activeTransaction = startTransaction({\n name: getName(location.pathname),\n op: 'navigation',\n tags: tags,\n });\n }\n });\n }\n };\n}\n/**\n * Matches a set of routes to a pathname\n * Based on implementation from\n */\nfunction matchRoutes(routes, pathname, matchPath, branch) {\n if (branch === void 0) { branch = []; }\n routes.some(function (route) {\n var match = route.path\n ? matchPath(pathname, route)\n : branch.length\n ? branch[branch.length - 1].match // use parent match\n : computeRootMatch(pathname); // use default \"root\" match\n if (match) {\n branch.push({ route: route, match: match });\n if (route.routes) {\n matchRoutes(route.routes, pathname, matchPath, branch);\n }\n }\n return !!match;\n });\n return branch;\n}\nfunction computeRootMatch(pathname) {\n return { path: '/', url: '/', params: {}, isExact: pathname === '/' };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function withSentryRouting(Route) {\n var componentDisplayName = Route.displayName || Route.name;\n var WrappedRoute = function (props) {\n if (activeTransaction && props && props.computedMatch && props.computedMatch.isExact) {\n activeTransaction.setName(props.computedMatch.path);\n }\n return React.createElement(Route, __assign({}, props));\n };\n WrappedRoute.displayName = \"sentryRoute(\" + componentDisplayName + \")\";\n hoistNonReactStatics(WrappedRoute, Route);\n return WrappedRoute;\n}\n//# sourceMappingURL=reactrouter.js.map","var originalFunctionToString;\n/** Patch toString calls to return proper name for wrapped functions */\nvar FunctionToString = /** @class */ (function () {\n function FunctionToString() {\n /**\n * @inheritDoc\n */\n this.name = FunctionToString.id;\n }\n /**\n * @inheritDoc\n */\n FunctionToString.prototype.setupOnce = function () {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this.__sentry_original__ || this;\n return originalFunctionToString.apply(context, args);\n };\n };\n /**\n * @inheritDoc\n */\n FunctionToString.id = 'FunctionToString';\n return FunctionToString;\n}());\nexport { FunctionToString };\n//# sourceMappingURL=functiontostring.js.map","import { __read, __spread } from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n/** Inbound filters configurable by the user */\nvar InboundFilters = /** @class */ (function () {\n function InboundFilters(_options) {\n if (_options === void 0) { _options = {}; }\n this._options = _options;\n /**\n * @inheritDoc\n */\n this.name = InboundFilters.id;\n }\n /**\n * @inheritDoc\n */\n InboundFilters.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n var hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n var self = hub.getIntegration(InboundFilters);\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {};\n var options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n };\n /** JSDoc */\n InboundFilters.prototype._shouldDropEvent = function (event, options) {\n if (this._isSentryError(event, options)) {\n logger.warn(\"Event dropped due to being internal Sentry Error.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\"Event dropped due to being matched by `ignoreErrors` option.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isDeniedUrl(event, options)) {\n logger.warn(\"Event dropped due to being matched by `denyUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n if (!this._isAllowedUrl(event, options)) {\n logger.warn(\"Event dropped due to not being matched by `allowUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n return false;\n };\n /** JSDoc */\n InboundFilters.prototype._isSentryError = function (event, options) {\n if (!options.ignoreInternal) {\n return false;\n }\n try {\n return ((event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false);\n }\n catch (_oO) {\n return false;\n }\n };\n /** JSDoc */\n InboundFilters.prototype._isIgnoredError = function (event, options) {\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n return this._getPossibleEventMessages(event).some(function (message) {\n // Not sure why TypeScript complains here...\n return options.ignoreErrors.some(function (pattern) { return isMatchingPattern(message, pattern); });\n });\n };\n /** JSDoc */\n InboundFilters.prototype._isDeniedUrl = function (event, options) {\n // TODO: Use Glob instead?\n if (!options.denyUrls || !options.denyUrls.length) {\n return false;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? false : options.denyUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._isAllowedUrl = function (event, options) {\n // TODO: Use Glob instead?\n if (!options.allowUrls || !options.allowUrls.length) {\n return true;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? true : options.allowUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._mergeOptions = function (clientOptions) {\n if (clientOptions === void 0) { clientOptions = {}; }\n return {\n allowUrls: __spread((this._options.whitelistUrls || []), (this._options.allowUrls || []), (clientOptions.whitelistUrls || []), (clientOptions.allowUrls || [])),\n denyUrls: __spread((this._options.blacklistUrls || []), (this._options.denyUrls || []), (clientOptions.blacklistUrls || []), (clientOptions.denyUrls || [])),\n ignoreErrors: __spread((this._options.ignoreErrors || []), (clientOptions.ignoreErrors || []), DEFAULT_IGNORE_ERRORS),\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n };\n };\n /** JSDoc */\n InboundFilters.prototype._getPossibleEventMessages = function (event) {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n var _a = (event.exception.values && event.exception.values[0]) || {}, _b = _a.type, type = _b === void 0 ? '' : _b, _c = _a.value, value = _c === void 0 ? '' : _c;\n return [\"\" + value, type + \": \" + value];\n }\n catch (oO) {\n logger.error(\"Cannot extract message for event \" + getEventDescription(event));\n return [];\n }\n }\n return [];\n };\n /** JSDoc */\n InboundFilters.prototype._getEventFilterUrl = function (event) {\n try {\n if (event.stacktrace) {\n var frames_1 = event.stacktrace.frames;\n return (frames_1 && frames_1[frames_1.length - 1].filename) || null;\n }\n if (event.exception) {\n var frames_2 = event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames_2 && frames_2[frames_2.length - 1].filename) || null;\n }\n return null;\n }\n catch (oO) {\n logger.error(\"Cannot extract url for event \" + getEventDescription(event));\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n InboundFilters.id = 'InboundFilters';\n return InboundFilters;\n}());\nexport { InboundFilters };\n//# sourceMappingURL=inboundfilters.js.map","export var setPrototypeOf = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties);\n/**\n * setPrototypeOf polyfill using __proto__\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction setProtoOf(obj, proto) {\n // @ts-ignore __proto__ does not exist on obj\n obj.__proto__ = proto;\n return obj;\n}\n/**\n * setPrototypeOf polyfill using mixin\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction mixinProperties(obj, proto) {\n for (var prop in proto) {\n // eslint-disable-next-line no-prototype-builtins\n if (!obj.hasOwnProperty(prop)) {\n // @ts-ignore typescript complains about indexing so we remove\n obj[prop] = proto[prop];\n }\n }\n return obj;\n}\n//# sourceMappingURL=polyfill.js.map","import { __extends } from \"tslib\";\nimport { setPrototypeOf } from './polyfill';\n/** An error emitted by Sentry SDKs and related utilities. */\nvar SentryError = /** @class */ (function (_super) {\n __extends(SentryError, _super);\n function SentryError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _newTarget.prototype.constructor.name;\n setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return SentryError;\n}(Error));\nexport { SentryError };\n//# sourceMappingURL=error.js.map","import { __read } from \"tslib\";\nimport { SentryError } from './error';\n/** Regular expression used to parse a Dsn. */\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n/** Error message */\nvar ERROR_MESSAGE = 'Invalid Dsn';\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nvar Dsn = /** @class */ (function () {\n /** Creates a new Dsn component */\n function Dsn(from) {\n if (typeof from === 'string') {\n this._fromString(from);\n }\n else {\n this._fromComponents(from);\n }\n this._validate();\n }\n /**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\n Dsn.prototype.toString = function (withPassword) {\n if (withPassword === void 0) { withPassword = false; }\n var _a = this, host = _a.host, path = _a.path, pass = _a.pass, port = _a.port, projectId = _a.projectId, protocol = _a.protocol, user = _a.user;\n return (protocol + \"://\" + user + (withPassword && pass ? \":\" + pass : '') +\n (\"@\" + host + (port ? \":\" + port : '') + \"/\" + (path ? path + \"/\" : path) + projectId));\n };\n /** Parses a string into this Dsn. */\n Dsn.prototype._fromString = function (str) {\n var match = DSN_REGEX.exec(str);\n if (!match) {\n throw new SentryError(ERROR_MESSAGE);\n }\n var _a = __read(match.slice(1), 6), protocol = _a[0], user = _a[1], _b = _a[2], pass = _b === void 0 ? '' : _b, host = _a[3], _c = _a[4], port = _c === void 0 ? '' : _c, lastPath = _a[5];\n var path = '';\n var projectId = lastPath;\n var split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop();\n }\n if (projectId) {\n var projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n this._fromComponents({ host: host, pass: pass, path: path, projectId: projectId, port: port, protocol: protocol, user: user });\n };\n /** Maps Dsn components into this instance. */\n Dsn.prototype._fromComponents = function (components) {\n this.protocol = components.protocol;\n this.user = components.user;\n this.pass = components.pass || '';\n this.host = components.host;\n this.port = components.port || '';\n this.path = components.path || '';\n this.projectId = components.projectId;\n };\n /** Validates this Dsn and throws on error. */\n Dsn.prototype._validate = function () {\n var _this = this;\n ['protocol', 'user', 'host', 'projectId'].forEach(function (component) {\n if (!_this[component]) {\n throw new SentryError(ERROR_MESSAGE + \": \" + component + \" missing\");\n }\n });\n if (!this.projectId.match(/^\\d+$/)) {\n throw new SentryError(ERROR_MESSAGE + \": Invalid projectId \" + this.projectId);\n }\n if (this.protocol !== 'http' && this.protocol !== 'https') {\n throw new SentryError(ERROR_MESSAGE + \": Invalid protocol \" + this.protocol);\n }\n if (this.port && isNaN(parseInt(this.port, 10))) {\n throw new SentryError(ERROR_MESSAGE + \": Invalid port \" + this.port);\n }\n };\n return Dsn;\n}());\nexport { Dsn };\n//# sourceMappingURL=dsn.js.map","import { __read, __spread } from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\nexport var installedIntegrations = [];\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options) {\n var defaultIntegrations = (options.defaultIntegrations && __spread(options.defaultIntegrations)) || [];\n var userIntegrations = options.integrations;\n var integrations = [];\n if (Array.isArray(userIntegrations)) {\n var userIntegrationsNames_1 = userIntegrations.map(function (i) { return i.name; });\n var pickedIntegrationsNames_1 = [];\n // Leave only unique default integrations, that were not overridden with provided user integrations\n defaultIntegrations.forEach(function (defaultIntegration) {\n if (userIntegrationsNames_1.indexOf(defaultIntegration.name) === -1 &&\n pickedIntegrationsNames_1.indexOf(defaultIntegration.name) === -1) {\n integrations.push(defaultIntegration);\n pickedIntegrationsNames_1.push(defaultIntegration.name);\n }\n });\n // Don't add same user integration twice\n userIntegrations.forEach(function (userIntegration) {\n if (pickedIntegrationsNames_1.indexOf(userIntegration.name) === -1) {\n integrations.push(userIntegration);\n pickedIntegrationsNames_1.push(userIntegration.name);\n }\n });\n }\n else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n else {\n integrations = __spread(defaultIntegrations);\n }\n // Make sure that if present, `Debug` integration will always run last\n var integrationsNames = integrations.map(function (i) { return i.name; });\n var alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push.apply(integrations, __spread(integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1)));\n }\n return integrations;\n}\n/** Setup given integration */\nexport function setupIntegration(integration) {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n logger.log(\"Integration installed: \" + integration.name);\n}\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options) {\n var integrations = {};\n getIntegrationsToSetup(options).forEach(function (integration) {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n return integrations;\n}\n//# sourceMappingURL=integration.js.map","import { __assign, __values } from \"tslib\";\n/* eslint-disable max-lines */\nimport { Scope } from '@sentry/hub';\nimport { SessionStatus, } from '@sentry/types';\nimport { dateTimestampInSeconds, Dsn, isPrimitive, isThenable, logger, normalize, SentryError, SyncPromise, truncate, uuid4, } from '@sentry/utils';\nimport { setupIntegrations } from './integration';\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient.prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nvar BaseClient = /** @class */ (function () {\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n function BaseClient(backendClass, options) {\n /** Array of used integrations. */\n this._integrations = {};\n /** Number of call being processed */\n this._processing = 0;\n this._backend = new backendClass(options);\n this._options = options;\n if (options.dsn) {\n this._dsn = new Dsn(options.dsn);\n }\n }\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n BaseClient.prototype.captureException = function (exception, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._process(this._getBackend()\n .eventFromException(exception, hint)\n .then(function (event) { return _this._captureEvent(event, hint, scope); })\n .then(function (result) {\n eventId = result;\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureMessage = function (message, level, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n var promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(String(message), level, hint)\n : this._getBackend().eventFromException(message, hint);\n this._process(promisedEvent\n .then(function (event) { return _this._captureEvent(event, hint, scope); })\n .then(function (result) {\n eventId = result;\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureEvent = function (event, hint, scope) {\n var eventId = hint && hint.event_id;\n this._process(this._captureEvent(event, hint, scope).then(function (result) {\n eventId = result;\n }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureSession = function (session) {\n if (!session.release) {\n logger.warn('Discarded session because of missing release');\n }\n else {\n this._sendSession(session);\n }\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getDsn = function () {\n return this._dsn;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getOptions = function () {\n return this._options;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.flush = function (timeout) {\n var _this = this;\n return this._isClientProcessing(timeout).then(function (ready) {\n return _this._getBackend()\n .getTransport()\n .close(timeout)\n .then(function (transportFlushed) { return ready && transportFlushed; });\n });\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.close = function (timeout) {\n var _this = this;\n return this.flush(timeout).then(function (result) {\n _this.getOptions().enabled = false;\n return result;\n });\n };\n /**\n * Sets up the integrations\n */\n BaseClient.prototype.setupIntegrations = function () {\n if (this._isEnabled()) {\n this._integrations = setupIntegrations(this._options);\n }\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getIntegration = function (integration) {\n try {\n return this._integrations[integration.id] || null;\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Client\");\n return null;\n }\n };\n /** Updates existing session based on the provided event */\n BaseClient.prototype._updateSessionFromEvent = function (session, event) {\n var e_1, _a;\n var crashed = false;\n var errored = false;\n var userAgent;\n var exceptions = event.exception && event.exception.values;\n if (exceptions) {\n errored = true;\n try {\n for (var exceptions_1 = __values(exceptions), exceptions_1_1 = exceptions_1.next(); !exceptions_1_1.done; exceptions_1_1 = exceptions_1.next()) {\n var ex = exceptions_1_1.value;\n var mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (exceptions_1_1 && !exceptions_1_1.done && (_a = exceptions_1.return)) _a.call(exceptions_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n var user = event.user;\n if (!session.userAgent) {\n var headers = event.request ? event.request.headers : {};\n for (var key in headers) {\n if (key.toLowerCase() === 'user-agent') {\n userAgent = headers[key];\n break;\n }\n }\n }\n session.update(__assign(__assign({}, (crashed && { status: SessionStatus.Crashed })), { user: user,\n userAgent: userAgent, errors: session.errors + Number(errored || crashed) }));\n };\n /** Deliver captured session to Sentry */\n BaseClient.prototype._sendSession = function (session) {\n this._getBackend().sendSession(session);\n };\n /** Waits for the client to be done with processing. */\n BaseClient.prototype._isClientProcessing = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var ticked = 0;\n var tick = 1;\n var interval = setInterval(function () {\n if (_this._processing == 0) {\n clearInterval(interval);\n resolve(true);\n }\n else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n };\n /** Returns the current backend. */\n BaseClient.prototype._getBackend = function () {\n return this._backend;\n };\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n BaseClient.prototype._isEnabled = function () {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n };\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n BaseClient.prototype._prepareEvent = function (event, scope, hint) {\n var _this = this;\n var _a = this.getOptions().normalizeDepth, normalizeDepth = _a === void 0 ? 3 : _a;\n var prepared = __assign(__assign({}, event), { event_id: event.event_id || (hint && hint.event_id ? hint.event_id : uuid4()), timestamp: event.timestamp || dateTimestampInSeconds() });\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n var finalScope = scope;\n if (hint && hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n // We prepare the result here with a resolved Event.\n var result = SyncPromise.resolve(prepared);\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n return result.then(function (evt) {\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return _this._normalizeEvent(evt, normalizeDepth);\n }\n return evt;\n });\n };\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n BaseClient.prototype._normalizeEvent = function (event, depth) {\n if (!event) {\n return null;\n }\n var normalized = __assign(__assign(__assign(__assign(__assign({}, event), (event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(function (b) { return (__assign(__assign({}, b), (b.data && {\n data: normalize(b.data, depth),\n }))); }),\n })), (event.user && {\n user: normalize(event.user, depth),\n })), (event.contexts && {\n contexts: normalize(event.contexts, depth),\n })), (event.extra && {\n extra: normalize(event.extra, depth),\n }));\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n normalized.contexts.trace = event.contexts.trace;\n }\n return normalized;\n };\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n BaseClient.prototype._applyClientOptions = function (event) {\n var options = this.getOptions();\n var environment = options.environment, release = options.release, dist = options.dist, _a = options.maxValueLength, maxValueLength = _a === void 0 ? 250 : _a;\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n var exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n var request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n };\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param sdkInfo The sdkInfo of the event that will be filled with all integrations.\n */\n BaseClient.prototype._applyIntegrationsMetadata = function (event) {\n var sdkInfo = event.sdk;\n var integrationsArray = Object.keys(this._integrations);\n if (sdkInfo && integrationsArray.length > 0) {\n sdkInfo.integrations = integrationsArray;\n }\n };\n /**\n * Tells the backend to send this event\n * @param event The Sentry event to send\n */\n BaseClient.prototype._sendEvent = function (event) {\n this._getBackend().sendEvent(event);\n };\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n BaseClient.prototype._captureEvent = function (event, hint, scope) {\n return this._processEvent(event, hint, scope).then(function (finalEvent) {\n return finalEvent.event_id;\n }, function (reason) {\n logger.error(reason);\n return undefined;\n });\n };\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n BaseClient.prototype._processEvent = function (event, hint, scope) {\n var _this = this;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n var _a = this.getOptions(), beforeSend = _a.beforeSend, sampleRate = _a.sampleRate;\n if (!this._isEnabled()) {\n return SyncPromise.reject(new SentryError('SDK not enabled, will not send event.'));\n }\n var isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n return SyncPromise.reject(new SentryError(\"Discarding event because it's not included in the random sample (sampling rate = \" + sampleRate + \")\"));\n }\n return this._prepareEvent(event, scope, hint)\n .then(function (prepared) {\n if (prepared === null) {\n throw new SentryError('An event processor returned null, will not send event.');\n }\n var isInternalException = hint && hint.data && hint.data.__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n var beforeSendResult = beforeSend(prepared, hint);\n if (typeof beforeSendResult === 'undefined') {\n throw new SentryError('`beforeSend` method has to return `null` or a valid event.');\n }\n else if (isThenable(beforeSendResult)) {\n return beforeSendResult.then(function (event) { return event; }, function (e) {\n throw new SentryError(\"beforeSend rejected with \" + e);\n });\n }\n return beforeSendResult;\n })\n .then(function (processedEvent) {\n if (processedEvent === null) {\n throw new SentryError('`beforeSend` returned `null`, will not send event.');\n }\n var session = scope && scope.getSession && scope.getSession();\n if (!isTransaction && session) {\n _this._updateSessionFromEvent(session, processedEvent);\n }\n _this._sendEvent(processedEvent);\n return processedEvent;\n })\n .then(null, function (reason) {\n if (reason instanceof SentryError) {\n throw reason;\n }\n _this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason,\n });\n throw new SentryError(\"Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: \" + reason);\n });\n };\n /**\n * Occupies the client with processing and event\n */\n BaseClient.prototype._process = function (promise) {\n var _this = this;\n this._processing += 1;\n promise.then(function (value) {\n _this._processing -= 1;\n return value;\n }, function (reason) {\n _this._processing -= 1;\n return reason;\n });\n };\n return BaseClient;\n}());\nexport { BaseClient };\n//# sourceMappingURL=baseclient.js.map","/** The status of an event. */\n// eslint-disable-next-line import/export\nexport var Status;\n(function (Status) {\n /** The status could not be determined. */\n Status[\"Unknown\"] = \"unknown\";\n /** The event was skipped due to configuration or callbacks. */\n Status[\"Skipped\"] = \"skipped\";\n /** The event was sent to Sentry successfully. */\n Status[\"Success\"] = \"success\";\n /** The client is currently rate limited and will try again later. */\n Status[\"RateLimit\"] = \"rate_limit\";\n /** The event could not be processed. */\n Status[\"Invalid\"] = \"invalid\";\n /** A server-side error ocurred during submission. */\n Status[\"Failed\"] = \"failed\";\n})(Status || (Status = {}));\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\n(function (Status) {\n /**\n * Converts a HTTP status code into a {@link Status}.\n *\n * @param code The HTTP response status code.\n * @returns The send status or {@link Status.Unknown}.\n */\n function fromHttpCode(code) {\n if (code >= 200 && code < 300) {\n return Status.Success;\n }\n if (code === 429) {\n return Status.RateLimit;\n }\n if (code >= 400 && code < 500) {\n return Status.Invalid;\n }\n if (code >= 500) {\n return Status.Failed;\n }\n return Status.Unknown;\n }\n Status.fromHttpCode = fromHttpCode;\n})(Status || (Status = {}));\n//# sourceMappingURL=status.js.map","import { Status } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n/** Noop transport */\nvar NoopTransport = /** @class */ (function () {\n function NoopTransport() {\n }\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.sendEvent = function (_) {\n return SyncPromise.resolve({\n reason: \"NoopTransport: Event has been skipped because no Dsn is configured.\",\n status: Status.Skipped,\n });\n };\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.close = function (_) {\n return SyncPromise.resolve(true);\n };\n return NoopTransport;\n}());\nexport { NoopTransport };\n//# sourceMappingURL=noop.js.map","/** JSDoc */\n// eslint-disable-next-line import/export\nexport var Severity;\n(function (Severity) {\n /** JSDoc */\n Severity[\"Fatal\"] = \"fatal\";\n /** JSDoc */\n Severity[\"Error\"] = \"error\";\n /** JSDoc */\n Severity[\"Warning\"] = \"warning\";\n /** JSDoc */\n Severity[\"Log\"] = \"log\";\n /** JSDoc */\n Severity[\"Info\"] = \"info\";\n /** JSDoc */\n Severity[\"Debug\"] = \"debug\";\n /** JSDoc */\n Severity[\"Critical\"] = \"critical\";\n})(Severity || (Severity = {}));\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\n(function (Severity) {\n /**\n * Converts a string-based level into a {@link Severity}.\n *\n * @param level string representation of Severity\n * @returns Severity\n */\n function fromString(level) {\n switch (level) {\n case 'debug':\n return Severity.Debug;\n case 'info':\n return Severity.Info;\n case 'warn':\n case 'warning':\n return Severity.Warning;\n case 'error':\n return Severity.Error;\n case 'fatal':\n return Severity.Fatal;\n case 'critical':\n return Severity.Critical;\n case 'log':\n default:\n return Severity.Log;\n }\n }\n Severity.fromString = fromString;\n})(Severity || (Severity = {}));\n//# sourceMappingURL=severity.js.map","import { logger, SentryError } from '@sentry/utils';\nimport { NoopTransport } from './transports/noop';\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nvar BaseBackend = /** @class */ (function () {\n /** Creates a new backend instance. */\n function BaseBackend(options) {\n this._options = options;\n if (!this._options.dsn) {\n logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n BaseBackend.prototype.eventFromException = function (_exception, _hint) {\n throw new SentryError('Backend has to implement `eventFromException` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromMessage = function (_message, _level, _hint) {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.sendEvent = function (event) {\n this._transport.sendEvent(event).then(null, function (reason) {\n logger.error(\"Error while sending event: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.sendSession = function (session) {\n if (!this._transport.sendSession) {\n logger.warn(\"Dropping session because custom transport doesn't implement sendSession\");\n return;\n }\n this._transport.sendSession(session).then(null, function (reason) {\n logger.error(\"Error while sending session: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.getTransport = function () {\n return this._transport;\n };\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n BaseBackend.prototype._setupTransport = function () {\n return new NoopTransport();\n };\n return BaseBackend;\n}());\nexport { BaseBackend };\n//# sourceMappingURL=basebackend.js.map","/**\n * This was originally forked from https://github.com/occ/TraceKit, but has since been\n * largely modified and is now maintained as part of Sentry JS SDK.\n */\nimport { __assign } from \"tslib\";\n// global reference to slice\nvar UNKNOWN_FUNCTION = '?';\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nvar chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nvar gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nvar geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nvar chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nvar reactMinifiedRegexp = /Minified React error #\\d+;/i;\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function computeStackTrace(ex) {\n var stack = null;\n var popSize = 0;\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n popSize = ex.framesToPop;\n }\n else if (reactMinifiedRegexp.test(ex.message)) {\n popSize = 1;\n }\n }\n try {\n // This must be tried first because Opera 10 *destroys*\n // its stacktrace property if you try to access the stack\n // property first!!\n stack = computeStackTraceFromStacktraceProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n try {\n stack = computeStackTraceFromStackProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true,\n };\n}\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, complexity\nfunction computeStackTraceFromStackProp(ex) {\n if (!ex || !ex.stack) {\n return null;\n }\n var stack = [];\n var lines = ex.stack.split('\\n');\n var isEval;\n var submatch;\n var parts;\n var element;\n for (var i = 0; i < lines.length; ++i) {\n if ((parts = chrome.exec(lines[i]))) {\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\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 element = {\n // working with the regexp above is super painful. it is quite a hack, but just stripping the `address at `\n // prefix here seems like the quickest solution for now.\n url: parts[2] && parts[2].indexOf('address at ') === 0 ? parts[2].substr('address at '.length) : parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = winjs.exec(lines[i]))) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: +parts[3],\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = gecko.exec(lines[i]))) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || \"eval\";\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = ''; // no column when eval\n }\n else if (i === 0 && !parts[5] && ex.columnNumber !== void 0) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = ex.columnNumber + 1;\n }\n element = {\n url: parts[3],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: parts[2] ? parts[2].split(',') : [],\n line: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null,\n };\n }\n else {\n continue;\n }\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction computeStackTraceFromStacktraceProp(ex) {\n if (!ex || !ex.stacktrace) {\n return null;\n }\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace;\n var opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n var opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\((.*)\\))? in (.*):\\s*$/i;\n var lines = stacktrace.split('\\n');\n var stack = [];\n var parts;\n for (var line = 0; line < lines.length; line += 2) {\n var element = null;\n if ((parts = opera10Regex.exec(lines[line]))) {\n element = {\n url: parts[2],\n func: parts[3],\n args: [],\n line: +parts[1],\n column: null,\n };\n }\n else if ((parts = opera11Regex.exec(lines[line]))) {\n element = {\n url: parts[6],\n func: parts[3] || parts[4],\n args: parts[5] ? parts[5].split(',') : [],\n line: +parts[1],\n column: +parts[2],\n };\n }\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** Remove N number of frames from the stack */\nfunction popFrames(stacktrace, popSize) {\n try {\n return __assign(__assign({}, stacktrace), { stack: stacktrace.stack.slice(popSize) });\n }\n catch (e) {\n return stacktrace;\n }\n}\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n//# sourceMappingURL=tracekit.js.map","import { extractExceptionKeysForMessage, isEvent, normalizeToSize } from '@sentry/utils';\nimport { computeStackTrace } from './tracekit';\nvar STACKTRACE_LIMIT = 50;\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromStacktrace(stacktrace) {\n var frames = prepareFramesForEvent(stacktrace.stack);\n var exception = {\n type: stacktrace.name,\n value: stacktrace.message,\n };\n if (frames && frames.length) {\n exception.stacktrace = { frames: frames };\n }\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n return exception;\n}\n/**\n * @hidden\n */\nexport function eventFromPlainObject(exception, syntheticException, rejection) {\n var event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : rejection ? 'UnhandledRejection' : 'Error',\n value: \"Non-Error \" + (rejection ? 'promise rejection' : 'exception') + \" captured with keys: \" + extractExceptionKeysForMessage(exception),\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n if (syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n/**\n * @hidden\n */\nexport function eventFromStacktrace(stacktrace) {\n var exception = exceptionFromStacktrace(stacktrace);\n return {\n exception: {\n values: [exception],\n },\n };\n}\n/**\n * @hidden\n */\nexport function prepareFramesForEvent(stack) {\n if (!stack || !stack.length) {\n return [];\n }\n var localStack = stack;\n var firstFrameFunction = localStack[0].func || '';\n var lastFrameFunction = localStack[localStack.length - 1].func || '';\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .slice(0, STACKTRACE_LIMIT)\n .map(function (frame) { return ({\n colno: frame.column === null ? undefined : frame.column,\n filename: frame.url || localStack[0].url,\n function: frame.func || '?',\n in_app: true,\n lineno: frame.line === null ? undefined : frame.line,\n }); })\n .reverse();\n}\n//# sourceMappingURL=parsers.js.map","import { __assign } from \"tslib\";\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, addExceptionTypeValue, isDOMError, isDOMException, isError, isErrorEvent, isEvent, isPlainObject, SyncPromise, } from '@sentry/utils';\nimport { eventFromPlainObject, eventFromStacktrace, prepareFramesForEvent } from './parsers';\nimport { computeStackTrace } from './tracekit';\n/**\n * Builds and Event from a Exception\n * @hidden\n */\nexport function eventFromException(options, exception, hint) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: options.attachStacktrace,\n });\n addExceptionMechanism(event, {\n handled: true,\n type: 'generic',\n });\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n}\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(options, message, level, hint) {\n if (level === void 0) { level = Severity.Info; }\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromString(message, syntheticException, {\n attachStacktrace: options.attachStacktrace,\n });\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n}\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(exception, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event;\n if (isErrorEvent(exception) && exception.error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception;\n // eslint-disable-next-line no-param-reassign\n exception = errorEvent.error;\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isDOMError(exception) || isDOMException(exception)) {\n // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers)\n // then we just extract the name, code, and message, as they don't provide anything else\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n var domException = exception;\n var name_1 = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? name_1 + \": \" + domException.message : name_1;\n event = eventFromString(message, syntheticException, options);\n addExceptionTypeValue(event, message);\n if ('code' in domException) {\n event.tags = __assign(__assign({}, event.tags), { 'DOMException.code': \"\" + domException.code });\n }\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it is plain Object or Event, serialize it manually and extract options\n // This will allow us to group events based on top-level keys\n // which is much better than creating new group when any key/value change\n var objectException = exception;\n event = eventFromPlainObject(objectException, syntheticException, options.rejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception, syntheticException, options);\n addExceptionTypeValue(event, \"\" + exception, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n}\n/**\n * @hidden\n */\nexport function eventFromString(input, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event = {\n message: input,\n };\n if (options.attachStacktrace && syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n//# sourceMappingURL=eventbuilder.js.map","import { __rest } from \"tslib\";\n/** Creates a SentryRequest from an event. */\nexport function sessionToSentryRequest(session, api) {\n var envelopeHeaders = JSON.stringify({\n sent_at: new Date().toISOString(),\n });\n var itemHeaders = JSON.stringify({\n type: 'session',\n });\n return {\n body: envelopeHeaders + \"\\n\" + itemHeaders + \"\\n\" + JSON.stringify(session),\n type: 'session',\n url: api.getEnvelopeEndpointWithUrlEncodedAuth(),\n };\n}\n/** Creates a SentryRequest from an event. */\nexport function eventToSentryRequest(event, api) {\n // since JS has no Object.prototype.pop()\n var _a = event.tags || {}, samplingMethod = _a.__sentry_samplingMethod, sampleRate = _a.__sentry_sampleRate, otherTags = __rest(_a, [\"__sentry_samplingMethod\", \"__sentry_sampleRate\"]);\n event.tags = otherTags;\n var useEnvelope = event.type === 'transaction';\n var req = {\n body: JSON.stringify(event),\n type: event.type || 'event',\n url: useEnvelope ? api.getEnvelopeEndpointWithUrlEncodedAuth() : api.getStoreEndpointWithUrlEncodedAuth(),\n };\n // https://develop.sentry.dev/sdk/envelopes/\n // Since we don't need to manipulate envelopes nor store them, there is no\n // exported concept of an Envelope with operations including serialization and\n // deserialization. Instead, we only implement a minimal subset of the spec to\n // serialize events inline here.\n if (useEnvelope) {\n var envelopeHeaders = JSON.stringify({\n event_id: event.event_id,\n sent_at: new Date().toISOString(),\n });\n var itemHeaders = JSON.stringify({\n type: event.type,\n // TODO: Right now, sampleRate may or may not be defined (it won't be in the cases of inheritance and\n // explicitly-set sampling decisions). Are we good with that?\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n });\n // The trailing newline is optional. We intentionally don't send it to avoid\n // sending unnecessary bytes.\n //\n // const envelope = `${envelopeHeaders}\\n${itemHeaders}\\n${req.body}\\n`;\n var envelope = envelopeHeaders + \"\\n\" + itemHeaders + \"\\n\" + req.body;\n req.body = envelope;\n }\n return req;\n}\n//# sourceMappingURL=request.js.map","import { Dsn, urlEncode } from '@sentry/utils';\nvar SENTRY_API_VERSION = '7';\n/** Helper class to provide urls to different Sentry endpoints. */\nvar API = /** @class */ (function () {\n /** Create a new instance of API */\n function API(dsn) {\n this.dsn = dsn;\n this._dsnObject = new Dsn(dsn);\n }\n /** Returns the Dsn object. */\n API.prototype.getDsn = function () {\n return this._dsnObject;\n };\n /** Returns the prefix to construct Sentry ingestion API endpoints. */\n API.prototype.getBaseApiEndpoint = function () {\n var dsn = this._dsnObject;\n var protocol = dsn.protocol ? dsn.protocol + \":\" : '';\n var port = dsn.port ? \":\" + dsn.port : '';\n return protocol + \"//\" + dsn.host + port + (dsn.path ? \"/\" + dsn.path : '') + \"/api/\";\n };\n /** Returns the store endpoint URL. */\n API.prototype.getStoreEndpoint = function () {\n return this._getIngestEndpoint('store');\n };\n /**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n API.prototype.getStoreEndpointWithUrlEncodedAuth = function () {\n return this.getStoreEndpoint() + \"?\" + this._encodedAuth();\n };\n /**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n API.prototype.getEnvelopeEndpointWithUrlEncodedAuth = function () {\n return this._getEnvelopeEndpoint() + \"?\" + this._encodedAuth();\n };\n /** Returns only the path component for the store endpoint. */\n API.prototype.getStoreEndpointPath = function () {\n var dsn = this._dsnObject;\n return (dsn.path ? \"/\" + dsn.path : '') + \"/api/\" + dsn.projectId + \"/store/\";\n };\n /**\n * Returns an object that can be used in request headers.\n * This is needed for node and the old /store endpoint in sentry\n */\n API.prototype.getRequestHeaders = function (clientName, clientVersion) {\n var dsn = this._dsnObject;\n var header = [\"Sentry sentry_version=\" + SENTRY_API_VERSION];\n header.push(\"sentry_client=\" + clientName + \"/\" + clientVersion);\n header.push(\"sentry_key=\" + dsn.user);\n if (dsn.pass) {\n header.push(\"sentry_secret=\" + dsn.pass);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n };\n /** Returns the url to the report dialog endpoint. */\n API.prototype.getReportDialogEndpoint = function (dialogOptions) {\n if (dialogOptions === void 0) { dialogOptions = {}; }\n var dsn = this._dsnObject;\n var endpoint = this.getBaseApiEndpoint() + \"embed/error-page/\";\n var encodedOptions = [];\n encodedOptions.push(\"dsn=\" + dsn.toString());\n for (var key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions.push(\"name=\" + encodeURIComponent(dialogOptions.user.name));\n }\n if (dialogOptions.user.email) {\n encodedOptions.push(\"email=\" + encodeURIComponent(dialogOptions.user.email));\n }\n }\n else {\n encodedOptions.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(dialogOptions[key]));\n }\n }\n if (encodedOptions.length) {\n return endpoint + \"?\" + encodedOptions.join('&');\n }\n return endpoint;\n };\n /** Returns the envelope endpoint URL. */\n API.prototype._getEnvelopeEndpoint = function () {\n return this._getIngestEndpoint('envelope');\n };\n /** Returns the ingest API endpoint for target. */\n API.prototype._getIngestEndpoint = function (target) {\n var base = this.getBaseApiEndpoint();\n var dsn = this._dsnObject;\n return \"\" + base + dsn.projectId + \"/\" + target + \"/\";\n };\n /** Returns a URL-encoded string with auth config suitable for a query string. */\n API.prototype._encodedAuth = function () {\n var dsn = this._dsnObject;\n var auth = {\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.user,\n sentry_version: SENTRY_API_VERSION,\n };\n return urlEncode(auth);\n };\n return API;\n}());\nexport { API };\n//# sourceMappingURL=api.js.map","import { SentryError } from './error';\nimport { SyncPromise } from './syncpromise';\n/** A simple queue that holds promises. */\nvar PromiseBuffer = /** @class */ (function () {\n function PromiseBuffer(_limit) {\n this._limit = _limit;\n /** Internal set of queued Promises */\n this._buffer = [];\n }\n /**\n * Says if the buffer is ready to take more requests\n */\n PromiseBuffer.prototype.isReady = function () {\n return this._limit === undefined || this.length() < this._limit;\n };\n /**\n * Add a promise to the queue.\n *\n * @param task Can be any PromiseLike\n * @returns The original promise.\n */\n PromiseBuffer.prototype.add = function (task) {\n var _this = this;\n if (!this.isReady()) {\n return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n if (this._buffer.indexOf(task) === -1) {\n this._buffer.push(task);\n }\n task\n .then(function () { return _this.remove(task); })\n .then(null, function () {\n return _this.remove(task).then(null, function () {\n // We have to add this catch here otherwise we have an unhandledPromiseRejection\n // because it's a new Promise chain.\n });\n });\n return task;\n };\n /**\n * Remove a promise to the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n PromiseBuffer.prototype.remove = function (task) {\n var removedTask = this._buffer.splice(this._buffer.indexOf(task), 1)[0];\n return removedTask;\n };\n /**\n * This function returns the number of unresolved promises in the queue.\n */\n PromiseBuffer.prototype.length = function () {\n return this._buffer.length;\n };\n /**\n * This will drain the whole queue, returns true if queue is empty or drained.\n * If timeout is provided and the queue takes longer to drain, the promise still resolves but with false.\n *\n * @param timeout Number in ms to wait until it resolves with false.\n */\n PromiseBuffer.prototype.drain = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var capturedSetTimeout = setTimeout(function () {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n SyncPromise.all(_this._buffer)\n .then(function () {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n })\n .then(null, function () {\n resolve(true);\n });\n });\n };\n return PromiseBuffer;\n}());\nexport { PromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map","import { __values } from \"tslib\";\nimport { API } from '@sentry/core';\nimport { Status, } from '@sentry/types';\nimport { logger, parseRetryAfterHeader, PromiseBuffer, SentryError } from '@sentry/utils';\n/** Base Transport class implementation */\nvar BaseTransport = /** @class */ (function () {\n function BaseTransport(options) {\n this.options = options;\n /** A simple buffer holding all requests. */\n this._buffer = new PromiseBuffer(30);\n /** Locks transport after receiving rate limits in a response */\n this._rateLimits = {};\n this._api = new API(this.options.dsn);\n // eslint-disable-next-line deprecation/deprecation\n this.url = this._api.getStoreEndpointWithUrlEncodedAuth();\n }\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.sendEvent = function (_) {\n throw new SentryError('Transport Class has to implement `sendEvent` method');\n };\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.close = function (timeout) {\n return this._buffer.drain(timeout);\n };\n /**\n * Handle Sentry repsonse for promise-based transports.\n */\n BaseTransport.prototype._handleResponse = function (_a) {\n var requestType = _a.requestType, response = _a.response, headers = _a.headers, resolve = _a.resolve, reject = _a.reject;\n var status = Status.fromHttpCode(response.status);\n /**\n * \"The name is case-insensitive.\"\n * https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n */\n var limited = this._handleRateLimit(headers);\n if (limited)\n logger.warn(\"Too many requests, backing off until: \" + this._disabledUntil(requestType));\n if (status === Status.Success) {\n resolve({ status: status });\n return;\n }\n reject(response);\n };\n /**\n * Gets the time that given category is disabled until for rate limiting\n */\n BaseTransport.prototype._disabledUntil = function (category) {\n return this._rateLimits[category] || this._rateLimits.all;\n };\n /**\n * Checks if a category is rate limited\n */\n BaseTransport.prototype._isRateLimited = function (category) {\n return this._disabledUntil(category) > new Date(Date.now());\n };\n /**\n * Sets internal _rateLimits from incoming headers. Returns true if headers contains a non-empty rate limiting header.\n */\n BaseTransport.prototype._handleRateLimit = function (headers) {\n var e_1, _a, e_2, _b;\n var now = Date.now();\n var rlHeader = headers['x-sentry-rate-limits'];\n var raHeader = headers['retry-after'];\n if (rlHeader) {\n try {\n // rate limit headers are of the form\n //
,
,..\n // where each
is of the form\n // : : : \n // where\n // is a delay in ms\n // is the event type(s) (error, transaction, etc) being rate limited and is of the form\n // ;;...\n // is what's being limited (org, project, or key) - ignored by SDK\n // is an arbitrary string like \"org_quota\" - ignored by SDK\n for (var _c = __values(rlHeader.trim().split(',')), _d = _c.next(); !_d.done; _d = _c.next()) {\n var limit = _d.value;\n var parameters = limit.split(':', 2);\n var headerDelay = parseInt(parameters[0], 10);\n var delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n try {\n for (var _e = (e_2 = void 0, __values(parameters[1].split(';'))), _f = _e.next(); !_f.done; _f = _e.next()) {\n var category = _f.value;\n this._rateLimits[category || 'all'] = new Date(now + delay);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return true;\n }\n else if (raHeader) {\n this._rateLimits.all = new Date(now + parseRetryAfterHeader(now, raHeader));\n return true;\n }\n return false;\n };\n return BaseTransport;\n}());\nexport { BaseTransport };\n//# sourceMappingURL=base.js.map","import { __extends } from \"tslib\";\nimport { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';\nimport { getGlobalObject, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\nvar global = getGlobalObject();\n/** `fetch` based transport */\nvar FetchTransport = /** @class */ (function (_super) {\n __extends(FetchTransport, _super);\n function FetchTransport() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n FetchTransport.prototype.sendEvent = function (event) {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n };\n /**\n * @inheritDoc\n */\n FetchTransport.prototype.sendSession = function (session) {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n };\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n FetchTransport.prototype._sendRequest = function (sentryRequest, originalPayload) {\n var _this = this;\n if (this._isRateLimited(sentryRequest.type)) {\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n reason: \"Transport locked till \" + this._disabledUntil(sentryRequest.type) + \" due to too many requests.\",\n status: 429,\n });\n }\n var options = {\n body: sentryRequest.body,\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : ''),\n };\n if (this.options.fetchParameters !== undefined) {\n Object.assign(options, this.options.fetchParameters);\n }\n if (this.options.headers !== undefined) {\n options.headers = this.options.headers;\n }\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n global\n .fetch(sentryRequest.url, options)\n .then(function (response) {\n var headers = {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n };\n _this._handleResponse({\n requestType: sentryRequest.type,\n response: response,\n headers: headers,\n resolve: resolve,\n reject: reject,\n });\n })\n .catch(reject);\n }));\n };\n return FetchTransport;\n}(BaseTransport));\nexport { FetchTransport };\n//# sourceMappingURL=fetch.js.map","import { __extends } from \"tslib\";\nimport { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\n/** `XHR` based transport */\nvar XHRTransport = /** @class */ (function (_super) {\n __extends(XHRTransport, _super);\n function XHRTransport() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n XHRTransport.prototype.sendEvent = function (event) {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n };\n /**\n * @inheritDoc\n */\n XHRTransport.prototype.sendSession = function (session) {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n };\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n XHRTransport.prototype._sendRequest = function (sentryRequest, originalPayload) {\n var _this = this;\n if (this._isRateLimited(sentryRequest.type)) {\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n reason: \"Transport locked till \" + this._disabledUntil(sentryRequest.type) + \" due to too many requests.\",\n status: 429,\n });\n }\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (request.readyState === 4) {\n var headers = {\n 'x-sentry-rate-limits': request.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': request.getResponseHeader('Retry-After'),\n };\n _this._handleResponse({ requestType: sentryRequest.type, response: request, headers: headers, resolve: resolve, reject: reject });\n }\n };\n request.open('POST', sentryRequest.url);\n for (var header in _this.options.headers) {\n if (_this.options.headers.hasOwnProperty(header)) {\n request.setRequestHeader(header, _this.options.headers[header]);\n }\n }\n request.send(sentryRequest.body);\n }));\n };\n return XHRTransport;\n}(BaseTransport));\nexport { XHRTransport };\n//# sourceMappingURL=xhr.js.map","import { __assign, __extends } from \"tslib\";\nimport { BaseBackend } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { supportsFetch } from '@sentry/utils';\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { FetchTransport, XHRTransport } from './transports';\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nvar BrowserBackend = /** @class */ (function (_super) {\n __extends(BrowserBackend, _super);\n function BrowserBackend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromException = function (exception, hint) {\n return eventFromException(this._options, exception, hint);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromMessage = function (message, level, hint) {\n if (level === void 0) { level = Severity.Info; }\n return eventFromMessage(this._options, message, level, hint);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype._setupTransport = function () {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return _super.prototype._setupTransport.call(this);\n }\n var transportOptions = __assign(__assign({}, this._options.transportOptions), { dsn: this._options.dsn });\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n return new FetchTransport(transportOptions);\n }\n return new XHRTransport(transportOptions);\n };\n return BrowserBackend;\n}(BaseBackend));\nexport { BrowserBackend };\n//# sourceMappingURL=backend.js.map","import { __assign, __read, __spread } from \"tslib\";\nimport { getCurrentHub } from '@sentry/hub';\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction callOnHub(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var hub = getCurrentHub();\n if (hub && hub[method]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return hub[method].apply(hub, __spread(args));\n }\n throw new Error(\"No hub defined or \" + method + \" was not found on the hub, please open a bug report.\");\n}\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function captureException(exception, captureContext) {\n var syntheticException;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureException', exception, {\n captureContext: captureContext,\n originalException: exception,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param level Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message, captureContext) {\n var syntheticException;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n var level = typeof captureContext === 'string' ? captureContext : undefined;\n var context = typeof captureContext !== 'string' ? { captureContext: captureContext } : undefined;\n return callOnHub('captureMessage', message, level, __assign({ originalException: message, syntheticException: syntheticException }, context));\n}\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event) {\n return callOnHub('captureEvent', event);\n}\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback) {\n callOnHub('configureScope', callback);\n}\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb) {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name, context) {\n callOnHub('setContext', name, context);\n}\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras) {\n callOnHub('setExtras', extras);\n}\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags) {\n callOnHub('setTags', tags);\n}\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key, extra) {\n callOnHub('setExtra', key, extra);\n}\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key, value) {\n callOnHub('setTag', key, value);\n}\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user) {\n callOnHub('setUser', user);\n}\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback) {\n callOnHub('withScope', callback);\n}\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _callOnClient(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n callOnHub.apply(void 0, __spread(['_invokeClient', method], args));\n}\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nexport function startTransaction(context, customSamplingContext) {\n return callOnHub('startTransaction', __assign({}, context), customSamplingContext);\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { API, captureException, withScope } from '@sentry/core';\nimport { addExceptionMechanism, addExceptionTypeValue, logger } from '@sentry/utils';\nvar ignoreOnError = 0;\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n/**\n * @hidden\n */\nexport function ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(function () {\n ignoreOnError -= 1;\n });\n}\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(fn, options, before) {\n if (options === void 0) { options = {}; }\n if (typeof fn !== 'function') {\n return fn;\n }\n try {\n // We don't wanna wrap it twice\n if (fn.__sentry__) {\n return fn;\n }\n // If this has already been wrapped in the past, return that wrapped function\n if (fn.__sentry_wrapped__) {\n return fn.__sentry_wrapped__;\n }\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n /* eslint-disable prefer-rest-params */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var sentryWrapped = function () {\n var args = Array.prototype.slice.call(arguments);\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n var wrappedArguments = args.map(function (arg) { return wrap(arg, options); });\n if (fn.handleEvent) {\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return fn.handleEvent.apply(this, wrappedArguments);\n }\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n }\n catch (ex) {\n ignoreNextOnError();\n withScope(function (scope) {\n scope.addEventProcessor(function (event) {\n var processedEvent = __assign({}, event);\n if (options.mechanism) {\n addExceptionTypeValue(processedEvent, undefined, undefined);\n addExceptionMechanism(processedEvent, options.mechanism);\n }\n processedEvent.extra = __assign(__assign({}, processedEvent.extra), { arguments: args });\n return processedEvent;\n });\n captureException(ex);\n });\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n }\n catch (_oO) { } // eslint-disable-line no-empty\n fn.prototype = fn.prototype || {};\n sentryWrapped.prototype = fn.prototype;\n Object.defineProperty(fn, '__sentry_wrapped__', {\n enumerable: false,\n value: sentryWrapped,\n });\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n Object.defineProperties(sentryWrapped, {\n __sentry__: {\n enumerable: false,\n value: true,\n },\n __sentry_original__: {\n enumerable: false,\n value: fn,\n },\n });\n // Restore original function name (not all browsers allow that)\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get: function () {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n }\n catch (_oO) { }\n return sentryWrapped;\n}\n/**\n * Injects the Report Dialog script\n * @hidden\n */\nexport function injectReportDialog(options) {\n if (options === void 0) { options = {}; }\n if (!options.eventId) {\n logger.error(\"Missing eventId option in showReportDialog call\");\n return;\n }\n if (!options.dsn) {\n logger.error(\"Missing dsn option in showReportDialog call\");\n return;\n }\n var script = document.createElement('script');\n script.async = true;\n script.src = new API(options.dsn).getReportDialogEndpoint(options);\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n (document.head || document.body).appendChild(script);\n}\n//# sourceMappingURL=helpers.js.map","import { __assign, __read, __spread } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable max-lines */\nimport { getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addInstrumentationHandler, getEventDescription, getGlobalObject, htmlTreeAsString, parseUrl, safeJoin, } from '@sentry/utils';\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nvar Breadcrumbs = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function Breadcrumbs(options) {\n /**\n * @inheritDoc\n */\n this.name = Breadcrumbs.id;\n this._options = __assign({ console: true, dom: true, fetch: true, history: true, sentry: true, xhr: true }, options);\n }\n /**\n * Create a breadcrumb of `sentry` from the events themselves\n */\n Breadcrumbs.prototype.addSentryBreadcrumb = function (event) {\n if (!this._options.sentry) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: \"sentry.\" + (event.type === 'transaction' ? 'transaction' : 'event'),\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n }, {\n event: event,\n });\n };\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n Breadcrumbs.prototype.setupOnce = function () {\n var _this = this;\n if (this._options.console) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._consoleBreadcrumb.apply(_this, __spread(args));\n },\n type: 'console',\n });\n }\n if (this._options.dom) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._domBreadcrumb.apply(_this, __spread(args));\n },\n type: 'dom',\n });\n }\n if (this._options.xhr) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._xhrBreadcrumb.apply(_this, __spread(args));\n },\n type: 'xhr',\n });\n }\n if (this._options.fetch) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._fetchBreadcrumb.apply(_this, __spread(args));\n },\n type: 'fetch',\n });\n }\n if (this._options.history) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._historyBreadcrumb.apply(_this, __spread(args));\n },\n type: 'history',\n });\n }\n };\n /**\n * Creates breadcrumbs from console API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._consoleBreadcrumb = function (handlerData) {\n var breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: Severity.fromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = \"Assertion failed: \" + (safeJoin(handlerData.args.slice(1), ' ') || 'console.assert');\n breadcrumb.data.arguments = handlerData.args.slice(1);\n }\n else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n };\n /**\n * Creates breadcrumbs from DOM API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._domBreadcrumb = function (handlerData) {\n var target;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target)\n : htmlTreeAsString(handlerData.event);\n }\n catch (e) {\n target = '';\n }\n if (target.length === 0) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: \"ui.\" + handlerData.name,\n message: target,\n }, {\n event: handlerData.event,\n name: handlerData.name,\n });\n };\n /**\n * Creates breadcrumbs from XHR API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._xhrBreadcrumb = function (handlerData) {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n var _a = handlerData.xhr.__sentry_xhr__ || {}, method = _a.method, url = _a.url, status_code = _a.status_code, body = _a.body;\n getCurrentHub().addBreadcrumb({\n category: 'xhr',\n data: {\n method: method,\n url: url,\n status_code: status_code,\n },\n type: 'http',\n }, {\n xhr: handlerData.xhr,\n input: body,\n });\n return;\n }\n };\n /**\n * Creates breadcrumbs from fetch API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._fetchBreadcrumb = function (handlerData) {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: handlerData.fetchData,\n level: Severity.Error,\n type: 'http',\n }, {\n data: handlerData.error,\n input: handlerData.args,\n });\n }\n else {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: __assign(__assign({}, handlerData.fetchData), { status_code: handlerData.response.status }),\n type: 'http',\n }, {\n input: handlerData.args,\n response: handlerData.response,\n });\n }\n };\n /**\n * Creates breadcrumbs from history API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Breadcrumbs.prototype._historyBreadcrumb = function (handlerData) {\n var global = getGlobalObject();\n var from = handlerData.from;\n var to = handlerData.to;\n var parsedLoc = parseUrl(global.location.href);\n var parsedFrom = parseUrl(from);\n var parsedTo = parseUrl(to);\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from: from,\n to: to,\n },\n });\n };\n /**\n * @inheritDoc\n */\n Breadcrumbs.id = 'Breadcrumbs';\n return Breadcrumbs;\n}());\nexport { Breadcrumbs };\n//# sourceMappingURL=breadcrumbs.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport { BaseClient } from '@sentry/core';\nimport { getGlobalObject, logger } from '@sentry/utils';\nimport { BrowserBackend } from './backend';\nimport { injectReportDialog } from './helpers';\nimport { Breadcrumbs } from './integrations';\nimport { SDK_NAME, SDK_VERSION } from './version';\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nvar BrowserClient = /** @class */ (function (_super) {\n __extends(BrowserClient, _super);\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n function BrowserClient(options) {\n if (options === void 0) { options = {}; }\n return _super.call(this, BrowserBackend, options) || this;\n }\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n BrowserClient.prototype.showReportDialog = function (options) {\n if (options === void 0) { options = {}; }\n // doesn't work without a document (React Native)\n var document = getGlobalObject().document;\n if (!document) {\n return;\n }\n if (!this._isEnabled()) {\n logger.error('Trying to call showReportDialog with Sentry Client disabled');\n return;\n }\n injectReportDialog(__assign(__assign({}, options), { dsn: options.dsn || this.getDsn() }));\n };\n /**\n * @inheritDoc\n */\n BrowserClient.prototype._prepareEvent = function (event, scope, hint) {\n event.platform = event.platform || 'javascript';\n event.sdk = __assign(__assign({}, event.sdk), { name: SDK_NAME, packages: __spread(((event.sdk && event.sdk.packages) || []), [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ]), version: SDK_VERSION });\n return _super.prototype._prepareEvent.call(this, event, scope, hint);\n };\n /**\n * @inheritDoc\n */\n BrowserClient.prototype._sendEvent = function (event) {\n var integration = this.getIntegration(Breadcrumbs);\n if (integration) {\n integration.addSentryBreadcrumb(event);\n }\n _super.prototype._sendEvent.call(this, event);\n };\n return BrowserClient;\n}(BaseClient));\nexport { BrowserClient };\n//# sourceMappingURL=client.js.map","export var SDK_NAME = 'sentry.javascript.browser';\nexport var SDK_VERSION = '5.30.0';\n//# sourceMappingURL=version.js.map","import { __assign } from \"tslib\";\nimport { fill, getFunctionName, getGlobalObject } from '@sentry/utils';\nimport { wrap } from '../helpers';\nvar DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nvar TryCatch = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function TryCatch(options) {\n /**\n * @inheritDoc\n */\n this.name = TryCatch.id;\n this._options = __assign({ XMLHttpRequest: true, eventTarget: true, requestAnimationFrame: true, setInterval: true, setTimeout: true }, options);\n }\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n TryCatch.prototype.setupOnce = function () {\n var global = getGlobalObject();\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', this._wrapTimeFunction.bind(this));\n }\n if (this._options.setInterval) {\n fill(global, 'setInterval', this._wrapTimeFunction.bind(this));\n }\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', this._wrapRAF.bind(this));\n }\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this));\n }\n if (this._options.eventTarget) {\n var eventTarget = Array.isArray(this._options.eventTarget) ? this._options.eventTarget : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(this._wrapEventTarget.bind(this));\n }\n };\n /** JSDoc */\n TryCatch.prototype._wrapTimeFunction = function (original) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n };\n /** JSDoc */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n TryCatch.prototype._wrapRAF = function (original) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (callback) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.call(this, wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }));\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapEventTarget = function (target) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var global = getGlobalObject();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n var proto = global[target] && global[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n try {\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n }\n catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n return original.call(this, eventName, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n }), options);\n };\n });\n fill(proto, 'removeEventListener', function (originalRemoveEventListener) {\n return function (eventName, fn, options) {\n var _a;\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n var wrappedEventHandler = fn;\n try {\n var originalEventHandler = (_a = wrappedEventHandler) === null || _a === void 0 ? void 0 : _a.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n });\n };\n /** JSDoc */\n TryCatch.prototype._wrapXHR = function (originalSend) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var xhr = this;\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n xmlHttpRequestProps.forEach(function (prop) {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n // If Instrument integration has been called before TryCatch, get the name of original function\n if (original.__sentry_original__) {\n wrapOptions.mechanism.data.handler = getFunctionName(original.__sentry_original__);\n }\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n return originalSend.apply(this, args);\n };\n };\n /**\n * @inheritDoc\n */\n TryCatch.id = 'TryCatch';\n return TryCatch;\n}());\nexport { TryCatch };\n//# sourceMappingURL=trycatch.js.map","import { __assign } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, addInstrumentationHandler, getLocationHref, isErrorEvent, isPrimitive, isString, logger, } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n/** Global handlers */\nvar GlobalHandlers = /** @class */ (function () {\n /** JSDoc */\n function GlobalHandlers(options) {\n /**\n * @inheritDoc\n */\n this.name = GlobalHandlers.id;\n /** JSDoc */\n this._onErrorHandlerInstalled = false;\n /** JSDoc */\n this._onUnhandledRejectionHandlerInstalled = false;\n this._options = __assign({ onerror: true, onunhandledrejection: true }, options);\n }\n /**\n * @inheritDoc\n */\n GlobalHandlers.prototype.setupOnce = function () {\n Error.stackTraceLimit = 50;\n if (this._options.onerror) {\n logger.log('Global Handler attached: onerror');\n this._installGlobalOnErrorHandler();\n }\n if (this._options.onunhandledrejection) {\n logger.log('Global Handler attached: onunhandledrejection');\n this._installGlobalOnUnhandledRejectionHandler();\n }\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnErrorHandler = function () {\n var _this = this;\n if (this._onErrorHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callback: function (data) {\n var error = data.error;\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? _this._eventFromIncompleteOnError(data.msg, data.url, data.line, data.column)\n : _this._enhanceEventWithInitialFrame(eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: false,\n }), data.url, data.line, data.column);\n addExceptionMechanism(event, {\n handled: false,\n type: 'onerror',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n },\n type: 'error',\n });\n this._onErrorHandlerInstalled = true;\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnUnhandledRejectionHandler = function () {\n var _this = this;\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callback: function (e) {\n var error = e;\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n }\n catch (_oO) {\n // no-empty\n }\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return true;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? _this._eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: true,\n });\n event.level = Severity.Error;\n addExceptionMechanism(event, {\n handled: false,\n type: 'onunhandledrejection',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n return;\n },\n type: 'unhandledrejection',\n });\n this._onUnhandledRejectionHandlerInstalled = true;\n };\n /**\n * This function creates a stack from an old, error-less onerror handler.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n GlobalHandlers.prototype._eventFromIncompleteOnError = function (msg, url, line, column) {\n var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n // If 'message' is ErrorEvent, get real message from inside\n var message = isErrorEvent(msg) ? msg.message : msg;\n var name;\n if (isString(message)) {\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n }\n var event = {\n exception: {\n values: [\n {\n type: name || 'Error',\n value: message,\n },\n ],\n },\n };\n return this._enhanceEventWithInitialFrame(event, url, line, column);\n };\n /**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\n GlobalHandlers.prototype._eventFromRejectionWithPrimitive = function (reason) {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: \"Non-Error promise rejection captured with value: \" + String(reason),\n },\n ],\n },\n };\n };\n /** JSDoc */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n GlobalHandlers.prototype._enhanceEventWithInitialFrame = function (event, url, line, column) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].stacktrace = event.exception.values[0].stacktrace || {};\n event.exception.values[0].stacktrace.frames = event.exception.values[0].stacktrace.frames || [];\n var colno = isNaN(parseInt(column, 10)) ? undefined : column;\n var lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n var filename = isString(url) && url.length > 0 ? url : getLocationHref();\n if (event.exception.values[0].stacktrace.frames.length === 0) {\n event.exception.values[0].stacktrace.frames.push({\n colno: colno,\n filename: filename,\n function: '?',\n in_app: true,\n lineno: lineno,\n });\n }\n return event;\n };\n /**\n * @inheritDoc\n */\n GlobalHandlers.id = 'GlobalHandlers';\n return GlobalHandlers;\n}());\nexport { GlobalHandlers };\n//# sourceMappingURL=globalhandlers.js.map","import { __read, __spread } from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { isInstanceOf } from '@sentry/utils';\nimport { exceptionFromStacktrace } from '../parsers';\nimport { computeStackTrace } from '../tracekit';\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n/** Adds SDK info to an event. */\nvar LinkedErrors = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function LinkedErrors(options) {\n if (options === void 0) { options = {}; }\n /**\n * @inheritDoc\n */\n this.name = LinkedErrors.id;\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event, hint) {\n var self = getCurrentHub().getIntegration(LinkedErrors);\n if (self) {\n return self._handler(event, hint);\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._handler = function (event, hint) {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n var linkedErrors = this._walkErrorTree(hint.originalException, this._key);\n event.exception.values = __spread(linkedErrors, event.exception.values);\n return event;\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._walkErrorTree = function (error, key, stack) {\n if (stack === void 0) { stack = []; }\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= this._limit) {\n return stack;\n }\n var stacktrace = computeStackTrace(error[key]);\n var exception = exceptionFromStacktrace(stacktrace);\n return this._walkErrorTree(error[key], key, __spread([exception], stack));\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.id = 'LinkedErrors';\n return LinkedErrors;\n}());\nexport { LinkedErrors };\n//# sourceMappingURL=linkederrors.js.map","import { __assign } from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\nvar global = getGlobalObject();\n/** UserAgent */\nvar UserAgent = /** @class */ (function () {\n function UserAgent() {\n /**\n * @inheritDoc\n */\n this.name = UserAgent.id;\n }\n /**\n * @inheritDoc\n */\n UserAgent.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n var _a, _b, _c;\n if (getCurrentHub().getIntegration(UserAgent)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n // grab as much info as exists and add it to the event\n var url = ((_a = event.request) === null || _a === void 0 ? void 0 : _a.url) || ((_b = global.location) === null || _b === void 0 ? void 0 : _b.href);\n var referrer = (global.document || {}).referrer;\n var userAgent = (global.navigator || {}).userAgent;\n var headers = __assign(__assign(__assign({}, (_c = event.request) === null || _c === void 0 ? void 0 : _c.headers), (referrer && { Referer: referrer })), (userAgent && { 'User-Agent': userAgent }));\n var request = __assign(__assign({}, (url && { url: url })), { headers: headers });\n return __assign(__assign({}, event), { request: request });\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n UserAgent.id = 'UserAgent';\n return UserAgent;\n}());\nexport { UserAgent };\n//# sourceMappingURL=useragent.js.map","import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject, SyncPromise } from '@sentry/utils';\nimport { BrowserClient } from './client';\nimport { wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';\nexport var defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new UserAgent(),\n];\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options) {\n if (options === void 0) { options = {}; }\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n var window_1 = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window_1.SENTRY_RELEASE && window_1.SENTRY_RELEASE.id) {\n options.release = window_1.SENTRY_RELEASE.id;\n }\n }\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = false;\n }\n initAndBind(BrowserClient, options);\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options) {\n if (options === void 0) { options = {}; }\n if (!options.eventId) {\n options.eventId = getCurrentHub().lastEventId();\n }\n var client = getCurrentHub().getClient();\n if (client) {\n client.showReportDialog(options);\n }\n}\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId() {\n return getCurrentHub().lastEventId();\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad() {\n // Noop\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback) {\n callback();\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function flush(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function close(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function wrap(fn) {\n return internalWrap(fn)();\n}\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking() {\n var window = getGlobalObject();\n var hub = getCurrentHub();\n /**\n * We should be using `Promise.all([windowLoaded, firstContentfulPaint])` here,\n * but, as always, it's not available in the IE10-11. Thanks IE.\n */\n var loadResolved = document.readyState === 'complete';\n var fcpResolved = false;\n var possiblyEndSession = function () {\n if (fcpResolved && loadResolved) {\n hub.endSession();\n }\n };\n var resolveWindowLoaded = function () {\n loadResolved = true;\n possiblyEndSession();\n window.removeEventListener('load', resolveWindowLoaded);\n };\n hub.startSession();\n if (!loadResolved) {\n // IE doesn't support `{ once: true }` for event listeners, so we have to manually\n // attach and then detach it once completed.\n window.addEventListener('load', resolveWindowLoaded);\n }\n try {\n var po = new PerformanceObserver(function (entryList, po) {\n entryList.getEntries().forEach(function (entry) {\n if (entry.name === 'first-contentful-paint' && entry.startTime < firstHiddenTime_1) {\n po.disconnect();\n fcpResolved = true;\n possiblyEndSession();\n }\n });\n });\n // There's no need to even attach this listener if `PerformanceObserver` constructor will fail,\n // so we do it below here.\n var firstHiddenTime_1 = document.visibilityState === 'hidden' ? 0 : Infinity;\n document.addEventListener('visibilitychange', function (event) {\n firstHiddenTime_1 = Math.min(firstHiddenTime_1, event.timeStamp);\n }, { once: true });\n po.observe({\n type: 'paint',\n buffered: true,\n });\n }\n catch (e) {\n fcpResolved = true;\n possiblyEndSession();\n }\n}\n//# sourceMappingURL=sdk.js.map","import { getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(clientClass, options) {\n if (options.debug === true) {\n logger.enable();\n }\n var hub = getCurrentHub();\n var client = new clientClass(options);\n hub.bindClient(client);\n}\n//# sourceMappingURL=sdk.js.map","import * as React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nconst IconDiv = styled.div`\r\n background-image: url(${props => props.url});\r\n background-position: center;\r\n background-repeat: no-repeat;\r\n display: inline-flex;\r\n height: ${props => props.height ?? '30px'};\r\n width: ${props => props.width ?? '30px'};\r\n`;\r\n\r\nexport interface IconStylingProps {\r\n height?: string;\r\n width?: string;\r\n className?: string;\r\n id?: string;\r\n}\r\n\r\ninterface IconProps extends IconStylingProps {\r\n url: string;\r\n}\r\n\r\nconst Icon = (props: IconProps) => {\r\n return ;\r\n};\r\n\r\nexport default Icon;\r\n","import * as CatchpointSmallSvg from 'styles/icons/ico-nav-brandsmall.svg';\r\nimport Icon, { IconStylingProps } from './Icon';\r\nimport * as React from 'react';\r\n\r\nconst CatchpointSmallLogo = (props: IconStylingProps) => {\r\n return ;\r\n};\r\n\r\nexport default CatchpointSmallLogo;\r\n","import * as imgUrl from 'styles/icons/ico-dropdown-chevron.svg';\r\nimport Icon, { IconStylingProps } from './Icon';\r\nimport * as React from 'react';\r\n\r\nconst ChevronDown = (props: IconStylingProps) => {\r\n return ;\r\n};\r\n\r\nexport default ChevronDown;\r\n","import * as imgUrl from 'styles/icons/ico-chevron-light-down.svg';\r\nimport Icon, { IconStylingProps } from './Icon';\r\nimport * as React from 'react';\r\n\r\nconst ChevronDownLight = (props: IconStylingProps) => {\r\n return ;\r\n};\r\n\r\nexport default ChevronDownLight;\r\n","import * as ExternalLinkSvg from 'styles/icons/ico-external-link.svg';\r\nimport Icon, { IconStylingProps } from './Icon';\r\nimport * as React from 'react';\r\n\r\nconst ExternalLink = (props: IconStylingProps) => {\r\n return ;\r\n};\r\n\r\nexport default ExternalLink;\r\n","import * as CatchpointSmallSvg from 'styles/icons/ico-hamburger.svg';\r\nimport Icon, { IconStylingProps } from './Icon';\r\nimport * as React from 'react';\r\n\r\nconst Hamburger = (props: IconStylingProps) => {\r\n return ;\r\n};\r\n\r\nexport default Hamburger;\r\n","import * as imgUrl from 'styles/icons/ico-lightning.svg';\r\nimport Icon, { IconStylingProps } from './Icon';\r\nimport * as React from 'react';\r\n\r\nconst Lightning = (props: IconStylingProps) => {\r\n return ;\r\n};\r\n\r\nexport default Lightning;\r\n","import { IIconSubset } from '@uifabric/styling/lib/utilities/icons';\r\nimport * as React from 'react';\r\nimport { Hamburger, ChevronDown, ChevronDownLight } from '../icons';\r\n\r\nconst styles = require('./fabricIcons.scss') as { [key: string]: string };\r\n\r\nexport const icons: IIconSubset = {\r\n icons: {\r\n activate:
,\r\n activateCheck:
,\r\n activateGray:
,\r\n addIndex:
,\r\n addNewDarkBlue:
,\r\n alerts:
,\r\n alertsBlue:
,\r\n alertsCritical:
,\r\n alertsWarning:
,\r\n alertsSiteNav:
,\r\n analysisSiteNav:
,\r\n analyze:
,\r\n area:
,\r\n backbone:
,\r\n backboneNode:
,\r\n backward:
,\r\n blackFillSparkline:
,\r\n blackLineChart:
,\r\n blackScatterplot:
,\r\n burgerMenu:
,\r\n calendar:
,\r\n calendarPicker:
,\r\n cancel:
,\r\n cancelBlue:
,\r\n changelog:
,\r\n checkmark:
,\r\n chevron:
,\r\n chevronDark:
,\r\n chevrondown: ,\r\n chevrondownLarge:
,\r\n chevrondownLargeLight:
,\r\n chevrondownLight: ,\r\n chevronupLight:
,\r\n chevronright:
,\r\n chevronrightLight:
,\r\n ChevronRightMed:
,\r\n circle:
,\r\n circleGreen:
,\r\n circlering:
,\r\n circleLegendStatus:
,\r\n clear:
,\r\n clock:
,\r\n cloud:
,\r\n cloudNode:
,\r\n colorCell:
,\r\n closedark:
,\r\n comboBox:
,\r\n compareline:
,\r\n comparison:
,\r\n Completed:
,\r\n contactsSiteNav:
,\r\n controlcenterSiteNav:
,\r\n copy:
,\r\n excelDownload:
,\r\n event:
,\r\n drag:
,\r\n dashboardSiteNav:
,\r\n success:
,\r\n deactivate:
,\r\n deactivateCheck:
,\r\n delete:
,\r\n deleteDarkBlue:
,\r\n deleteIcon:
,\r\n diamondRed:
,\r\n dimensions:
,\r\n doubleChevronDown:
,\r\n doubleChevronUp:
,\r\n doughnut:
,\r\n down:
,\r\n download:
,\r\n unFilledDownload:
,\r\n downloadCsv:
,\r\n darkBlueDownloadCsv:
,\r\n darkBlueDownloadJson:
,\r\n edit:
,\r\n editDarkBlue:
,\r\n editFavoriteChart:
,\r\n editProperties:
,\r\n endpointsAlert:
,\r\n editSmall:
,\r\n endpointsAlertBlack:
,\r\n endpointsEmployeeApp:
,\r\n endpointsEmployeeAppBlack:
,\r\n endpointsEndpoint:
,\r\n endpointsEndpointBlack:
,\r\n endpointsListTests:
,\r\n endpointsLocation:
,\r\n endpointsLocationBlack:
,\r\n endpointsNetworkDevice:
,\r\n endpointsNetworkDeviceBlack:
,\r\n endpointScheduleTest:
,\r\n enterprise:
,\r\n emailPreferences:
,\r\n enterpriseNode:
,\r\n ErrorBadge:
,\r\n errors:
,\r\n errorTooltip:
,\r\n expandArrows:
,\r\n leftChevronArrow:
,\r\n rightChevronArrow:
,\r\n favoriteEmpty:
,\r\n favoriteEmptyDarkBlue:
,\r\n favoriteFilled:
,\r\n favoriteFilledDarkBlue:
,\r\n file:
,\r\n filter:
,\r\n filterButton:
,\r\n filterButtonWhite:
,\r\n filterButtonLight:
,\r\n filterButtonXLarge:
,\r\n folder:
,\r\n fullScreen:
,\r\n groupedBar:
,\r\n hamburger: ,\r\n harDownload:
,\r\n heatMap:
,\r\n heroNumber:
,\r\n info:
,\r\n infoBlack:
,\r\n infoBlue:
,\r\n infoIcon:
,\r\n instantTest:
,\r\n kiosk:
,\r\n lastmile:
,\r\n lastmileNode:
,\r\n lineChart:
,\r\n libraryCertificates:
,\r\n libraryFiles:
,\r\n libraryGlobalVariables:
,\r\n libraryPasswords:
,\r\n libraryProxy:
,\r\n lightPartial:
,\r\n darkPartial:
,\r\n linkDashboardBlade:
,\r\n list:
,\r\n list2:
,\r\n map:
,\r\n menu:
,\r\n more:
,\r\n moveto:
,\r\n network:
,\r\n new:
,\r\n newIconSmartboardTable:
,\r\n newDashboardBlade:
,\r\n nodesSiteNav:
,\r\n noDataFound:
,\r\n noSearchFound:
,\r\n partial:
,\r\n password:
,\r\n pause:
,\r\n pauseAlerts:
,\r\n performance:
,\r\n print:
,\r\n product:
,\r\n properties:
,\r\n refresh:
,\r\n remove:
,\r\n removeBlack:
,\r\n removeBlue:
,\r\n removeWhite:
,\r\n removeDarkBlue:
,\r\n reportsSiteNav:
,\r\n reset:
,\r\n resume:
,\r\n resumeAlerts:
,\r\n revert:
,\r\n darkBlueRevert:
,\r\n sampledData:
,\r\n save:
,\r\n saveDarkBlue:
,\r\n scatterplot:
,\r\n scatterplotBlack:
,\r\n scatterplotNoAxis:
,\r\n scatterplotOld:
,\r\n search:
,\r\n searchLight:
,\r\n settingsSiteNav:
,\r\n share:
,\r\n signout:
,\r\n smartboard:
,\r\n smartboardBlue:
,\r\n smartboardError:
,\r\n squareLegendStatus:
,\r\n squareGrayLegendStatus:
,\r\n drop:
,\r\n acknowledge:
,\r\n resumeAlert:
,\r\n pauseAlert:
,\r\n create:
,\r\n square:
,\r\n sortdown:
,\r\n assignTo:
,\r\n sortup:
,\r\n sparkBar:
,\r\n statistical:
,\r\n statuscirclecheckmark:
,\r\n table:
,\r\n tile:
,\r\n timeSeries:
,\r\n trending:
,\r\n triangleLegendStatus:
,\r\n triangle:
,\r\n tune:
,\r\n up:
,\r\n userpreferences:
,\r\n viewall:
,\r\n warning:
,\r\n waterfall:
,\r\n waterfallDisabled:
,\r\n waterfallOld:
,\r\n widgetList:
,\r\n wireless:
,\r\n wirelessNode:
,\r\n wrench:
,\r\n smallXAxis:
,\r\n smallYAxis:
,\r\n smallMultiLineChart:
,\r\n instantTestSiteNav:
,\r\n blueCircleRing:
,\r\n openLink:
,\r\n overflowItemOpenLink:
,\r\n node:
,\r\n webpage:
,\r\n webpageBlue:
,\r\n device:
,\r\n deviceBlue:
,\r\n wptFolder:
,\r\n xLegendStatus:
,\r\n thirdParty:
,\r\n testComparison:
,\r\n javascript:
,\r\n benchmark:
,\r\n credential:
,\r\n gauge:
,\r\n hide:
,\r\n redEye:
,\r\n asn:
\r\n }\r\n};\r\n","import { PartialTheme } from '@fluentui/react-theme-provider';\r\n\r\nexport const theme: PartialTheme = {\r\n defaultFontStyle: {\r\n fontFamily: 'Arial, Helvetica, sans-serif'\r\n },\r\n fonts: {\r\n xLarge: {\r\n fontFamily: 'Arial, Helvetica, sans-serif',\r\n fontSize: '14px'\r\n },\r\n medium: {\r\n fontFamily: 'Arial, Helvetica, sans-serif',\r\n fontSize: '12px'\r\n },\r\n small: {\r\n fontFamily: 'Arial, Helvetica, sans-serif',\r\n fontSize: '12px'\r\n }\r\n }\r\n};\r\n","import { getGlobalObject, logger } from '@sentry/utils';\nimport { SpanStatus } from '../spanstatus';\nimport { getActiveTransaction } from '../utils';\nvar global = getGlobalObject();\n/**\n * Add a listener that cancels and finishes a transaction when the global\n * document is hidden.\n */\nexport function registerBackgroundTabDetection() {\n if (global && global.document) {\n global.document.addEventListener('visibilitychange', function () {\n var activeTransaction = getActiveTransaction();\n if (global.document.hidden && activeTransaction) {\n logger.log(\"[Tracing] Transaction: \" + SpanStatus.Cancelled + \" -> since tab moved to the background, op: \" + activeTransaction.op);\n // We should not set status if it is already set, this prevent important statuses like\n // error or data loss from being overwritten on transaction.\n if (!activeTransaction.status) {\n activeTransaction.setStatus(SpanStatus.Cancelled);\n }\n activeTransaction.setTag('visibilitychange', 'document.hidden');\n activeTransaction.finish();\n }\n });\n }\n else {\n logger.warn('[Tracing] Could not set up background tab detection due to lack of global document');\n }\n}\n//# sourceMappingURL=backgroundtab.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport var bindReporter = function (callback, metric, po, observeAllUpdates) {\n var prevValue;\n return function () {\n if (po && metric.isFinal) {\n po.disconnect();\n }\n if (metric.value >= 0) {\n if (observeAllUpdates || metric.isFinal || document.visibilityState === 'hidden') {\n metric.delta = metric.value - (prevValue || 0);\n // Report the metric if there's a non-zero delta, if the metric is\n // final, or if no previous value exists (which can happen in the case\n // of the document becoming hidden when the metric value is 0).\n // See: https://github.com/GoogleChrome/web-vitals/issues/14\n if (metric.delta || metric.isFinal || prevValue === undefined) {\n callback(metric);\n prevValue = metric.value;\n }\n }\n }\n };\n};\n//# sourceMappingURL=bindReporter.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { onHidden } from './onHidden';\nvar firstHiddenTime;\nexport var getFirstHidden = function () {\n if (firstHiddenTime === undefined) {\n // If the document is hidden when this code runs, assume it was hidden\n // since navigation start. This isn't a perfect heuristic, but it's the\n // best we can do until an API is available to support querying past\n // visibilityState.\n firstHiddenTime = document.visibilityState === 'hidden' ? 0 : Infinity;\n // Update the time if/when the document becomes hidden.\n onHidden(function (_a) {\n var timeStamp = _a.timeStamp;\n return (firstHiddenTime = timeStamp);\n }, true);\n }\n return {\n get timeStamp() {\n return firstHiddenTime;\n },\n };\n};\n//# sourceMappingURL=getFirstHidden.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar inputPromise;\nexport var whenInput = function () {\n if (!inputPromise) {\n inputPromise = new Promise(function (r) {\n return ['scroll', 'keydown', 'pointerdown'].map(function (type) {\n addEventListener(type, r, {\n once: true,\n passive: true,\n capture: true,\n });\n });\n });\n }\n return inputPromise;\n};\n//# sourceMappingURL=whenInput.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { generateUniqueID } from './generateUniqueID';\nexport var initMetric = function (name, value) {\n if (value === void 0) { value = -1; }\n return {\n name: name,\n value: value,\n delta: 0,\n entries: [],\n id: generateUniqueID(),\n isFinal: false,\n };\n};\n//# sourceMappingURL=initMetric.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Performantly generate a unique, 27-char string by combining the current\n * timestamp with a 13-digit random number.\n * @return {string}\n */\nexport var generateUniqueID = function () {\n return Date.now() + \"-\" + (Math.floor(Math.random() * (9e12 - 1)) + 1e12);\n};\n//# sourceMappingURL=generateUniqueID.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Takes a performance entry type and a callback function, and creates a\n * `PerformanceObserver` instance that will observe the specified entry type\n * with buffering enabled and call the callback _for each entry_.\n *\n * This function also feature-detects entry support and wraps the logic in a\n * try/catch to avoid errors in unsupporting browsers.\n */\nexport var observe = function (type, callback) {\n try {\n if (PerformanceObserver.supportedEntryTypes.includes(type)) {\n var po = new PerformanceObserver(function (l) { return l.getEntries().map(callback); });\n po.observe({ type: type, buffered: true });\n return po;\n }\n }\n catch (e) {\n // Do nothing.\n }\n return;\n};\n//# sourceMappingURL=observe.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar isUnloading = false;\nvar listenersAdded = false;\nvar onPageHide = function (event) {\n isUnloading = !event.persisted;\n};\nvar addListeners = function () {\n addEventListener('pagehide', onPageHide);\n // `beforeunload` is needed to fix this bug:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=987409\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n addEventListener('beforeunload', function () { });\n};\nexport var onHidden = function (cb, once) {\n if (once === void 0) { once = false; }\n if (!listenersAdded) {\n addListeners();\n listenersAdded = true;\n }\n addEventListener('visibilitychange', function (_a) {\n var timeStamp = _a.timeStamp;\n if (document.visibilityState === 'hidden') {\n cb({ timeStamp: timeStamp, isUnloading: isUnloading });\n }\n }, { capture: true, once: once });\n};\n//# sourceMappingURL=onHidden.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { bindReporter } from './lib/bindReporter';\nimport { getFirstHidden } from './lib/getFirstHidden';\nimport { initMetric } from './lib/initMetric';\nimport { observe } from './lib/observe';\nimport { onHidden } from './lib/onHidden';\nimport { whenInput } from './lib/whenInput';\nexport var getLCP = function (onReport, reportAllChanges) {\n if (reportAllChanges === void 0) { reportAllChanges = false; }\n var metric = initMetric('LCP');\n var firstHidden = getFirstHidden();\n var report;\n var entryHandler = function (entry) {\n // The startTime attribute returns the value of the renderTime if it is not 0,\n // and the value of the loadTime otherwise.\n var value = entry.startTime;\n // If the page was hidden prior to paint time of the entry,\n // ignore it and mark the metric as final, otherwise add the entry.\n if (value < firstHidden.timeStamp) {\n metric.value = value;\n metric.entries.push(entry);\n }\n else {\n metric.isFinal = true;\n }\n report();\n };\n var po = observe('largest-contentful-paint', entryHandler);\n if (po) {\n report = bindReporter(onReport, metric, po, reportAllChanges);\n var onFinal = function () {\n if (!metric.isFinal) {\n po.takeRecords().map(entryHandler);\n metric.isFinal = true;\n report();\n }\n };\n void whenInput().then(onFinal);\n onHidden(onFinal, true);\n }\n};\n//# sourceMappingURL=getLCP.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { getGlobalObject } from '@sentry/utils';\nimport { initMetric } from './lib/initMetric';\nvar global = getGlobalObject();\nvar afterLoad = function (callback) {\n if (document.readyState === 'complete') {\n // Queue a task so the callback runs after `loadEventEnd`.\n setTimeout(callback, 0);\n }\n else {\n // Use `pageshow` so the callback runs after `loadEventEnd`.\n addEventListener('pageshow', callback);\n }\n};\nvar getNavigationEntryFromPerformanceTiming = function () {\n // Really annoying that TypeScript errors when using `PerformanceTiming`.\n // eslint-disable-next-line deprecation/deprecation\n var timing = global.performance.timing;\n var navigationEntry = {\n entryType: 'navigation',\n startTime: 0,\n };\n for (var key in timing) {\n if (key !== 'navigationStart' && key !== 'toJSON') {\n navigationEntry[key] = Math.max(timing[key] - timing.navigationStart, 0);\n }\n }\n return navigationEntry;\n};\nexport var getTTFB = function (onReport) {\n var metric = initMetric('TTFB');\n afterLoad(function () {\n try {\n // Use the NavigationTiming L2 entry if available.\n var navigationEntry = global.performance.getEntriesByType('navigation')[0] || getNavigationEntryFromPerformanceTiming();\n metric.value = metric.delta = navigationEntry.responseStart;\n metric.entries = [navigationEntry];\n onReport(metric);\n }\n catch (error) {\n // Do nothing.\n }\n });\n};\n//# sourceMappingURL=getTTFB.js.map","import { __assign, __rest } from \"tslib\";\nimport { browserPerformanceTimeOrigin, getGlobalObject, logger } from '@sentry/utils';\nimport { msToSec } from '../utils';\nimport { getCLS } from './web-vitals/getCLS';\nimport { getFID } from './web-vitals/getFID';\nimport { getLCP } from './web-vitals/getLCP';\nimport { getTTFB } from './web-vitals/getTTFB';\nimport { getFirstHidden } from './web-vitals/lib/getFirstHidden';\nvar global = getGlobalObject();\n/** Class tracking metrics */\nvar MetricsInstrumentation = /** @class */ (function () {\n function MetricsInstrumentation() {\n this._measurements = {};\n this._performanceCursor = 0;\n if (global && global.performance) {\n if (global.performance.mark) {\n global.performance.mark('sentry-tracing-init');\n }\n this._trackCLS();\n this._trackLCP();\n this._trackFID();\n this._trackTTFB();\n }\n }\n /** Add performance related spans to a transaction */\n MetricsInstrumentation.prototype.addPerformanceEntries = function (transaction) {\n var _this = this;\n if (!global || !global.performance || !global.performance.getEntries || !browserPerformanceTimeOrigin) {\n // Gatekeeper if performance API not available\n return;\n }\n logger.log('[Tracing] Adding & adjusting spans using Performance API');\n var timeOrigin = msToSec(browserPerformanceTimeOrigin);\n var entryScriptSrc;\n if (global.document) {\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (var i = 0; i < document.scripts.length; i++) {\n // We go through all scripts on the page and look for 'data-entry'\n // We remember the name and measure the time between this script finished loading and\n // our mark 'sentry-tracing-init'\n if (document.scripts[i].dataset.entry === 'true') {\n entryScriptSrc = document.scripts[i].src;\n break;\n }\n }\n }\n var entryScriptStartTimestamp;\n var tracingInitMarkStartTime;\n global.performance\n .getEntries()\n .slice(this._performanceCursor)\n .forEach(function (entry) {\n var startTime = msToSec(entry.startTime);\n var duration = msToSec(entry.duration);\n if (transaction.op === 'navigation' && timeOrigin + startTime < transaction.startTimestamp) {\n return;\n }\n switch (entry.entryType) {\n case 'navigation':\n addNavigationSpans(transaction, entry, timeOrigin);\n break;\n case 'mark':\n case 'paint':\n case 'measure': {\n var startTimestamp = addMeasureSpans(transaction, entry, startTime, duration, timeOrigin);\n if (tracingInitMarkStartTime === undefined && entry.name === 'sentry-tracing-init') {\n tracingInitMarkStartTime = startTimestamp;\n }\n // capture web vitals\n var firstHidden = getFirstHidden();\n // Only report if the page wasn't hidden prior to the web vital.\n var shouldRecord = entry.startTime < firstHidden.timeStamp;\n if (entry.name === 'first-paint' && shouldRecord) {\n logger.log('[Measurements] Adding FP');\n _this._measurements['fp'] = { value: entry.startTime };\n _this._measurements['mark.fp'] = { value: startTimestamp };\n }\n if (entry.name === 'first-contentful-paint' && shouldRecord) {\n logger.log('[Measurements] Adding FCP');\n _this._measurements['fcp'] = { value: entry.startTime };\n _this._measurements['mark.fcp'] = { value: startTimestamp };\n }\n break;\n }\n case 'resource': {\n var resourceName = entry.name.replace(window.location.origin, '');\n var endTimestamp = addResourceSpans(transaction, entry, resourceName, startTime, duration, timeOrigin);\n // We remember the entry script end time to calculate the difference to the first init mark\n if (entryScriptStartTimestamp === undefined && (entryScriptSrc || '').indexOf(resourceName) > -1) {\n entryScriptStartTimestamp = endTimestamp;\n }\n break;\n }\n default:\n // Ignore other entry types.\n }\n });\n if (entryScriptStartTimestamp !== undefined && tracingInitMarkStartTime !== undefined) {\n _startChild(transaction, {\n description: 'evaluation',\n endTimestamp: tracingInitMarkStartTime,\n op: 'script',\n startTimestamp: entryScriptStartTimestamp,\n });\n }\n this._performanceCursor = Math.max(performance.getEntries().length - 1, 0);\n this._trackNavigator(transaction);\n // Measurements are only available for pageload transactions\n if (transaction.op === 'pageload') {\n // normalize applicable web vital values to be relative to transaction.startTimestamp\n var timeOrigin_1 = msToSec(browserPerformanceTimeOrigin);\n ['fcp', 'fp', 'lcp', 'ttfb'].forEach(function (name) {\n if (!_this._measurements[name] || timeOrigin_1 >= transaction.startTimestamp) {\n return;\n }\n // The web vitals, fcp, fp, lcp, and ttfb, all measure relative to timeOrigin.\n // Unfortunately, timeOrigin is not captured within the transaction span data, so these web vitals will need\n // to be adjusted to be relative to transaction.startTimestamp.\n var oldValue = _this._measurements[name].value;\n var measurementTimestamp = timeOrigin_1 + msToSec(oldValue);\n // normalizedValue should be in milliseconds\n var normalizedValue = Math.abs((measurementTimestamp - transaction.startTimestamp) * 1000);\n var delta = normalizedValue - oldValue;\n logger.log(\"[Measurements] Normalized \" + name + \" from \" + oldValue + \" to \" + normalizedValue + \" (\" + delta + \")\");\n _this._measurements[name].value = normalizedValue;\n });\n if (this._measurements['mark.fid'] && this._measurements['fid']) {\n // create span for FID\n _startChild(transaction, {\n description: 'first input delay',\n endTimestamp: this._measurements['mark.fid'].value + msToSec(this._measurements['fid'].value),\n op: 'web.vitals',\n startTimestamp: this._measurements['mark.fid'].value,\n });\n }\n transaction.setMeasurements(this._measurements);\n }\n };\n /** Starts tracking the Cumulative Layout Shift on the current page. */\n MetricsInstrumentation.prototype._trackCLS = function () {\n var _this = this;\n getCLS(function (metric) {\n var entry = metric.entries.pop();\n if (!entry) {\n return;\n }\n logger.log('[Measurements] Adding CLS');\n _this._measurements['cls'] = { value: metric.value };\n });\n };\n /**\n * Capture the information of the user agent.\n */\n MetricsInstrumentation.prototype._trackNavigator = function (transaction) {\n var navigator = global.navigator;\n if (!navigator) {\n return;\n }\n // track network connectivity\n var connection = navigator.connection;\n if (connection) {\n if (connection.effectiveType) {\n transaction.setTag('effectiveConnectionType', connection.effectiveType);\n }\n if (connection.type) {\n transaction.setTag('connectionType', connection.type);\n }\n if (isMeasurementValue(connection.rtt)) {\n this._measurements['connection.rtt'] = { value: connection.rtt };\n }\n if (isMeasurementValue(connection.downlink)) {\n this._measurements['connection.downlink'] = { value: connection.downlink };\n }\n }\n if (isMeasurementValue(navigator.deviceMemory)) {\n transaction.setTag('deviceMemory', String(navigator.deviceMemory));\n }\n if (isMeasurementValue(navigator.hardwareConcurrency)) {\n transaction.setTag('hardwareConcurrency', String(navigator.hardwareConcurrency));\n }\n };\n /** Starts tracking the Largest Contentful Paint on the current page. */\n MetricsInstrumentation.prototype._trackLCP = function () {\n var _this = this;\n getLCP(function (metric) {\n var entry = metric.entries.pop();\n if (!entry) {\n return;\n }\n var timeOrigin = msToSec(performance.timeOrigin);\n var startTime = msToSec(entry.startTime);\n logger.log('[Measurements] Adding LCP');\n _this._measurements['lcp'] = { value: metric.value };\n _this._measurements['mark.lcp'] = { value: timeOrigin + startTime };\n });\n };\n /** Starts tracking the First Input Delay on the current page. */\n MetricsInstrumentation.prototype._trackFID = function () {\n var _this = this;\n getFID(function (metric) {\n var entry = metric.entries.pop();\n if (!entry) {\n return;\n }\n var timeOrigin = msToSec(performance.timeOrigin);\n var startTime = msToSec(entry.startTime);\n logger.log('[Measurements] Adding FID');\n _this._measurements['fid'] = { value: metric.value };\n _this._measurements['mark.fid'] = { value: timeOrigin + startTime };\n });\n };\n /** Starts tracking the Time to First Byte on the current page. */\n MetricsInstrumentation.prototype._trackTTFB = function () {\n var _this = this;\n getTTFB(function (metric) {\n var _a;\n var entry = metric.entries.pop();\n if (!entry) {\n return;\n }\n logger.log('[Measurements] Adding TTFB');\n _this._measurements['ttfb'] = { value: metric.value };\n // Capture the time spent making the request and receiving the first byte of the response\n var requestTime = metric.value - (_a = metric.entries[0], (_a !== null && _a !== void 0 ? _a : entry)).requestStart;\n _this._measurements['ttfb.requestTime'] = { value: requestTime };\n });\n };\n return MetricsInstrumentation;\n}());\nexport { MetricsInstrumentation };\n/** Instrument navigation entries */\nfunction addNavigationSpans(transaction, entry, timeOrigin) {\n addPerformanceNavigationTiming(transaction, entry, 'unloadEvent', timeOrigin);\n addPerformanceNavigationTiming(transaction, entry, 'redirect', timeOrigin);\n addPerformanceNavigationTiming(transaction, entry, 'domContentLoadedEvent', timeOrigin);\n addPerformanceNavigationTiming(transaction, entry, 'loadEvent', timeOrigin);\n addPerformanceNavigationTiming(transaction, entry, 'connect', timeOrigin);\n addPerformanceNavigationTiming(transaction, entry, 'secureConnection', timeOrigin, 'connectEnd');\n addPerformanceNavigationTiming(transaction, entry, 'fetch', timeOrigin, 'domainLookupStart');\n addPerformanceNavigationTiming(transaction, entry, 'domainLookup', timeOrigin);\n addRequest(transaction, entry, timeOrigin);\n}\n/** Create measure related spans */\nfunction addMeasureSpans(transaction, entry, startTime, duration, timeOrigin) {\n var measureStartTimestamp = timeOrigin + startTime;\n var measureEndTimestamp = measureStartTimestamp + duration;\n _startChild(transaction, {\n description: entry.name,\n endTimestamp: measureEndTimestamp,\n op: entry.entryType,\n startTimestamp: measureStartTimestamp,\n });\n return measureStartTimestamp;\n}\n/** Create resource-related spans */\nexport function addResourceSpans(transaction, entry, resourceName, startTime, duration, timeOrigin) {\n // we already instrument based on fetch and xhr, so we don't need to\n // duplicate spans here.\n if (entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch') {\n return undefined;\n }\n var data = {};\n if ('transferSize' in entry) {\n data['Transfer Size'] = entry.transferSize;\n }\n if ('encodedBodySize' in entry) {\n data['Encoded Body Size'] = entry.encodedBodySize;\n }\n if ('decodedBodySize' in entry) {\n data['Decoded Body Size'] = entry.decodedBodySize;\n }\n var startTimestamp = timeOrigin + startTime;\n var endTimestamp = startTimestamp + duration;\n _startChild(transaction, {\n description: resourceName,\n endTimestamp: endTimestamp,\n op: entry.initiatorType ? \"resource.\" + entry.initiatorType : 'resource',\n startTimestamp: startTimestamp,\n data: data,\n });\n return endTimestamp;\n}\n/** Create performance navigation related spans */\nfunction addPerformanceNavigationTiming(transaction, entry, event, timeOrigin, eventEnd) {\n var end = eventEnd ? entry[eventEnd] : entry[event + \"End\"];\n var start = entry[event + \"Start\"];\n if (!start || !end) {\n return;\n }\n _startChild(transaction, {\n op: 'browser',\n description: event,\n startTimestamp: timeOrigin + msToSec(start),\n endTimestamp: timeOrigin + msToSec(end),\n });\n}\n/** Create request and response related spans */\nfunction addRequest(transaction, entry, timeOrigin) {\n _startChild(transaction, {\n op: 'browser',\n description: 'request',\n startTimestamp: timeOrigin + msToSec(entry.requestStart),\n endTimestamp: timeOrigin + msToSec(entry.responseEnd),\n });\n _startChild(transaction, {\n op: 'browser',\n description: 'response',\n startTimestamp: timeOrigin + msToSec(entry.responseStart),\n endTimestamp: timeOrigin + msToSec(entry.responseEnd),\n });\n}\n/**\n * Helper function to start child on transactions. This function will make sure that the transaction will\n * use the start timestamp of the created child span if it is earlier than the transactions actual\n * start timestamp.\n */\nexport function _startChild(transaction, _a) {\n var startTimestamp = _a.startTimestamp, ctx = __rest(_a, [\"startTimestamp\"]);\n if (startTimestamp && transaction.startTimestamp > startTimestamp) {\n transaction.startTimestamp = startTimestamp;\n }\n return transaction.startChild(__assign({ startTimestamp: startTimestamp }, ctx));\n}\n/**\n * Checks if a given value is a valid measurement value.\n */\nfunction isMeasurementValue(value) {\n return typeof value === 'number' && isFinite(value);\n}\n//# sourceMappingURL=metrics.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { bindReporter } from './lib/bindReporter';\nimport { initMetric } from './lib/initMetric';\nimport { observe } from './lib/observe';\nimport { onHidden } from './lib/onHidden';\nexport var getCLS = function (onReport, reportAllChanges) {\n if (reportAllChanges === void 0) { reportAllChanges = false; }\n var metric = initMetric('CLS', 0);\n var report;\n var entryHandler = function (entry) {\n // Only count layout shifts without recent user input.\n if (!entry.hadRecentInput) {\n metric.value += entry.value;\n metric.entries.push(entry);\n report();\n }\n };\n var po = observe('layout-shift', entryHandler);\n if (po) {\n report = bindReporter(onReport, metric, po, reportAllChanges);\n onHidden(function (_a) {\n var isUnloading = _a.isUnloading;\n po.takeRecords().map(entryHandler);\n if (isUnloading) {\n metric.isFinal = true;\n }\n report();\n });\n }\n};\n//# sourceMappingURL=getCLS.js.map","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { bindReporter } from './lib/bindReporter';\nimport { getFirstHidden } from './lib/getFirstHidden';\nimport { initMetric } from './lib/initMetric';\nimport { observe } from './lib/observe';\nimport { onHidden } from './lib/onHidden';\nexport var getFID = function (onReport) {\n var metric = initMetric('FID');\n var firstHidden = getFirstHidden();\n var entryHandler = function (entry) {\n // Only report if the page wasn't hidden prior to the first input.\n if (entry.startTime < firstHidden.timeStamp) {\n metric.value = entry.processingStart - entry.startTime;\n metric.entries.push(entry);\n metric.isFinal = true;\n report();\n }\n };\n var po = observe('first-input', entryHandler);\n var report = bindReporter(onReport, metric, po);\n if (po) {\n onHidden(function () {\n po.takeRecords().map(entryHandler);\n po.disconnect();\n }, true);\n }\n else {\n if (window.perfMetrics && window.perfMetrics.onFirstInputDelay) {\n window.perfMetrics.onFirstInputDelay(function (value, event) {\n // Only report if the page wasn't hidden prior to the first input.\n if (event.timeStamp < firstHidden.timeStamp) {\n metric.value = value;\n metric.isFinal = true;\n metric.entries = [\n {\n entryType: 'first-input',\n name: event.type,\n target: event.target,\n cancelable: event.cancelable,\n startTime: event.timeStamp,\n processingStart: event.timeStamp + value,\n },\n ];\n report();\n }\n });\n }\n }\n};\n//# sourceMappingURL=getFID.js.map","import { __assign, __read, __spread } from \"tslib\";\nimport { getCurrentHub } from '@sentry/hub';\nimport { addInstrumentationHandler, isInstanceOf, isMatchingPattern } from '@sentry/utils';\nimport { getActiveTransaction, hasTracingEnabled } from '../utils';\nexport var DEFAULT_TRACING_ORIGINS = ['localhost', /^\\//];\nexport var defaultRequestInstrumentationOptions = {\n traceFetch: true,\n traceXHR: true,\n tracingOrigins: DEFAULT_TRACING_ORIGINS,\n};\n/** Registers span creators for xhr and fetch requests */\nexport function registerRequestInstrumentation(_options) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n var _a = __assign(__assign({}, defaultRequestInstrumentationOptions), _options), traceFetch = _a.traceFetch, traceXHR = _a.traceXHR, tracingOrigins = _a.tracingOrigins, shouldCreateSpanForRequest = _a.shouldCreateSpanForRequest;\n // We should cache url -> decision so that we don't have to compute\n // regexp everytime we create a request.\n var urlMap = {};\n var defaultShouldCreateSpan = function (url) {\n if (urlMap[url]) {\n return urlMap[url];\n }\n var origins = tracingOrigins;\n urlMap[url] =\n origins.some(function (origin) { return isMatchingPattern(url, origin); }) &&\n !isMatchingPattern(url, 'sentry_key');\n return urlMap[url];\n };\n // We want that our users don't have to re-implement shouldCreateSpanForRequest themselves\n // That's why we filter out already unwanted Spans from tracingOrigins\n var shouldCreateSpan = defaultShouldCreateSpan;\n if (typeof shouldCreateSpanForRequest === 'function') {\n shouldCreateSpan = function (url) {\n return defaultShouldCreateSpan(url) && shouldCreateSpanForRequest(url);\n };\n }\n var spans = {};\n if (traceFetch) {\n addInstrumentationHandler({\n callback: function (handlerData) {\n fetchCallback(handlerData, shouldCreateSpan, spans);\n },\n type: 'fetch',\n });\n }\n if (traceXHR) {\n addInstrumentationHandler({\n callback: function (handlerData) {\n xhrCallback(handlerData, shouldCreateSpan, spans);\n },\n type: 'xhr',\n });\n }\n}\n/**\n * Create and track fetch request spans\n */\nexport function fetchCallback(handlerData, shouldCreateSpan, spans) {\n var _a;\n var currentClientOptions = (_a = getCurrentHub()\n .getClient()) === null || _a === void 0 ? void 0 : _a.getOptions();\n if (!(currentClientOptions && hasTracingEnabled(currentClientOptions)) ||\n !(handlerData.fetchData && shouldCreateSpan(handlerData.fetchData.url))) {\n return;\n }\n if (handlerData.endTimestamp && handlerData.fetchData.__span) {\n var span = spans[handlerData.fetchData.__span];\n if (span) {\n var response = handlerData.response;\n if (response) {\n // TODO (kmclb) remove this once types PR goes through\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n span.setHttpStatus(response.status);\n }\n span.finish();\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete spans[handlerData.fetchData.__span];\n }\n return;\n }\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n var span = activeTransaction.startChild({\n data: __assign(__assign({}, handlerData.fetchData), { type: 'fetch' }),\n description: handlerData.fetchData.method + \" \" + handlerData.fetchData.url,\n op: 'http',\n });\n handlerData.fetchData.__span = span.spanId;\n spans[span.spanId] = span;\n var request = (handlerData.args[0] = handlerData.args[0]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var options = (handlerData.args[1] = handlerData.args[1] || {});\n var headers = options.headers;\n if (isInstanceOf(request, Request)) {\n headers = request.headers;\n }\n if (headers) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (typeof headers.append === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n headers.append('sentry-trace', span.toTraceparent());\n }\n else if (Array.isArray(headers)) {\n headers = __spread(headers, [['sentry-trace', span.toTraceparent()]]);\n }\n else {\n headers = __assign(__assign({}, headers), { 'sentry-trace': span.toTraceparent() });\n }\n }\n else {\n headers = { 'sentry-trace': span.toTraceparent() };\n }\n options.headers = headers;\n }\n}\n/**\n * Create and track xhr request spans\n */\nexport function xhrCallback(handlerData, shouldCreateSpan, spans) {\n var _a;\n var currentClientOptions = (_a = getCurrentHub()\n .getClient()) === null || _a === void 0 ? void 0 : _a.getOptions();\n if (!(currentClientOptions && hasTracingEnabled(currentClientOptions)) ||\n !(handlerData.xhr && handlerData.xhr.__sentry_xhr__ && shouldCreateSpan(handlerData.xhr.__sentry_xhr__.url)) ||\n handlerData.xhr.__sentry_own_request__) {\n return;\n }\n var xhr = handlerData.xhr.__sentry_xhr__;\n // check first if the request has finished and is tracked by an existing span which should now end\n if (handlerData.endTimestamp && handlerData.xhr.__sentry_xhr_span_id__) {\n var span = spans[handlerData.xhr.__sentry_xhr_span_id__];\n if (span) {\n span.setHttpStatus(xhr.status_code);\n span.finish();\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete spans[handlerData.xhr.__sentry_xhr_span_id__];\n }\n return;\n }\n // if not, create a new span to track it\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n var span = activeTransaction.startChild({\n data: __assign(__assign({}, xhr.data), { type: 'xhr', method: xhr.method, url: xhr.url }),\n description: xhr.method + \" \" + xhr.url,\n op: 'http',\n });\n handlerData.xhr.__sentry_xhr_span_id__ = span.spanId;\n spans[handlerData.xhr.__sentry_xhr_span_id__] = span;\n if (handlerData.xhr.setRequestHeader) {\n try {\n handlerData.xhr.setRequestHeader('sentry-trace', span.toTraceparent());\n }\n catch (_) {\n // Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.\n }\n }\n }\n}\n//# sourceMappingURL=request.js.map","import { addInstrumentationHandler, getGlobalObject, logger } from '@sentry/utils';\nvar global = getGlobalObject();\n/**\n * Default function implementing pageload and navigation transactions\n */\nexport function defaultRoutingInstrumentation(startTransaction, startTransactionOnPageLoad, startTransactionOnLocationChange) {\n if (startTransactionOnPageLoad === void 0) { startTransactionOnPageLoad = true; }\n if (startTransactionOnLocationChange === void 0) { startTransactionOnLocationChange = true; }\n if (!global || !global.location) {\n logger.warn('Could not initialize routing instrumentation due to invalid location');\n return;\n }\n var startingUrl = global.location.href;\n var activeTransaction;\n if (startTransactionOnPageLoad) {\n activeTransaction = startTransaction({ name: global.location.pathname, op: 'pageload' });\n }\n if (startTransactionOnLocationChange) {\n addInstrumentationHandler({\n callback: function (_a) {\n var to = _a.to, from = _a.from;\n /**\n * This early return is there to account for some cases where a navigation transaction starts right after\n * long-running pageload. We make sure that if `from` is undefined and a valid `startingURL` exists, we don't\n * create an uneccessary navigation transaction.\n *\n * This was hard to duplicate, but this behavior stopped as soon as this fix was applied. This issue might also\n * only be caused in certain development environments where the usage of a hot module reloader is causing\n * errors.\n */\n if (from === undefined && startingUrl && startingUrl.indexOf(to) !== -1) {\n startingUrl = undefined;\n return;\n }\n if (from !== to) {\n startingUrl = undefined;\n if (activeTransaction) {\n logger.log(\"[Tracing] Finishing current transaction with op: \" + activeTransaction.op);\n // If there's an open transaction on the scope, we need to finish it before creating an new one.\n activeTransaction.finish();\n }\n activeTransaction = startTransaction({ name: global.location.pathname, op: 'navigation' });\n }\n },\n type: 'history',\n });\n }\n}\n//# sourceMappingURL=router.js.map","import { __assign } from \"tslib\";\nimport { logger } from '@sentry/utils';\nimport { startIdleTransaction } from '../hubextensions';\nimport { DEFAULT_IDLE_TIMEOUT } from '../idletransaction';\nimport { SpanStatus } from '../spanstatus';\nimport { extractTraceparentData, secToMs } from '../utils';\nimport { registerBackgroundTabDetection } from './backgroundtab';\nimport { MetricsInstrumentation } from './metrics';\nimport { defaultRequestInstrumentationOptions, registerRequestInstrumentation, } from './request';\nimport { defaultRoutingInstrumentation } from './router';\nexport var DEFAULT_MAX_TRANSACTION_DURATION_SECONDS = 600;\nvar DEFAULT_BROWSER_TRACING_OPTIONS = __assign({ idleTimeout: DEFAULT_IDLE_TIMEOUT, markBackgroundTransactions: true, maxTransactionDuration: DEFAULT_MAX_TRANSACTION_DURATION_SECONDS, routingInstrumentation: defaultRoutingInstrumentation, startTransactionOnLocationChange: true, startTransactionOnPageLoad: true }, defaultRequestInstrumentationOptions);\n/**\n * The Browser Tracing integration automatically instruments browser pageload/navigation\n * actions as transactions, and captures requests, metrics and errors as spans.\n *\n * The integration can be configured with a variety of options, and can be extended to use\n * any routing library. This integration uses {@see IdleTransaction} to create transactions.\n */\nvar BrowserTracing = /** @class */ (function () {\n function BrowserTracing(_options) {\n /**\n * @inheritDoc\n */\n this.name = BrowserTracing.id;\n this._metrics = new MetricsInstrumentation();\n this._emitOptionsWarning = false;\n var tracingOrigins = defaultRequestInstrumentationOptions.tracingOrigins;\n // NOTE: Logger doesn't work in constructors, as it's initialized after integrations instances\n if (_options &&\n _options.tracingOrigins &&\n Array.isArray(_options.tracingOrigins) &&\n _options.tracingOrigins.length !== 0) {\n tracingOrigins = _options.tracingOrigins;\n }\n else {\n this._emitOptionsWarning = true;\n }\n this.options = __assign(__assign(__assign({}, DEFAULT_BROWSER_TRACING_OPTIONS), _options), { tracingOrigins: tracingOrigins });\n }\n /**\n * @inheritDoc\n */\n BrowserTracing.prototype.setupOnce = function (_, getCurrentHub) {\n var _this = this;\n this._getCurrentHub = getCurrentHub;\n if (this._emitOptionsWarning) {\n logger.warn('[Tracing] You need to define `tracingOrigins` in the options. Set an array of urls or patterns to trace.');\n logger.warn(\"[Tracing] We added a reasonable default for you: \" + defaultRequestInstrumentationOptions.tracingOrigins);\n }\n // eslint-disable-next-line @typescript-eslint/unbound-method\n var _a = this.options, routingInstrumentation = _a.routingInstrumentation, startTransactionOnLocationChange = _a.startTransactionOnLocationChange, startTransactionOnPageLoad = _a.startTransactionOnPageLoad, markBackgroundTransactions = _a.markBackgroundTransactions, traceFetch = _a.traceFetch, traceXHR = _a.traceXHR, tracingOrigins = _a.tracingOrigins, shouldCreateSpanForRequest = _a.shouldCreateSpanForRequest;\n routingInstrumentation(function (context) { return _this._createRouteTransaction(context); }, startTransactionOnPageLoad, startTransactionOnLocationChange);\n if (markBackgroundTransactions) {\n registerBackgroundTabDetection();\n }\n registerRequestInstrumentation({ traceFetch: traceFetch, traceXHR: traceXHR, tracingOrigins: tracingOrigins, shouldCreateSpanForRequest: shouldCreateSpanForRequest });\n };\n /** Create routing idle transaction. */\n BrowserTracing.prototype._createRouteTransaction = function (context) {\n var _this = this;\n if (!this._getCurrentHub) {\n logger.warn(\"[Tracing] Did not create \" + context.op + \" transaction because _getCurrentHub is invalid.\");\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/unbound-method\n var _a = this.options, beforeNavigate = _a.beforeNavigate, idleTimeout = _a.idleTimeout, maxTransactionDuration = _a.maxTransactionDuration;\n var parentContextFromHeader = context.op === 'pageload' ? getHeaderContext() : undefined;\n var expandedContext = __assign(__assign(__assign({}, context), parentContextFromHeader), { trimEnd: true });\n var modifiedContext = typeof beforeNavigate === 'function' ? beforeNavigate(expandedContext) : expandedContext;\n // For backwards compatibility reasons, beforeNavigate can return undefined to \"drop\" the transaction (prevent it\n // from being sent to Sentry).\n var finalContext = modifiedContext === undefined ? __assign(__assign({}, expandedContext), { sampled: false }) : modifiedContext;\n if (finalContext.sampled === false) {\n logger.log(\"[Tracing] Will not send \" + finalContext.op + \" transaction because of beforeNavigate.\");\n }\n var hub = this._getCurrentHub();\n var idleTransaction = startIdleTransaction(hub, finalContext, idleTimeout, true);\n logger.log(\"[Tracing] Starting \" + finalContext.op + \" transaction on scope\");\n idleTransaction.registerBeforeFinishCallback(function (transaction, endTimestamp) {\n _this._metrics.addPerformanceEntries(transaction);\n adjustTransactionDuration(secToMs(maxTransactionDuration), transaction, endTimestamp);\n });\n return idleTransaction;\n };\n /**\n * @inheritDoc\n */\n BrowserTracing.id = 'BrowserTracing';\n return BrowserTracing;\n}());\nexport { BrowserTracing };\n/**\n * Gets transaction context from a sentry-trace meta.\n *\n * @returns Transaction context data from the header or undefined if there's no header or the header is malformed\n */\nexport function getHeaderContext() {\n var header = getMetaContent('sentry-trace');\n if (header) {\n return extractTraceparentData(header);\n }\n return undefined;\n}\n/** Returns the value of a meta tag */\nexport function getMetaContent(metaName) {\n var el = document.querySelector(\"meta[name=\" + metaName + \"]\");\n return el ? el.getAttribute('content') : null;\n}\n/** Adjusts transaction value based on max transaction duration */\nfunction adjustTransactionDuration(maxDuration, transaction, endTimestamp) {\n var diff = endTimestamp - transaction.startTimestamp;\n var isOutdatedTransaction = endTimestamp && (diff > maxDuration || diff < 0);\n if (isOutdatedTransaction) {\n transaction.setStatus(SpanStatus.DeadlineExceeded);\n transaction.setTag('maxTransactionDurationExceeded', 'true');\n }\n}\n//# sourceMappingURL=browsertracing.js.map","import { __read, __spread } from \"tslib\";\nimport { logger } from '@sentry/utils';\n/**\n * Express integration\n *\n * Provides an request and error handler for Express framework as well as tracing capabilities\n */\nvar Express = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function Express(options) {\n if (options === void 0) { options = {}; }\n /**\n * @inheritDoc\n */\n this.name = Express.id;\n this._router = options.router || options.app;\n this._methods = (Array.isArray(options.methods) ? options.methods : []).concat('use');\n }\n /**\n * @inheritDoc\n */\n Express.prototype.setupOnce = function () {\n if (!this._router) {\n logger.error('ExpressIntegration is missing an Express instance');\n return;\n }\n instrumentMiddlewares(this._router, this._methods);\n };\n /**\n * @inheritDoc\n */\n Express.id = 'Express';\n return Express;\n}());\nexport { Express };\n/**\n * Wraps original middleware function in a tracing call, which stores the info about the call as a span,\n * and finishes it once the middleware is done invoking.\n *\n * Express middlewares have 3 various forms, thus we have to take care of all of them:\n * // sync\n * app.use(function (req, res) { ... })\n * // async\n * app.use(function (req, res, next) { ... })\n * // error handler\n * app.use(function (err, req, res, next) { ... })\n *\n * They all internally delegate to the `router[method]` of the given application instance.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types, @typescript-eslint/no-explicit-any\nfunction wrap(fn, method) {\n var arity = fn.length;\n switch (arity) {\n case 2: {\n return function (req, res) {\n var transaction = res.__sentry_transaction;\n if (transaction) {\n var span_1 = transaction.startChild({\n description: fn.name,\n op: \"middleware.\" + method,\n });\n res.once('finish', function () {\n span_1.finish();\n });\n }\n return fn.call(this, req, res);\n };\n }\n case 3: {\n return function (req, res, next) {\n var _a;\n var transaction = res.__sentry_transaction;\n var span = (_a = transaction) === null || _a === void 0 ? void 0 : _a.startChild({\n description: fn.name,\n op: \"middleware.\" + method,\n });\n fn.call(this, req, res, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a;\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n next.call.apply(next, __spread([this], args));\n });\n };\n }\n case 4: {\n return function (err, req, res, next) {\n var _a;\n var transaction = res.__sentry_transaction;\n var span = (_a = transaction) === null || _a === void 0 ? void 0 : _a.startChild({\n description: fn.name,\n op: \"middleware.\" + method,\n });\n fn.call(this, err, req, res, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a;\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n next.call.apply(next, __spread([this], args));\n });\n };\n }\n default: {\n throw new Error(\"Express middleware takes 2-4 arguments. Got: \" + arity);\n }\n }\n}\n/**\n * Takes all the function arguments passed to the original `app` or `router` method, eg. `app.use` or `router.use`\n * and wraps every function, as well as array of functions with a call to our `wrap` method.\n * We have to take care of the arrays as well as iterate over all of the arguments,\n * as `app.use` can accept middlewares in few various forms.\n *\n * app.use([], )\n * app.use([], , ...)\n * app.use([], ...[])\n */\nfunction wrapMiddlewareArgs(args, method) {\n return args.map(function (arg) {\n if (typeof arg === 'function') {\n return wrap(arg, method);\n }\n if (Array.isArray(arg)) {\n return arg.map(function (a) {\n if (typeof a === 'function') {\n return wrap(a, method);\n }\n return a;\n });\n }\n return arg;\n });\n}\n/**\n * Patches original router to utilize our tracing functionality\n */\nfunction patchMiddleware(router, method) {\n var originalCallback = router[method];\n router[method] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return originalCallback.call.apply(originalCallback, __spread([this], wrapMiddlewareArgs(args, method)));\n };\n return router;\n}\n/**\n * Patches original router methods\n */\nfunction instrumentMiddlewares(router, methods) {\n if (methods === void 0) { methods = []; }\n methods.forEach(function (method) { return patchMiddleware(router, method); });\n}\n//# sourceMappingURL=express.js.map","import { __assign } from \"tslib\";\nimport { BrowserTracing } from './browser';\nimport { addExtensionMethods } from './hubextensions';\nimport * as TracingIntegrations from './integrations';\nvar Integrations = __assign(__assign({}, TracingIntegrations), { BrowserTracing: BrowserTracing });\nexport { Integrations };\nexport { Span } from './span';\nexport { Transaction } from './transaction';\nexport { registerRequestInstrumentation, defaultRequestInstrumentationOptions, } from './browser';\nexport { SpanStatus } from './spanstatus';\nexport { IdleTransaction } from './idletransaction';\nexport { startIdleTransaction } from './hubextensions';\n// We are patching the global object with our hub extension methods\naddExtensionMethods();\nexport { addExtensionMethods };\nexport { extractTraceparentData, getActiveTransaction, hasTracingEnabled, stripUrlQueryAndFragment, TRACEPARENT_REGEXP, } from './utils';\n//# sourceMappingURL=index.js.map","import './utils/publicPath.ts';\r\nimport 'core-js/es/symbol';\r\nimport 'custom-event-polyfill';\r\nimport 'isomorphic-unfetch';\r\nimport * as React from 'react';\r\nimport { render } from 'react-dom';\r\nimport { AppContainer } from 'react-hot-loader';\r\nimport App from './app';\r\nimport * as Sentry from '@sentry/react';\r\nimport { loadTheme, registerIcons } from 'office-ui-fabric-react/lib/Styling';\r\nimport { getBaseUrl, getEnvironment, isDevelopment } from 'utils/url';\r\nimport { icons } from './../app/styles/fabricIcons';\r\nimport { theme } from './../app/styles/fabricTheme';\r\nimport { hasValue } from './../app/utils/string';\r\nimport { Integrations as TracingIntegrations } from '@sentry/tracing';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nconst history = createBrowserHistory({\r\n basename: getBaseUrl()\r\n});\r\n\r\nconst browserHistory = createBrowserHistory();\r\n\r\n/**\r\n * Loads the fabric theme at the root of the app, so we have a baseline set of styles\r\n * that can be applied with any fabric component.\r\n */\r\n\r\nfunction initFabricTheme() {\r\n loadTheme(theme);\r\n registerIcons(icons);\r\n}\r\n\r\nfunction initSentry() {\r\n const integrations = [\r\n new TracingIntegrations.BrowserTracing({\r\n routingInstrumentation: Sentry.reactRouterV5Instrumentation(browserHistory)\r\n })\r\n ];\r\n\r\n if (hasValue(__SENTRYURL__) && hasValue(__VERSION__)) {\r\n Sentry.init({\r\n dsn: __SENTRYURL__,\r\n enabled: !isDevelopment(),\r\n release: __VERSION__,\r\n environment: getEnvironment(),\r\n integrations: integrations,\r\n tracesSampleRate: 1,\r\n normalizeDepth: 10\r\n });\r\n }\r\n}\r\n\r\ninitFabricTheme();\r\ninitSentry();\r\n\r\nrender(\r\n \r\n \r\n ,\r\n document.getElementById('react-app')\r\n);\r\n","import { isReference, isField, DeepMerger, resultKeyNameFromField, shouldInclude, } from \"../../utilities/index.js\";\nexport var hasOwn = Object.prototype.hasOwnProperty;\nexport function getTypenameFromStoreObject(store, objectOrReference) {\n return isReference(objectOrReference)\n ? store.get(objectOrReference.__ref, \"__typename\")\n : objectOrReference && objectOrReference.__typename;\n}\nexport var TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;\nexport function fieldNameFromStoreName(storeFieldName) {\n var match = storeFieldName.match(TypeOrFieldNameRegExp);\n return match ? match[0] : storeFieldName;\n}\nexport function selectionSetMatchesResult(selectionSet, result, variables) {\n if (result && typeof result === \"object\") {\n return Array.isArray(result)\n ? result.every(function (item) { return selectionSetMatchesResult(selectionSet, item, variables); })\n : selectionSet.selections.every(function (field) {\n if (isField(field) && shouldInclude(field, variables)) {\n var key = resultKeyNameFromField(field);\n return hasOwn.call(result, key) &&\n (!field.selectionSet ||\n selectionSetMatchesResult(field.selectionSet, result[key], variables));\n }\n return true;\n });\n }\n return false;\n}\nexport function storeValueIsStoreObject(value) {\n return value !== null &&\n typeof value === \"object\" &&\n !isReference(value) &&\n !Array.isArray(value);\n}\nexport function makeProcessedFieldsMerger() {\n return new DeepMerger;\n}\n//# sourceMappingURL=helpers.js.map","/**\n * Helper to find the index of an item within an array, using a callback to\n * determine the match.\n *\n * @public\n * @param array - Array to search.\n * @param cb - Callback which returns true on matches.\n * @param fromIndex - Optional index to start from (defaults to 0)\n */\nexport function findIndex(array, cb, fromIndex) {\n if (fromIndex === void 0) { fromIndex = 0; }\n var index = -1;\n for (var i = fromIndex; array && i < array.length; i++) {\n if (cb(array[i], i)) {\n index = i;\n break;\n }\n }\n return index;\n}\n/**\n * Helper to find the first item within an array that satisfies the callback.\n * @param array - Array to search\n * @param cb - Callback which returns true on matches\n */\nexport function find(array, cb) {\n var index = findIndex(array, cb);\n if (index < 0) {\n return undefined;\n }\n return array[index];\n}\n/**\n * Creates an array of a given size and helper method to populate.\n *\n * @public\n * @param size - Size of array.\n * @param getItem - Callback to populate given cell index.\n */\nexport function createArray(size, getItem) {\n var array = [];\n for (var i = 0; i < size; i++) {\n array.push(getItem(i));\n }\n return array;\n}\n/**\n * Convert the given array to a matrix with columnCount number\n * of columns.\n *\n * @public\n * @param items - The array to convert\n * @param columnCount - The number of columns for the resulting matrix\n * @returns A matrix of items\n */\nexport function toMatrix(items, columnCount) {\n return items.reduce(function (rows, currentValue, index) {\n if (index % columnCount === 0) {\n rows.push([currentValue]);\n }\n else {\n rows[rows.length - 1].push(currentValue);\n }\n return rows;\n }, []);\n}\n/**\n * Given an array, it returns a new array that does not contain the item at the given index.\n * @param array - The array to operate on\n * @param index - The index of the element to remove\n */\nexport function removeIndex(array, index) {\n return array.filter(function (_, i) { return index !== i; });\n}\n/**\n * Given an array, this function returns a new array where the element at a given index has been replaced.\n * @param array - The array to operate on\n * @param newElement - The element that will be placed in the new array\n * @param index - The index of the element that should be replaced\n */\nexport function replaceElement(array, newElement, index) {\n var copy = array.slice();\n copy[index] = newElement;\n return copy;\n}\n/**\n * Given an array, this function returns a new array where an element has been inserted at the given index.\n * @param array - The array to operate on\n * @param index - The index where an element should be inserted\n * @param itemToAdd - The element to insert\n */\nexport function addElementAtIndex(array, index, itemToAdd) {\n var copy = array.slice();\n copy.splice(index, 0, itemToAdd);\n return copy;\n}\n/**\n * Given an array where each element is of type T or T[], flatten it into an array of T\n * @param array - The array where each element can optionally also be an array\n */\nexport function flatten(array) {\n var result = [];\n array.forEach(function (item) { return (result = result.concat(item)); });\n return result;\n}\n/**\n * Returns a boolean indicating if the two given arrays are equal in length and values.\n *\n * @param array1 - First array to compare\n * @param array2 - Second array to compare\n * @returns True if the arrays are the same length and have the same values in the same positions, false otherwise.\n */\nexport function arraysEqual(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n//# sourceMappingURL=array.js.map","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { consoleSandbox, getGlobalObject } from './misc';\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n/** JSDoc */\nvar Logger = /** @class */ (function () {\n /** JSDoc */\n function Logger() {\n this._enabled = false;\n }\n /** JSDoc */\n Logger.prototype.disable = function () {\n this._enabled = false;\n };\n /** JSDoc */\n Logger.prototype.enable = function () {\n this._enabled = true;\n };\n /** JSDoc */\n Logger.prototype.log = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.log(PREFIX + \"[Log]: \" + args.join(' '));\n });\n };\n /** JSDoc */\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.warn(PREFIX + \"[Warn]: \" + args.join(' '));\n });\n };\n /** JSDoc */\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.error(PREFIX + \"[Error]: \" + args.join(' '));\n });\n };\n return Logger;\n}());\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nvar logger = global.__SENTRY__.logger || (global.__SENTRY__.logger = new Logger());\nexport { logger };\n//# sourceMappingURL=logger.js.map","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","export enum ComparativeTimeLookback {\r\n HoursPrior = 0,\r\n DaysPrior = 1,\r\n WeeksPrior = 2,\r\n MonthsPrior = 3,\r\n MinutesPrior = 4,\r\n CalendarDaysPrior = 5,\r\n}\r\n","import { getDocument } from './dom/getDocument';\nimport { mergeStyles } from '@uifabric/merge-styles';\nimport { getWindow } from './dom/getWindow';\nvar _scrollbarWidth;\nvar _bodyScrollDisabledCount = 0;\nvar DisabledScrollClassName = mergeStyles({\n overflow: 'hidden !important',\n});\n/**\n * Placing this attribute on scrollable divs optimizes detection to know\n * if the div is scrollable or not (given we can avoid expensive operations\n * like getComputedStyle.)\n *\n * @public\n */\nexport var DATA_IS_SCROLLABLE_ATTRIBUTE = 'data-is-scrollable';\n/**\n * Allows the user to scroll within a element,\n * while preventing the user from scrolling the body\n */\nexport var allowScrollOnElement = function (element, events) {\n if (!element) {\n return;\n }\n var _previousClientY = 0;\n var _element = null;\n // remember the clientY for future calls of _preventOverscrolling\n var _saveClientY = function (event) {\n if (event.targetTouches.length === 1) {\n _previousClientY = event.targetTouches[0].clientY;\n }\n };\n // prevent the body from scrolling when the user attempts\n // to scroll past the top or bottom of the element\n var _preventOverscrolling = function (event) {\n // only respond to a single-finger touch\n if (event.targetTouches.length !== 1) {\n return;\n }\n // prevent the body touchmove handler from firing\n // so that scrolling is allowed within the element\n event.stopPropagation();\n if (!_element) {\n return;\n }\n var clientY = event.targetTouches[0].clientY - _previousClientY;\n var scrollableParent = findScrollableParent(event.target);\n if (scrollableParent) {\n _element = scrollableParent;\n }\n // if the element is scrolled to the top,\n // prevent the user from scrolling up\n if (_element.scrollTop === 0 && clientY > 0) {\n event.preventDefault();\n }\n // if the element is scrolled to the bottom,\n // prevent the user from scrolling down\n if (_element.scrollHeight - Math.ceil(_element.scrollTop) <= _element.clientHeight && clientY < 0) {\n event.preventDefault();\n }\n };\n events.on(element, 'touchstart', _saveClientY, { passive: false });\n events.on(element, 'touchmove', _preventOverscrolling, { passive: false });\n _element = element;\n};\n/**\n * Same as allowScrollOnElement but does not prevent overscrolling.\n */\nexport var allowOverscrollOnElement = function (element, events) {\n if (!element) {\n return;\n }\n var _allowElementScroll = function (event) {\n event.stopPropagation();\n };\n events.on(element, 'touchmove', _allowElementScroll, { passive: false });\n};\nvar _disableIosBodyScroll = function (event) {\n event.preventDefault();\n};\n/**\n * Disables the body scrolling.\n *\n * @public\n */\nexport function disableBodyScroll() {\n var doc = getDocument();\n if (doc && doc.body && !_bodyScrollDisabledCount) {\n doc.body.classList.add(DisabledScrollClassName);\n doc.body.addEventListener('touchmove', _disableIosBodyScroll, { passive: false, capture: false });\n }\n _bodyScrollDisabledCount++;\n}\n/**\n * Enables the body scrolling.\n *\n * @public\n */\nexport function enableBodyScroll() {\n if (_bodyScrollDisabledCount > 0) {\n var doc = getDocument();\n if (doc && doc.body && _bodyScrollDisabledCount === 1) {\n doc.body.classList.remove(DisabledScrollClassName);\n doc.body.removeEventListener('touchmove', _disableIosBodyScroll);\n }\n _bodyScrollDisabledCount--;\n }\n}\n/**\n * Calculates the width of a scrollbar for the browser/os.\n *\n * @public\n */\nexport function getScrollbarWidth() {\n if (_scrollbarWidth === undefined) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.setProperty('width', '100px');\n scrollDiv.style.setProperty('height', '100px');\n scrollDiv.style.setProperty('overflow', 'scroll');\n scrollDiv.style.setProperty('position', 'absolute');\n scrollDiv.style.setProperty('top', '-9999px');\n document.body.appendChild(scrollDiv);\n // Get the scrollbar width\n _scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n // Delete the DIV\n document.body.removeChild(scrollDiv);\n }\n return _scrollbarWidth;\n}\n/**\n * Traverses up the DOM for the element with the data-is-scrollable=true attribute, or returns\n * document.body.\n *\n * @public\n */\nexport function findScrollableParent(startingElement) {\n var el = startingElement;\n var doc = getDocument(startingElement);\n // First do a quick scan for the scrollable attribute.\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) === 'true') {\n return el;\n }\n el = el.parentElement;\n }\n // If we haven't found it, the use the slower method: compute styles to evaluate if overflow is set.\n el = startingElement;\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) !== 'false') {\n var computedStyles = getComputedStyle(el);\n var overflowY = computedStyles ? computedStyles.getPropertyValue('overflow-y') : '';\n if (overflowY && (overflowY === 'scroll' || overflowY === 'auto')) {\n return el;\n }\n }\n el = el.parentElement;\n }\n // Fall back to window scroll.\n if (!el || el === doc.body) {\n el = getWindow(startingElement);\n }\n return el;\n}\n//# sourceMappingURL=scroll.js.map","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","import { isNodeEnv } from './node';\nimport { snipLine } from './string';\nvar fallbackGlobalObject = {};\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport function getGlobalObject() {\n return (isNodeEnv()\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof self !== 'undefined'\n ? self\n : fallbackGlobalObject);\n}\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4() {\n var global = getGlobalObject();\n var crypto = global.crypto || global.msCrypto;\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n // set 4 in byte 7\n // eslint-disable-next-line no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // eslint-disable-next-line no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n var pad = function (num) {\n var v = num.toString(16);\n while (v.length < 4) {\n v = \"0\" + v;\n }\n return v;\n };\n return (pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7]));\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n // eslint-disable-next-line no-bitwise\n var r = (Math.random() * 16) | 0;\n // eslint-disable-next-line no-bitwise\n var v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url) {\n if (!url) {\n return {};\n }\n var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n if (!match) {\n return {};\n }\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment,\n };\n}\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event) {\n if (event.message) {\n return event.message;\n }\n if (event.exception && event.exception.values && event.exception.values[0]) {\n var exception = event.exception.values[0];\n if (exception.type && exception.value) {\n return exception.type + \": \" + exception.value;\n }\n return exception.type || exception.value || event.event_id || '';\n }\n return event.event_id || '';\n}\n/** JSDoc */\nexport function consoleSandbox(callback) {\n var global = getGlobalObject();\n var levels = ['debug', 'info', 'warn', 'error', 'log', 'assert'];\n if (!('console' in global)) {\n return callback();\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n var originalConsole = global.console;\n var wrappedLevels = {};\n // Restore all wrapped console methods\n levels.forEach(function (level) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (level in global.console && originalConsole[level].__sentry_original__) {\n wrappedLevels[level] = originalConsole[level];\n originalConsole[level] = originalConsole[level].__sentry_original__;\n }\n });\n // Perform callback manipulations\n var result = callback();\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(function (level) {\n originalConsole[level] = wrappedLevels[level];\n });\n return result;\n}\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event, value, type) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].value = event.exception.values[0].value || value || '';\n event.exception.values[0].type = event.exception.values[0].type || type || 'Error';\n}\n/**\n * Adds exception mechanism to a given event.\n * @param event The event to modify.\n * @param mechanism Mechanism of the mechanism.\n * @hidden\n */\nexport function addExceptionMechanism(event, mechanism) {\n if (mechanism === void 0) { mechanism = {}; }\n // TODO: Use real type with `keyof Mechanism` thingy and maybe make it better?\n try {\n // @ts-ignore Type 'Mechanism | {}' is not assignable to type 'Mechanism | undefined'\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0].mechanism = event.exception.values[0].mechanism || {};\n Object.keys(mechanism).forEach(function (key) {\n // @ts-ignore Mechanism has no index signature\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0].mechanism[key] = mechanism[key];\n });\n }\n catch (_oO) {\n // no-empty\n }\n}\n/**\n * A safe form of location.href\n */\nexport function getLocationHref() {\n try {\n return document.location.href;\n }\n catch (oO) {\n return '';\n }\n}\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nvar SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\nvar defaultRetryAfter = 60 * 1000; // 60 seconds\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param now current unix timestamp\n * @param header string representation of 'Retry-After' header\n */\nexport function parseRetryAfterHeader(now, header) {\n if (!header) {\n return defaultRetryAfter;\n }\n var headerDelay = parseInt(\"\" + header, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n var headerDate = Date.parse(\"\" + header);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n return defaultRetryAfter;\n}\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines, frame, linesOfContext) {\n if (linesOfContext === void 0) { linesOfContext = 5; }\n var lineno = frame.lineno || 0;\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map(function (line) { return snipLine(line, 0); });\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map(function (line) { return snipLine(line, 0); });\n}\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nexport function stripUrlQueryAndFragment(urlPath) {\n // eslint-disable-next-line no-useless-escape\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n//# sourceMappingURL=misc.js.map","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat) {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat) {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat) {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n/**\n * Checks whether given value's is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat) {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat) {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n }\n catch (_e) {\n return false;\n }\n}\n//# sourceMappingURL=is.js.map"," \r\n export enum MobilePlaybackSourceType {\r\n Har = 0,\r\n Android = 3,\r\n IPhone = 4,\r\n IPad2 = 5,\r\n KindleFire = 6,\r\n GalaxyTab = 7,\r\n IPhone5 = 8,\r\n IPhone6s = 21,\r\n IPadMini = 9,\r\n GalaxyNote = 10,\r\n GalaxyS6 = 22,\r\n Nexus7 = 11,\r\n Nexus6 = 20,\r\n Nexus4 = 12,\r\n }\r\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n } else {\n throw new Error(prefix + \": \" + (message || ''));\n }\n}\n\nexport default invariant;\n","var classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","import { mergeCssSets, Stylesheet, } from '@uifabric/merge-styles';\nimport { getRTL } from './rtl';\nimport { getWindow } from './dom';\nvar MAX_CACHE_COUNT = 50;\nvar DEFAULT_SPECIFICITY_MULTIPLIER = 5;\nvar _memoizedClassNames = 0;\nvar stylesheet = Stylesheet.getInstance();\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(function () { return _memoizedClassNames++; });\n}\n// Note that because of the caching nature within the classNames memoization,\n// I've disabled this rule to simply be able to work with any types.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// This represents a prop we attach to each Map to indicate the cached return value\n// associated with the graph node.\nvar retVal = '__retval__';\n/**\n * Creates a getClassNames function which calls getStyles given the props, and injects them\n * into mergeStyleSets.\n *\n * Note that the props you pass in on every render should be in the same order and\n * immutable (numbers, strings, and booleans). This will allow the results to be memoized. Violating\n * these will cause extra recalcs to occur.\n */\nexport function classNamesFunction(options) {\n // We build a trie where each node is a Map. The map entry key represents an argument\n // value, and the entry value is another node (Map). Each node has a `__retval__`\n // property which is used to hold the cached response.\n if (options === void 0) { options = {}; }\n // To derive the response, we can simply ensure the arguments are added or already\n // exist in the trie. At the last node, if there is a `__retval__` we return that. Otherwise\n // we call the `getStyles` api to evaluate, cache on the property, and return that.\n var map = new Map();\n var styleCalcCount = 0;\n var getClassNamesCount = 0;\n var currentMemoizedClassNames = _memoizedClassNames;\n var getClassNames = function (styleFunctionOrObject, styleProps) {\n if (styleProps === void 0) { styleProps = {}; }\n var _a, _b;\n // If useStaticStyles is true, styleFunctionOrObject returns slot to classname mappings.\n // If there is also no style overrides, we can skip merge styles completely and\n // simply return the result from the style funcion.\n if (options.useStaticStyles &&\n typeof styleFunctionOrObject === 'function' &&\n styleFunctionOrObject.__noStyleOverride__) {\n return styleFunctionOrObject(styleProps);\n }\n getClassNamesCount++;\n var current = map;\n var theme = styleProps.theme;\n var rtl = theme && theme.rtl !== undefined ? theme.rtl : getRTL();\n var disableCaching = options.disableCaching;\n // On reset of our stylesheet, reset memoized cache.\n if (currentMemoizedClassNames !== _memoizedClassNames) {\n currentMemoizedClassNames = _memoizedClassNames;\n map = new Map();\n styleCalcCount = 0;\n }\n if (!options.disableCaching) {\n current = _traverseMap(map, styleFunctionOrObject);\n current = _traverseMap(current, styleProps);\n }\n if (disableCaching || !current[retVal]) {\n if (styleFunctionOrObject === undefined) {\n current[retVal] = {};\n }\n else {\n current[retVal] = mergeCssSets([\n (typeof styleFunctionOrObject === 'function'\n ? styleFunctionOrObject(styleProps)\n : styleFunctionOrObject),\n ], { rtl: !!rtl, specificityMultiplier: options.useStaticStyles ? DEFAULT_SPECIFICITY_MULTIPLIER : undefined });\n }\n if (!disableCaching) {\n styleCalcCount++;\n }\n }\n if (styleCalcCount > (options.cacheSize || MAX_CACHE_COUNT)) {\n var win = getWindow();\n if ((_b = (_a = win) === null || _a === void 0 ? void 0 : _a.FabricConfig) === null || _b === void 0 ? void 0 : _b.enableClassNameCacheFullWarning) {\n // eslint-disable-next-line no-console\n console.warn(\"Styles are being recalculated too frequently. Cache miss rate is \" + styleCalcCount + \"/\" + getClassNamesCount + \".\");\n // eslint-disable-next-line no-console\n console.trace();\n }\n map.clear();\n styleCalcCount = 0;\n // Mutate the options passed in, that's all we can do.\n options.disableCaching = true;\n }\n // Note: the retVal is an attached property on the Map; not a key in the Map. We use this attached property to\n // cache the return value for this branch of the graph.\n return current[retVal];\n };\n return getClassNames;\n}\nfunction _traverseEdge(current, value) {\n value = _normalizeValue(value);\n if (!current.has(value)) {\n current.set(value, new Map());\n }\n return current.get(value);\n}\nfunction _traverseMap(current, inputs) {\n if (typeof inputs === 'function') {\n var cachedInputsFromStyled = inputs.__cachedInputs__;\n if (cachedInputsFromStyled) {\n // The styled helper will generate the styles function and will attach the cached\n // inputs (consisting of the default styles, customzied styles, and user provided styles.)\n // These should be used as cache keys for deriving the memoized value.\n for (var _i = 0, _a = inputs.__cachedInputs__; _i < _a.length; _i++) {\n var input = _a[_i];\n current = _traverseEdge(current, input);\n }\n }\n else {\n current = _traverseEdge(current, inputs);\n }\n }\n else if (typeof inputs === 'object') {\n for (var propName in inputs) {\n if (inputs.hasOwnProperty(propName)) {\n current = _traverseEdge(current, inputs[propName]);\n }\n }\n }\n return current;\n}\nfunction _normalizeValue(value) {\n switch (value) {\n case undefined:\n return '__undefined__';\n case null:\n return '__null__';\n default:\n return value;\n }\n}\n//# sourceMappingURL=classNamesFunction.js.map","/**\n * Simple deep merge function. Takes all arguments and returns a deep copy of the objects merged\n * together in the order provided. If an object creates a circular reference, it will assign the\n * original reference.\n */\nexport function merge(target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var arg = args_1[_a];\n _merge(target || {}, arg);\n }\n return target;\n}\n/**\n * The _merge helper iterates through all props on source and assigns them to target.\n * When the value is an object, we will create a deep clone of the object. However if\n * there is a circular reference, the value will not be deep cloned and will persist\n * the reference.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _merge(target, source, circularReferences) {\n if (circularReferences === void 0) { circularReferences = []; }\n circularReferences.push(source);\n for (var name_1 in source) {\n if (source.hasOwnProperty(name_1)) {\n if (name_1 !== '__proto__' && name_1 !== 'constructor' && name_1 !== 'prototype') {\n var value = source[name_1];\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n var isCircularReference = circularReferences.indexOf(value) > -1;\n target[name_1] = (isCircularReference\n ? value\n : _merge(target[name_1] || {}, value, circularReferences));\n }\n else {\n target[name_1] = value;\n }\n }\n }\n }\n circularReferences.pop();\n return target;\n}\n//# sourceMappingURL=merge.js.map","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","'use strict';\n\nmodule.exports = function (data, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (node) {\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n if (node === undefined) return;\n if (typeof node == 'number') return isFinite(node) ? '' + node : 'null';\n if (typeof node !== 'object') return JSON.stringify(node);\n\n var i, out;\n if (Array.isArray(node)) {\n out = '[';\n for (i = 0; i < node.length; i++) {\n if (i) out += ',';\n out += stringify(node[i]) || 'null';\n }\n return out + ']';\n }\n\n if (node === null) return 'null';\n\n if (seen.indexOf(node) !== -1) {\n if (cycles) return JSON.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n\n var seenIndex = seen.push(node) - 1;\n var keys = Object.keys(node).sort(cmp && cmp(node));\n out = '';\n for (i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node[key]);\n\n if (!value) continue;\n if (out) out += ',';\n out += JSON.stringify(key) + ':' + value;\n }\n seen.splice(seenIndex, 1);\n return '{' + out + '}';\n })(data);\n};\n","module.exports = __webpack_public_path__ + \"94ab1e3c09212216e60a6747a9106c68.gif\";","module.exports = require('./lib/Observable.js').Observable;\n","import { equal } from '@wry/equality';\nimport { invariant } from 'ts-invariant';\nimport { parser, operationName } from \"../parser/index.js\";\nvar OperationData = (function () {\n function OperationData(options, context) {\n this.isMounted = false;\n this.previousOptions = {};\n this.context = {};\n this.options = {};\n this.options = options || {};\n this.context = context || {};\n }\n OperationData.prototype.getOptions = function () {\n return this.options;\n };\n OperationData.prototype.setOptions = function (newOptions, storePrevious) {\n if (storePrevious === void 0) { storePrevious = false; }\n if (storePrevious && !equal(this.options, newOptions)) {\n this.previousOptions = this.options;\n }\n this.options = newOptions;\n };\n OperationData.prototype.unmount = function () {\n this.isMounted = false;\n };\n OperationData.prototype.refreshClient = function () {\n var client = (this.options && this.options.client) ||\n (this.context && this.context.client);\n process.env.NODE_ENV === \"production\" ? invariant(!!client, 29) : invariant(!!client, 'Could not find \"client\" in the context or passed in as an option. ' +\n 'Wrap the root component in an , or pass an ' +\n 'ApolloClient instance in via options.');\n var isNew = false;\n if (client !== this.client) {\n isNew = true;\n this.client = client;\n this.cleanup();\n }\n return {\n client: this.client,\n isNew: isNew\n };\n };\n OperationData.prototype.verifyDocumentType = function (document, type) {\n var operation = parser(document);\n var requiredOperationName = operationName(type);\n var usedOperationName = operationName(operation.type);\n process.env.NODE_ENV === \"production\" ? invariant(operation.type === type, 30) : invariant(operation.type === type, \"Running a \" + requiredOperationName + \" requires a graphql \" +\n (requiredOperationName + \", but a \" + usedOperationName + \" was used instead.\"));\n };\n return OperationData;\n}());\nexport { OperationData };\n//# sourceMappingURL=OperationData.js.map","export { ApolloClient, mergeOptions, } from \"./ApolloClient.js\";\nexport { ObservableQuery, } from \"./ObservableQuery.js\";\nexport { NetworkStatus } from \"./networkStatus.js\";\nexport * from \"./types.js\";\nexport { isApolloError, ApolloError } from \"../errors/index.js\";\nexport { Cache, ApolloCache, InMemoryCache, MissingFieldError, defaultDataIdFromObject, makeVar, } from \"../cache/index.js\";\nexport * from \"../cache/inmemory/types.js\";\nexport * from \"../link/core/index.js\";\nexport * from \"../link/http/index.js\";\nexport { fromError, toPromise, fromPromise, throwServerError, } from \"../link/utils/index.js\";\nexport { Observable, isReference, makeReference, } from \"../utilities/index.js\";\nimport { setVerbosity } from \"ts-invariant\";\nexport { setVerbosity as setLogVerbosity };\nsetVerbosity(\"log\");\nexport { default as gql, resetCaches, disableFragmentWarnings, enableExperimentalFragmentVariables, disableExperimentalFragmentVariables, } from 'graphql-tag';\n//# sourceMappingURL=index.js.map","var toString = Object.prototype.toString;\nexport function cloneDeep(value) {\n return cloneDeepHelper(value);\n}\nfunction cloneDeepHelper(val, seen) {\n switch (toString.call(val)) {\n case \"[object Array]\": {\n seen = seen || new Map;\n if (seen.has(val))\n return seen.get(val);\n var copy_1 = val.slice(0);\n seen.set(val, copy_1);\n copy_1.forEach(function (child, i) {\n copy_1[i] = cloneDeepHelper(child, seen);\n });\n return copy_1;\n }\n case \"[object Object]\": {\n seen = seen || new Map;\n if (seen.has(val))\n return seen.get(val);\n var copy_2 = Object.create(Object.getPrototypeOf(val));\n seen.set(val, copy_2);\n Object.keys(val).forEach(function (key) {\n copy_2[key] = cloneDeepHelper(val[key], seen);\n });\n return copy_2;\n }\n default:\n return val;\n }\n}\n//# sourceMappingURL=cloneDeep.js.map","import { NetworkStatus } from \"./networkStatus.js\";\nimport { compact } from \"../utilities/index.js\";\nimport { invariant } from 'ts-invariant';\nvar Reobserver = (function () {\n function Reobserver(observer, options, fetch, shouldFetch) {\n this.observer = observer;\n this.options = options;\n this.fetch = fetch;\n this.shouldFetch = shouldFetch;\n }\n Reobserver.prototype.reobserve = function (newOptions, newNetworkStatus) {\n if (newOptions) {\n this.updateOptions(newOptions);\n }\n else {\n this.updatePolling();\n }\n var concast = this.fetch(this.options, newNetworkStatus);\n if (this.concast) {\n this.concast.removeObserver(this.observer, true);\n }\n concast.addObserver(this.observer);\n return (this.concast = concast).promise;\n };\n Reobserver.prototype.updateOptions = function (newOptions) {\n Object.assign(this.options, compact(newOptions));\n this.updatePolling();\n return this;\n };\n Reobserver.prototype.stop = function () {\n if (this.concast) {\n this.concast.removeObserver(this.observer);\n delete this.concast;\n }\n if (this.pollingInfo) {\n clearTimeout(this.pollingInfo.timeout);\n this.options.pollInterval = 0;\n this.updatePolling();\n }\n };\n Reobserver.prototype.updatePolling = function () {\n var _this = this;\n var _a = this, pollingInfo = _a.pollingInfo, pollInterval = _a.options.pollInterval;\n if (!pollInterval) {\n if (pollingInfo) {\n clearTimeout(pollingInfo.timeout);\n delete this.pollingInfo;\n }\n return;\n }\n if (pollingInfo &&\n pollingInfo.interval === pollInterval) {\n return;\n }\n process.env.NODE_ENV === \"production\" ? invariant(pollInterval, 20) : invariant(pollInterval, 'Attempted to start a polling query without a polling interval.');\n if (this.shouldFetch === false) {\n return;\n }\n var info = pollingInfo || (this.pollingInfo = {});\n info.interval = pollInterval;\n var maybeFetch = function () {\n if (_this.pollingInfo) {\n if (_this.shouldFetch && _this.shouldFetch()) {\n _this.reobserve({\n fetchPolicy: \"network-only\",\n nextFetchPolicy: _this.options.fetchPolicy || \"cache-first\",\n }, NetworkStatus.poll).then(poll, poll);\n }\n else {\n poll();\n }\n }\n ;\n };\n var poll = function () {\n var info = _this.pollingInfo;\n if (info) {\n clearTimeout(info.timeout);\n info.timeout = setTimeout(maybeFetch, info.interval);\n }\n };\n poll();\n };\n return Reobserver;\n}());\nexport { Reobserver };\n//# sourceMappingURL=Reobserver.js.map","import { __assign, __extends } from \"tslib\";\nimport { invariant } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { NetworkStatus, isNetworkRequestInFlight } from \"./networkStatus.js\";\nimport { cloneDeep, getOperationDefinition, Observable, iterateObserversSafely, isNonEmptyArray, fixObservableSubclass, } from \"../utilities/index.js\";\nimport { Reobserver } from \"./Reobserver.js\";\nvar warnedAboutUpdateQuery = false;\nvar ObservableQuery = (function (_super) {\n __extends(ObservableQuery, _super);\n function ObservableQuery(_a) {\n var queryManager = _a.queryManager, queryInfo = _a.queryInfo, options = _a.options;\n var _this = _super.call(this, function (observer) {\n return _this.onSubscribe(observer);\n }) || this;\n _this.observers = new Set();\n _this.subscriptions = new Set();\n _this.observer = {\n next: function (result) {\n if (_this.lastError || _this.isDifferentFromLastResult(result)) {\n _this.updateLastResult(result);\n iterateObserversSafely(_this.observers, 'next', result);\n }\n },\n error: function (error) {\n _this.updateLastResult(__assign(__assign({}, _this.lastResult), { error: error, errors: error.graphQLErrors, networkStatus: NetworkStatus.error, loading: false }));\n iterateObserversSafely(_this.observers, 'error', _this.lastError = error);\n },\n };\n _this.isTornDown = false;\n _this.options = options;\n _this.queryId = queryManager.generateQueryId();\n var opDef = getOperationDefinition(options.query);\n _this.queryName = opDef && opDef.name && opDef.name.value;\n _this.queryManager = queryManager;\n _this.queryInfo = queryInfo;\n return _this;\n }\n Object.defineProperty(ObservableQuery.prototype, \"variables\", {\n get: function () {\n return this.options.variables;\n },\n enumerable: false,\n configurable: true\n });\n ObservableQuery.prototype.result = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var observer = {\n next: function (result) {\n resolve(result);\n _this.observers.delete(observer);\n if (!_this.observers.size) {\n _this.queryManager.removeQuery(_this.queryId);\n }\n setTimeout(function () {\n subscription.unsubscribe();\n }, 0);\n },\n error: reject,\n };\n var subscription = _this.subscribe(observer);\n });\n };\n ObservableQuery.prototype.getCurrentResult = function (saveAsLastResult) {\n if (saveAsLastResult === void 0) { saveAsLastResult = true; }\n var lastResult = this.lastResult;\n var networkStatus = this.queryInfo.networkStatus ||\n (lastResult && lastResult.networkStatus) ||\n NetworkStatus.ready;\n var result = __assign(__assign({}, lastResult), { loading: isNetworkRequestInFlight(networkStatus), networkStatus: networkStatus });\n if (this.isTornDown) {\n return result;\n }\n var _a = this.options.fetchPolicy, fetchPolicy = _a === void 0 ? 'cache-first' : _a;\n if (fetchPolicy === 'no-cache' ||\n fetchPolicy === 'network-only') {\n delete result.partial;\n }\n else if (!result.data ||\n !this.queryManager.transform(this.options.query).hasForcedResolvers) {\n var diff = this.queryInfo.getDiff();\n result.data = (diff.complete ||\n this.options.returnPartialData) ? diff.result : void 0;\n if (diff.complete) {\n if (result.networkStatus === NetworkStatus.loading &&\n (fetchPolicy === 'cache-first' ||\n fetchPolicy === 'cache-only')) {\n result.networkStatus = NetworkStatus.ready;\n result.loading = false;\n }\n delete result.partial;\n }\n else {\n result.partial = true;\n }\n }\n if (saveAsLastResult) {\n this.updateLastResult(result);\n }\n return result;\n };\n ObservableQuery.prototype.isDifferentFromLastResult = function (newResult) {\n return !equal(this.lastResultSnapshot, newResult);\n };\n ObservableQuery.prototype.getLastResult = function () {\n return this.lastResult;\n };\n ObservableQuery.prototype.getLastError = function () {\n return this.lastError;\n };\n ObservableQuery.prototype.resetLastResults = function () {\n delete this.lastResult;\n delete this.lastResultSnapshot;\n delete this.lastError;\n this.isTornDown = false;\n };\n ObservableQuery.prototype.resetQueryStoreErrors = function () {\n this.queryManager.resetErrors(this.queryId);\n };\n ObservableQuery.prototype.refetch = function (variables) {\n var reobserveOptions = {\n pollInterval: 0,\n };\n var fetchPolicy = this.options.fetchPolicy;\n if (fetchPolicy !== 'no-cache' &&\n fetchPolicy !== 'cache-and-network') {\n reobserveOptions.fetchPolicy = 'network-only';\n reobserveOptions.nextFetchPolicy = fetchPolicy || \"cache-first\";\n }\n if (variables && !equal(this.options.variables, variables)) {\n reobserveOptions.variables = this.options.variables = __assign(__assign({}, this.options.variables), variables);\n }\n return this.newReobserver(false).reobserve(reobserveOptions, NetworkStatus.refetch);\n };\n ObservableQuery.prototype.fetchMore = function (fetchMoreOptions) {\n var _this = this;\n var combinedOptions = __assign(__assign({}, (fetchMoreOptions.query ? fetchMoreOptions : __assign(__assign(__assign({}, this.options), fetchMoreOptions), { variables: __assign(__assign({}, this.options.variables), fetchMoreOptions.variables) }))), { fetchPolicy: \"no-cache\" });\n var qid = this.queryManager.generateQueryId();\n if (combinedOptions.notifyOnNetworkStatusChange) {\n this.queryInfo.networkStatus = NetworkStatus.fetchMore;\n this.observe();\n }\n return this.queryManager.fetchQuery(qid, combinedOptions, NetworkStatus.fetchMore).then(function (fetchMoreResult) {\n var data = fetchMoreResult.data;\n var updateQuery = fetchMoreOptions.updateQuery;\n if (updateQuery) {\n if (process.env.NODE_ENV !== \"production\" &&\n !warnedAboutUpdateQuery) {\n process.env.NODE_ENV === \"production\" || invariant.warn(\"The updateQuery callback for fetchMore is deprecated, and will be removed\\nin the next major version of Apollo Client.\\n\\nPlease convert updateQuery functions to field policies with appropriate\\nread and merge functions, or use/adapt a helper function (such as\\nconcatPagination, offsetLimitPagination, or relayStylePagination) from\\n@apollo/client/utilities.\\n\\nThe field policy system handles pagination more effectively than a\\nhand-written updateQuery function, and you only need to define the policy\\nonce, rather than every time you call fetchMore.\");\n warnedAboutUpdateQuery = true;\n }\n _this.updateQuery(function (previous) { return updateQuery(previous, {\n fetchMoreResult: data,\n variables: combinedOptions.variables,\n }); });\n }\n else {\n _this.queryManager.cache.writeQuery({\n query: combinedOptions.query,\n variables: combinedOptions.variables,\n data: data,\n });\n }\n return fetchMoreResult;\n }).finally(function () {\n _this.queryManager.stopQuery(qid);\n _this.reobserve();\n });\n };\n ObservableQuery.prototype.subscribeToMore = function (options) {\n var _this = this;\n var subscription = this.queryManager\n .startGraphQLSubscription({\n query: options.document,\n variables: options.variables,\n context: options.context,\n })\n .subscribe({\n next: function (subscriptionData) {\n var updateQuery = options.updateQuery;\n if (updateQuery) {\n _this.updateQuery(function (previous, _a) {\n var variables = _a.variables;\n return updateQuery(previous, {\n subscriptionData: subscriptionData,\n variables: variables,\n });\n });\n }\n },\n error: function (err) {\n if (options.onError) {\n options.onError(err);\n return;\n }\n process.env.NODE_ENV === \"production\" || invariant.error('Unhandled GraphQL subscription error', err);\n },\n });\n this.subscriptions.add(subscription);\n return function () {\n if (_this.subscriptions.delete(subscription)) {\n subscription.unsubscribe();\n }\n };\n };\n ObservableQuery.prototype.setOptions = function (newOptions) {\n return this.reobserve(newOptions);\n };\n ObservableQuery.prototype.setVariables = function (variables) {\n if (equal(this.variables, variables)) {\n return this.observers.size\n ? this.result()\n : Promise.resolve();\n }\n this.options.variables = variables;\n if (!this.observers.size) {\n return Promise.resolve();\n }\n var _a = this.options.fetchPolicy, fetchPolicy = _a === void 0 ? 'cache-first' : _a;\n var reobserveOptions = {\n fetchPolicy: fetchPolicy,\n variables: variables,\n };\n if (fetchPolicy !== 'cache-first' &&\n fetchPolicy !== 'no-cache' &&\n fetchPolicy !== 'network-only') {\n reobserveOptions.fetchPolicy = 'cache-and-network';\n reobserveOptions.nextFetchPolicy = fetchPolicy;\n }\n return this.reobserve(reobserveOptions, NetworkStatus.setVariables);\n };\n ObservableQuery.prototype.updateQuery = function (mapFn) {\n var _a;\n var queryManager = this.queryManager;\n var result = queryManager.cache.diff({\n query: this.options.query,\n variables: this.variables,\n previousResult: (_a = this.lastResult) === null || _a === void 0 ? void 0 : _a.data,\n returnPartialData: true,\n optimistic: false,\n }).result;\n var newResult = mapFn(result, {\n variables: this.variables,\n });\n if (newResult) {\n queryManager.cache.writeQuery({\n query: this.options.query,\n data: newResult,\n variables: this.variables,\n });\n queryManager.broadcastQueries();\n }\n };\n ObservableQuery.prototype.startPolling = function (pollInterval) {\n this.getReobserver().updateOptions({ pollInterval: pollInterval });\n };\n ObservableQuery.prototype.stopPolling = function () {\n if (this.reobserver) {\n this.reobserver.updateOptions({ pollInterval: 0 });\n }\n };\n ObservableQuery.prototype.updateLastResult = function (newResult) {\n var previousResult = this.lastResult;\n this.lastResult = newResult;\n this.lastResultSnapshot = this.queryManager.assumeImmutableResults\n ? newResult\n : cloneDeep(newResult);\n if (!isNonEmptyArray(newResult.errors)) {\n delete this.lastError;\n }\n return previousResult;\n };\n ObservableQuery.prototype.onSubscribe = function (observer) {\n var _this = this;\n if (observer === this.observer) {\n return function () { };\n }\n try {\n var subObserver = observer._subscription._observer;\n if (subObserver && !subObserver.error) {\n subObserver.error = defaultSubscriptionObserverErrorCallback;\n }\n }\n catch (_a) { }\n var first = !this.observers.size;\n this.observers.add(observer);\n if (this.lastError) {\n observer.error && observer.error(this.lastError);\n }\n else if (this.lastResult) {\n observer.next && observer.next(this.lastResult);\n }\n if (first) {\n this.reobserve().catch(function (_) {\n });\n }\n return function () {\n if (_this.observers.delete(observer) && !_this.observers.size) {\n _this.tearDownQuery();\n }\n };\n };\n ObservableQuery.prototype.getReobserver = function () {\n return this.reobserver || (this.reobserver = this.newReobserver(true));\n };\n ObservableQuery.prototype.newReobserver = function (shareOptions) {\n var _this = this;\n var _a = this, queryManager = _a.queryManager, queryId = _a.queryId;\n queryManager.setObservableQuery(this);\n return new Reobserver(this.observer, shareOptions ? this.options : __assign({}, this.options), function (currentOptions, newNetworkStatus) {\n queryManager.setObservableQuery(_this);\n return queryManager.fetchQueryObservable(queryId, currentOptions, newNetworkStatus);\n }, !queryManager.ssrMode && (function () { return !isNetworkRequestInFlight(_this.queryInfo.networkStatus); }));\n };\n ObservableQuery.prototype.reobserve = function (newOptions, newNetworkStatus) {\n this.isTornDown = false;\n return this.getReobserver().reobserve(newOptions, newNetworkStatus);\n };\n ObservableQuery.prototype.observe = function () {\n this.observer.next(this.getCurrentResult(false));\n };\n ObservableQuery.prototype.hasObservers = function () {\n return this.observers.size > 0;\n };\n ObservableQuery.prototype.tearDownQuery = function () {\n if (this.isTornDown)\n return;\n if (this.reobserver) {\n this.reobserver.stop();\n delete this.reobserver;\n }\n this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });\n this.subscriptions.clear();\n this.queryManager.stopQuery(this.queryId);\n this.observers.clear();\n this.isTornDown = true;\n };\n return ObservableQuery;\n}(Observable));\nexport { ObservableQuery };\nfixObservableSubclass(ObservableQuery);\nfunction defaultSubscriptionObserverErrorCallback(error) {\n process.env.NODE_ENV === \"production\" || invariant.error('Unhandled error', error.message, error.stack);\n}\n//# sourceMappingURL=ObservableQuery.js.map"," \r\n export enum AnalyticsMetric {\r\n None = 0,\r\n DnsLookupTime = 1,\r\n ConnectTime = 2,\r\n SendTime = 3,\r\n WaitTime = 4,\r\n TimeToFirstByte = 5,\r\n LoadTime = 6,\r\n PrimaryUrlResponseTime = 7,\r\n DomLoadTime = 8,\r\n ContentLoadTime = 9,\r\n TestResponseTime = 10,\r\n FileSize = 11,\r\n Throughput = 12,\r\n ExternalHostsCount = 13,\r\n ItemsTotalCount = 14,\r\n AvailabilityPercent = 15,\r\n ContentAvailabilityPercent = 16,\r\n JSErrorsPerPageCount = 17,\r\n ContentLoadErrorCount = 18,\r\n TestsWithJSErrorsCount = 19,\r\n PingPacketLossPercent = 20,\r\n RoundtripTime = 21,\r\n DownloadedBytes = 22,\r\n WebpageThroughput = 23,\r\n DnsFailuresCount = 24,\r\n ConnectionFailuresCount = 25,\r\n SslFailuresCount = 26,\r\n ResponseFailuresCount = 27,\r\n ContentFailuresCount = 28,\r\n InvalidTestsCount = 29,\r\n SslTime = 30,\r\n LoadFailuresCount = 31,\r\n ServerResponseTime = 32,\r\n TestFailuresCount = 33,\r\n DeleteTime = 34,\r\n Apdex = 35,\r\n TotalDownloadedBytes = 36,\r\n StepContentAvailabilityPercent = 37,\r\n RenderStartTime = 38,\r\n DocumentCompleteTime = 39,\r\n PageSpeedScore = 40,\r\n TimeToTitle = 41,\r\n ConnectionCount = 42,\r\n TimeoutFailuresCount = 43,\r\n ZoneCount = 44,\r\n DnsToReceiveInclusiveTime = 45,\r\n WaitAndReceiveTime = 46,\r\n StartToEndTime = 47,\r\n BottleneckTime = 48,\r\n BottleneckPercent = 49,\r\n AuthenticationTime = 50,\r\n HeloTime = 51,\r\n RedirectRequestCount = 52,\r\n OtherRequestCount = 53,\r\n ImageRequestCount = 54,\r\n ScriptRequestCount = 55,\r\n HtmlRequestCount = 56,\r\n CssRequestCount = 57,\r\n XmlRequestCount = 58,\r\n FlashRequestCount = 59,\r\n MediaRequestCount = 60,\r\n RunCount = 61,\r\n PlayTime = 62,\r\n TotalBufferTime = 63,\r\n BufferCount = 64,\r\n InitialBufferTime = 65,\r\n WireTime = 66,\r\n ClientTime = 67,\r\n FontRequestCount = 68,\r\n ImageBytes = 69,\r\n ScriptBytes = 70,\r\n HtmlBytes = 71,\r\n CssBytes = 72,\r\n XmlBytes = 73,\r\n FlashBytes = 74,\r\n MediaBytes = 75,\r\n OtherBytes = 76,\r\n FontBytes = 77,\r\n TraceRoutePacketLossPercent = 78,\r\n RedirectTime = 79,\r\n SatisfiedPercent = 80,\r\n ToleratingPercent = 81,\r\n FrustratedPercent = 82,\r\n NotFrustratedPercent = 83,\r\n SpeedIndex = 84,\r\n SendsCount = 85,\r\n SendDataBytes = 86,\r\n ReceivesCount = 87,\r\n ReceiveDataBytes = 88,\r\n TestTime = 89,\r\n PositiveOffsetTime = 90,\r\n NegativeOffsetTime = 91,\r\n RoundTripDelayTime = 92,\r\n RootDelayTime = 93,\r\n RootDispersionTime = 94,\r\n DownTimePercent = 95,\r\n SelfBottleneckPercent = 96,\r\n ThirdPartyBottleneckPercent = 97,\r\n SelfDownloadedBytes = 98,\r\n LogoutTime = 99,\r\n MessageBytes = 100,\r\n SearchTime = 101,\r\n ListTime = 102,\r\n FetchTime = 103,\r\n ASNs = 104,\r\n Cities = 105,\r\n Countries = 106,\r\n Hops = 107,\r\n SLAAdjustedAvailability = 108,\r\n SLAPurgedRuns = 109,\r\n PublishTime = 110,\r\n PublishSize = 111,\r\n SubscribeTime = 112,\r\n SubscribeSize = 113,\r\n ContentTypeTimeImage = 114,\r\n ContentTypeTimeScript = 115,\r\n ContentTypeTimeHtml = 116,\r\n ContentTypeTimeCss = 117,\r\n ContentTypeTimeXml = 118,\r\n ContentTypeTimeFlash = 119,\r\n ContentTypeTimeMedia = 120,\r\n ContentTypeTimeOther = 121,\r\n ContentTypeTimeFont = 122,\r\n HandshakeTime = 123,\r\n ExpirationTime = 124,\r\n SignalQuality = 125,\r\n SignalStrength = 126,\r\n ConnectionDuration = 127,\r\n MaxReceiveRate = 128,\r\n MaxTransmitRate = 129,\r\n ExitToEntryTime = 130,\r\n ExitToOnLoadTime = 131,\r\n EntryToOnLoadTime = 132,\r\n ResponseTime = 133,\r\n DomInteractiveTime = 134,\r\n DomLoadedTime = 135,\r\n UniqueVisitCount = 136,\r\n PageViewsCount = 137,\r\n PagesPerVisitCount = 138,\r\n BounceCount = 139,\r\n BounceRate = 140,\r\n Revenue = 141,\r\n ConversionCount = 142,\r\n ItemsSoldCount = 143,\r\n ConversionRate = 144,\r\n BounceRatePerAverageDocumentCompleteTime = 145,\r\n ConversionRatePerAverageDocumentCompleteTime = 146,\r\n RevenueRatePerAverageDocumentCompleteTime = 147,\r\n PageViewRatePerAverageDocumentCompleteTime = 148,\r\n ProcessTime = 149,\r\n AppearTime = 150,\r\n CrashCount = 151,\r\n MemoryWarningCount = 152,\r\n ScreenViewsCount = 153,\r\n ScreenPerVisitCount = 154,\r\n RequestCount = 155,\r\n SublevelRequestCount = 156,\r\n TotalAjaxTime = 157,\r\n VisuallyCompleteTime = 158,\r\n WaterfallsCount = 159,\r\n DnsLookupTimeAvg = 160,\r\n ConnectTimeAvg = 161,\r\n SslTimeAvg = 162,\r\n WaitTimeAvg = 163,\r\n LoadTimeAvg = 164,\r\n ResponseTimeAvg = 165,\r\n NetworkErrors = 166,\r\n TotalPageLoadTime = 167,\r\n FirstPaint = 168,\r\n FirstContentfulPaint = 169,\r\n TimeToInteractive = 170,\r\n FirstInputDelay = 171,\r\n EngagementTime = 172,\r\n FirstEngagement = 173,\r\n PageAborts = 174,\r\n FullyLoadedMark = 175,\r\n FullyVisibleMark = 176,\r\n AboveTheFoldMark = 177,\r\n TimeToUserActionMark = 178,\r\n TimeonPage = 179,\r\n ItemErrors = 180,\r\n TimeToFirstByteTimePage = 181,\r\n Announcements = 182,\r\n Withdrawals = 183,\r\n RoutingEvents = 184,\r\n FullConnect = 185,\r\n BgpEvents = 186,\r\n AverageFramesPerSecond = 187,\r\n DnsA = 188,\r\n DnsAaaa = 189,\r\n DnsCname = 190,\r\n DnsNs = 191,\r\n AlertsCritical = 192,\r\n AlertsWarning = 193,\r\n AlertsImproved = 194,\r\n CachedItemsCount = 195,\r\n CpuUtilization = 196,\r\n MemoryUtilization = 197,\r\n WifiSignalStrength = 198,\r\n WifiSignalQuality = 199,\r\n DownloadTime = 200,\r\n RequestTestResponseTime = 201,\r\n DownloadThroughput = 202,\r\n GetTime = 203,\r\n DownloadFileSize = 204,\r\n UploadTime = 205,\r\n TimeToFetch = 206,\r\n MessageSizeBytes = 207,\r\n TestErrorCount = 208,\r\n MessageSize = 209,\r\n RequestsCount = 210,\r\n PageLoadTime = 211,\r\n TraceRouteRoundtripTime = 212,\r\n Latency = 213,\r\n EndpointTestRunCount = 214,\r\n EndpointAppScore = 238,\r\n EndpointDeviceScore = 239,\r\n EndpointNetworkScore = 240,\r\n EndpointExperienceScore = 241,\r\n PageViewsWithPageUnavailable = 242,\r\n LargestContentfulPaint = 243,\r\n CumulativeLayoutShift = 244,\r\n Formula = 245,\r\n Jitter = 246,\r\n UniqueNodes = 247,\r\n UploadBandwidth = 248,\r\n DownloadBandwidth = 249,\r\n SubSourceWebPageResponse = 250,\r\n LighthousePerformanceScore = 251,\r\n LighthouseAccessibilityScore = 252,\r\n LighthouseBestPracticesScore = 253,\r\n LighthousePwaScore = 254,\r\n LighthouseSeoScore = 255,\r\n CpuEvaluateScript = 256,\r\n Cpuv8Compile = 257,\r\n CpuParseHTML = 258,\r\n CpuParseAuthorStyleSheet = 259,\r\n CpuUpdateLayoutTree = 260,\r\n CpuLayout = 261,\r\n CpuPaint = 262,\r\n CpuFunctionCall = 263,\r\n CpuFireAnimationFrame = 264,\r\n CpuXhrLoad = 265,\r\n CpuIdle = 266,\r\n FullyLoadedCpuTime = 267,\r\n FullyLoadedCpuPct = 268,\r\n DomElements = 269,\r\n EffectiveBpsDoc = 270,\r\n LongJsTaskTime = 271,\r\n LongJsTaskCount = 272,\r\n LongestJsTaskTime = 273,\r\n RenderBlockingCss = 274,\r\n RenderBlockingJs = 275,\r\n WebPageResponse = 276,\r\n EndpointEmployeeAppTracerouteRuns = 277,\r\n EndpointTraceroutePingRuns = 278,\r\n EndpointEmployeeAppPageViews = 279,\r\n EndpointRuns = 280,\r\n TotalBlockingTime = 281,\r\n EndpointTraceroutePingErrorCount = 282,\r\n NamedField = 283,\r\n BgpReachabilityPct = 284,\r\n SyntheticExperienceScore = 285,\r\n EndpointTracerouteRuns = 286,\r\n DnssecTime = 287,\r\n WptRequestDuration = 288,\r\n WptRequestStartTime = 289,\r\n WptRequestSizeBytes = 290,\r\n MainThreadExecution = 291,\r\n TransferTime = 292,\r\n TransferSize = 293,\r\n LongJsTasks = 294,\r\n BgpRpkiMatches = 295,\r\n BgpRpkiUnmatchedLength = 296,\r\n BgpRpkiUnmatchedOriginAsn = 297,\r\n PathMtu = 298,\r\n TcpMss = 299,\r\n }\r\n","import Observable from 'zen-observable';\nimport 'symbol-observable';\nvar prototype = Observable.prototype;\nvar fakeObsSymbol = '@@observable';\nif (!prototype[fakeObsSymbol]) {\n prototype[fakeObsSymbol] = function () { return this; };\n}\nexport { Observable };\n//# sourceMappingURL=Observable.js.map","export var RectangleEdge;\n(function (RectangleEdge) {\n RectangleEdge[RectangleEdge[\"top\"] = 1] = \"top\";\n RectangleEdge[RectangleEdge[\"bottom\"] = -1] = \"bottom\";\n RectangleEdge[RectangleEdge[\"left\"] = 2] = \"left\";\n RectangleEdge[RectangleEdge[\"right\"] = -2] = \"right\";\n})(RectangleEdge || (RectangleEdge = {}));\nexport var Position;\n(function (Position) {\n Position[Position[\"top\"] = 0] = \"top\";\n Position[Position[\"bottom\"] = 1] = \"bottom\";\n Position[Position[\"start\"] = 2] = \"start\";\n Position[Position[\"end\"] = 3] = \"end\";\n})(Position || (Position = {}));\n//# sourceMappingURL=positioning.types.js.map","export function filterInPlace(array, test, context) {\n var target = 0;\n array.forEach(function (elem, i) {\n if (test.call(this, elem, i, array)) {\n array[target++] = elem;\n }\n }, context);\n array.length = target;\n return array;\n}\n//# sourceMappingURL=filterInPlace.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport { visit, } from 'graphql';\nimport { invariant } from 'ts-invariant';\nimport { checkDocument, getOperationDefinition, getFragmentDefinition, getFragmentDefinitions, getMainDefinition, } from \"./getFromAST.js\";\nimport { filterInPlace } from \"../common/filterInPlace.js\";\nimport { isField, isInlineFragment } from \"./storeUtils.js\";\nimport { createFragmentMap, } from \"./fragments.js\";\nvar TYPENAME_FIELD = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: '__typename',\n },\n};\nfunction isEmpty(op, fragments) {\n return op.selectionSet.selections.every(function (selection) {\n return selection.kind === 'FragmentSpread' &&\n isEmpty(fragments[selection.name.value], fragments);\n });\n}\nfunction nullIfDocIsEmpty(doc) {\n return isEmpty(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc)))\n ? null\n : doc;\n}\nfunction getDirectiveMatcher(directives) {\n return function directiveMatcher(directive) {\n return directives.some(function (dir) {\n return (dir.name && dir.name === directive.name.value) ||\n (dir.test && dir.test(directive));\n });\n };\n}\nexport function removeDirectivesFromDocument(directives, doc) {\n var variablesInUse = Object.create(null);\n var variablesToRemove = [];\n var fragmentSpreadsInUse = Object.create(null);\n var fragmentSpreadsToRemove = [];\n var modifiedDoc = nullIfDocIsEmpty(visit(doc, {\n Variable: {\n enter: function (node, _key, parent) {\n if (parent.kind !== 'VariableDefinition') {\n variablesInUse[node.name.value] = true;\n }\n },\n },\n Field: {\n enter: function (node) {\n if (directives && node.directives) {\n var shouldRemoveField = directives.some(function (directive) { return directive.remove; });\n if (shouldRemoveField &&\n node.directives &&\n node.directives.some(getDirectiveMatcher(directives))) {\n if (node.arguments) {\n node.arguments.forEach(function (arg) {\n if (arg.value.kind === 'Variable') {\n variablesToRemove.push({\n name: arg.value.name.value,\n });\n }\n });\n }\n if (node.selectionSet) {\n getAllFragmentSpreadsFromSelectionSet(node.selectionSet).forEach(function (frag) {\n fragmentSpreadsToRemove.push({\n name: frag.name.value,\n });\n });\n }\n return null;\n }\n }\n },\n },\n FragmentSpread: {\n enter: function (node) {\n fragmentSpreadsInUse[node.name.value] = true;\n },\n },\n Directive: {\n enter: function (node) {\n if (getDirectiveMatcher(directives)(node)) {\n return null;\n }\n },\n },\n }));\n if (modifiedDoc &&\n filterInPlace(variablesToRemove, function (v) { return !!v.name && !variablesInUse[v.name]; }).length) {\n modifiedDoc = removeArgumentsFromDocument(variablesToRemove, modifiedDoc);\n }\n if (modifiedDoc &&\n filterInPlace(fragmentSpreadsToRemove, function (fs) { return !!fs.name && !fragmentSpreadsInUse[fs.name]; })\n .length) {\n modifiedDoc = removeFragmentSpreadFromDocument(fragmentSpreadsToRemove, modifiedDoc);\n }\n return modifiedDoc;\n}\nexport function addTypenameToDocument(doc) {\n return visit(checkDocument(doc), {\n SelectionSet: {\n enter: function (node, _key, parent) {\n if (parent &&\n parent.kind === 'OperationDefinition') {\n return;\n }\n var selections = node.selections;\n if (!selections) {\n return;\n }\n var skip = selections.some(function (selection) {\n return (isField(selection) &&\n (selection.name.value === '__typename' ||\n selection.name.value.lastIndexOf('__', 0) === 0));\n });\n if (skip) {\n return;\n }\n var field = parent;\n if (isField(field) &&\n field.directives &&\n field.directives.some(function (d) { return d.name.value === 'export'; })) {\n return;\n }\n return __assign(__assign({}, node), { selections: __spreadArrays(selections, [TYPENAME_FIELD]) });\n },\n },\n });\n}\naddTypenameToDocument.added = function (field) {\n return field === TYPENAME_FIELD;\n};\nvar connectionRemoveConfig = {\n test: function (directive) {\n var willRemove = directive.name.value === 'connection';\n if (willRemove) {\n if (!directive.arguments ||\n !directive.arguments.some(function (arg) { return arg.name.value === 'key'; })) {\n process.env.NODE_ENV === \"production\" || invariant.warn('Removing an @connection directive even though it does not have a key. ' +\n 'You may want to use the key parameter to specify a store key.');\n }\n }\n return willRemove;\n },\n};\nexport function removeConnectionDirectiveFromDocument(doc) {\n return removeDirectivesFromDocument([connectionRemoveConfig], checkDocument(doc));\n}\nfunction hasDirectivesInSelectionSet(directives, selectionSet, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n return (!!selectionSet &&\n selectionSet.selections &&\n selectionSet.selections.some(function (selection) {\n return hasDirectivesInSelection(directives, selection, nestedCheck);\n }));\n}\nfunction hasDirectivesInSelection(directives, selection, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n if (!isField(selection)) {\n return true;\n }\n if (!selection.directives) {\n return false;\n }\n return (selection.directives.some(getDirectiveMatcher(directives)) ||\n (nestedCheck &&\n hasDirectivesInSelectionSet(directives, selection.selectionSet, nestedCheck)));\n}\nfunction getArgumentMatcher(config) {\n return function argumentMatcher(argument) {\n return config.some(function (aConfig) {\n return argument.value &&\n argument.value.kind === 'Variable' &&\n argument.value.name &&\n (aConfig.name === argument.value.name.value ||\n (aConfig.test && aConfig.test(argument)));\n });\n };\n}\nexport function removeArgumentsFromDocument(config, doc) {\n var argMatcher = getArgumentMatcher(config);\n return nullIfDocIsEmpty(visit(doc, {\n OperationDefinition: {\n enter: function (node) {\n return __assign(__assign({}, node), { variableDefinitions: node.variableDefinitions ? node.variableDefinitions.filter(function (varDef) {\n return !config.some(function (arg) { return arg.name === varDef.variable.name.value; });\n }) : [] });\n },\n },\n Field: {\n enter: function (node) {\n var shouldRemoveField = config.some(function (argConfig) { return argConfig.remove; });\n if (shouldRemoveField) {\n var argMatchCount_1 = 0;\n if (node.arguments) {\n node.arguments.forEach(function (arg) {\n if (argMatcher(arg)) {\n argMatchCount_1 += 1;\n }\n });\n }\n if (argMatchCount_1 === 1) {\n return null;\n }\n }\n },\n },\n Argument: {\n enter: function (node) {\n if (argMatcher(node)) {\n return null;\n }\n },\n },\n }));\n}\nexport function removeFragmentSpreadFromDocument(config, doc) {\n function enter(node) {\n if (config.some(function (def) { return def.name === node.name.value; })) {\n return null;\n }\n }\n return nullIfDocIsEmpty(visit(doc, {\n FragmentSpread: { enter: enter },\n FragmentDefinition: { enter: enter },\n }));\n}\nfunction getAllFragmentSpreadsFromSelectionSet(selectionSet) {\n var allFragments = [];\n selectionSet.selections.forEach(function (selection) {\n if ((isField(selection) || isInlineFragment(selection)) &&\n selection.selectionSet) {\n getAllFragmentSpreadsFromSelectionSet(selection.selectionSet).forEach(function (frag) { return allFragments.push(frag); });\n }\n else if (selection.kind === 'FragmentSpread') {\n allFragments.push(selection);\n }\n });\n return allFragments;\n}\nexport function buildQueryFromSelectionSet(document) {\n var definition = getMainDefinition(document);\n var definitionOperation = definition.operation;\n if (definitionOperation === 'query') {\n return document;\n }\n var modifiedDoc = visit(document, {\n OperationDefinition: {\n enter: function (node) {\n return __assign(__assign({}, node), { operation: 'query' });\n },\n },\n });\n return modifiedDoc;\n}\nexport function removeClientSetsFromDocument(document) {\n checkDocument(document);\n var modifiedDoc = removeDirectivesFromDocument([\n {\n test: function (directive) { return directive.name.value === 'client'; },\n remove: true,\n },\n ], document);\n if (modifiedDoc) {\n modifiedDoc = visit(modifiedDoc, {\n FragmentDefinition: {\n enter: function (node) {\n if (node.selectionSet) {\n var isTypenameOnly = node.selectionSet.selections.every(function (selection) {\n return isField(selection) && selection.name.value === '__typename';\n });\n if (isTypenameOnly) {\n return null;\n }\n }\n },\n },\n });\n }\n return modifiedDoc;\n}\n//# sourceMappingURL=transform.js.map","var REACT_LIFECYCLE_EXCLUSIONS = [\n 'setState',\n 'render',\n 'componentWillMount',\n 'UNSAFE_componentWillMount',\n 'componentDidMount',\n 'componentWillReceiveProps',\n 'UNSAFE_componentWillReceiveProps',\n 'shouldComponentUpdate',\n 'componentWillUpdate',\n 'getSnapshotBeforeUpdate',\n 'UNSAFE_componentWillUpdate',\n 'componentDidUpdate',\n 'componentWillUnmount',\n];\n/**\n * Allows you to hoist methods, except those in an exclusion set from a source object into a destination object.\n *\n * @public\n * @param destination - The instance of the object to hoist the methods onto.\n * @param source - The instance of the object where the methods are hoisted from.\n * @param exclusions - (Optional) What methods to exclude from being hoisted.\n * @returns An array of names of methods that were hoisted.\n */\nexport function hoistMethods(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndestination, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nsource, exclusions) {\n if (exclusions === void 0) { exclusions = REACT_LIFECYCLE_EXCLUSIONS; }\n var hoisted = [];\n var _loop_1 = function (methodName) {\n if (typeof source[methodName] === 'function' &&\n destination[methodName] === undefined &&\n (!exclusions || exclusions.indexOf(methodName) === -1)) {\n hoisted.push(methodName);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n destination[methodName] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n source[methodName].apply(source, args);\n };\n }\n };\n for (var methodName in source) {\n _loop_1(methodName);\n }\n return hoisted;\n}\n/**\n * Provides a method for convenience to unhoist hoisted methods.\n *\n * @public\n * @param source - The source object upon which methods were hoisted.\n * @param methodNames - An array of method names to unhoist.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function unhoistMethods(source, methodNames) {\n methodNames.forEach(function (methodName) { return delete source[methodName]; });\n}\n//# sourceMappingURL=hoist.js.map","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // \n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n"," \r\n export enum AccessLevel {\r\n System = 5,\r\n Reseller = 16,\r\n Client = 17,\r\n Division = 18,\r\n }\r\n","export { empty } from \"./empty.js\";\nexport { from } from \"./from.js\";\nexport { split } from \"./split.js\";\nexport { concat } from \"./concat.js\";\nexport { execute } from \"./execute.js\";\nexport { ApolloLink } from \"./ApolloLink.js\";\nexport * from \"./types.js\";\n//# sourceMappingURL=index.js.map","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n"," \r\n export enum ObjectType {\r\n None = 0,\r\n LanguageString = 1,\r\n UserAccess = 2,\r\n Machine = 3,\r\n Partition = 4,\r\n System = 5,\r\n ApplicationParameter = 6,\r\n ApplicationMachine = 7,\r\n ApplicationMachineParameter = 8,\r\n UserRole = 9,\r\n UserRolePermission = 10,\r\n Contact = 11,\r\n ContactGroup = 12,\r\n ContactGroupItem = 13,\r\n UserFilter = 14,\r\n RestrictedIPAccess = 15,\r\n Reseller = 16,\r\n Client = 17,\r\n Division = 18,\r\n Schedule = 19,\r\n ScheduleItem = 20,\r\n SyntheticLocation = 21,\r\n SyntheticLocationGroup = 22,\r\n SyntheticLocationGroupItem = 23,\r\n AlertTemplate = 24,\r\n AlertTemplateMessage = 25,\r\n AlertGroup = 26,\r\n AlertGroupItem = 27,\r\n Product = 28,\r\n ProductSubDomain = 29,\r\n TestFolder = 30,\r\n Category = 31,\r\n Test = 32,\r\n TestTransactionStep = 33,\r\n TestCategory = 34,\r\n NotificationGroup = 35,\r\n AssociatedRequestHeader = 36,\r\n AlertType = 37,\r\n AlertSubtype = 38,\r\n NotificationGroupEmail = 39,\r\n Country = 40,\r\n CountryState = 41,\r\n Permission = 42,\r\n ChartTemplate = 43,\r\n SyntheticPopulation = 44,\r\n InstantTest = 45,\r\n InstantTestItem = 46,\r\n Incident = 47,\r\n IncidentAlertNotification = 48,\r\n DivisionInsight = 49,\r\n InsightIndicator = 50,\r\n InsightTracepoint = 51,\r\n CustomReportRequest = 52,\r\n InvalidTestReportDataInterval = 53,\r\n ApdexThreshold = 54,\r\n DivisionHost = 55,\r\n FreeUser = 56,\r\n OutclipWebsite = 57,\r\n OutclipSnippet = 58,\r\n WaterfallTemplate = 59,\r\n FreeTest = 60,\r\n LightCustomReportTemplate = 61,\r\n LightCustomReportTemplateField = 62,\r\n LightCustomReportRequest = 63,\r\n LightCustomReportRequestFilter = 64,\r\n DivisionApi = 65,\r\n BusinessContract = 66,\r\n ContentZone = 67,\r\n HostCollectionBlacklist = 68,\r\n ContentZoneRule = 69,\r\n TestMiniHar = 70,\r\n SavedChart = 71,\r\n SavedChartFilter = 72,\r\n ApdexFrustrationRatio = 73,\r\n GlimpseSitePackage = 74,\r\n GlimpseSite = 75,\r\n GlimpseSitePageGroup = 76,\r\n GlimpseSiteVariation = 77,\r\n BusinessLicenseContract = 78,\r\n AssociatedGlimpseLicense = 79,\r\n DivisionLicenses = 80,\r\n PullApiConsumer = 81,\r\n RouterHostPattern = 82,\r\n RouterHost = 83,\r\n ApiPushTemplate = 84,\r\n Dashboard = 85,\r\n Widget = 86,\r\n DashboardWidget = 87,\r\n DashboardPublicLink = 88,\r\n BenchmarkIndex = 89,\r\n Browser = 90,\r\n DomainGlobal = 91,\r\n OrganizationGlobal = 92,\r\n InternetServiceProviderGlobal = 93,\r\n Continent = 94,\r\n CountryStateCity = 95,\r\n NetworkSpeed = 96,\r\n Os = 97,\r\n MobileDevice = 98,\r\n CertificateData = 99,\r\n PushApiEndpoint = 100,\r\n SyntheticMonitorSet = 101,\r\n SyntheticMonitorPackage = 102,\r\n SavedChartField = 103,\r\n GlobalVariable = 104,\r\n PullApiUsage = 105,\r\n FileReference = 106,\r\n MachineHardwareType = 107,\r\n MachineOperatingSystemFlavor = 108,\r\n MachineVirtualizationType = 109,\r\n InternetServiceProvider = 110,\r\n GeographyCity = 111,\r\n ContactTestAccessRestriction = 112,\r\n PricingModel = 113,\r\n Visualization = 114,\r\n Facility = 115,\r\n Storage = 116,\r\n DataView = 117,\r\n IdentityProvider = 118,\r\n IdentityProviderAssertion = 119,\r\n AlertGroupItemFilter = 120,\r\n DataViewDimension = 121,\r\n DataViewMetric = 122,\r\n AssociatedApplicationVersion = 123,\r\n CaptureServerSyntheticPopulation = 124,\r\n BandwidthThrottleSettings = 125,\r\n AlertInstruction = 126,\r\n AssociatedModel = 127,\r\n Model = 128,\r\n GlimpseProvider = 129,\r\n Integration = 130,\r\n IntegrationType = 131,\r\n SLAPurgeItem = 132,\r\n IntegrationGroup = 133,\r\n AssociatedAdvancedSettings = 134,\r\n EnterpriseInstanceLicense = 135,\r\n InstanceDnsRecord = 136,\r\n VisualizationScript = 137,\r\n GlimpseEvent = 138,\r\n SyntheticInstanceRejected = 139,\r\n PointsAllocation = 140,\r\n GlimpseProviderType = 141,\r\n ApplicationVersion = 142,\r\n ApplicationType = 143,\r\n ApplicationCheck = 144,\r\n PerformanceReport = 145,\r\n RegexAssociation = 146,\r\n GlimpseSonarEntity = 147,\r\n GlimpseSonarGroup = 148,\r\n TestTemplateStatusType = 149,\r\n TestTypeSchema = 150,\r\n TestTemplate = 151,\r\n TestTemplateParameter = 152,\r\n AssociatedTestTemplateParameter = 153,\r\n TestTemplateApplicationGroup = 154,\r\n AssociatedRestrictedTestTemplate = 155,\r\n LabelKey = 156,\r\n LabelValue = 157,\r\n AssociatedLabelValue = 158,\r\n GlimpseSonarLocation = 159,\r\n GlimpseSonarDevice = 160,\r\n SonarBusinessContract = 161,\r\n TestModuleDisplayPreferences = 162,\r\n Smartboard = 163,\r\n Component = 164,\r\n SmartboardComponent = 165,\r\n AssociatedBenchmarkIndex = 166,\r\n BgpPeer = 167,\r\n SmartboardFolder = 168,\r\n EndpointInstantTest = 169,\r\n EndpointScheduledTest = 170,\r\n GlimpseSonarNetworkDevice = 171,\r\n GeographyIpAddressLocationOverride = 172,\r\n FavoriteChart = 173,\r\n WptApiKey = 174,\r\n QuickChart = 175,\r\n UserVisualization = 176,\r\n EndpointInstantTestItem = 177,\r\n WptBusinessContract = 178,\r\n WptFolder = 179,\r\n WptScheduleInterval = 180,\r\n WptDeviceType = 181,\r\n WptBrowserType = 182,\r\n WptConnectionType = 183,\r\n WptDevice = 184,\r\n Authentication = 185,\r\n AuthenticationContact = 186,\r\n ASN = 187,\r\n EndpointEmployeeApp = 188,\r\n }\r\n","export { parseAndCheckHttpResponse } from \"./parseAndCheckHttpResponse.js\";\nexport { serializeFetchParameter } from \"./serializeFetchParameter.js\";\nexport { fallbackHttpConfig, selectHttpOptionsAndBody } from \"./selectHttpOptionsAndBody.js\";\nexport { checkFetcher } from \"./checkFetcher.js\";\nexport { createSignalIfSupported } from \"./createSignalIfSupported.js\";\nexport { selectURI } from \"./selectURI.js\";\nexport { createHttpLink } from \"./createHttpLink.js\";\nexport { HttpLink } from \"./HttpLink.js\";\nexport { rewriteURIForGET } from \"./rewriteURIForGET.js\";\n//# sourceMappingURL=index.js.map","import { serializeFetchParameter } from \"./serializeFetchParameter.js\";\nexport function rewriteURIForGET(chosenURI, body) {\n var queryParams = [];\n var addQueryParam = function (key, value) {\n queryParams.push(key + \"=\" + encodeURIComponent(value));\n };\n if ('query' in body) {\n addQueryParam('query', body.query);\n }\n if (body.operationName) {\n addQueryParam('operationName', body.operationName);\n }\n if (body.variables) {\n var serializedVariables = void 0;\n try {\n serializedVariables = serializeFetchParameter(body.variables, 'Variables map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('variables', serializedVariables);\n }\n if (body.extensions) {\n var serializedExtensions = void 0;\n try {\n serializedExtensions = serializeFetchParameter(body.extensions, 'Extensions map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('extensions', serializedExtensions);\n }\n var fragment = '', preFragment = chosenURI;\n var fragmentStart = chosenURI.indexOf('#');\n if (fragmentStart !== -1) {\n fragment = chosenURI.substr(fragmentStart);\n preFragment = chosenURI.substr(0, fragmentStart);\n }\n var queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';\n var newURI = preFragment + queryParamsPrefix + queryParams.join('&') + fragment;\n return { newURI: newURI };\n}\n//# sourceMappingURL=rewriteURIForGET.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { mergeStyles } from '@uifabric/merge-styles';\nimport { getTheme } from '@uifabric/styling';\nimport { KeyCodes, css, elementContains, getDocument, getElementIndexPath, getFocusableByIndexPath, getId, getNativeProps, getNextElement, getParent, getPreviousElement, getRTL, htmlElementProperties, initializeComponentRef, isElementFocusSubZone, isElementFocusZone, isElementTabbable, raiseClick, shouldWrapFocus, warnDeprecations, portalContainsElement, getWindow, findScrollableParent, createMergedRef, } from '@uifabric/utilities';\nimport { FocusZoneDirection, FocusZoneTabbableElements } from './FocusZone.types';\nvar IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nvar IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\nvar FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nvar TABINDEX = 'tabindex';\nvar NO_VERTICAL_WRAP = 'data-no-vertical-wrap';\nvar NO_HORIZONTAL_WRAP = 'data-no-horizontal-wrap';\nvar LARGE_DISTANCE_FROM_CENTER = 999999999;\nvar LARGE_NEGATIVE_DISTANCE_FROM_CENTER = -999999999;\nvar focusZoneStyles;\nvar focusZoneClass = 'ms-FocusZone';\n// Helper function that will return a class for when the root is focused\nfunction getRootClass() {\n if (!focusZoneStyles) {\n focusZoneStyles = mergeStyles({\n selectors: {\n ':focus': {\n outline: 'none',\n },\n },\n }, focusZoneClass);\n }\n return focusZoneStyles;\n}\nvar _allInstances = {};\nvar _outerZones = new Set();\nvar ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search'];\nvar ALLOW_VIRTUAL_ELEMENTS = false;\nvar FocusZone = /** @class */ (function (_super) {\n __extends(FocusZone, _super);\n function FocusZone(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._mergedRef = createMergedRef();\n _this._onFocus = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n var _a = _this.props, onActiveElementChanged = _a.onActiveElementChanged, \n // eslint-disable-next-line deprecation/deprecation\n doNotAllowFocusEventToPropagate = _a.doNotAllowFocusEventToPropagate, stopFocusPropagation = _a.stopFocusPropagation, \n // eslint-disable-next-line deprecation/deprecation\n onFocusNotification = _a.onFocusNotification, onFocus = _a.onFocus, shouldFocusInnerElementWhenReceivedFocus = _a.shouldFocusInnerElementWhenReceivedFocus, defaultTabbableElement = _a.defaultTabbableElement;\n var isImmediateDescendant = _this._isImmediateDescendantOfZone(ev.target);\n var newActiveElement;\n if (isImmediateDescendant) {\n newActiveElement = ev.target;\n }\n else {\n var parentElement = ev.target;\n while (parentElement && parentElement !== _this._root.current) {\n if (isElementTabbable(parentElement) && _this._isImmediateDescendantOfZone(parentElement)) {\n newActiveElement = parentElement;\n break;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n }\n // If an inner focusable element should be focused when FocusZone container receives focus\n if (shouldFocusInnerElementWhenReceivedFocus && ev.target === _this._root.current) {\n var maybeElementToFocus = defaultTabbableElement &&\n typeof defaultTabbableElement === 'function' &&\n defaultTabbableElement(_this._root.current);\n // try to focus defaultTabbable element\n if (maybeElementToFocus && isElementTabbable(maybeElementToFocus)) {\n newActiveElement = maybeElementToFocus;\n maybeElementToFocus.focus();\n }\n else {\n // force focus on first focusable element\n _this.focus(true);\n if (_this._activeElement) {\n // set to null as new active element was handled in method above\n newActiveElement = null;\n }\n }\n }\n var initialElementFocused = !_this._activeElement;\n // If the new active element is a child of this zone and received focus,\n // update alignment an immediate descendant\n if (newActiveElement && newActiveElement !== _this._activeElement) {\n if (isImmediateDescendant || initialElementFocused) {\n _this._setFocusAlignment(newActiveElement, true, true);\n }\n _this._activeElement = newActiveElement;\n if (initialElementFocused) {\n _this._updateTabIndexes();\n }\n }\n if (onActiveElementChanged) {\n onActiveElementChanged(_this._activeElement, ev);\n }\n if (stopFocusPropagation || doNotAllowFocusEventToPropagate) {\n ev.stopPropagation();\n }\n if (onFocus) {\n onFocus(ev);\n }\n else if (onFocusNotification) {\n onFocusNotification();\n }\n };\n _this._onBlur = function () {\n _this._setParkedFocus(false);\n };\n _this._onMouseDown = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n var disabled = _this.props.disabled;\n if (disabled) {\n return;\n }\n var target = ev.target;\n var path = [];\n while (target && target !== _this._root.current) {\n path.push(target);\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n }\n while (path.length) {\n target = path.pop();\n if (target && isElementTabbable(target)) {\n _this._setActiveElement(target, true);\n }\n if (isElementFocusZone(target)) {\n // Stop here since the focus zone will take care of its own children.\n break;\n }\n }\n };\n /**\n * Handle the keystrokes.\n */\n _this._onKeyDown = function (ev, theme) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, direction = _a.direction, disabled = _a.disabled, isInnerZoneKeystroke = _a.isInnerZoneKeystroke, pagingSupportDisabled = _a.pagingSupportDisabled, shouldEnterInnerZone = _a.shouldEnterInnerZone;\n if (disabled) {\n return;\n }\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n }\n // If the default has been prevented, do not process keyboard events.\n if (ev.isDefaultPrevented()) {\n return;\n }\n if (_this._getDocument().activeElement === _this._root.current && _this._isInnerZone) {\n // If this element has focus, it is being controlled by a parent.\n // Ignore the keystroke.\n return;\n }\n if (((shouldEnterInnerZone && shouldEnterInnerZone(ev)) || (isInnerZoneKeystroke && isInnerZoneKeystroke(ev))) &&\n _this._isImmediateDescendantOfZone(ev.target)) {\n // Try to focus\n var innerZone = _this._getFirstInnerZone();\n if (innerZone) {\n if (!innerZone.focus(true)) {\n return;\n }\n }\n else if (isElementFocusSubZone(ev.target)) {\n if (!_this.focusElement(getNextElement(ev.target, ev.target.firstChild, true))) {\n return;\n }\n }\n else {\n return;\n }\n }\n else if (ev.altKey) {\n return;\n }\n else {\n // eslint-disable-next-line @fluentui/deprecated-keyboard-event-props\n switch (ev.which) {\n case KeyCodes.space:\n if (_this._tryInvokeClickForFocusable(ev.target)) {\n break;\n }\n return;\n case KeyCodes.left:\n if (direction !== FocusZoneDirection.vertical) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusLeft(theme)) {\n break;\n }\n }\n return;\n case KeyCodes.right:\n if (direction !== FocusZoneDirection.vertical) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusRight(theme)) {\n break;\n }\n }\n return;\n case KeyCodes.up:\n if (direction !== FocusZoneDirection.horizontal) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusUp()) {\n break;\n }\n }\n return;\n case KeyCodes.down:\n if (direction !== FocusZoneDirection.horizontal) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusDown()) {\n break;\n }\n }\n return;\n case KeyCodes.pageDown:\n if (!pagingSupportDisabled && _this._moveFocusPaging(true)) {\n break;\n }\n return;\n case KeyCodes.pageUp:\n if (!pagingSupportDisabled && _this._moveFocusPaging(false)) {\n break;\n }\n return;\n case KeyCodes.tab:\n if (\n // eslint-disable-next-line deprecation/deprecation\n _this.props.allowTabKey ||\n _this.props.handleTabKey === FocusZoneTabbableElements.all ||\n (_this.props.handleTabKey === FocusZoneTabbableElements.inputOnly &&\n _this._isElementInput(ev.target))) {\n var focusChanged = false;\n _this._processingTabKey = true;\n if (direction === FocusZoneDirection.vertical ||\n !_this._shouldWrapFocus(_this._activeElement, NO_HORIZONTAL_WRAP)) {\n focusChanged = ev.shiftKey ? _this._moveFocusUp() : _this._moveFocusDown();\n }\n else {\n var tabWithDirection = getRTL(theme) ? !ev.shiftKey : ev.shiftKey;\n focusChanged = tabWithDirection ? _this._moveFocusLeft(theme) : _this._moveFocusRight(theme);\n }\n _this._processingTabKey = false;\n if (focusChanged) {\n break;\n }\n else if (_this.props.shouldResetActiveElementWhenTabFromZone) {\n _this._activeElement = null;\n }\n }\n return;\n case KeyCodes.home:\n if (_this._isContentEditableElement(ev.target) ||\n (_this._isElementInput(ev.target) &&\n !_this._shouldInputLoseFocus(ev.target, false))) {\n return false;\n }\n var firstChild = _this._root.current && _this._root.current.firstChild;\n if (_this._root.current &&\n firstChild &&\n _this.focusElement(getNextElement(_this._root.current, firstChild, true))) {\n break;\n }\n return;\n case KeyCodes.end:\n if (_this._isContentEditableElement(ev.target) ||\n (_this._isElementInput(ev.target) &&\n !_this._shouldInputLoseFocus(ev.target, true))) {\n return false;\n }\n var lastChild = _this._root.current && _this._root.current.lastChild;\n if (_this._root.current &&\n _this.focusElement(getPreviousElement(_this._root.current, lastChild, true, true, true))) {\n break;\n }\n return;\n case KeyCodes.enter:\n if (_this._tryInvokeClickForFocusable(ev.target)) {\n break;\n }\n return;\n default:\n return;\n }\n }\n ev.preventDefault();\n ev.stopPropagation();\n };\n _this._getHorizontalDistanceFromCenter = function (isForward, activeRect, targetRect) {\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = _this._focusAlignment.left || _this._focusAlignment.x || 0;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n var targetRectBottom = Math.floor(targetRect.bottom);\n var activeRectTop = Math.floor(activeRect.top);\n var isValidCandidateOnpagingDown = isForward && targetRectTop > activeRectBottom;\n var isValidCandidateOnpagingUp = !isForward && targetRectBottom < activeRectTop;\n if (isValidCandidateOnpagingDown || isValidCandidateOnpagingUp) {\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n return 0;\n }\n return Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n };\n // Manage componentRef resolution.\n initializeComponentRef(_this);\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('FocusZone', props, {\n rootProps: undefined,\n allowTabKey: 'handleTabKey',\n elementType: 'as',\n ariaDescribedBy: 'aria-describedby',\n ariaLabelledBy: 'aria-labelledby',\n });\n }\n _this._id = getId('FocusZone');\n _this._focusAlignment = {\n left: 0,\n top: 0,\n };\n _this._processingTabKey = false;\n return _this;\n }\n /** Used for testing purposes only. */\n FocusZone.getOuterZones = function () {\n return _outerZones.size;\n };\n /**\n * Handle global tab presses so that we can patch tabindexes on the fly.\n * HEADS UP: This must not be an arrow function in order to be referentially equal among instances\n * for ref counting to work correctly!\n */\n FocusZone._onKeyDownCapture = function (ev) {\n // eslint-disable-next-line deprecation/deprecation, @fluentui/deprecated-keyboard-event-props\n if (ev.which === KeyCodes.tab) {\n _outerZones.forEach(function (zone) { return zone._updateTabIndexes(); });\n }\n };\n FocusZone.prototype.componentDidMount = function () {\n var root = this._root.current;\n _allInstances[this._id] = this;\n if (root) {\n this._windowElement = getWindow(root);\n var parentElement = getParent(root, ALLOW_VIRTUAL_ELEMENTS);\n while (parentElement && parentElement !== this._getDocument().body && parentElement.nodeType === 1) {\n if (isElementFocusZone(parentElement)) {\n this._isInnerZone = true;\n break;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n if (!this._isInnerZone) {\n _outerZones.add(this);\n if (this._windowElement && _outerZones.size === 1) {\n this._windowElement.addEventListener('keydown', FocusZone._onKeyDownCapture, true);\n }\n }\n this._root.current && this._root.current.addEventListener('blur', this._onBlur, true);\n // Assign initial tab indexes so that we can set initial focus as appropriate.\n this._updateTabIndexes();\n if (this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'string') {\n this._activeElement = this._getDocument().querySelector(this.props.defaultTabbableElement);\n // eslint-disable-next-line deprecation/deprecation\n }\n else if (this.props.defaultActiveElement) {\n // eslint-disable-next-line deprecation/deprecation\n this._activeElement = this._getDocument().querySelector(this.props.defaultActiveElement);\n }\n if (this.props.shouldFocusOnMount) {\n this.focus();\n }\n }\n };\n FocusZone.prototype.componentDidUpdate = function () {\n var root = this._root.current;\n var doc = this._getDocument();\n if (doc &&\n this._lastIndexPath &&\n (doc.activeElement === doc.body ||\n doc.activeElement === null ||\n (!this.props.preventFocusRestoration && doc.activeElement === root))) {\n // The element has been removed after the render, attempt to restore focus.\n var elementToFocus = getFocusableByIndexPath(root, this._lastIndexPath);\n if (elementToFocus) {\n this._setActiveElement(elementToFocus, true);\n elementToFocus.focus();\n this._setParkedFocus(false);\n }\n else {\n // We had a focus path to restore, but now that path is unresolvable. Park focus\n // on the container until we can try again.\n this._setParkedFocus(true);\n }\n }\n };\n FocusZone.prototype.componentWillUnmount = function () {\n delete _allInstances[this._id];\n if (!this._isInnerZone) {\n _outerZones.delete(this);\n // If this is the last outer zone, remove the keydown listener.\n if (this._windowElement && _outerZones.size === 0) {\n this._windowElement.removeEventListener('keydown', FocusZone._onKeyDownCapture, true);\n }\n }\n if (this._root.current) {\n this._root.current.removeEventListener('blur', this._onBlur, true);\n }\n this._activeElement = null;\n this._defaultFocusElement = null;\n };\n FocusZone.prototype.render = function () {\n var _this = this;\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, tag = _a.as, elementType = _a.elementType, rootProps = _a.rootProps, ariaDescribedBy = _a.ariaDescribedBy, ariaLabelledBy = _a.ariaLabelledBy, className = _a.className;\n var divProps = getNativeProps(this.props, htmlElementProperties);\n var Tag = tag || elementType || 'div';\n // Note, right before rendering/reconciling proceeds, we need to record if focus\n // was in the zone before the update. This helper will track this and, if focus\n // was actually in the zone, what the index path to the element is at this time.\n // Then, later in componentDidUpdate, we can evaluate if we need to restore it in\n // the case the element was removed.\n this._evaluateFocusBeforeRender();\n // Only support RTL defined in global theme, not contextual theme/RTL.\n var theme = getTheme();\n return (React.createElement(Tag, __assign({ \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy }, divProps, rootProps, { \n // Once the getClassName correctly memoizes inputs this should\n // be replaced so that className is passed to getRootClass and is included there so\n // the class names will always be in the same order.\n className: css(getRootClass(), className), \n // eslint-disable-next-line deprecation/deprecation\n ref: this._mergedRef(this.props.elementRef, this._root), \"data-focuszone-id\": this._id, \n // eslint-disable-next-line react/jsx-no-bind\n onKeyDown: function (ev) { return _this._onKeyDown(ev, theme); }, onFocus: this._onFocus, onMouseDownCapture: this._onMouseDown }), this.props.children));\n };\n /**\n * Sets focus to the first tabbable item in the zone.\n * @param forceIntoFirstElement - If true, focus will be forced into the first element, even\n * if focus is already in the focus zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focus = function (forceIntoFirstElement) {\n if (forceIntoFirstElement === void 0) { forceIntoFirstElement = false; }\n if (this._root.current) {\n if (!forceIntoFirstElement &&\n this._root.current.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\n this._isInnerZone) {\n var ownerZoneElement = this._getOwnerZone(this._root.current);\n if (ownerZoneElement !== this._root.current) {\n var ownerZone = _allInstances[ownerZoneElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n return !!ownerZone && ownerZone.focusElement(this._root.current);\n }\n return false;\n }\n else if (!forceIntoFirstElement &&\n this._activeElement &&\n elementContains(this._root.current, this._activeElement) &&\n isElementTabbable(this._activeElement)) {\n this._activeElement.focus();\n return true;\n }\n else {\n var firstChild = this._root.current.firstChild;\n return this.focusElement(getNextElement(this._root.current, firstChild, true));\n }\n }\n return false;\n };\n /**\n * Sets focus to the last tabbable item in the zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focusLast = function () {\n if (this._root.current) {\n var lastChild = this._root.current && this._root.current.lastChild;\n return this.focusElement(getPreviousElement(this._root.current, lastChild, true, true, true));\n }\n return false;\n };\n /**\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\n * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n * location and then focus.)\n * @param element - The child element within the zone to focus.\n * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focusElement = function (element, forceAlignment) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, onBeforeFocus = _a.onBeforeFocus, shouldReceiveFocus = _a.shouldReceiveFocus;\n if ((shouldReceiveFocus && !shouldReceiveFocus(element)) || (onBeforeFocus && !onBeforeFocus(element))) {\n return false;\n }\n if (element) {\n // when we set focus to a specific child, we should recalculate the alignment depending on its position.\n this._setActiveElement(element, forceAlignment);\n if (this._activeElement) {\n this._activeElement.focus();\n }\n return true;\n }\n return false;\n };\n /**\n * Forces horizontal alignment in the context of vertical arrowing to use specific point as the reference,\n * rather than a center based on the last horizontal motion.\n * @param point - the new reference point.\n */\n FocusZone.prototype.setFocusAlignment = function (point) {\n this._focusAlignment = point;\n };\n FocusZone.prototype._evaluateFocusBeforeRender = function () {\n var root = this._root.current;\n var doc = this._getDocument();\n if (doc) {\n var focusedElement = doc.activeElement;\n // Only update the index path if we are not parked on the root.\n if (focusedElement !== root) {\n var shouldRestoreFocus = elementContains(root, focusedElement, false);\n this._lastIndexPath = shouldRestoreFocus ? getElementIndexPath(root, focusedElement) : undefined;\n }\n }\n };\n /**\n * When focus is in the zone at render time but then all focusable elements are removed,\n * we \"park\" focus temporarily on the root. Once we update with focusable children, we restore\n * focus to the closest path from previous. If the user tabs away from the parked container,\n * we restore focusability to the pre-parked state.\n */\n FocusZone.prototype._setParkedFocus = function (isParked) {\n var root = this._root.current;\n if (root && this._isParked !== isParked) {\n this._isParked = isParked;\n if (isParked) {\n if (!this.props.allowFocusRoot) {\n this._parkedTabIndex = root.getAttribute('tabindex');\n root.setAttribute('tabindex', '-1');\n }\n root.focus();\n }\n else if (!this.props.allowFocusRoot) {\n if (this._parkedTabIndex) {\n root.setAttribute('tabindex', this._parkedTabIndex);\n this._parkedTabIndex = undefined;\n }\n else {\n root.removeAttribute('tabindex');\n }\n }\n }\n };\n FocusZone.prototype._setActiveElement = function (element, forceAlignment) {\n var previousActiveElement = this._activeElement;\n this._activeElement = element;\n if (previousActiveElement) {\n if (isElementFocusZone(previousActiveElement)) {\n this._updateTabIndexes(previousActiveElement);\n }\n previousActiveElement.tabIndex = -1;\n }\n if (this._activeElement) {\n if (!this._focusAlignment || forceAlignment) {\n this._setFocusAlignment(element, true, true);\n }\n this._activeElement.tabIndex = 0;\n }\n };\n FocusZone.prototype._preventDefaultWhenHandled = function (ev) {\n this.props.preventDefaultWhenHandled && ev.preventDefault();\n };\n /**\n * Walk up the dom try to find a focusable element.\n */\n FocusZone.prototype._tryInvokeClickForFocusable = function (target) {\n if (target === this._root.current || !this.props.shouldRaiseClicks) {\n return false;\n }\n do {\n if (target.tagName === 'BUTTON' ||\n target.tagName === 'A' ||\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA') {\n return false;\n }\n if (this._isImmediateDescendantOfZone(target) &&\n target.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\n target.getAttribute(IS_ENTER_DISABLED_ATTRIBUTE) !== 'true') {\n raiseClick(target);\n return true;\n }\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n } while (target !== this._root.current);\n return false;\n };\n /**\n * Traverse to find first child zone.\n */\n FocusZone.prototype._getFirstInnerZone = function (rootElement) {\n rootElement = rootElement || this._activeElement || this._root.current;\n if (!rootElement) {\n return null;\n }\n if (isElementFocusZone(rootElement)) {\n return _allInstances[rootElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n }\n var child = rootElement.firstElementChild;\n while (child) {\n if (isElementFocusZone(child)) {\n return _allInstances[child.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n }\n var match = this._getFirstInnerZone(child);\n if (match) {\n return match;\n }\n child = child.nextElementSibling;\n }\n return null;\n };\n FocusZone.prototype._moveFocus = function (isForward, getDistanceFromCenter, ev, useDefaultWrap) {\n if (useDefaultWrap === void 0) { useDefaultWrap = true; }\n var element = this._activeElement;\n var candidateDistance = -1;\n var candidateElement = undefined;\n var changedFocus = false;\n var isBidirectional = this.props.direction === FocusZoneDirection.bidirectional;\n if (!element || !this._root.current) {\n return false;\n }\n if (this._isElementInput(element)) {\n if (!this._shouldInputLoseFocus(element, isForward)) {\n return false;\n }\n }\n var activeRect = isBidirectional ? element.getBoundingClientRect() : null;\n do {\n element = (isForward\n ? getNextElement(this._root.current, element)\n : getPreviousElement(this._root.current, element));\n if (isBidirectional) {\n if (element) {\n var targetRect = element.getBoundingClientRect();\n var elementDistance = getDistanceFromCenter(activeRect, targetRect);\n if (elementDistance === -1 && candidateDistance === -1) {\n candidateElement = element;\n break;\n }\n if (elementDistance > -1 && (candidateDistance === -1 || elementDistance < candidateDistance)) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n if (candidateDistance >= 0 && elementDistance < 0) {\n break;\n }\n }\n }\n else {\n candidateElement = element;\n break;\n }\n } while (element);\n // Focus the closest candidate\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n }\n else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n }\n else {\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n }\n return changedFocus;\n };\n FocusZone.prototype._moveFocusDown = function () {\n var _this = this;\n var targetTop = -1;\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n if (this._moveFocus(true, function (activeRect, targetRect) {\n var distance = -1;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n if (targetRectTop < activeRectBottom) {\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n }\n if ((targetTop === -1 && targetRectTop >= activeRectBottom) || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n }\n else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n return distance;\n })) {\n this._setFocusAlignment(this._activeElement, false, true);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusUp = function () {\n var _this = this;\n var targetTop = -1;\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n if (this._moveFocus(false, function (activeRect, targetRect) {\n var distance = -1;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectBottom = Math.floor(targetRect.bottom);\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectTop = Math.floor(activeRect.top);\n if (targetRectBottom > activeRectTop) {\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n }\n if ((targetTop === -1 && targetRectBottom <= activeRectTop) || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n }\n else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n return distance;\n })) {\n this._setFocusAlignment(this._activeElement, false, true);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusLeft = function (theme) {\n var _this = this;\n var shouldWrap = this._shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n if (this._moveFocus(getRTL(theme), function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n if (getRTL(theme)) {\n // When in RTL, this comparison should be the same as the one in _moveFocusRight for LTR.\n // Going left at a leftmost rectangle will go down a line instead of up a line like in LTR.\n // This is important, because we want to be comparing the top of the target rect\n // with the bottom of the active rect.\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n }\n else {\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n }\n if (topBottomComparison &&\n targetRect.right <= activeRect.right &&\n _this.props.direction !== FocusZoneDirection.vertical) {\n distance = activeRect.right - targetRect.right;\n }\n else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return distance;\n }, undefined /*ev*/, shouldWrap)) {\n this._setFocusAlignment(this._activeElement, true, false);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusRight = function (theme) {\n var _this = this;\n var shouldWrap = this._shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n if (this._moveFocus(!getRTL(theme), function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n if (getRTL(theme)) {\n // When in RTL, this comparison should be the same as the one in _moveFocusLeft for LTR.\n // Going right at a rightmost rectangle will go up a line instead of down a line like in LTR.\n // This is important, because we want to be comparing the bottom of the target rect\n // with the top of the active rect.\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n }\n else {\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n }\n if (topBottomComparison &&\n targetRect.left >= activeRect.left &&\n _this.props.direction !== FocusZoneDirection.vertical) {\n distance = targetRect.left - activeRect.left;\n }\n else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return distance;\n }, undefined /*ev*/, shouldWrap)) {\n this._setFocusAlignment(this._activeElement, true, false);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusPaging = function (isForward, useDefaultWrap) {\n if (useDefaultWrap === void 0) { useDefaultWrap = true; }\n var element = this._activeElement;\n if (!element || !this._root.current) {\n return false;\n }\n if (this._isElementInput(element)) {\n if (!this._shouldInputLoseFocus(element, isForward)) {\n return false;\n }\n }\n var scrollableParent = findScrollableParent(element);\n if (!scrollableParent) {\n return false;\n }\n var candidateDistance = -1;\n var candidateElement = undefined;\n var targetTop = -1;\n var targetBottom = -1;\n var pagesize = scrollableParent.clientHeight;\n var activeRect = element.getBoundingClientRect();\n do {\n element = isForward\n ? getNextElement(this._root.current, element)\n : getPreviousElement(this._root.current, element);\n if (element) {\n var targetRect = element.getBoundingClientRect();\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n var targetRectBottom = Math.floor(targetRect.bottom);\n var activeRectTop = Math.floor(activeRect.top);\n var elementDistance = this._getHorizontalDistanceFromCenter(isForward, activeRect, targetRect);\n var isElementPassedPageSizeOnPagingDown = isForward && targetRectTop > activeRectBottom + pagesize;\n var isElementPassedPageSizeOnPagingUp = !isForward && targetRectBottom < activeRectTop - pagesize;\n if (isElementPassedPageSizeOnPagingDown || isElementPassedPageSizeOnPagingUp) {\n break;\n }\n if (elementDistance > -1) {\n // for paging down\n if (isForward && targetRectTop > targetTop) {\n targetTop = targetRectTop;\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n else if (!isForward && targetRectBottom < targetBottom) {\n // for paging up\n targetBottom = targetRectBottom;\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n else if (candidateDistance === -1 || elementDistance <= candidateDistance) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n }\n }\n } while (element);\n var changedFocus = false;\n // Focus the closest candidate\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n this._setFocusAlignment(candidateElement, false, true);\n }\n else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n }\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n return changedFocus;\n };\n FocusZone.prototype._setFocusAlignment = function (element, isHorizontal, isVertical) {\n if (this.props.direction === FocusZoneDirection.bidirectional &&\n (!this._focusAlignment || isHorizontal || isVertical)) {\n var rect = element.getBoundingClientRect();\n var left = rect.left + rect.width / 2;\n var top_1 = rect.top + rect.height / 2;\n if (!this._focusAlignment) {\n this._focusAlignment = { left: left, top: top_1 };\n }\n if (isHorizontal) {\n this._focusAlignment.left = left;\n }\n if (isVertical) {\n this._focusAlignment.top = top_1;\n }\n }\n };\n FocusZone.prototype._isImmediateDescendantOfZone = function (element) {\n return this._getOwnerZone(element) === this._root.current;\n };\n FocusZone.prototype._getOwnerZone = function (element) {\n var parentElement = getParent(element, ALLOW_VIRTUAL_ELEMENTS);\n while (parentElement && parentElement !== this._root.current && parentElement !== this._getDocument().body) {\n if (isElementFocusZone(parentElement)) {\n return parentElement;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n return parentElement;\n };\n FocusZone.prototype._updateTabIndexes = function (element) {\n if (!this._activeElement &&\n this.props.defaultTabbableElement &&\n typeof this.props.defaultTabbableElement === 'function') {\n this._activeElement = this.props.defaultTabbableElement(this._root.current);\n }\n if (!element && this._root.current) {\n this._defaultFocusElement = null;\n element = this._root.current;\n if (this._activeElement && !elementContains(element, this._activeElement)) {\n this._activeElement = null;\n }\n }\n // If active element changes state to disabled, set it to null.\n // Otherwise, we lose keyboard accessibility to other elements in focus zone.\n if (this._activeElement && !isElementTabbable(this._activeElement)) {\n this._activeElement = null;\n }\n var childNodes = element && element.children;\n for (var childIndex = 0; childNodes && childIndex < childNodes.length; childIndex++) {\n var child = childNodes[childIndex];\n if (!isElementFocusZone(child)) {\n // If the item is explicitly set to not be focusable then TABINDEX needs to be set to -1.\n if (child.getAttribute && child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'false') {\n child.setAttribute(TABINDEX, '-1');\n }\n if (isElementTabbable(child)) {\n if (this.props.disabled) {\n child.setAttribute(TABINDEX, '-1');\n }\n else if (!this._isInnerZone &&\n ((!this._activeElement && !this._defaultFocusElement) || this._activeElement === child)) {\n this._defaultFocusElement = child;\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n }\n else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n }\n else if (child.tagName === 'svg' && child.getAttribute('focusable') !== 'false') {\n // Disgusting IE hack. Sad face.\n child.setAttribute('focusable', 'false');\n }\n }\n else if (child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n if (!this._isInnerZone &&\n ((!this._activeElement && !this._defaultFocusElement) || this._activeElement === child)) {\n this._defaultFocusElement = child;\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n }\n else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n }\n this._updateTabIndexes(child);\n }\n };\n FocusZone.prototype._isContentEditableElement = function (element) {\n return element && element.getAttribute('contenteditable') === 'true';\n };\n FocusZone.prototype._isElementInput = function (element) {\n if (element &&\n element.tagName &&\n (element.tagName.toLowerCase() === 'input' || element.tagName.toLowerCase() === 'textarea')) {\n return true;\n }\n return false;\n };\n FocusZone.prototype._shouldInputLoseFocus = function (element, isForward) {\n // If a tab was used, we want to focus on the next element.\n if (!this._processingTabKey &&\n element &&\n element.type &&\n ALLOWED_INPUT_TYPES.indexOf(element.type.toLowerCase()) > -1) {\n var selectionStart = element.selectionStart;\n var selectionEnd = element.selectionEnd;\n var isRangeSelected = selectionStart !== selectionEnd;\n var inputValue = element.value;\n var isReadonly = element.readOnly;\n // We shouldn't lose focus in the following cases:\n // 1. There is range selected.\n // 2. When selection start is larger than 0 and it is backward and not readOnly.\n // 3. when selection start is not the end of length, it is forward and not readOnly.\n // 4. We press any of the arrow keys when our handleTabKey isn't none or undefined (only losing focus if we hit\n // tab) and if shouldInputLoseFocusOnArrowKey is defined, if scenario prefers to not loose the focus which is\n // determined by calling the callback shouldInputLoseFocusOnArrowKey\n if (isRangeSelected ||\n (selectionStart > 0 && !isForward && !isReadonly) ||\n (selectionStart !== inputValue.length && isForward && !isReadonly) ||\n (!!this.props.handleTabKey &&\n !(this.props.shouldInputLoseFocusOnArrowKey && this.props.shouldInputLoseFocusOnArrowKey(element)))) {\n return false;\n }\n }\n return true;\n };\n FocusZone.prototype._shouldWrapFocus = function (element, noWrapDataAttribute) {\n return this.props.checkForNoWrap ? shouldWrapFocus(element, noWrapDataAttribute) : true;\n };\n /**\n * Returns true if the element is a descendant of the FocusZone through a React portal.\n */\n FocusZone.prototype._portalContainsElement = function (element) {\n return element && !!this._root.current && portalContainsElement(element, this._root.current);\n };\n FocusZone.prototype._getDocument = function () {\n return getDocument(this._root.current);\n };\n FocusZone.defaultProps = {\n isCircularNavigation: false,\n direction: FocusZoneDirection.bidirectional,\n shouldRaiseClicks: true,\n };\n return FocusZone;\n}(React.Component));\nexport { FocusZone };\n//# sourceMappingURL=FocusZone.js.map","import { dynamicRequire, fill, logger } from '@sentry/utils';\n/** Tracing integration for node-postgres package */\nvar Postgres = /** @class */ (function () {\n function Postgres() {\n /**\n * @inheritDoc\n */\n this.name = Postgres.id;\n }\n /**\n * @inheritDoc\n */\n Postgres.prototype.setupOnce = function (_, getCurrentHub) {\n var client;\n try {\n var pgModule = dynamicRequire(module, 'pg');\n client = pgModule.Client;\n }\n catch (e) {\n logger.error('Postgres Integration was unable to require `pg` package.');\n return;\n }\n /**\n * function (query, callback) => void\n * function (query, params, callback) => void\n * function (query) => Promise\n * function (query, params) => Promise\n */\n fill(client.prototype, 'query', function (orig) {\n return function (config, values, callback) {\n var _a, _b;\n var scope = getCurrentHub().getScope();\n var parentSpan = (_a = scope) === null || _a === void 0 ? void 0 : _a.getSpan();\n var span = (_b = parentSpan) === null || _b === void 0 ? void 0 : _b.startChild({\n description: typeof config === 'string' ? config : config.text,\n op: \"db\",\n });\n if (typeof callback === 'function') {\n return orig.call(this, config, values, function (err, result) {\n var _a;\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n callback(err, result);\n });\n }\n if (typeof values === 'function') {\n return orig.call(this, config, function (err, result) {\n var _a;\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n values(err, result);\n });\n }\n return orig.call(this, config, values).then(function (res) {\n var _a;\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n return res;\n });\n };\n });\n };\n /**\n * @inheritDoc\n */\n Postgres.id = 'Postgres';\n return Postgres;\n}());\nexport { Postgres };\n//# sourceMappingURL=postgres.js.map","import { __assign } from \"tslib\";\nimport { getActiveDomain, getMainCarrier } from '@sentry/hub';\nimport { TransactionSamplingMethod } from '@sentry/types';\nimport { dynamicRequire, extractNodeRequestData, getGlobalObject, isInstanceOf, isNodeEnv, logger, } from '@sentry/utils';\nimport { registerErrorInstrumentation } from './errors';\nimport { IdleTransaction } from './idletransaction';\nimport { Transaction } from './transaction';\nimport { hasTracingEnabled } from './utils';\n/** Returns all trace headers that are currently on the top scope. */\nfunction traceHeaders() {\n var scope = this.getScope();\n if (scope) {\n var span = scope.getSpan();\n if (span) {\n return {\n 'sentry-trace': span.toTraceparent(),\n };\n }\n }\n return {};\n}\n/**\n * Makes a sampling decision for the given transaction and stores it on the transaction.\n *\n * Called every time a transaction is created. Only transactions which emerge with a `sampled` value of `true` will be\n * sent to Sentry.\n *\n * @param hub: The hub off of which to read config options\n * @param transaction: The transaction needing a sampling decision\n * @param samplingContext: Default and user-provided data which may be used to help make the decision\n *\n * @returns The given transaction with its `sampled` value set\n */\nfunction sample(hub, transaction, samplingContext) {\n var _a;\n var client = hub.getClient();\n var options = (client && client.getOptions()) || {};\n // nothing to do if there's no client or if tracing is disabled\n if (!client || !hasTracingEnabled(options)) {\n transaction.sampled = false;\n return transaction;\n }\n // if the user has forced a sampling decision by passing a `sampled` value in their transaction context, go with that\n if (transaction.sampled !== undefined) {\n transaction.tags = __assign(__assign({}, transaction.tags), { __sentry_samplingMethod: TransactionSamplingMethod.Explicit });\n return transaction;\n }\n // we would have bailed already if neither `tracesSampler` nor `tracesSampleRate` were defined, so one of these should\n // work; prefer the hook if so\n var sampleRate;\n if (typeof options.tracesSampler === 'function') {\n sampleRate = options.tracesSampler(samplingContext);\n // cast the rate to a number first in case it's a boolean\n transaction.tags = __assign(__assign({}, transaction.tags), { __sentry_samplingMethod: TransactionSamplingMethod.Sampler, \n // TODO kmclb - once tag types are loosened, don't need to cast to string here\n __sentry_sampleRate: String(Number(sampleRate)) });\n }\n else if (samplingContext.parentSampled !== undefined) {\n sampleRate = samplingContext.parentSampled;\n transaction.tags = __assign(__assign({}, transaction.tags), { __sentry_samplingMethod: TransactionSamplingMethod.Inheritance });\n }\n else {\n sampleRate = options.tracesSampleRate;\n // cast the rate to a number first in case it's a boolean\n transaction.tags = __assign(__assign({}, transaction.tags), { __sentry_samplingMethod: TransactionSamplingMethod.Rate, \n // TODO kmclb - once tag types are loosened, don't need to cast to string here\n __sentry_sampleRate: String(Number(sampleRate)) });\n }\n // Since this is coming from the user (or from a function provided by the user), who knows what we might get. (The\n // only valid values are booleans or numbers between 0 and 1.)\n if (!isValidSampleRate(sampleRate)) {\n logger.warn(\"[Tracing] Discarding transaction because of invalid sample rate.\");\n transaction.sampled = false;\n return transaction;\n }\n // if the function returned 0 (or false), or if `tracesSampleRate` is 0, it's a sign the transaction should be dropped\n if (!sampleRate) {\n logger.log(\"[Tracing] Discarding transaction because \" + (typeof options.tracesSampler === 'function'\n ? 'tracesSampler returned 0 or false'\n : 'a negative sampling decision was inherited or tracesSampleRate is set to 0'));\n transaction.sampled = false;\n return transaction;\n }\n // Now we roll the dice. Math.random is inclusive of 0, but not of 1, so strict < is safe here. In case sampleRate is\n // a boolean, the < comparison will cause it to be automatically cast to 1 if it's true and 0 if it's false.\n transaction.sampled = Math.random() < sampleRate;\n // if we're not going to keep it, we're done\n if (!transaction.sampled) {\n logger.log(\"[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = \" + Number(sampleRate) + \")\");\n return transaction;\n }\n // at this point we know we're keeping the transaction, whether because of an inherited decision or because it got\n // lucky with the dice roll\n transaction.initSpanRecorder((_a = options._experiments) === null || _a === void 0 ? void 0 : _a.maxSpans);\n logger.log(\"[Tracing] starting \" + transaction.op + \" transaction - \" + transaction.name);\n return transaction;\n}\n/**\n * Gets the correct context to pass to the tracesSampler, based on the environment (i.e., which SDK is being used)\n *\n * @returns The default sample context\n */\nfunction getDefaultSamplingContext(transactionContext) {\n // promote parent sampling decision (if any) for easy access\n var parentSampled = transactionContext.parentSampled;\n var defaultSamplingContext = { transactionContext: transactionContext, parentSampled: parentSampled };\n if (isNodeEnv()) {\n var domain = getActiveDomain();\n if (domain) {\n // for all node servers that we currently support, we store the incoming request object (which is an instance of\n // http.IncomingMessage) on the domain\n // the domain members are stored as an array, so our only way to find the request is to iterate through the array\n // and compare types\n var nodeHttpModule = dynamicRequire(module, 'http');\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n var requestType_1 = nodeHttpModule.IncomingMessage;\n var request = domain.members.find(function (member) { return isInstanceOf(member, requestType_1); });\n if (request) {\n defaultSamplingContext.request = extractNodeRequestData(request);\n }\n }\n }\n // we must be in browser-js (or some derivative thereof)\n else {\n // we use `getGlobalObject()` rather than `window` since service workers also have a `location` property on `self`\n var globalObject = getGlobalObject();\n if ('location' in globalObject) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n defaultSamplingContext.location = __assign({}, globalObject.location);\n }\n }\n return defaultSamplingContext;\n}\n/**\n * Checks the given sample rate to make sure it is valid type and value (a boolean, or a number between 0 and 1).\n */\nfunction isValidSampleRate(rate) {\n // we need to check NaN explicitly because it's of type 'number' and therefore wouldn't get caught by this typecheck\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isNaN(rate) || !(typeof rate === 'number' || typeof rate === 'boolean')) {\n logger.warn(\"[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got \" + JSON.stringify(rate) + \" of type \" + JSON.stringify(typeof rate) + \".\");\n return false;\n }\n // in case sampleRate is a boolean, it will get automatically cast to 1 if it's true and 0 if it's false\n if (rate < 0 || rate > 1) {\n logger.warn(\"[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got \" + rate + \".\");\n return false;\n }\n return true;\n}\n/**\n * Creates a new transaction and adds a sampling decision if it doesn't yet have one.\n *\n * The Hub.startTransaction method delegates to this method to do its work, passing the Hub instance in as `this`, as if\n * it had been called on the hub directly. Exists as a separate function so that it can be injected into the class as an\n * \"extension method.\"\n *\n * @param this: The Hub starting the transaction\n * @param transactionContext: Data used to configure the transaction\n * @param CustomSamplingContext: Optional data to be provided to the `tracesSampler` function (if any)\n *\n * @returns The new transaction\n *\n * @see {@link Hub.startTransaction}\n */\nfunction _startTransaction(transactionContext, customSamplingContext) {\n var transaction = new Transaction(transactionContext, this);\n return sample(this, transaction, __assign(__assign({}, getDefaultSamplingContext(transactionContext)), customSamplingContext));\n}\n/**\n * Create new idle transaction.\n */\nexport function startIdleTransaction(hub, transactionContext, idleTimeout, onScope) {\n var transaction = new IdleTransaction(transactionContext, hub, idleTimeout, onScope);\n return sample(hub, transaction, getDefaultSamplingContext(transactionContext));\n}\n/**\n * @private\n */\nexport function _addTracingExtensions() {\n var carrier = getMainCarrier();\n if (carrier.__SENTRY__) {\n carrier.__SENTRY__.extensions = carrier.__SENTRY__.extensions || {};\n if (!carrier.__SENTRY__.extensions.startTransaction) {\n carrier.__SENTRY__.extensions.startTransaction = _startTransaction;\n }\n if (!carrier.__SENTRY__.extensions.traceHeaders) {\n carrier.__SENTRY__.extensions.traceHeaders = traceHeaders;\n }\n }\n}\n/**\n * This patches the global object and injects the Tracing extensions methods\n */\nexport function addExtensionMethods() {\n _addTracingExtensions();\n // If an error happens globally, we should make sure transaction status is set to error.\n registerErrorInstrumentation();\n}\n//# sourceMappingURL=hubextensions.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nexport function getFragmentQueryDocument(document, fragmentName) {\n var actualFragmentName = fragmentName;\n var fragments = [];\n document.definitions.forEach(function (definition) {\n if (definition.kind === 'OperationDefinition') {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(42) : new InvariantError(\"Found a \" + definition.operation + \" operation\" + (definition.name ? \" named '\" + definition.name.value + \"'\" : '') + \". \" +\n 'No operations are allowed when using a fragment as a query. Only fragments are allowed.');\n }\n if (definition.kind === 'FragmentDefinition') {\n fragments.push(definition);\n }\n });\n if (typeof actualFragmentName === 'undefined') {\n process.env.NODE_ENV === \"production\" ? invariant(fragments.length === 1, 43) : invariant(fragments.length === 1, \"Found \" + fragments.length + \" fragments. `fragmentName` must be provided when there is not exactly 1 fragment.\");\n actualFragmentName = fragments[0].name.value;\n }\n var query = __assign(__assign({}, document), { definitions: __spreadArrays([\n {\n kind: 'OperationDefinition',\n operation: 'query',\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: actualFragmentName,\n },\n },\n ],\n },\n }\n ], document.definitions) });\n return query;\n}\nexport function createFragmentMap(fragments) {\n if (fragments === void 0) { fragments = []; }\n var symTable = {};\n fragments.forEach(function (fragment) {\n symTable[fragment.name.value] = fragment;\n });\n return symTable;\n}\nexport function getFragmentFromSelection(selection, fragmentMap) {\n switch (selection.kind) {\n case 'InlineFragment':\n return selection;\n case 'FragmentSpread': {\n var fragment = fragmentMap && fragmentMap[selection.name.value];\n process.env.NODE_ENV === \"production\" ? invariant(fragment, 44) : invariant(fragment, \"No fragment named \" + selection.name.value + \".\");\n return fragment;\n }\n default:\n return null;\n }\n}\n//# sourceMappingURL=fragments.js.map","export function deepCopy(obj: T): T {\r\n /* tslint:disable-next-line:no-any */\r\n const isObject = (a: any): boolean => {\r\n const isArray = Array.isArray(a);\r\n const isPureObject =\r\n isPrimitiveType(a, 'object') &&\r\n a &&\r\n (a.constructor.name === 'Object' || a.constructor.toString().indexOf('function Object()') !== -1); // needed for IE\r\n\r\n return isArray || isPureObject;\r\n };\r\n\r\n if (Array.isArray(obj)) {\r\n const arr = [];\r\n for (const value of obj) {\r\n if (isObject(value)) {\r\n const val = deepCopy(value);\r\n arr.push(val);\r\n } else {\r\n arr.push(value);\r\n }\r\n }\r\n\r\n return arr as {} as T;\r\n }\r\n\r\n const copy = Object.assign({}, obj);\r\n /* tslint:disable-next-line:no-any */\r\n const map = copy as { [key: string]: any };\r\n for (const key in map) {\r\n const value = map[key];\r\n if (isObject(value)) {\r\n map[key] = deepCopy(value);\r\n }\r\n }\r\n\r\n return map as T;\r\n}\r\n\r\n/* tslint:disable-next-line:no-any */\r\nexport function isEmptyObject(obj: any): boolean {\r\n if (!isPrimitiveType(obj, 'object')) {\r\n return false;\r\n }\r\n\r\n const hasNoProperties = Object.getOwnPropertyNames(obj).length === 0;\r\n return hasNoProperties;\r\n}\r\n\r\nexport function isPartiallyEquivalent(\r\n /* tslint:disable:no-any */\r\n a: any,\r\n b: any,\r\n /* tslint:enable:no-any */\r\n ...ignoreProps: string[]\r\n): boolean {\r\n const aCopy = deepCopy(a);\r\n const bCopy = deepCopy(b);\r\n\r\n if (Array.isArray(ignoreProps) && ignoreProps.length > 0) {\r\n for (const prop of ignoreProps) {\r\n delete aCopy[prop];\r\n delete bCopy[prop];\r\n }\r\n }\r\n\r\n return isEquivalent(aCopy, bCopy);\r\n}\r\n\r\n/* tslint:disable-next-line:no-any */\r\nexport function isEquivalent(a: any, b: any): boolean {\r\n const aType = typeof a;\r\n const bType = typeof b;\r\n\r\n if (aType !== bType) {\r\n return false;\r\n }\r\n\r\n if (aType === 'undefined') {\r\n return true;\r\n }\r\n\r\n if (a === null) {\r\n return b === null;\r\n }\r\n\r\n if (b === null) {\r\n return false;\r\n }\r\n\r\n if (aType === 'string') {\r\n return a === b;\r\n }\r\n\r\n if (aType === 'function') {\r\n return true;\r\n }\r\n\r\n const aProps = Object.getOwnPropertyNames(a);\r\n const bProps = Object.getOwnPropertyNames(b);\r\n\r\n if (aProps.length !== bProps.length) {\r\n return false;\r\n }\r\n\r\n if (aProps.length === 0) {\r\n if (a instanceof Date && b instanceof Date) {\r\n return a.getTime() === b.getTime();\r\n }\r\n\r\n if (aType === 'object') {\r\n return true;\r\n }\r\n\r\n return a === b;\r\n }\r\n\r\n for (const propName of aProps) {\r\n const aVal = a[propName];\r\n const bVal = b[propName];\r\n\r\n if (aVal !== bVal && !isEquivalent(aVal, bVal)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\ntype TypeofValue = 'string' | 'number' | 'boolean' | 'symbol' | 'undefined' | 'object' | 'function';\r\n\r\n/**\r\n * Checks if 'value' parameter is any one of the 'types'\r\n * @param value Value to check\r\n * @param types A type string\r\n * @returns True, if typeof 'value' is one of the type strings. This is an 'or' check.\r\n */\r\n/* tslint:disable-next-line:no-any */\r\nexport function isPrimitiveType(value: any, ...types: TypeofValue[]): boolean {\r\n for (const type of types) {\r\n if (typeof value === type) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Sorts items by value\r\n * @param items Array of ItemVals\r\n * @param sortKey The key in the object passed to use for sorting\r\n * @param isAscending Sort Order\r\n * @param caseSensitive If false, sorting strings will be case-insensitive\r\n * @returns Sorted items\r\n */\r\nexport function sortItems(\r\n items: T[],\r\n /* tslint:disable-next-line:no-any */\r\n propGetter: (item: T) => any,\r\n isAscending: boolean = true,\r\n caseSensitive: boolean = true\r\n): T[] {\r\n const compare = (objA: T, objB: T) => {\r\n /* tslint:disable:no-any */\r\n let valA = propGetter(objA);\r\n let valB = propGetter(objB);\r\n /* tslint:enable:no-any */\r\n\r\n if (!caseSensitive && isPrimitiveType(valA, 'string') && isPrimitiveType(valB, 'string')) {\r\n valA = (valA as string).toUpperCase();\r\n valB = (valB as string).toUpperCase();\r\n }\r\n\r\n if (valA > valB) {\r\n return isAscending ? 1 : -1;\r\n }\r\n\r\n if (valA < valB) {\r\n return isAscending ? -1 : 1;\r\n }\r\n\r\n return 0;\r\n };\r\n\r\n return [...items].sort(compare);\r\n}\r\n\r\n/* tslint:disable-next-line:no-any */\r\nexport function isNull(value: any): value is null {\r\n return value == null;\r\n}\r\n\r\n// tslint:disable-next-line: no-any\r\nexport const isNullOrUndefined = (val: any): val is null | undefined => {\r\n return val === null || val === undefined;\r\n};\r\n\r\n// tslint:disable-next-line: no-any\r\nexport const isJSObject = (val: any): boolean => {\r\n return Object.prototype.toString.call?.(val) === '[object Object]';\r\n};\r\n\r\n/**\r\n * Get all possible value types of the interface T\r\n */\r\nexport type ValueOf = T[keyof T];\r\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?e=1', 'http://a');\n var searchParams = url.searchParams;\n url.pathname = 'c%20d';\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?e=1'\n || searchParams.get('e') !== '1'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1';\n});\n","import { getWindow } from './dom/getWindow';\nvar isMacResult;\n/**\n * Returns true if the user is on a Mac. Caches the result value.\n * @param reset - Reset the cached result value (mainly for testing).\n */\nexport function isMac(reset) {\n if (typeof isMacResult === 'undefined' || reset) {\n var win = getWindow();\n var userAgent = win && win.navigator.userAgent;\n isMacResult = !!userAgent && userAgent.indexOf('Macintosh') !== -1;\n }\n return !!isMacResult;\n}\n//# sourceMappingURL=osDetector.js.map","export var KTP_PREFIX = 'ktp';\nexport var KTP_SEPARATOR = '-';\nexport var KTP_FULL_PREFIX = KTP_PREFIX + KTP_SEPARATOR;\nexport var DATAKTP_TARGET = 'data-ktp-target';\nexport var DATAKTP_EXECUTE_TARGET = 'data-ktp-execute-target';\nexport var DATAKTP_ARIA_TARGET = 'data-ktp-aria-target';\nexport var KTP_LAYER_ID = 'ktp-layer-id';\nexport var KTP_ARIA_SEPARATOR = ', ';\n// Events\nexport var KeytipEvents;\n(function (KeytipEvents) {\n KeytipEvents.KEYTIP_ADDED = 'keytipAdded';\n KeytipEvents.KEYTIP_REMOVED = 'keytipRemoved';\n KeytipEvents.KEYTIP_UPDATED = 'keytipUpdated';\n KeytipEvents.PERSISTED_KEYTIP_ADDED = 'persistedKeytipAdded';\n KeytipEvents.PERSISTED_KEYTIP_REMOVED = 'persistedKeytipRemoved';\n KeytipEvents.PERSISTED_KEYTIP_EXECUTE = 'persistedKeytipExecute';\n KeytipEvents.ENTER_KEYTIP_MODE = 'enterKeytipMode';\n KeytipEvents.EXIT_KEYTIP_MODE = 'exitKeytipMode';\n})(KeytipEvents || (KeytipEvents = {}));\n//# sourceMappingURL=KeytipConstants.js.map","/**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n * {@docCategory Icon}\n */\nexport var IconType;\n(function (IconType) {\n /**\n * Render using the fabric icon font.\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"default\"] = 0] = \"default\";\n /**\n * Render using an image, where imageProps would be used.\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"image\"] = 1] = \"image\";\n /**\n * Deprecated, use `default`.\n * @deprecated Use `default`.\n */\n IconType[IconType[\"Default\"] = 100000] = \"Default\";\n /**\n * Deprecated, use `image`.\n * @deprecated Use `image`.\n */\n IconType[IconType[\"Image\"] = 100001] = \"Image\";\n})(IconType || (IconType = {}));\n//# sourceMappingURL=Icon.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { IconType } from './Icon.types';\nimport { Image } from '../Image/Image';\nimport { ImageLoadState } from '../Image/Image.types';\nimport { getNativeProps, htmlElementProperties, classNamesFunction } from '../../Utilities';\nimport { getIconContent } from './FontIcon';\nvar getClassNames = classNamesFunction({\n // Icon is used a lot by other components.\n // It's likely to see expected cases which pass different className to the Icon.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\nvar IconBase = /** @class */ (function (_super) {\n __extends(IconBase, _super);\n function IconBase(props) {\n var _this = _super.call(this, props) || this;\n _this._onImageLoadingStateChange = function (state) {\n if (_this.props.imageProps && _this.props.imageProps.onLoadingStateChange) {\n _this.props.imageProps.onLoadingStateChange(state);\n }\n if (state === ImageLoadState.error) {\n _this.setState({ imageLoadError: true });\n }\n };\n _this.state = {\n imageLoadError: false,\n };\n return _this;\n }\n IconBase.prototype.render = function () {\n var _a = this.props, children = _a.children, className = _a.className, styles = _a.styles, iconName = _a.iconName, imageErrorAs = _a.imageErrorAs, theme = _a.theme;\n var isPlaceholder = typeof iconName === 'string' && iconName.length === 0;\n var isImage = \n // eslint-disable-next-line deprecation/deprecation\n !!this.props.imageProps || this.props.iconType === IconType.image || this.props.iconType === IconType.Image;\n var iconContent = getIconContent(iconName) || {};\n var iconClassName = iconContent.iconClassName, iconContentChildren = iconContent.children, mergeImageProps = iconContent.mergeImageProps;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n iconClassName: iconClassName,\n isImage: isImage,\n isPlaceholder: isPlaceholder,\n });\n var RootType = isImage ? 'span' : 'i';\n var nativeProps = getNativeProps(this.props, htmlElementProperties, [\n 'aria-label',\n ]);\n var imageLoadError = this.state.imageLoadError;\n var imageProps = __assign(__assign({}, this.props.imageProps), { onLoadingStateChange: this._onImageLoadingStateChange });\n var ImageType = (imageLoadError && imageErrorAs) || Image;\n // eslint-disable-next-line deprecation/deprecation\n var ariaLabel = this.props['aria-label'] || this.props.ariaLabel;\n var accessibleName = imageProps.alt || ariaLabel || this.props.title;\n var hasName = !!(accessibleName ||\n this.props['aria-labelledby'] ||\n imageProps['aria-label'] ||\n imageProps['aria-labelledby']);\n var containerProps = hasName\n ? {\n role: isImage || mergeImageProps ? undefined : 'img',\n 'aria-label': isImage || mergeImageProps ? undefined : accessibleName,\n }\n : {\n 'aria-hidden': this.props['aria-labelledby'] || imageProps['aria-labelledby'] ? false : true,\n };\n var finalIconContentChildren = iconContentChildren;\n if (mergeImageProps && iconContentChildren && typeof iconContentChildren === 'object' && accessibleName) {\n finalIconContentChildren = React.cloneElement(iconContentChildren, {\n alt: accessibleName,\n });\n }\n return (React.createElement(RootType, __assign({ \"data-icon-name\": iconName }, containerProps, nativeProps, (mergeImageProps\n ? {\n title: undefined,\n 'aria-label': undefined,\n }\n : {}), { className: classNames.root }), isImage ? React.createElement(ImageType, __assign({}, imageProps)) : children || finalIconContentChildren));\n };\n return IconBase;\n}(React.Component));\nexport { IconBase };\n//# sourceMappingURL=Icon.base.js.map","import { styled } from '../../Utilities';\nimport { IconBase } from './Icon.base';\nimport { getStyles } from './Icon.styles';\n/**\n * Legacy Icon component which can be targeted by customization. It's recommended to use `FontIcon`\n * or `ImageIcon` instead, especially in scenarios where rendering performance is important.\n * {@docCategory Icon}\n */\nexport var Icon = styled(IconBase, getStyles, undefined, {\n scope: 'Icon',\n}, true);\nIcon.displayName = 'Icon';\n//# sourceMappingURL=Icon.js.map"," \r\n export enum AlertNotificationLevel {\r\n Warning = 0,\r\n Critical = 1,\r\n Information = 2,\r\n Improved = 3,\r\n }\r\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNNiA3TDAgMC43MjY2MDhMMC42OTQ5NDMgMEw2IDUuNTQ2NzhMMTEuMzE0OCAwTDEyIDAuNzI2NjA4TDYgN1oiIGZpbGw9IndoaXRlIi8+DQo8L3N2Zz4NCg==\"","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseDecorator } from './BaseDecorator';\nimport { getWindow, hoistStatics, EventGroup } from '../../Utilities';\nimport { WindowContext } from '../../WindowProvider';\nexport var ResponsiveMode;\n(function (ResponsiveMode) {\n ResponsiveMode[ResponsiveMode[\"small\"] = 0] = \"small\";\n ResponsiveMode[ResponsiveMode[\"medium\"] = 1] = \"medium\";\n ResponsiveMode[ResponsiveMode[\"large\"] = 2] = \"large\";\n ResponsiveMode[ResponsiveMode[\"xLarge\"] = 3] = \"xLarge\";\n ResponsiveMode[ResponsiveMode[\"xxLarge\"] = 4] = \"xxLarge\";\n ResponsiveMode[ResponsiveMode[\"xxxLarge\"] = 5] = \"xxxLarge\";\n ResponsiveMode[ResponsiveMode[\"unknown\"] = 999] = \"unknown\";\n})(ResponsiveMode || (ResponsiveMode = {}));\nvar RESPONSIVE_MAX_CONSTRAINT = [479, 639, 1023, 1365, 1919, 99999999];\n/**\n * User specified mode to default to, useful for server side rendering scenarios.\n */\nvar _defaultMode;\n/**\n * Tracking the last mode we successfully rendered, which allows us to\n * paint initial renders with the correct size.\n */\nvar _lastMode;\n/**\n * Allows a server rendered scenario to provide a default responsive mode.\n */\nexport function setResponsiveMode(responsiveMode) {\n _defaultMode = responsiveMode;\n}\n/**\n * Initializes the responsive mode to the current window size. This can be used to avoid\n * a re-render during first component mount since the window would otherwise not be measured\n * until after mounting.\n */\nexport function initializeResponsiveMode(element) {\n if (typeof window !== 'undefined') {\n var currentWindow = (element && getWindow(element)) || window;\n getResponsiveMode(currentWindow);\n }\n}\nexport function getInitialResponsiveMode() {\n var _a;\n return _a = (_defaultMode !== null && _defaultMode !== void 0 ? _defaultMode : _lastMode), (_a !== null && _a !== void 0 ? _a : ResponsiveMode.large);\n}\nexport function withResponsiveMode(ComposedComponent) {\n var _a;\n var resultClass = (_a = /** @class */ (function (_super) {\n __extends(WithResponsiveMode, _super);\n function WithResponsiveMode(props) {\n var _this = _super.call(this, props) || this;\n _this._onResize = function () {\n var responsiveMode = getResponsiveMode(_this.context.window);\n if (responsiveMode !== _this.state.responsiveMode) {\n _this.setState({\n responsiveMode: responsiveMode,\n });\n }\n };\n _this._events = new EventGroup(_this);\n _this._updateComposedComponentRef = _this._updateComposedComponentRef.bind(_this);\n _this.state = {\n responsiveMode: getInitialResponsiveMode(),\n };\n return _this;\n }\n WithResponsiveMode.prototype.componentDidMount = function () {\n this._events.on(this.context.window, 'resize', this._onResize);\n this._onResize();\n };\n WithResponsiveMode.prototype.componentWillUnmount = function () {\n this._events.dispose();\n };\n WithResponsiveMode.prototype.render = function () {\n var responsiveMode = this.state.responsiveMode;\n return responsiveMode === ResponsiveMode.unknown ? null : (React.createElement(ComposedComponent, __assign({ ref: this._updateComposedComponentRef, responsiveMode: responsiveMode }, this.props)));\n };\n return WithResponsiveMode;\n }(BaseDecorator)),\n _a.contextType = WindowContext,\n _a);\n return hoistStatics(ComposedComponent, resultClass);\n}\nexport function getResponsiveMode(currentWindow) {\n var responsiveMode = ResponsiveMode.small;\n if (currentWindow) {\n try {\n while (currentWindow.innerWidth > RESPONSIVE_MAX_CONSTRAINT[responsiveMode]) {\n responsiveMode++;\n }\n }\n catch (e) {\n // Return a best effort result in cases where we're in the browser but it throws on getting innerWidth.\n responsiveMode = getInitialResponsiveMode();\n }\n // Tracking last mode just gives us a better default in future renders,\n // which avoids starting with the wrong value if we've measured once.\n _lastMode = responsiveMode;\n }\n else {\n if (_defaultMode !== undefined) {\n responsiveMode = _defaultMode;\n }\n else {\n throw new Error('Content was rendered in a server environment without providing a default responsive mode. ' +\n 'Call setResponsiveMode to define what the responsive mode is.');\n }\n }\n return responsiveMode;\n}\n//# sourceMappingURL=withResponsiveMode.js.map","import { __assign, __extends } from \"tslib\";\nimport { getCurrentHub, Hub } from '@sentry/hub';\nimport { isInstanceOf, logger } from '@sentry/utils';\nimport { Span as SpanClass, SpanRecorder } from './span';\n/** JSDoc */\nvar Transaction = /** @class */ (function (_super) {\n __extends(Transaction, _super);\n /**\n * This constructor should never be called manually. Those instrumenting tracing should use\n * `Sentry.startTransaction()`, and internal methods should use `hub.startTransaction()`.\n * @internal\n * @hideconstructor\n * @hidden\n */\n function Transaction(transactionContext, hub) {\n var _this = _super.call(this, transactionContext) || this;\n _this._measurements = {};\n /**\n * The reference to the current hub.\n */\n _this._hub = getCurrentHub();\n if (isInstanceOf(hub, Hub)) {\n _this._hub = hub;\n }\n _this.name = transactionContext.name ? transactionContext.name : '';\n _this._trimEnd = transactionContext.trimEnd;\n // this is because transactions are also spans, and spans have a transaction pointer\n _this.transaction = _this;\n return _this;\n }\n /**\n * JSDoc\n */\n Transaction.prototype.setName = function (name) {\n this.name = name;\n };\n /**\n * Attaches SpanRecorder to the span itself\n * @param maxlen maximum number of spans that can be recorded\n */\n Transaction.prototype.initSpanRecorder = function (maxlen) {\n if (maxlen === void 0) { maxlen = 1000; }\n if (!this.spanRecorder) {\n this.spanRecorder = new SpanRecorder(maxlen);\n }\n this.spanRecorder.add(this);\n };\n /**\n * Set observed measurements for this transaction.\n * @hidden\n */\n Transaction.prototype.setMeasurements = function (measurements) {\n this._measurements = __assign({}, measurements);\n };\n /**\n * @inheritDoc\n */\n Transaction.prototype.finish = function (endTimestamp) {\n var _this = this;\n // This transaction is already finished, so we should not flush it again.\n if (this.endTimestamp !== undefined) {\n return undefined;\n }\n if (!this.name) {\n logger.warn('Transaction has no name, falling back to ``.');\n this.name = '';\n }\n // just sets the end timestamp\n _super.prototype.finish.call(this, endTimestamp);\n if (this.sampled !== true) {\n // At this point if `sampled !== true` we want to discard the transaction.\n logger.log('[Tracing] Discarding transaction because its trace was not chosen to be sampled.');\n return undefined;\n }\n var finishedSpans = this.spanRecorder ? this.spanRecorder.spans.filter(function (s) { return s !== _this && s.endTimestamp; }) : [];\n if (this._trimEnd && finishedSpans.length > 0) {\n this.endTimestamp = finishedSpans.reduce(function (prev, current) {\n if (prev.endTimestamp && current.endTimestamp) {\n return prev.endTimestamp > current.endTimestamp ? prev : current;\n }\n return prev;\n }).endTimestamp;\n }\n var transaction = {\n contexts: {\n trace: this.getTraceContext(),\n },\n spans: finishedSpans,\n start_timestamp: this.startTimestamp,\n tags: this.tags,\n timestamp: this.endTimestamp,\n transaction: this.name,\n type: 'transaction',\n };\n var hasMeasurements = Object.keys(this._measurements).length > 0;\n if (hasMeasurements) {\n logger.log('[Measurements] Adding measurements to transaction', JSON.stringify(this._measurements, undefined, 2));\n transaction.measurements = this._measurements;\n }\n return this._hub.captureEvent(transaction);\n };\n return Transaction;\n}(SpanClass));\nexport { Transaction };\n//# sourceMappingURL=transaction.js.map","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","// `SameValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n"," \r\n export enum DomainStatus {\r\n Active = 0,\r\n Inactive = 1,\r\n Archived = 2,\r\n Suspended = 3,\r\n SuspendedByAdmin = 4,\r\n Open = 5,\r\n Resolved = 6,\r\n Deleted = 7,\r\n OverSubscribed = 8,\r\n Published = 9,\r\n Draft = 10,\r\n NeedsApproval = 11,\r\n }\r\n"," \r\n export enum SpotlightItemType {\r\n None = 0,\r\n Event = 1,\r\n Issue = 2,\r\n }\r\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","import { getCurrentHub } from '@sentry/hub';\nexport var TRACEPARENT_REGEXP = new RegExp('^[ \\\\t]*' + // whitespace\n '([0-9a-f]{32})?' + // trace_id\n '-?([0-9a-f]{16})?' + // span_id\n '-?([01])?' + // sampled\n '[ \\\\t]*$');\n/**\n * Determines if tracing is currently enabled.\n *\n * Tracing is enabled when at least one of `tracesSampleRate` and `tracesSampler` is defined in the SDK config.\n */\nexport function hasTracingEnabled(options) {\n return 'tracesSampleRate' in options || 'tracesSampler' in options;\n}\n/**\n * Extract transaction context data from a `sentry-trace` header.\n *\n * @param traceparent Traceparent string\n *\n * @returns Object containing data from the header, or undefined if traceparent string is malformed\n */\nexport function extractTraceparentData(traceparent) {\n var matches = traceparent.match(TRACEPARENT_REGEXP);\n if (matches) {\n var parentSampled = void 0;\n if (matches[3] === '1') {\n parentSampled = true;\n }\n else if (matches[3] === '0') {\n parentSampled = false;\n }\n return {\n traceId: matches[1],\n parentSampled: parentSampled,\n parentSpanId: matches[2],\n };\n }\n return undefined;\n}\n/** Grabs active transaction off scope, if any */\nexport function getActiveTransaction(hub) {\n if (hub === void 0) { hub = getCurrentHub(); }\n var _a, _b;\n return (_b = (_a = hub) === null || _a === void 0 ? void 0 : _a.getScope()) === null || _b === void 0 ? void 0 : _b.getTransaction();\n}\n/**\n * Converts from milliseconds to seconds\n * @param time time in ms\n */\nexport function msToSec(time) {\n return time / 1000;\n}\n/**\n * Converts from seconds to milliseconds\n * @param time time in seconds\n */\nexport function secToMs(time) {\n return time * 1000;\n}\n// so it can be used in manual instrumentation without necessitating a hard dependency on @sentry/utils\nexport { stripUrlQueryAndFragment } from '@sentry/utils';\n//# sourceMappingURL=utils.js.map","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar hide = require('../internals/hide');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n hide(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","import { KeyCodes } from './KeyCodes';\nimport { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './sessionStorage';\nimport { setRTL as mergeStylesSetRTL } from '@uifabric/merge-styles';\nvar RTL_LOCAL_STORAGE_KEY = 'isRTL';\n// Default to undefined so that we initialize on first read.\nvar _isRTL;\n/**\n * Gets the rtl state of the page (returns true if in rtl.)\n */\nexport function getRTL(theme) {\n if (theme === void 0) { theme = {}; }\n if (theme.rtl !== undefined) {\n return theme.rtl;\n }\n if (_isRTL === undefined) {\n // Fabric supports persisting the RTL setting between page refreshes via session storage\n var savedRTL = getItem(RTL_LOCAL_STORAGE_KEY);\n if (savedRTL !== null) {\n _isRTL = savedRTL === '1';\n setRTL(_isRTL);\n }\n var doc = getDocument();\n if (_isRTL === undefined && doc) {\n _isRTL = ((doc.body && doc.body.getAttribute('dir')) || doc.documentElement.getAttribute('dir')) === 'rtl';\n mergeStylesSetRTL(_isRTL);\n }\n }\n return !!_isRTL;\n}\n/**\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\n */\nexport function setRTL(isRTL, persistSetting) {\n if (persistSetting === void 0) { persistSetting = false; }\n var doc = getDocument();\n if (doc) {\n doc.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');\n }\n if (persistSetting) {\n setItem(RTL_LOCAL_STORAGE_KEY, isRTL ? '1' : '0');\n }\n _isRTL = isRTL;\n mergeStylesSetRTL(_isRTL);\n}\n/**\n * Returns the given key, but flips right/left arrows if necessary.\n */\nexport function getRTLSafeKeyCode(key, theme) {\n if (theme === void 0) { theme = {}; }\n if (getRTL(theme)) {\n if (key === KeyCodes.left) {\n key = KeyCodes.right;\n }\n else if (key === KeyCodes.right) {\n key = KeyCodes.left;\n }\n }\n return key;\n}\n//# sourceMappingURL=rtl.js.map","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","import { warn } from './warn';\n/**\n * Warns when props are required if a condition is met.\n *\n * @public\n * @param componentName - The name of the component being used.\n * @param props - The props passed into the component.\n * @param requiredProps - The name of the props that are required when the condition is met.\n * @param conditionalPropName - The name of the prop that the condition is based on.\n * @param condition - Whether the condition is met.\n */\nexport function warnConditionallyRequiredProps(componentName, props, requiredProps, conditionalPropName, condition) {\n if (condition === true && process.env.NODE_ENV !== 'production') {\n for (var _i = 0, requiredProps_1 = requiredProps; _i < requiredProps_1.length; _i++) {\n var requiredPropName = requiredProps_1[_i];\n if (!(requiredPropName in props)) {\n warn(componentName + \" property '\" + requiredPropName + \"' is required when '\" + conditionalPropName + \"' is used.'\");\n }\n }\n }\n}\n//# sourceMappingURL=warnConditionallyRequiredProps.js.map","import { Feature } from 'TypeWriterScripts/Feature';\r\nimport { UserPermission } from 'TypeWriterScripts/UserPermission';\r\nimport { isNullOrUndefined } from 'utils/object';\r\nimport { UserIdentity } from 'utils/userIdentity/userIdentity';\r\n\r\nexport enum PermissionMapDataKey {\r\n RealUser = 'r',\r\n Synthetic = 's',\r\n Division = 'd',\r\n IsEventsEnabled = 'e',\r\n ManageDashboard = 'md',\r\n LockedToDashboard = 'ld',\r\n DashboardsEnabled = 'ed',\r\n SonarEnabled = 'sn'\r\n}\r\n\r\nexport interface PermissionData {\r\n canViewRealUser?: boolean;\r\n canViewSynthetic?: boolean;\r\n canViewSonar?: boolean;\r\n canViewDivision?: boolean;\r\n isEventsEnabed?: boolean;\r\n canManageDashboards?: boolean;\r\n isLockedToDashboard?: boolean;\r\n hasDashboardsEnabled?: boolean;\r\n canViewNode?: boolean;\r\n}\r\n\r\nexport const getPermissionDataFromIdentity = (identity: UserIdentity): PermissionData | undefined => {\r\n if (isNullOrUndefined(identity)) {\r\n return undefined;\r\n }\r\n\r\n const permissionData: PermissionData = {\r\n canViewRealUser: identity.hasClientFeature(Feature.RealUser) && identity.canView(UserPermission.ManageGlimpse),\r\n canViewSynthetic: identity.canView(UserPermission.ManageTests),\r\n canViewSonar: identity.hasClientFeature(Feature.Sonar) && identity.canView(UserPermission.ManageEndpoint),\r\n canViewDivision: identity.canView(UserPermission.ManageDivisionsForClient),\r\n isEventsEnabed: identity.hasClientFeature(Feature.Events),\r\n canManageDashboards:\r\n identity.hasClientFeature(Feature.Dashboards) &&\r\n (identity.canModify(UserPermission.ManageDashboards) ||\r\n identity.canDelete(UserPermission.ManageDashboards)),\r\n isLockedToDashboard: identity.isLockedToDashboard(),\r\n hasDashboardsEnabled: identity.hasClientFeature(Feature.Dashboards),\r\n canViewNode: identity.canViewNodes()\r\n };\r\n return permissionData;\r\n};\r\n","import { AccessLevel } from 'TypeWriterScripts/AccessLevel';\r\nimport { TestAccessRestrictionType } from 'TypeWriterScripts/TestAccessRestrictionType';\r\nimport { getPermissionDataFromIdentity, PermissionData } from '../serverInitData/permissionData';\r\nimport {\r\n getGraphQlUrl,\r\n getPropertyFromTglServerData,\r\n getPublicLinkToken,\r\n getUserAuthToken\r\n} from '../serverInitData/tgl';\r\nimport { UserIdentity } from './userIdentity/userIdentity';\r\n\r\n/** @deprecated This is a fallback mechanism for getting AuthToken and should not be used anymore.\r\n * This is only used the first time the page is loaded from server and subsequently, client/division switching\r\n * on client side, updates the token and apollo client is given new token (Check `App.tsx`) !! Once login happens\r\n * from client side as well, this would be removed !\r\n */\r\nexport const getUserAuthorizationToken = (): string => getUserAuthToken();\r\n\r\n/** This way of getting the GraphQL Url will be changed in future releases */\r\nexport const getGraphqlQueryUrl = (): string => getGraphQlUrl();\r\n\r\n/** This way of getting the GraphQL Url will be changed in future releases */\r\nexport const getSymphonyRestApiUrl = (): string => getGraphQlUrl().replace('g', 'api');\r\n\r\n/** @deprecated Do Not use ! for public cases, token information should also be returned from the\r\n * initial API response and not be injected and used via TGL\r\n */\r\nexport const getPublicToken = (): string | undefined => getPublicLinkToken();\r\n\r\nexport const NoPermissionAtAll: PermissionData = {\r\n canViewRealUser: false,\r\n canViewSynthetic: false,\r\n canViewSonar: false,\r\n canViewDivision: false,\r\n isEventsEnabed: false,\r\n canManageDashboards: false,\r\n isLockedToDashboard: false,\r\n hasDashboardsEnabled: false,\r\n canViewNode: false\r\n};\r\n\r\nexport const getUserPermissionsforDashboardWithIdentity = (user?: UserIdentity): Partial => {\r\n if (user === undefined) {\r\n return NoPermissionAtAll;\r\n }\r\n const permissions = getPermissionDataFromIdentity(user);\r\n const dashBoardPermissions: Partial = {};\r\n\r\n dashBoardPermissions.canManageDashboards = (permissions && permissions.canManageDashboards) || false;\r\n dashBoardPermissions.isLockedToDashboard = (permissions && permissions.isLockedToDashboard) || false;\r\n dashBoardPermissions.hasDashboardsEnabled = (permissions && permissions.hasDashboardsEnabled) || false;\r\n\r\n return dashBoardPermissions;\r\n};\r\n\r\nexport const canViewDivisions = (user?: UserIdentity): boolean | undefined => {\r\n const canViewCrossDivisionAtSystem = user?.isLevel(AccessLevel.System) && user?.canDrillDownToDivisionAtSystem();\r\n const canViewCrossDivisionAtClient = user?.isLevel(AccessLevel.Client) && user?.canDrillDownToDivisionAtClient();\r\n return canViewCrossDivisionAtSystem || canViewCrossDivisionAtClient;\r\n};\r\n\r\n/**@deprecated Do Not Use ! Prefer `React.useContext(UserContext)` for function components\r\n * or `ComponentName.ContextType = UserContext` for class based components if you need any info from\r\n * UserIdentity\r\n */\r\nexport const getTestAccessRestrictionTypeForUser = (): TestAccessRestrictionType => {\r\n const key = 'tar';\r\n const type = getPropertyFromTglServerData(key);\r\n return type || 0;\r\n};\r\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n"," \r\n export enum ChartBreakdown {\r\n None = 0,\r\n Test = 1,\r\n Node = 2,\r\n ISP = 3,\r\n City = 4,\r\n Step = 5,\r\n Level = 6,\r\n Zone = 7,\r\n Host = 8,\r\n HostIP = 9,\r\n TracepointValues = 10,\r\n Country = 11,\r\n Continent = 12,\r\n StepName = 13,\r\n Product = 14,\r\n HopNumber = 15,\r\n HopIP = 16,\r\n HopHostname = 17,\r\n ASN = 18,\r\n HopCity = 19,\r\n HopCountry = 20,\r\n ErrorType = 21,\r\n ErrorCode = 22,\r\n Request = 23,\r\n ComparativeTime = 24,\r\n DayOfWeek = 25,\r\n HourOfDay = 26,\r\n MinuteOfHour = 27,\r\n FiveMinutesOfHour = 28,\r\n Facility = 29,\r\n LocationMachineName = 30,\r\n DestinationIP = 31,\r\n PageUrl = 32,\r\n Monitor = 33,\r\n TestFolder = 34,\r\n Label = 35,\r\n }\r\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Async, KeyCodes, divProperties, doesElementContainFocus, getDocument, getNativeProps, on, getWindow, elementContains, } from '../../Utilities';\n/**\n * This adds accessibility to Dialog and Panel controls\n */\nvar Popup = /** @class */ (function (_super) {\n __extends(Popup, _super);\n function Popup(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._disposables = [];\n _this._onKeyDown = function (ev) {\n switch (ev.which) {\n case KeyCodes.escape:\n if (_this.props.onDismiss) {\n _this.props.onDismiss(ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n break;\n }\n };\n _this._onFocus = function () {\n _this._containsFocus = true;\n };\n _this._onBlur = function (ev) {\n /** The popup should update this._containsFocus when:\n * relatedTarget exists AND\n * the relatedTarget is not contained within the popup.\n * If the relatedTarget is within the popup, that means the popup still has focus\n * and focused moved from one element to another within the popup.\n * If relatedTarget is undefined or null that usually means that a\n * keyboard event occured and focus didn't change\n */\n if (_this._root.current &&\n ev.relatedTarget &&\n !elementContains(_this._root.current, ev.relatedTarget)) {\n _this._containsFocus = false;\n }\n };\n _this._async = new Async(_this);\n _this.state = { needsVerticalScrollBar: false };\n return _this;\n }\n Popup.prototype.UNSAFE_componentWillMount = function () {\n this._originalFocusedElement = getDocument().activeElement;\n };\n Popup.prototype.componentDidMount = function () {\n if (this._root.current) {\n this._disposables.push(on(this._root.current, 'focus', this._onFocus, true), on(this._root.current, 'blur', this._onBlur, true));\n var currentWindow = getWindow(this._root.current);\n if (currentWindow) {\n this._disposables.push(on(currentWindow, 'keydown', this._onKeyDown));\n }\n if (doesElementContainFocus(this._root.current)) {\n this._containsFocus = true;\n }\n }\n this._updateScrollBarAsync();\n };\n Popup.prototype.componentDidUpdate = function () {\n this._updateScrollBarAsync();\n this._async.dispose();\n };\n Popup.prototype.componentWillUnmount = function () {\n var _a;\n this._disposables.forEach(function (dispose) { return dispose(); });\n // eslint-disable-next-line deprecation/deprecation\n if (this.props.shouldRestoreFocus) {\n var _b = this.props.onRestoreFocus, onRestoreFocus = _b === void 0 ? defaultFocusRestorer : _b;\n onRestoreFocus({\n originalElement: this._originalFocusedElement,\n containsFocus: this._containsFocus,\n documentContainsFocus: ((_a = getDocument()) === null || _a === void 0 ? void 0 : _a.hasFocus()) || false,\n });\n }\n // De-reference DOM Node to avoid retainment via transpiled closure of _onKeyDown\n delete this._originalFocusedElement;\n };\n Popup.prototype.render = function () {\n var _a = this.props, role = _a.role, className = _a.className, ariaLabel = _a.ariaLabel, ariaLabelledBy = _a.ariaLabelledBy, ariaDescribedBy = _a.ariaDescribedBy, style = _a.style;\n return (React.createElement(\"div\", __assign({ ref: this._root }, getNativeProps(this.props, divProperties), { className: className, role: role, \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy, onKeyDown: this._onKeyDown, style: __assign({ overflowY: this.state.needsVerticalScrollBar ? 'scroll' : undefined, outline: 'none' }, style) }), this.props.children));\n };\n Popup.prototype._updateScrollBarAsync = function () {\n var _this = this;\n this._async.requestAnimationFrame(function () {\n _this._getScrollBar();\n });\n };\n Popup.prototype._getScrollBar = function () {\n // If overflowY is overriden, don't waste time calculating whether the scrollbar is necessary.\n if (this.props.style && this.props.style.overflowY) {\n return;\n }\n var needsVerticalScrollBar = false;\n if (this._root && this._root.current && this._root.current.firstElementChild) {\n // ClientHeight returns the client height of an element rounded to an\n // integer. On some browsers at different zoom levels this rounding\n // can generate different results for the root container and child even\n // though they are the same height. This causes us to show a scroll bar\n // when not needed. Ideally we would use BoundingClientRect().height\n // instead however seems that the API is 90% slower than using ClientHeight.\n // Therefore instead we will calculate the difference between heights and\n // allow for a 1px difference to still be considered ok and not show the\n // scroll bar.\n var rootHeight = this._root.current.clientHeight;\n var firstChildHeight = this._root.current.firstElementChild.clientHeight;\n if (rootHeight > 0 && firstChildHeight > rootHeight) {\n needsVerticalScrollBar = firstChildHeight - rootHeight > 1;\n }\n }\n if (this.state.needsVerticalScrollBar !== needsVerticalScrollBar) {\n this.setState({\n needsVerticalScrollBar: needsVerticalScrollBar,\n });\n }\n };\n Popup.defaultProps = {\n shouldRestoreFocus: true,\n };\n return Popup;\n}(React.Component));\nexport { Popup };\nfunction defaultFocusRestorer(options) {\n var originalElement = options.originalElement, containsFocus = options.containsFocus;\n if (originalElement && containsFocus && originalElement !== window) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n if (originalElement.focus) {\n originalElement.focus();\n }\n }\n}\n//# sourceMappingURL=Popup.js.map","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/typedef */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n/** SyncPromise internal states */\nvar States;\n(function (States) {\n /** Pending */\n States[\"PENDING\"] = \"PENDING\";\n /** Resolved / OK */\n States[\"RESOLVED\"] = \"RESOLVED\";\n /** Rejected / Error */\n States[\"REJECTED\"] = \"REJECTED\";\n})(States || (States = {}));\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nvar SyncPromise = /** @class */ (function () {\n function SyncPromise(executor) {\n var _this = this;\n this._state = States.PENDING;\n this._handlers = [];\n /** JSDoc */\n this._resolve = function (value) {\n _this._setResult(States.RESOLVED, value);\n };\n /** JSDoc */\n this._reject = function (reason) {\n _this._setResult(States.REJECTED, reason);\n };\n /** JSDoc */\n this._setResult = function (state, value) {\n if (_this._state !== States.PENDING) {\n return;\n }\n if (isThenable(value)) {\n value.then(_this._resolve, _this._reject);\n return;\n }\n _this._state = state;\n _this._value = value;\n _this._executeHandlers();\n };\n // TODO: FIXME\n /** JSDoc */\n this._attachHandler = function (handler) {\n _this._handlers = _this._handlers.concat(handler);\n _this._executeHandlers();\n };\n /** JSDoc */\n this._executeHandlers = function () {\n if (_this._state === States.PENDING) {\n return;\n }\n var cachedHandlers = _this._handlers.slice();\n _this._handlers = [];\n cachedHandlers.forEach(function (handler) {\n if (handler.done) {\n return;\n }\n if (_this._state === States.RESOLVED) {\n if (handler.onfulfilled) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler.onfulfilled(_this._value);\n }\n }\n if (_this._state === States.REJECTED) {\n if (handler.onrejected) {\n handler.onrejected(_this._value);\n }\n }\n handler.done = true;\n });\n };\n try {\n executor(this._resolve, this._reject);\n }\n catch (e) {\n this._reject(e);\n }\n }\n /** JSDoc */\n SyncPromise.resolve = function (value) {\n return new SyncPromise(function (resolve) {\n resolve(value);\n });\n };\n /** JSDoc */\n SyncPromise.reject = function (reason) {\n return new SyncPromise(function (_, reject) {\n reject(reason);\n });\n };\n /** JSDoc */\n SyncPromise.all = function (collection) {\n return new SyncPromise(function (resolve, reject) {\n if (!Array.isArray(collection)) {\n reject(new TypeError(\"Promise.all requires an array as input.\"));\n return;\n }\n if (collection.length === 0) {\n resolve([]);\n return;\n }\n var counter = collection.length;\n var resolvedCollection = [];\n collection.forEach(function (item, index) {\n SyncPromise.resolve(item)\n .then(function (value) {\n resolvedCollection[index] = value;\n counter -= 1;\n if (counter !== 0) {\n return;\n }\n resolve(resolvedCollection);\n })\n .then(null, reject);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.then = function (onfulfilled, onrejected) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n _this._attachHandler({\n done: false,\n onfulfilled: function (result) {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result);\n return;\n }\n try {\n resolve(onfulfilled(result));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n onrejected: function (reason) {\n if (!onrejected) {\n reject(reason);\n return;\n }\n try {\n resolve(onrejected(reason));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.catch = function (onrejected) {\n return this.then(function (val) { return val; }, onrejected);\n };\n /** JSDoc */\n SyncPromise.prototype.finally = function (onfinally) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n var val;\n var isRejected;\n return _this.then(function (value) {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n }, function (reason) {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n }).then(function () {\n if (isRejected) {\n reject(val);\n return;\n }\n resolve(val);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.toString = function () {\n return '[object SyncPromise]';\n };\n return SyncPromise;\n}());\nexport { SyncPromise };\n//# sourceMappingURL=syncpromise.js.map","import { ActionButton } from '../ActionButton/ActionButton';\n/**\n * {@docCategory Button}\n */\nexport var CommandButton = ActionButton;\n//# sourceMappingURL=CommandButton.js.map"," \r\n export enum WebSocketTransferType {\r\n Send = 0,\r\n Receive = 1,\r\n Ping = 2,\r\n Pong = 3,\r\n Dns = 4,\r\n Connect = 5,\r\n Ssl = 6,\r\n Handshake = 7,\r\n }\r\n","module.exports = __webpack_public_path__ + \"7f3f2629a771bf975aae162870676159.svg\";","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n return !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0zIDVIMTdWNkgzVjVaIiBmaWxsPSIjMDA2QUQ0Ii8+DQo8cGF0aCBkPSJNMyA1SDE3VjZIM1Y1WiIgZmlsbD0iIzAwNkFENCIvPg0KPHBhdGggZD0iTTMgNUgxN1Y2SDNWNVoiIGZpbGw9IiMwMDZBRDQiLz4NCjxwYXRoIGQ9Ik0zIDVIMTdWNkgzVjVaIiBmaWxsPSIjMDA2QUQ0Ii8+DQo8cGF0aCBkPSJNMyA5SDE3VjEwSDNWOVoiIGZpbGw9IiMwMDZBRDQiLz4NCjxwYXRoIGQ9Ik0zIDlIMTdWMTBIM1Y5WiIgZmlsbD0iIzAwNkFENCIvPg0KPHBhdGggZD0iTTMgOUgxN1YxMEgzVjlaIiBmaWxsPSIjMDA2QUQ0Ii8+DQo8cGF0aCBkPSJNMyA5SDE3VjEwSDNWOVoiIGZpbGw9IiMwMDZBRDQiLz4NCjxwYXRoIGQ9Ik0zIDEzSDE3VjE0SDNWMTNaIiBmaWxsPSIjMDA2QUQ0Ii8+DQo8cGF0aCBkPSJNMyAxM0gxN1YxNEgzVjEzWiIgZmlsbD0iIzAwNkFENCIvPg0KPHBhdGggZD0iTTMgMTNIMTdWMTRIM1YxM1oiIGZpbGw9IiMwMDZBRDQiLz4NCjxwYXRoIGQ9Ik0zIDEzSDE3VjE0SDNWMTNaIiBmaWxsPSIjMDA2QUQ0Ii8+DQo8L3N2Zz4NCg==\"","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var MissingFieldError = (function () {\n function MissingFieldError(message, path, query, clientOnly, variables) {\n this.message = message;\n this.path = path;\n this.query = query;\n this.clientOnly = clientOnly;\n this.variables = variables;\n }\n return MissingFieldError;\n}());\nexport { MissingFieldError };\n//# sourceMappingURL=common.js.map","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","import * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\n/**\n * Hook to get Customizations settings from Customizations singleton or CustomizerContext.\n * It will trigger component state update on settings change observed.\n */\nexport function useCustomizationSettings(properties, scopeName) {\n var forceUpdate = useForceUpdate();\n var customizations = React.useContext(CustomizerContext).customizations;\n var inCustomizerContext = customizations.inCustomizerContext;\n React.useEffect(function () {\n if (!inCustomizerContext) {\n Customizations.observe(forceUpdate);\n }\n return function () {\n if (!inCustomizerContext) {\n Customizations.unobserve(forceUpdate);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- exclude forceUpdate\n }, [inCustomizerContext]);\n return Customizations.getSettings(properties, scopeName, customizations);\n}\nfunction useForceUpdate() {\n var _a = React.useState(0), setValue = _a[1];\n return function () { return setValue(function (value) { return ++value; }); };\n}\n//# sourceMappingURL=useCustomizationSettings.js.map","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n while (!(step = iterator.next()).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n"," \r\n export enum EndpointSourceType {\r\n EmployeeApp = 1,\r\n Location = 2,\r\n Endpoint = 3,\r\n EndpointTest = 4,\r\n NetworkDevice = 5,\r\n Alerts = 6,\r\n EndpointInstantTest = 7,\r\n }\r\n","import { useBaseQuery } from \"./utils/useBaseQuery.js\";\nexport function useLazyQuery(query, options) {\n return useBaseQuery(query, options, true);\n}\n//# sourceMappingURL=useLazyQuery.js.map","import { __assign, __extends } from \"tslib\";\nimport { equal } from '@wry/equality';\nimport { DocumentType } from \"../parser/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { OperationData } from \"./OperationData.js\";\nimport { mergeOptions } from \"../../core/index.js\";\nvar MutationData = (function (_super) {\n __extends(MutationData, _super);\n function MutationData(_a) {\n var options = _a.options, context = _a.context, result = _a.result, setResult = _a.setResult;\n var _this = _super.call(this, options, context) || this;\n _this.runMutation = function (mutationFunctionOptions) {\n if (mutationFunctionOptions === void 0) { mutationFunctionOptions = {}; }\n _this.onMutationStart();\n var mutationId = _this.generateNewMutationId();\n return _this.mutate(mutationFunctionOptions)\n .then(function (response) {\n _this.onMutationCompleted(response, mutationId);\n return response;\n })\n .catch(function (error) {\n var onError = _this.getOptions().onError;\n _this.onMutationError(error, mutationId);\n if (onError) {\n onError(error);\n return {\n data: undefined,\n errors: error,\n };\n }\n else {\n throw error;\n }\n });\n };\n _this.verifyDocumentType(options.mutation, DocumentType.Mutation);\n _this.result = result;\n _this.setResult = setResult;\n _this.mostRecentMutationId = 0;\n return _this;\n }\n MutationData.prototype.execute = function (result) {\n this.isMounted = true;\n this.verifyDocumentType(this.getOptions().mutation, DocumentType.Mutation);\n return [\n this.runMutation,\n __assign(__assign({}, result), { client: this.refreshClient().client })\n ];\n };\n MutationData.prototype.afterExecute = function () {\n this.isMounted = true;\n return this.unmount.bind(this);\n };\n MutationData.prototype.cleanup = function () {\n };\n MutationData.prototype.mutate = function (options) {\n return this.refreshClient().client.mutate(mergeOptions(this.getOptions(), options));\n };\n MutationData.prototype.onMutationStart = function () {\n if (!this.result.loading && !this.getOptions().ignoreResults) {\n this.updateResult({\n loading: true,\n error: undefined,\n data: undefined,\n called: true\n });\n }\n };\n MutationData.prototype.onMutationCompleted = function (response, mutationId) {\n var _a = this.getOptions(), onCompleted = _a.onCompleted, ignoreResults = _a.ignoreResults;\n var data = response.data, errors = response.errors;\n var error = errors && errors.length > 0\n ? new ApolloError({ graphQLErrors: errors })\n : undefined;\n var callOncomplete = function () {\n return onCompleted ? onCompleted(data) : null;\n };\n if (this.isMostRecentMutation(mutationId) && !ignoreResults) {\n this.updateResult({\n called: true,\n loading: false,\n data: data,\n error: error\n });\n }\n callOncomplete();\n };\n MutationData.prototype.onMutationError = function (error, mutationId) {\n if (this.isMostRecentMutation(mutationId)) {\n this.updateResult({\n loading: false,\n error: error,\n data: undefined,\n called: true\n });\n }\n };\n MutationData.prototype.generateNewMutationId = function () {\n return ++this.mostRecentMutationId;\n };\n MutationData.prototype.isMostRecentMutation = function (mutationId) {\n return this.mostRecentMutationId === mutationId;\n };\n MutationData.prototype.updateResult = function (result) {\n if (this.isMounted &&\n (!this.previousResult || !equal(this.previousResult, result))) {\n this.setResult(result);\n this.previousResult = result;\n return result;\n }\n };\n return MutationData;\n}(OperationData));\nexport { MutationData };\n//# sourceMappingURL=MutationData.js.map","import { __assign } from \"tslib\";\nimport { useContext, useState, useRef, useEffect } from 'react';\nimport { MutationData } from \"../data/index.js\";\nimport { getApolloContext } from \"../context/index.js\";\nexport function useMutation(mutation, options) {\n var context = useContext(getApolloContext());\n var _a = useState({ called: false, loading: false }), result = _a[0], setResult = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), { mutation: mutation }) : { mutation: mutation };\n var mutationDataRef = useRef();\n function getMutationDataRef() {\n if (!mutationDataRef.current) {\n mutationDataRef.current = new MutationData({\n options: updatedOptions,\n context: context,\n result: result,\n setResult: setResult\n });\n }\n return mutationDataRef.current;\n }\n var mutationData = getMutationDataRef();\n mutationData.setOptions(updatedOptions);\n mutationData.context = context;\n useEffect(function () { return mutationData.afterExecute(); });\n return mutationData.execute(result);\n}\n//# sourceMappingURL=useMutation.js.map","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n"," \r\n export enum ChangeType {\r\n Insert = 0,\r\n Update = 1,\r\n Delete = 2,\r\n RemoveAssociation = 3,\r\n AddAssociation = 4,\r\n }\r\n","import { __assign } from \"tslib\";\nimport { GlobalSettings } from '../GlobalSettings';\nvar CustomizationsGlobalKey = 'customizations';\nvar NO_CUSTOMIZATIONS = { settings: {}, scopedSettings: {}, inCustomizerContext: false };\nvar _allSettings = GlobalSettings.getValue(CustomizationsGlobalKey, {\n settings: {},\n scopedSettings: {},\n inCustomizerContext: false,\n});\nvar _events = [];\nvar Customizations = /** @class */ (function () {\n function Customizations() {\n }\n Customizations.reset = function () {\n _allSettings.settings = {};\n _allSettings.scopedSettings = {};\n };\n /** Apply global Customization settings.\n * @example Customizations.applySettings(\\{ theme: \\{...\\} \\});\n */\n Customizations.applySettings = function (settings) {\n _allSettings.settings = __assign(__assign({}, _allSettings.settings), settings);\n Customizations._raiseChange();\n };\n /** Apply Customizations to a particular named scope, like a component.\n * @example Customizations.applyScopedSettings('Nav', \\{ styles: () =\\> \\{\\} \\});\n */\n Customizations.applyScopedSettings = function (scopeName, settings) {\n _allSettings.scopedSettings[scopeName] = __assign(__assign({}, _allSettings.scopedSettings[scopeName]), settings);\n Customizations._raiseChange();\n };\n Customizations.getSettings = function (properties, scopeName, localSettings) {\n if (localSettings === void 0) { localSettings = NO_CUSTOMIZATIONS; }\n var settings = {};\n var localScopedSettings = (scopeName && localSettings.scopedSettings[scopeName]) || {};\n var globalScopedSettings = (scopeName && _allSettings.scopedSettings[scopeName]) || {};\n for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {\n var property = properties_1[_i];\n settings[property] =\n localScopedSettings[property] ||\n localSettings.settings[property] ||\n globalScopedSettings[property] ||\n _allSettings.settings[property];\n }\n return settings;\n };\n /** Used to run some code that sets Customizations without triggering an update until the end.\n * Useful for applying Customizations that don't affect anything currently rendered, or for\n * applying many customizations at once.\n * @param suppressUpdate - Do not raise the change event at the end, preventing all updates\n */\n Customizations.applyBatchedUpdates = function (code, suppressUpdate) {\n Customizations._suppressUpdates = true;\n try {\n code();\n }\n catch (_a) {\n /* do nothing */\n }\n Customizations._suppressUpdates = false;\n if (!suppressUpdate) {\n Customizations._raiseChange();\n }\n };\n Customizations.observe = function (onChange) {\n _events.push(onChange);\n };\n Customizations.unobserve = function (onChange) {\n _events = _events.filter(function (cb) { return cb !== onChange; });\n };\n Customizations._raiseChange = function () {\n if (!Customizations._suppressUpdates) {\n _events.forEach(function (cb) { return cb(); });\n }\n };\n return Customizations;\n}());\nexport { Customizations };\n//# sourceMappingURL=Customizations.js.map","export enum GlimpseEventType {\r\n OutageISP = 1,\r\n OutageNode = 2,\r\n OutageProvider = 3,\r\n ConfigurationChange = 4,\r\n UpgradeHardware = 5,\r\n UpgradeSoftware = 6,\r\n PatchSecurity = 7\r\n}\r\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","/**\n * Compares a to b and b to a.\n *\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function shallowCompare(a, b) {\n for (var propName in a) {\n if (a.hasOwnProperty(propName)) {\n if (!b.hasOwnProperty(propName) || b[propName] !== a[propName]) {\n return false;\n }\n }\n }\n for (var propName in b) {\n if (b.hasOwnProperty(propName)) {\n if (!a.hasOwnProperty(propName)) {\n return false;\n }\n }\n }\n return true;\n}\n/**\n * Makes a resulting merge of a bunch of objects. Pass in the target object followed by 1 or more\n * objects as arguments and they will be merged sequentially into the target. Note that this will\n * shallow merge; it will not create new cloned values for target members.\n *\n * @public\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assign(target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return filteredAssign.apply(this, [null, target].concat(args));\n}\n/**\n * Makes a resulting merge of a bunch of objects, but allows a filter function to be passed in to filter\n * the resulting merges. This allows for scenarios where you want to merge \"everything except that one thing\"\n * or \"properties that start with data-\". Note that this will shallow merge; it will not create new cloned\n * values for target members.\n *\n * @public\n * @param isAllowed - Callback to determine if the given propName is allowed in the result.\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function filteredAssign(isAllowed, target) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n target = target || {};\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var sourceObject = args_1[_a];\n if (sourceObject) {\n for (var propName in sourceObject) {\n if (sourceObject.hasOwnProperty(propName) && (!isAllowed || isAllowed(propName))) {\n target[propName] = sourceObject[propName];\n }\n }\n }\n }\n return target;\n}\n/**\n * Takes an enum and iterates over each value of the enum (as a string), running the callback on each,\n * returning a mapped array.\n * @param theEnum - Enum to iterate over\n * @param callback - The first parameter the name of the entry, and the second parameter is the value\n * of that entry, which is the value you'd normally use when using the enum (usually a number).\n */\nexport function mapEnumByName(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntheEnum, callback) {\n // map to satisfy compiler since it doesn't realize we strip out undefineds in the .filter() call\n return Object.keys(theEnum)\n .map(function (p) {\n // map on each property name as a string\n if (String(Number(p)) !== p) {\n // if the property is not just a number (because enums in TypeScript will map both ways)\n return callback(p, theEnum[p]);\n }\n return undefined;\n })\n .filter(function (v) { return !!v; }); // only return elements with values\n}\n/**\n * Get all values in an object dictionary\n *\n * @param obj - The dictionary to get values for\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function values(obj) {\n return Object.keys(obj).reduce(function (arr, key) {\n arr.push(obj[key]);\n return arr;\n }, []);\n}\n/**\n * Tiny helper to do the minimal amount of work in duplicating an object but omitting some\n * props. This ends up faster than using object ...rest or reduce to filter.\n *\n * This behaves very much like filteredAssign, but does not merge many objects together,\n * uses an exclusion object map, and avoids spreads all for optimal performance.\n *\n * See perf test for background:\n * https://jsperf.com/omit-vs-rest-vs-reduce/1\n *\n * @param obj - The object to clone\n * @param exclusions - The array of keys to exclude\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function omit(obj, exclusions) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var result = {};\n for (var key in obj) {\n if (exclusions.indexOf(key) === -1 && obj.hasOwnProperty(key)) {\n result[key] = obj[key];\n }\n }\n return result;\n}\n//# sourceMappingURL=object.js.map","import { __assign, __read, __spread } from \"tslib\";\nimport { dateTimestampInSeconds, getGlobalObject, isPlainObject, isThenable, SyncPromise } from '@sentry/utils';\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nvar Scope = /** @class */ (function () {\n function Scope() {\n /** Flag if notifiying is happening. */\n this._notifyingListeners = false;\n /** Callback for client to receive scope changes. */\n this._scopeListeners = [];\n /** Callback list that will be called after {@link applyToEvent}. */\n this._eventProcessors = [];\n /** Array of breadcrumbs. */\n this._breadcrumbs = [];\n /** User */\n this._user = {};\n /** Tags */\n this._tags = {};\n /** Extra */\n this._extra = {};\n /** Contexts */\n this._contexts = {};\n }\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n Scope.clone = function (scope) {\n var newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = __spread(scope._breadcrumbs);\n newScope._tags = __assign({}, scope._tags);\n newScope._extra = __assign({}, scope._extra);\n newScope._contexts = __assign({}, scope._contexts);\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = __spread(scope._eventProcessors);\n }\n return newScope;\n };\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n Scope.prototype.addScopeListener = function (callback) {\n this._scopeListeners.push(callback);\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addEventProcessor = function (callback) {\n this._eventProcessors.push(callback);\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setUser = function (user) {\n this._user = user || {};\n if (this._session) {\n this._session.update({ user: user });\n }\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getUser = function () {\n return this._user;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTags = function (tags) {\n this._tags = __assign(__assign({}, this._tags), tags);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTag = function (key, value) {\n var _a;\n this._tags = __assign(__assign({}, this._tags), (_a = {}, _a[key] = value, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtras = function (extras) {\n this._extra = __assign(__assign({}, this._extra), extras);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtra = function (key, extra) {\n var _a;\n this._extra = __assign(__assign({}, this._extra), (_a = {}, _a[key] = extra, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setFingerprint = function (fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setLevel = function (level) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTransactionName = function (name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Can be removed in major version.\n * @deprecated in favor of {@link this.setTransactionName}\n */\n Scope.prototype.setTransaction = function (name) {\n return this.setTransactionName(name);\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setContext = function (key, context) {\n var _a;\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n }\n else {\n this._contexts = __assign(__assign({}, this._contexts), (_a = {}, _a[key] = context, _a));\n }\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setSpan = function (span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getSpan = function () {\n return this._span;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getTransaction = function () {\n var _a, _b, _c, _d;\n // often, this span will be a transaction, but it's not guaranteed to be\n var span = this.getSpan();\n // try it the new way first\n if ((_a = span) === null || _a === void 0 ? void 0 : _a.transaction) {\n return (_b = span) === null || _b === void 0 ? void 0 : _b.transaction;\n }\n // fallback to the old way (known bug: this only finds transactions with sampled = true)\n if ((_d = (_c = span) === null || _c === void 0 ? void 0 : _c.spanRecorder) === null || _d === void 0 ? void 0 : _d.spans[0]) {\n return span.spanRecorder.spans[0];\n }\n // neither way found a transaction\n return undefined;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setSession = function (session) {\n if (!session) {\n delete this._session;\n }\n else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getSession = function () {\n return this._session;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.update = function (captureContext) {\n if (!captureContext) {\n return this;\n }\n if (typeof captureContext === 'function') {\n var updatedScope = captureContext(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n if (captureContext instanceof Scope) {\n this._tags = __assign(__assign({}, this._tags), captureContext._tags);\n this._extra = __assign(__assign({}, this._extra), captureContext._extra);\n this._contexts = __assign(__assign({}, this._contexts), captureContext._contexts);\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n }\n else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext;\n this._tags = __assign(__assign({}, this._tags), captureContext.tags);\n this._extra = __assign(__assign({}, this._extra), captureContext.extra);\n this._contexts = __assign(__assign({}, this._contexts), captureContext.contexts);\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n }\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clear = function () {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addBreadcrumb = function (breadcrumb, maxBreadcrumbs) {\n var mergedBreadcrumb = __assign({ timestamp: dateTimestampInSeconds() }, breadcrumb);\n this._breadcrumbs =\n maxBreadcrumbs !== undefined && maxBreadcrumbs >= 0\n ? __spread(this._breadcrumbs, [mergedBreadcrumb]).slice(-maxBreadcrumbs)\n : __spread(this._breadcrumbs, [mergedBreadcrumb]);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clearBreadcrumbs = function () {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional informartion about the original exception.\n * @hidden\n */\n Scope.prototype.applyToEvent = function (event, hint) {\n var _a;\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = __assign(__assign({}, this._extra), event.extra);\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = __assign(__assign({}, this._tags), event.tags);\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = __assign(__assign({}, this._user), event.user);\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = __assign(__assign({}, this._contexts), event.contexts);\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relys on that.\n if (this._span) {\n event.contexts = __assign({ trace: this._span.getTraceContext() }, event.contexts);\n var transactionName = (_a = this._span.transaction) === null || _a === void 0 ? void 0 : _a.name;\n if (transactionName) {\n event.tags = __assign({ transaction: transactionName }, event.tags);\n }\n }\n this._applyFingerprint(event);\n event.breadcrumbs = __spread((event.breadcrumbs || []), this._breadcrumbs);\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n return this._notifyEventProcessors(__spread(getGlobalEventProcessors(), this._eventProcessors), event, hint);\n };\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n Scope.prototype._notifyEventProcessors = function (processors, event, hint, index) {\n var _this = this;\n if (index === void 0) { index = 0; }\n return new SyncPromise(function (resolve, reject) {\n var processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n }\n else {\n var result = processor(__assign({}, event), hint);\n if (isThenable(result)) {\n result\n .then(function (final) { return _this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve); })\n .then(null, reject);\n }\n else {\n _this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n };\n /**\n * This will be called on every set call.\n */\n Scope.prototype._notifyScopeListeners = function () {\n var _this = this;\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(function (callback) {\n callback(_this);\n });\n this._notifyingListeners = false;\n }\n };\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n Scope.prototype._applyFingerprint = function (event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n };\n return Scope;\n}());\nexport { Scope };\n/**\n * Retruns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\n var global = getGlobalObject();\n global.__SENTRY__ = global.__SENTRY__ || {};\n global.__SENTRY__.globalEventProcessors = global.__SENTRY__.globalEventProcessors || [];\n return global.__SENTRY__.globalEventProcessors;\n /* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\n}\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n//# sourceMappingURL=scope.js.map","/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL) {\n if (_rtl !== isRTL) {\n _rtl = isRTL;\n }\n}\n/**\n * Gets the current RTL value.\n */\nexport function getRTL() {\n if (_rtl === undefined) {\n _rtl =\n typeof document !== 'undefined' &&\n !!document.documentElement &&\n document.documentElement.getAttribute('dir') === 'rtl';\n }\n return _rtl;\n}\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nvar _rtl;\n_rtl = getRTL();\nexport function getStyleOptions() {\n return {\n rtl: getRTL(),\n };\n}\n//# sourceMappingURL=StyleOptionsState.js.map","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","import { getWindow } from './dom/getWindow';\nexport var IsFocusVisibleClassName = 'ms-Fabric--isFocusVisible';\nexport var IsFocusHiddenClassName = 'ms-Fabric--isFocusHidden';\n/**\n * Sets the visibility of focus styling.\n *\n * By default, focus styles (the box surrounding a focused Button, for example) only show up when navigational\n * keypresses occur (through Tab, arrows, PgUp/PgDn, Home and End), and are hidden when mouse interactions occur.\n * This API provides an imperative way to turn them on/off.\n *\n * A use case might be when you have a keypress like ctrl-f6 navigate to a particular region on the page,\n * and want focus to show up.\n *\n * @param enabled - whether to remove or add focus\n * @param target - optional target\n */\nexport function setFocusVisibility(enabled, target) {\n var win = target ? getWindow(target) : getWindow();\n if (win) {\n var classList = win.document.body.classList;\n classList.add(enabled ? IsFocusVisibleClassName : IsFocusHiddenClassName);\n classList.remove(enabled ? IsFocusHiddenClassName : IsFocusVisibleClassName);\n }\n}\n//# sourceMappingURL=setFocusVisibility.js.map","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash = void 0;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction valueEqual(a, b) {\n if (a === b) return true;\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n\n var aType = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var bType = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (aType !== bType) return false;\n\n if (aType === 'object') {\n var aValue = a.valueOf();\n var bValue = b.valueOf();\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n return aKeys.every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n return '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","/**\n * {@docCategory FocusZone}\n */\nexport var FocusZoneTabbableElements = {\n /** Tabbing is not allowed */\n none: 0,\n /** All tabbing action is allowed */\n all: 1,\n /** Tabbing is allowed only on input elements */\n inputOnly: 2,\n};\n/**\n * {@docCategory FocusZone}\n */\nexport var FocusZoneDirection;\n(function (FocusZoneDirection) {\n /** Only react to up/down arrows. */\n FocusZoneDirection[FocusZoneDirection[\"vertical\"] = 0] = \"vertical\";\n /** Only react to left/right arrows. */\n FocusZoneDirection[FocusZoneDirection[\"horizontal\"] = 1] = \"horizontal\";\n /** React to all arrows. */\n FocusZoneDirection[FocusZoneDirection[\"bidirectional\"] = 2] = \"bidirectional\";\n /**\n * React to all arrows. Navigate next item in DOM on right/down arrow keys and previous - left/up arrow keys.\n * Right and Left arrow keys are swapped in RTL mode.\n */\n FocusZoneDirection[FocusZoneDirection[\"domOrder\"] = 3] = \"domOrder\";\n})(FocusZoneDirection || (FocusZoneDirection = {}));\n//# sourceMappingURL=FocusZone.types.js.map","import * as React from 'react';\r\nimport cx from 'classnames';\r\nimport { Localize } from '../../utils/localize';\r\nimport { ResponseStatus } from '../../utils/simpleTypes';\r\nconst styles = require('./ChartStatus.scss') as { [key: string]: string };\r\n\r\nexport type Align = 'left' | 'right' | 'center';\r\n\r\ninterface ChartStatusProps {\r\n /**\r\n * The status prop carries the value of status coming from the ajax calls.\r\n * If the status is `NoData`, Chartstatus component displays 'NO DATA!' and blocks the render of the child component.\r\n * If the status is `Loading`, Chartstatus component displays 'LOADING' and blocks the render of the actual component.\r\n * If the status is `HasData`, Chartstatus component displays its child component.\r\n */\r\n status: ResponseStatus;\r\n /**\r\n * A custom message that will be displayed instead of the default messages.\r\n * Only works when response status is set to custom.\r\n */\r\n customStatusText?: string;\r\n alignStatus?: Align;\r\n}\r\n\r\n/**\r\n * The ChartStatus component is a wrapper around a child component where the child component's visibility depends on the value of a `ResponseStatus` prop.\r\n * If the `ResponseStatus` is `Loading` or `NoData`, then a message will be shown indicating the status.\r\n * If the `ResponseStatus` is `HasData`, then the child component will be shown.\r\n *\r\n * This component is currently used in the ajax HOC. The ajax HOC makes AJAX requests and updates the `ResponseStatus` accordingly.\r\n */\r\nexport const ChartStatus: React.FunctionComponent = props => {\r\n const { status, customStatusText: text } = props;\r\n let chartMessage = '';\r\n switch (status) {\r\n case ResponseStatus.Loading:\r\n chartMessage = Localize.Loading;\r\n break;\r\n case ResponseStatus.Error:\r\n chartMessage = Localize.ErrorBoundaryDefaultText;\r\n break;\r\n case ResponseStatus.Custom:\r\n if (text) {\r\n chartMessage = text;\r\n }\r\n break;\r\n default:\r\n chartMessage = Localize.NoData;\r\n break;\r\n }\r\n\r\n let alignStyle = styles.center;\r\n if (props.alignStatus === 'left') {\r\n alignStyle = styles.left;\r\n } else if (props.alignStatus === 'right') {\r\n alignStyle = styles.right;\r\n }\r\n\r\n const capitalize = props.status !== ResponseStatus.Custom;\r\n const textUpperCase = capitalize ? styles.capitalize : '';\r\n const contentStyle = cx(styles.cont, alignStyle, textUpperCase);\r\n\r\n return status === ResponseStatus.HasData ? (\r\n /* tslint:disable-next-line:no-any */\r\n (props.children as React.ReactElement) || null\r\n ) : (\r\n
\r\n
{chartMessage}
\r\n
\r\n );\r\n};\r\n","import { __assign, __rest } from \"tslib\";\nimport { KeyTrie } from 'optimism';\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { getFragmentFromSelection, isField, getTypenameFromResult, storeKeyNameFromField, argumentsObjectFromField, isReference, getStoreKeyName, canUseWeakMap, } from \"../../utilities/index.js\";\nimport { hasOwn, fieldNameFromStoreName, storeValueIsStoreObject, selectionSetMatchesResult, TypeOrFieldNameRegExp, } from \"./helpers.js\";\nimport { cacheSlot } from \"./reactiveVars.js\";\nfunction argsFromFieldSpecifier(spec) {\n return spec.args !== void 0 ? spec.args :\n spec.field ? argumentsObjectFromField(spec.field, spec.variables) : null;\n}\nexport var defaultDataIdFromObject = function (_a, context) {\n var __typename = _a.__typename, id = _a.id, _id = _a._id;\n if (typeof __typename === \"string\") {\n if (context) {\n context.keyObject =\n id !== void 0 ? { id: id } :\n _id !== void 0 ? { _id: _id } :\n void 0;\n }\n if (id === void 0)\n id = _id;\n if (id !== void 0) {\n return __typename + \":\" + ((typeof id === \"number\" ||\n typeof id === \"string\") ? id : JSON.stringify(id));\n }\n }\n};\nvar nullKeyFieldsFn = function () { return void 0; };\nvar simpleKeyArgsFn = function (_args, context) { return context.fieldName; };\nvar mergeTrueFn = function (existing, incoming, _a) {\n var mergeObjects = _a.mergeObjects;\n return mergeObjects(existing, incoming);\n};\nvar mergeFalseFn = function (_, incoming) { return incoming; };\nvar Policies = (function () {\n function Policies(config) {\n this.config = config;\n this.typePolicies = Object.create(null);\n this.toBeAdded = Object.create(null);\n this.supertypeMap = new Map();\n this.fuzzySubtypes = new Map();\n this.rootIdsByTypename = Object.create(null);\n this.rootTypenamesById = Object.create(null);\n this.usingPossibleTypes = false;\n this.config = __assign({ dataIdFromObject: defaultDataIdFromObject }, config);\n this.cache = this.config.cache;\n this.setRootTypename(\"Query\");\n this.setRootTypename(\"Mutation\");\n this.setRootTypename(\"Subscription\");\n if (config.possibleTypes) {\n this.addPossibleTypes(config.possibleTypes);\n }\n if (config.typePolicies) {\n this.addTypePolicies(config.typePolicies);\n }\n }\n Policies.prototype.identify = function (object, selectionSet, fragmentMap) {\n var typename = selectionSet && fragmentMap\n ? getTypenameFromResult(object, selectionSet, fragmentMap)\n : object.__typename;\n if (typename === this.rootTypenamesById.ROOT_QUERY) {\n return [\"ROOT_QUERY\"];\n }\n var context = {\n typename: typename,\n selectionSet: selectionSet,\n fragmentMap: fragmentMap,\n };\n var id;\n var policy = typename && this.getTypePolicy(typename);\n var keyFn = policy && policy.keyFn || this.config.dataIdFromObject;\n while (keyFn) {\n var specifierOrId = keyFn(object, context);\n if (Array.isArray(specifierOrId)) {\n keyFn = keyFieldsFnFromSpecifier(specifierOrId);\n }\n else {\n id = specifierOrId;\n break;\n }\n }\n id = id ? String(id) : void 0;\n return context.keyObject ? [id, context.keyObject] : [id];\n };\n Policies.prototype.addTypePolicies = function (typePolicies) {\n var _this = this;\n Object.keys(typePolicies).forEach(function (typename) {\n var _a = typePolicies[typename], queryType = _a.queryType, mutationType = _a.mutationType, subscriptionType = _a.subscriptionType, incoming = __rest(_a, [\"queryType\", \"mutationType\", \"subscriptionType\"]);\n if (queryType)\n _this.setRootTypename(\"Query\", typename);\n if (mutationType)\n _this.setRootTypename(\"Mutation\", typename);\n if (subscriptionType)\n _this.setRootTypename(\"Subscription\", typename);\n if (hasOwn.call(_this.toBeAdded, typename)) {\n _this.toBeAdded[typename].push(incoming);\n }\n else {\n _this.toBeAdded[typename] = [incoming];\n }\n });\n };\n Policies.prototype.updateTypePolicy = function (typename, incoming) {\n var _this = this;\n var existing = this.getTypePolicy(typename);\n var keyFields = incoming.keyFields, fields = incoming.fields;\n function setMerge(existing, merge) {\n existing.merge =\n typeof merge === \"function\" ? merge :\n merge === true ? mergeTrueFn :\n merge === false ? mergeFalseFn :\n existing.merge;\n }\n setMerge(existing, incoming.merge);\n existing.keyFn =\n keyFields === false ? nullKeyFieldsFn :\n Array.isArray(keyFields) ? keyFieldsFnFromSpecifier(keyFields) :\n typeof keyFields === \"function\" ? keyFields :\n existing.keyFn;\n if (fields) {\n Object.keys(fields).forEach(function (fieldName) {\n var existing = _this.getFieldPolicy(typename, fieldName, true);\n var incoming = fields[fieldName];\n if (typeof incoming === \"function\") {\n existing.read = incoming;\n }\n else {\n var keyArgs = incoming.keyArgs, read = incoming.read, merge = incoming.merge;\n existing.keyFn =\n keyArgs === false ? simpleKeyArgsFn :\n Array.isArray(keyArgs) ? keyArgsFnFromSpecifier(keyArgs) :\n typeof keyArgs === \"function\" ? keyArgs :\n existing.keyFn;\n if (typeof read === \"function\") {\n existing.read = read;\n }\n setMerge(existing, merge);\n }\n if (existing.read && existing.merge) {\n existing.keyFn = existing.keyFn || simpleKeyArgsFn;\n }\n });\n }\n };\n Policies.prototype.setRootTypename = function (which, typename) {\n if (typename === void 0) { typename = which; }\n var rootId = \"ROOT_\" + which.toUpperCase();\n var old = this.rootTypenamesById[rootId];\n if (typename !== old) {\n process.env.NODE_ENV === \"production\" ? invariant(!old || old === which, 1) : invariant(!old || old === which, \"Cannot change root \" + which + \" __typename more than once\");\n if (old)\n delete this.rootIdsByTypename[old];\n this.rootIdsByTypename[typename] = rootId;\n this.rootTypenamesById[rootId] = typename;\n }\n };\n Policies.prototype.addPossibleTypes = function (possibleTypes) {\n var _this = this;\n this.usingPossibleTypes = true;\n Object.keys(possibleTypes).forEach(function (supertype) {\n _this.getSupertypeSet(supertype, true);\n possibleTypes[supertype].forEach(function (subtype) {\n _this.getSupertypeSet(subtype, true).add(supertype);\n var match = subtype.match(TypeOrFieldNameRegExp);\n if (!match || match[0] !== subtype) {\n _this.fuzzySubtypes.set(subtype, new RegExp(subtype));\n }\n });\n });\n };\n Policies.prototype.getTypePolicy = function (typename) {\n var _this = this;\n if (!hasOwn.call(this.typePolicies, typename)) {\n var policy_1 = this.typePolicies[typename] = Object.create(null);\n policy_1.fields = Object.create(null);\n var supertypes = this.supertypeMap.get(typename);\n if (supertypes && supertypes.size) {\n supertypes.forEach(function (supertype) {\n var _a = _this.getTypePolicy(supertype), fields = _a.fields, rest = __rest(_a, [\"fields\"]);\n Object.assign(policy_1, rest);\n Object.assign(policy_1.fields, fields);\n });\n }\n }\n var inbox = this.toBeAdded[typename];\n if (inbox && inbox.length) {\n inbox.splice(0).forEach(function (policy) {\n _this.updateTypePolicy(typename, policy);\n });\n }\n return this.typePolicies[typename];\n };\n Policies.prototype.getFieldPolicy = function (typename, fieldName, createIfMissing) {\n if (typename) {\n var fieldPolicies = this.getTypePolicy(typename).fields;\n return fieldPolicies[fieldName] || (createIfMissing && (fieldPolicies[fieldName] = Object.create(null)));\n }\n };\n Policies.prototype.getSupertypeSet = function (subtype, createIfMissing) {\n var supertypeSet = this.supertypeMap.get(subtype);\n if (!supertypeSet && createIfMissing) {\n this.supertypeMap.set(subtype, supertypeSet = new Set());\n }\n return supertypeSet;\n };\n Policies.prototype.fragmentMatches = function (fragment, typename, result, variables) {\n var _this = this;\n if (!fragment.typeCondition)\n return true;\n if (!typename)\n return false;\n var supertype = fragment.typeCondition.name.value;\n if (typename === supertype)\n return true;\n if (this.usingPossibleTypes &&\n this.supertypeMap.has(supertype)) {\n var typenameSupertypeSet = this.getSupertypeSet(typename, true);\n var workQueue_1 = [typenameSupertypeSet];\n var maybeEnqueue_1 = function (subtype) {\n var supertypeSet = _this.getSupertypeSet(subtype, false);\n if (supertypeSet &&\n supertypeSet.size &&\n workQueue_1.indexOf(supertypeSet) < 0) {\n workQueue_1.push(supertypeSet);\n }\n };\n var needToCheckFuzzySubtypes = !!(result && this.fuzzySubtypes.size);\n var checkingFuzzySubtypes = false;\n for (var i = 0; i < workQueue_1.length; ++i) {\n var supertypeSet = workQueue_1[i];\n if (supertypeSet.has(supertype)) {\n if (!typenameSupertypeSet.has(supertype)) {\n if (checkingFuzzySubtypes) {\n process.env.NODE_ENV === \"production\" || invariant.warn(\"Inferring subtype \" + typename + \" of supertype \" + supertype);\n }\n typenameSupertypeSet.add(supertype);\n }\n return true;\n }\n supertypeSet.forEach(maybeEnqueue_1);\n if (needToCheckFuzzySubtypes &&\n i === workQueue_1.length - 1 &&\n selectionSetMatchesResult(fragment.selectionSet, result, variables)) {\n needToCheckFuzzySubtypes = false;\n checkingFuzzySubtypes = true;\n this.fuzzySubtypes.forEach(function (regExp, fuzzyString) {\n var match = typename.match(regExp);\n if (match && match[0] === typename) {\n maybeEnqueue_1(fuzzyString);\n }\n });\n }\n }\n }\n return false;\n };\n Policies.prototype.hasKeyArgs = function (typename, fieldName) {\n var policy = this.getFieldPolicy(typename, fieldName, false);\n return !!(policy && policy.keyFn);\n };\n Policies.prototype.getStoreFieldName = function (fieldSpec) {\n var typename = fieldSpec.typename, fieldName = fieldSpec.fieldName;\n var policy = this.getFieldPolicy(typename, fieldName, false);\n var storeFieldName;\n var keyFn = policy && policy.keyFn;\n if (keyFn && typename) {\n var context = {\n typename: typename,\n fieldName: fieldName,\n field: fieldSpec.field || null,\n variables: fieldSpec.variables,\n };\n var args = argsFromFieldSpecifier(fieldSpec);\n while (keyFn) {\n var specifierOrString = keyFn(args, context);\n if (Array.isArray(specifierOrString)) {\n keyFn = keyArgsFnFromSpecifier(specifierOrString);\n }\n else {\n storeFieldName = specifierOrString || fieldName;\n break;\n }\n }\n }\n if (storeFieldName === void 0) {\n storeFieldName = fieldSpec.field\n ? storeKeyNameFromField(fieldSpec.field, fieldSpec.variables)\n : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));\n }\n if (storeFieldName === false) {\n return fieldName;\n }\n return fieldName === fieldNameFromStoreName(storeFieldName)\n ? storeFieldName\n : fieldName + \":\" + storeFieldName;\n };\n Policies.prototype.readField = function (options, context) {\n var objectOrReference = options.from;\n if (!objectOrReference)\n return;\n var nameOrField = options.field || options.fieldName;\n if (!nameOrField)\n return;\n if (options.typename === void 0) {\n var typename = context.store.getFieldValue(objectOrReference, \"__typename\");\n if (typename)\n options.typename = typename;\n }\n var storeFieldName = this.getStoreFieldName(options);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var existing = context.store.getFieldValue(objectOrReference, storeFieldName);\n var policy = this.getFieldPolicy(options.typename, fieldName, false);\n var read = policy && policy.read;\n if (read) {\n var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, context.store.getStorage(isReference(objectOrReference)\n ? objectOrReference.__ref\n : objectOrReference, storeFieldName));\n return cacheSlot.withValue(this.cache, read, [existing, readOptions]);\n }\n return existing;\n };\n Policies.prototype.getMergeFunction = function (parentTypename, fieldName, childTypename) {\n var policy = this.getFieldPolicy(parentTypename, fieldName, false);\n var merge = policy && policy.merge;\n if (!merge && childTypename) {\n policy = this.getTypePolicy(childTypename);\n merge = policy && policy.merge;\n }\n return merge;\n };\n Policies.prototype.runMergeFunction = function (existing, incoming, _a, context, storage) {\n var field = _a.field, typename = _a.typename, merge = _a.merge;\n if (merge === mergeTrueFn) {\n return makeMergeObjectsFunction(context.store.getFieldValue)(existing, incoming);\n }\n if (merge === mergeFalseFn) {\n return incoming;\n }\n return merge(existing, incoming, makeFieldFunctionOptions(this, void 0, { typename: typename, fieldName: field.name.value, field: field, variables: context.variables }, context, storage || Object.create(null)));\n };\n return Policies;\n}());\nexport { Policies };\nfunction makeFieldFunctionOptions(policies, objectOrReference, fieldSpec, context, storage) {\n var storeFieldName = policies.getStoreFieldName(fieldSpec);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var variables = fieldSpec.variables || context.variables;\n var _a = context.store, getFieldValue = _a.getFieldValue, toReference = _a.toReference, canRead = _a.canRead;\n return {\n args: argsFromFieldSpecifier(fieldSpec),\n field: fieldSpec.field || null,\n fieldName: fieldName,\n storeFieldName: storeFieldName,\n variables: variables,\n isReference: isReference,\n toReference: toReference,\n storage: storage,\n cache: policies.cache,\n canRead: canRead,\n readField: function (fieldNameOrOptions, from) {\n var options = typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from,\n } : __assign({}, fieldNameOrOptions);\n if (void 0 === options.from) {\n options.from = objectOrReference;\n }\n if (void 0 === options.variables) {\n options.variables = variables;\n }\n return policies.readField(options, context);\n },\n mergeObjects: makeMergeObjectsFunction(getFieldValue),\n };\n}\nfunction makeMergeObjectsFunction(getFieldValue) {\n return function mergeObjects(existing, incoming) {\n if (Array.isArray(existing) || Array.isArray(incoming)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(2) : new InvariantError(\"Cannot automatically merge arrays\");\n }\n if (existing && typeof existing === \"object\" &&\n incoming && typeof incoming === \"object\") {\n var eType = getFieldValue(existing, \"__typename\");\n var iType = getFieldValue(incoming, \"__typename\");\n var typesDiffer = eType && iType && eType !== iType;\n if (typesDiffer ||\n !storeValueIsStoreObject(existing) ||\n !storeValueIsStoreObject(incoming)) {\n return incoming;\n }\n return __assign(__assign({}, existing), incoming);\n }\n return incoming;\n };\n}\nfunction keyArgsFnFromSpecifier(specifier) {\n return function (args, context) {\n return args ? context.fieldName + \":\" + JSON.stringify(computeKeyObject(args, specifier, false)) : context.fieldName;\n };\n}\nfunction keyFieldsFnFromSpecifier(specifier) {\n var trie = new KeyTrie(canUseWeakMap);\n return function (object, context) {\n var aliasMap;\n if (context.selectionSet && context.fragmentMap) {\n var info = trie.lookupArray([\n context.selectionSet,\n context.fragmentMap,\n ]);\n aliasMap = info.aliasMap || (info.aliasMap = makeAliasMap(context.selectionSet, context.fragmentMap));\n }\n var keyObject = context.keyObject =\n computeKeyObject(object, specifier, true, aliasMap);\n return context.typename + \":\" + JSON.stringify(keyObject);\n };\n}\nfunction makeAliasMap(selectionSet, fragmentMap) {\n var map = Object.create(null);\n var workQueue = new Set([selectionSet]);\n workQueue.forEach(function (selectionSet) {\n selectionSet.selections.forEach(function (selection) {\n if (isField(selection)) {\n if (selection.alias) {\n var responseKey = selection.alias.value;\n var storeKey = selection.name.value;\n if (storeKey !== responseKey) {\n var aliases = map.aliases || (map.aliases = Object.create(null));\n aliases[storeKey] = responseKey;\n }\n }\n if (selection.selectionSet) {\n var subsets = map.subsets || (map.subsets = Object.create(null));\n subsets[selection.name.value] =\n makeAliasMap(selection.selectionSet, fragmentMap);\n }\n }\n else {\n var fragment = getFragmentFromSelection(selection, fragmentMap);\n if (fragment) {\n workQueue.add(fragment.selectionSet);\n }\n }\n });\n });\n return map;\n}\nfunction computeKeyObject(response, specifier, strict, aliasMap) {\n var keyObj = Object.create(null);\n var prevKey;\n specifier.forEach(function (s) {\n if (Array.isArray(s)) {\n if (typeof prevKey === \"string\") {\n var subsets = aliasMap && aliasMap.subsets;\n var subset = subsets && subsets[prevKey];\n keyObj[prevKey] = computeKeyObject(response[prevKey], s, strict, subset);\n }\n }\n else {\n var aliases = aliasMap && aliasMap.aliases;\n var responseName = aliases && aliases[s] || s;\n if (hasOwn.call(response, responseName)) {\n keyObj[prevKey = s] = response[responseName];\n }\n else {\n process.env.NODE_ENV === \"production\" ? invariant(!strict, 3) : invariant(!strict, \"Missing field '\" + responseName + \"' while computing key fields\");\n prevKey = void 0;\n }\n }\n });\n return keyObj;\n}\n//# sourceMappingURL=policies.js.map","import { __extends, __values } from \"tslib\";\nimport { logger, timestampWithMs } from '@sentry/utils';\nimport { SpanRecorder } from './span';\nimport { SpanStatus } from './spanstatus';\nimport { Transaction } from './transaction';\nexport var DEFAULT_IDLE_TIMEOUT = 1000;\n/**\n * @inheritDoc\n */\nvar IdleTransactionSpanRecorder = /** @class */ (function (_super) {\n __extends(IdleTransactionSpanRecorder, _super);\n function IdleTransactionSpanRecorder(_pushActivity, _popActivity, transactionSpanId, maxlen) {\n if (transactionSpanId === void 0) { transactionSpanId = ''; }\n var _this = _super.call(this, maxlen) || this;\n _this._pushActivity = _pushActivity;\n _this._popActivity = _popActivity;\n _this.transactionSpanId = transactionSpanId;\n return _this;\n }\n /**\n * @inheritDoc\n */\n IdleTransactionSpanRecorder.prototype.add = function (span) {\n var _this = this;\n // We should make sure we do not push and pop activities for\n // the transaction that this span recorder belongs to.\n if (span.spanId !== this.transactionSpanId) {\n // We patch span.finish() to pop an activity after setting an endTimestamp.\n span.finish = function (endTimestamp) {\n span.endTimestamp = typeof endTimestamp === 'number' ? endTimestamp : timestampWithMs();\n _this._popActivity(span.spanId);\n };\n // We should only push new activities if the span does not have an end timestamp.\n if (span.endTimestamp === undefined) {\n this._pushActivity(span.spanId);\n }\n }\n _super.prototype.add.call(this, span);\n };\n return IdleTransactionSpanRecorder;\n}(SpanRecorder));\nexport { IdleTransactionSpanRecorder };\n/**\n * An IdleTransaction is a transaction that automatically finishes. It does this by tracking child spans as activities.\n * You can have multiple IdleTransactions active, but if the `onScope` option is specified, the idle transaction will\n * put itself on the scope on creation.\n */\nvar IdleTransaction = /** @class */ (function (_super) {\n __extends(IdleTransaction, _super);\n function IdleTransaction(transactionContext, _idleHub, \n // The time to wait in ms until the idle transaction will be finished. Default: 1000\n _idleTimeout, \n // If an idle transaction should be put itself on and off the scope automatically.\n _onScope) {\n if (_idleTimeout === void 0) { _idleTimeout = DEFAULT_IDLE_TIMEOUT; }\n if (_onScope === void 0) { _onScope = false; }\n var _this = _super.call(this, transactionContext, _idleHub) || this;\n _this._idleHub = _idleHub;\n _this._idleTimeout = _idleTimeout;\n _this._onScope = _onScope;\n // Activities store a list of active spans\n _this.activities = {};\n // Stores reference to the timeout that calls _beat().\n _this._heartbeatTimer = 0;\n // Amount of times heartbeat has counted. Will cause transaction to finish after 3 beats.\n _this._heartbeatCounter = 0;\n // We should not use heartbeat if we finished a transaction\n _this._finished = false;\n _this._beforeFinishCallbacks = [];\n if (_idleHub && _onScope) {\n // There should only be one active transaction on the scope\n clearActiveTransaction(_idleHub);\n // We set the transaction here on the scope so error events pick up the trace\n // context and attach it to the error.\n logger.log(\"Setting idle transaction on scope. Span ID: \" + _this.spanId);\n _idleHub.configureScope(function (scope) { return scope.setSpan(_this); });\n }\n return _this;\n }\n /** {@inheritDoc} */\n IdleTransaction.prototype.finish = function (endTimestamp) {\n var e_1, _a;\n var _this = this;\n if (endTimestamp === void 0) { endTimestamp = timestampWithMs(); }\n this._finished = true;\n this.activities = {};\n if (this.spanRecorder) {\n logger.log('[Tracing] finishing IdleTransaction', new Date(endTimestamp * 1000).toISOString(), this.op);\n try {\n for (var _b = __values(this._beforeFinishCallbacks), _c = _b.next(); !_c.done; _c = _b.next()) {\n var callback = _c.value;\n callback(this, endTimestamp);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.spanRecorder.spans = this.spanRecorder.spans.filter(function (span) {\n // If we are dealing with the transaction itself, we just return it\n if (span.spanId === _this.spanId) {\n return true;\n }\n // We cancel all pending spans with status \"cancelled\" to indicate the idle transaction was finished early\n if (!span.endTimestamp) {\n span.endTimestamp = endTimestamp;\n span.setStatus(SpanStatus.Cancelled);\n logger.log('[Tracing] cancelling span since transaction ended early', JSON.stringify(span, undefined, 2));\n }\n var keepSpan = span.startTimestamp < endTimestamp;\n if (!keepSpan) {\n logger.log('[Tracing] discarding Span since it happened after Transaction was finished', JSON.stringify(span, undefined, 2));\n }\n return keepSpan;\n });\n // this._onScope is true if the transaction was previously on the scope.\n if (this._onScope) {\n clearActiveTransaction(this._idleHub);\n }\n logger.log('[Tracing] flushing IdleTransaction');\n }\n else {\n logger.log('[Tracing] No active IdleTransaction');\n }\n return _super.prototype.finish.call(this, endTimestamp);\n };\n /**\n * Register a callback function that gets excecuted before the transaction finishes.\n * Useful for cleanup or if you want to add any additional spans based on current context.\n *\n * This is exposed because users have no other way of running something before an idle transaction\n * finishes.\n */\n IdleTransaction.prototype.registerBeforeFinishCallback = function (callback) {\n this._beforeFinishCallbacks.push(callback);\n };\n /**\n * @inheritDoc\n */\n IdleTransaction.prototype.initSpanRecorder = function (maxlen) {\n var _this = this;\n if (!this.spanRecorder) {\n this._initTimeout = setTimeout(function () {\n if (!_this._finished) {\n _this.finish();\n }\n }, this._idleTimeout);\n var pushActivity = function (id) {\n if (_this._finished) {\n return;\n }\n _this._pushActivity(id);\n };\n var popActivity = function (id) {\n if (_this._finished) {\n return;\n }\n _this._popActivity(id);\n };\n this.spanRecorder = new IdleTransactionSpanRecorder(pushActivity, popActivity, this.spanId, maxlen);\n // Start heartbeat so that transactions do not run forever.\n logger.log('Starting heartbeat');\n this._pingHeartbeat();\n }\n this.spanRecorder.add(this);\n };\n /**\n * Start tracking a specific activity.\n * @param spanId The span id that represents the activity\n */\n IdleTransaction.prototype._pushActivity = function (spanId) {\n if (this._initTimeout) {\n clearTimeout(this._initTimeout);\n this._initTimeout = undefined;\n }\n logger.log(\"[Tracing] pushActivity: \" + spanId);\n this.activities[spanId] = true;\n logger.log('[Tracing] new activities count', Object.keys(this.activities).length);\n };\n /**\n * Remove an activity from usage\n * @param spanId The span id that represents the activity\n */\n IdleTransaction.prototype._popActivity = function (spanId) {\n var _this = this;\n if (this.activities[spanId]) {\n logger.log(\"[Tracing] popActivity \" + spanId);\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this.activities[spanId];\n logger.log('[Tracing] new activities count', Object.keys(this.activities).length);\n }\n if (Object.keys(this.activities).length === 0) {\n var timeout = this._idleTimeout;\n // We need to add the timeout here to have the real endtimestamp of the transaction\n // Remember timestampWithMs is in seconds, timeout is in ms\n var end_1 = timestampWithMs() + timeout / 1000;\n setTimeout(function () {\n if (!_this._finished) {\n _this.finish(end_1);\n }\n }, timeout);\n }\n };\n /**\n * Checks when entries of this.activities are not changing for 3 beats.\n * If this occurs we finish the transaction.\n */\n IdleTransaction.prototype._beat = function () {\n clearTimeout(this._heartbeatTimer);\n // We should not be running heartbeat if the idle transaction is finished.\n if (this._finished) {\n return;\n }\n var keys = Object.keys(this.activities);\n var heartbeatString = keys.length ? keys.reduce(function (prev, current) { return prev + current; }) : '';\n if (heartbeatString === this._prevHeartbeatString) {\n this._heartbeatCounter += 1;\n }\n else {\n this._heartbeatCounter = 1;\n }\n this._prevHeartbeatString = heartbeatString;\n if (this._heartbeatCounter >= 3) {\n logger.log(\"[Tracing] Transaction finished because of no change for 3 heart beats\");\n this.setStatus(SpanStatus.DeadlineExceeded);\n this.setTag('heartbeat', 'failed');\n this.finish();\n }\n else {\n this._pingHeartbeat();\n }\n };\n /**\n * Pings the heartbeat\n */\n IdleTransaction.prototype._pingHeartbeat = function () {\n var _this = this;\n logger.log(\"pinging Heartbeat -> current counter: \" + this._heartbeatCounter);\n this._heartbeatTimer = setTimeout(function () {\n _this._beat();\n }, 5000);\n };\n return IdleTransaction;\n}(Transaction));\nexport { IdleTransaction };\n/**\n * Reset active transaction on scope\n */\nfunction clearActiveTransaction(hub) {\n if (hub) {\n var scope = hub.getScope();\n if (scope) {\n var transaction = scope.getTransaction();\n if (transaction) {\n scope.setSpan(undefined);\n }\n }\n }\n}\n//# sourceMappingURL=idletransaction.js.map","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import { __extends } from \"tslib\";\nimport { ApolloLink } from \"../core/index.js\";\nimport { createHttpLink } from \"./createHttpLink.js\";\nvar HttpLink = (function (_super) {\n __extends(HttpLink, _super);\n function HttpLink(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, createHttpLink(options).request) || this;\n _this.options = options;\n return _this;\n }\n return HttpLink;\n}(ApolloLink));\nexport { HttpLink };\n//# sourceMappingURL=HttpLink.js.map"," \r\n export enum EndpointMetricGroupType {\r\n RequestComponents = 1,\r\n Webpage = 2,\r\n Engagement = 3,\r\n Network = 4,\r\n Device = 5,\r\n Availability = 6,\r\n Ping = 7,\r\n Traceroute = 8,\r\n Bandwidth = 9,\r\n Marks = 10,\r\n Score = 11,\r\n }\r\n","import { Observable } from \"../../utilities/index.js\";\nexport function fromError(errorValue) {\n return new Observable(function (observer) {\n observer.error(errorValue);\n });\n}\n//# sourceMappingURL=fromError.js.map","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","import { concatStyleSets } from './concatStyleSets';\n/**\n * Concatenates style sets into one, but resolves functional sets using the given props.\n * @param styleProps - Props used to resolve functional sets.\n * @param allStyles - Style sets, which can be functions or objects.\n */\nexport function concatStyleSetsWithProps(styleProps) {\n var allStyles = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n allStyles[_i - 1] = arguments[_i];\n }\n var result = [];\n for (var _a = 0, allStyles_1 = allStyles; _a < allStyles_1.length; _a++) {\n var styles = allStyles_1[_a];\n if (styles) {\n result.push(typeof styles === 'function' ? styles(styleProps) : styles);\n }\n }\n if (result.length === 1) {\n return result[0];\n }\n else if (result.length) {\n // cliffkoh: I cannot figure out how to avoid the cast to any here.\n // It is something to do with the use of Omit in IStyleSet.\n // It might not be necessary once Omit becomes part of lib.d.ts (when we remove our own Omit and rely on\n // the official version).\n return concatStyleSets.apply(void 0, result);\n }\n return {};\n}\n//# sourceMappingURL=concatStyleSetsWithProps.js.map","export var DATA_PORTAL_ATTRIBUTE = 'data-portal-element';\n/**\n * Identify element as a portal by setting an attribute.\n * @param element - Element to mark as a portal.\n */\nexport function setPortalAttribute(element) {\n element.setAttribute(DATA_PORTAL_ATTRIBUTE, 'true');\n}\n//# sourceMappingURL=setPortalAttribute.js.map","import { createContext, useContext } from 'react';\r\nimport { UserIdentity } from 'utils/userIdentity/userIdentity';\r\n\r\nexport const UserContext = createContext(undefined);\r\n\r\nexport const useUserIdentity = () => useContext(UserContext);\r\n\r\nexport const UserContextProvider = UserContext.Provider;\r\nexport const UserContextConsumer = UserContext.Consumer;\r\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","export function graphQLResultHasError(result) {\n return (result.errors && result.errors.length > 0) || false;\n}\n//# sourceMappingURL=errorHandling.js.map","import { __extends } from \"tslib\";\nimport { Observable } from \"./Observable.js\";\nimport { iterateObserversSafely } from \"./iteration.js\";\nimport { fixObservableSubclass } from \"./subclassing.js\";\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n}\nvar Concast = (function (_super) {\n __extends(Concast, _super);\n function Concast(sources) {\n var _this = _super.call(this, function (observer) {\n _this.addObserver(observer);\n return function () { return _this.removeObserver(observer); };\n }) || this;\n _this.observers = new Set();\n _this.addCount = 0;\n _this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n _this.handlers = {\n next: function (result) {\n if (_this.sub !== null) {\n _this.latest = [\"next\", result];\n iterateObserversSafely(_this.observers, \"next\", result);\n }\n },\n error: function (error) {\n var sub = _this.sub;\n if (sub !== null) {\n if (sub)\n Promise.resolve().then(function () { return sub.unsubscribe(); });\n _this.sub = null;\n _this.latest = [\"error\", error];\n _this.reject(error);\n iterateObserversSafely(_this.observers, \"error\", error);\n }\n },\n complete: function () {\n if (_this.sub !== null) {\n var value = _this.sources.shift();\n if (!value) {\n _this.sub = null;\n if (_this.latest &&\n _this.latest[0] === \"next\") {\n _this.resolve(_this.latest[1]);\n }\n else {\n _this.resolve();\n }\n iterateObserversSafely(_this.observers, \"complete\");\n }\n else if (isPromiseLike(value)) {\n value.then(function (obs) { return _this.sub = obs.subscribe(_this.handlers); });\n }\n else {\n _this.sub = value.subscribe(_this.handlers);\n }\n }\n },\n };\n _this.cancel = function (reason) {\n _this.reject(reason);\n _this.sources = [];\n _this.handlers.complete();\n };\n _this.promise.catch(function (_) { });\n if (typeof sources === \"function\") {\n sources = [new Observable(sources)];\n }\n if (isPromiseLike(sources)) {\n sources.then(function (iterable) { return _this.start(iterable); }, _this.handlers.error);\n }\n else {\n _this.start(sources);\n }\n return _this;\n }\n Concast.prototype.start = function (sources) {\n if (this.sub !== void 0)\n return;\n this.sources = Array.from(sources);\n this.handlers.complete();\n };\n Concast.prototype.deliverLastMessage = function (observer) {\n if (this.latest) {\n var nextOrError = this.latest[0];\n var method = observer[nextOrError];\n if (method) {\n method.call(observer, this.latest[1]);\n }\n if (this.sub === null &&\n nextOrError === \"next\" &&\n observer.complete) {\n observer.complete();\n }\n }\n };\n Concast.prototype.addObserver = function (observer) {\n if (!this.observers.has(observer)) {\n this.deliverLastMessage(observer);\n this.observers.add(observer);\n ++this.addCount;\n }\n };\n Concast.prototype.removeObserver = function (observer, quietly) {\n if (this.observers.delete(observer) &&\n --this.addCount < 1 &&\n !quietly) {\n this.handlers.error(new Error(\"Observable cancelled prematurely\"));\n }\n };\n Concast.prototype.cleanup = function (callback) {\n var _this = this;\n var called = false;\n var once = function () {\n if (!called) {\n called = true;\n _this.observers.delete(observer);\n callback();\n }\n };\n var observer = {\n next: once,\n error: once,\n complete: once,\n };\n var count = this.addCount;\n this.addObserver(observer);\n this.addCount = count;\n };\n return Concast;\n}(Observable));\nexport { Concast };\nfixObservableSubclass(Concast);\n//# sourceMappingURL=Concast.js.map","import { Observable } from \"./Observable.js\";\nexport function asyncMap(observable, mapFn, catchFn) {\n return new Observable(function (observer) {\n var next = observer.next, error = observer.error, complete = observer.complete;\n var activeCallbackCount = 0;\n var completed = false;\n var promiseQueue = {\n then: function (callback) {\n return new Promise(function (resolve) { return resolve(callback()); });\n },\n };\n function makeCallback(examiner, delegate) {\n if (examiner) {\n return function (arg) {\n ++activeCallbackCount;\n var both = function () { return examiner(arg); };\n promiseQueue = promiseQueue.then(both, both).then(function (result) {\n --activeCallbackCount;\n next && next.call(observer, result);\n if (completed) {\n handler.complete();\n }\n }, function (error) {\n --activeCallbackCount;\n throw error;\n }).catch(function (caught) {\n error && error.call(observer, caught);\n });\n };\n }\n else {\n return function (arg) { return delegate && delegate.call(observer, arg); };\n }\n }\n var handler = {\n next: makeCallback(mapFn, next),\n error: makeCallback(catchFn, error),\n complete: function () {\n completed = true;\n if (!activeCallbackCount) {\n complete && complete.call(observer);\n }\n },\n };\n var sub = observable.subscribe(handler);\n return function () { return sub.unsubscribe(); };\n });\n}\n//# sourceMappingURL=asyncMap.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { visit, BREAK, } from 'graphql';\nimport { invariant } from 'ts-invariant';\nimport { argumentsObjectFromField, buildQueryFromSelectionSet, createFragmentMap, getFragmentDefinitions, getMainDefinition, hasDirectives, isField, isInlineFragment, mergeDeep, mergeDeepArray, removeClientSetsFromDocument, resultKeyNameFromField, shouldInclude, } from \"../utilities/index.js\";\nimport { cacheSlot } from \"../cache/index.js\";\nvar LocalState = (function () {\n function LocalState(_a) {\n var cache = _a.cache, client = _a.client, resolvers = _a.resolvers, fragmentMatcher = _a.fragmentMatcher;\n this.cache = cache;\n if (client) {\n this.client = client;\n }\n if (resolvers) {\n this.addResolvers(resolvers);\n }\n if (fragmentMatcher) {\n this.setFragmentMatcher(fragmentMatcher);\n }\n }\n LocalState.prototype.addResolvers = function (resolvers) {\n var _this = this;\n this.resolvers = this.resolvers || {};\n if (Array.isArray(resolvers)) {\n resolvers.forEach(function (resolverGroup) {\n _this.resolvers = mergeDeep(_this.resolvers, resolverGroup);\n });\n }\n else {\n this.resolvers = mergeDeep(this.resolvers, resolvers);\n }\n };\n LocalState.prototype.setResolvers = function (resolvers) {\n this.resolvers = {};\n this.addResolvers(resolvers);\n };\n LocalState.prototype.getResolvers = function () {\n return this.resolvers || {};\n };\n LocalState.prototype.runResolvers = function (_a) {\n var document = _a.document, remoteResult = _a.remoteResult, context = _a.context, variables = _a.variables, _b = _a.onlyRunForcedResolvers, onlyRunForcedResolvers = _b === void 0 ? false : _b;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_c) {\n if (document) {\n return [2, this.resolveDocument(document, remoteResult.data, context, variables, this.fragmentMatcher, onlyRunForcedResolvers).then(function (localResult) { return (__assign(__assign({}, remoteResult), { data: localResult.result })); })];\n }\n return [2, remoteResult];\n });\n });\n };\n LocalState.prototype.setFragmentMatcher = function (fragmentMatcher) {\n this.fragmentMatcher = fragmentMatcher;\n };\n LocalState.prototype.getFragmentMatcher = function () {\n return this.fragmentMatcher;\n };\n LocalState.prototype.clientQuery = function (document) {\n if (hasDirectives(['client'], document)) {\n if (this.resolvers) {\n return document;\n }\n }\n return null;\n };\n LocalState.prototype.serverQuery = function (document) {\n return removeClientSetsFromDocument(document);\n };\n LocalState.prototype.prepareContext = function (context) {\n var cache = this.cache;\n return __assign(__assign({}, context), { cache: cache,\n getCacheKey: function (obj) {\n return cache.identify(obj);\n } });\n };\n LocalState.prototype.addExportedVariables = function (document, variables, context) {\n if (variables === void 0) { variables = {}; }\n if (context === void 0) { context = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (document) {\n return [2, this.resolveDocument(document, this.buildRootValueFromCache(document, variables) || {}, this.prepareContext(context), variables).then(function (data) { return (__assign(__assign({}, variables), data.exportedVariables)); })];\n }\n return [2, __assign({}, variables)];\n });\n });\n };\n LocalState.prototype.shouldForceResolvers = function (document) {\n var forceResolvers = false;\n visit(document, {\n Directive: {\n enter: function (node) {\n if (node.name.value === 'client' && node.arguments) {\n forceResolvers = node.arguments.some(function (arg) {\n return arg.name.value === 'always' &&\n arg.value.kind === 'BooleanValue' &&\n arg.value.value === true;\n });\n if (forceResolvers) {\n return BREAK;\n }\n }\n },\n },\n });\n return forceResolvers;\n };\n LocalState.prototype.buildRootValueFromCache = function (document, variables) {\n return this.cache.diff({\n query: buildQueryFromSelectionSet(document),\n variables: variables,\n returnPartialData: true,\n optimistic: false,\n }).result;\n };\n LocalState.prototype.resolveDocument = function (document, rootValue, context, variables, fragmentMatcher, onlyRunForcedResolvers) {\n if (context === void 0) { context = {}; }\n if (variables === void 0) { variables = {}; }\n if (fragmentMatcher === void 0) { fragmentMatcher = function () { return true; }; }\n if (onlyRunForcedResolvers === void 0) { onlyRunForcedResolvers = false; }\n return __awaiter(this, void 0, void 0, function () {\n var mainDefinition, fragments, fragmentMap, definitionOperation, defaultOperationType, _a, cache, client, execContext;\n return __generator(this, function (_b) {\n mainDefinition = getMainDefinition(document);\n fragments = getFragmentDefinitions(document);\n fragmentMap = createFragmentMap(fragments);\n definitionOperation = mainDefinition\n .operation;\n defaultOperationType = definitionOperation\n ? definitionOperation.charAt(0).toUpperCase() +\n definitionOperation.slice(1)\n : 'Query';\n _a = this, cache = _a.cache, client = _a.client;\n execContext = {\n fragmentMap: fragmentMap,\n context: __assign(__assign({}, context), { cache: cache,\n client: client }),\n variables: variables,\n fragmentMatcher: fragmentMatcher,\n defaultOperationType: defaultOperationType,\n exportedVariables: {},\n onlyRunForcedResolvers: onlyRunForcedResolvers,\n };\n return [2, this.resolveSelectionSet(mainDefinition.selectionSet, rootValue, execContext).then(function (result) { return ({\n result: result,\n exportedVariables: execContext.exportedVariables,\n }); })];\n });\n });\n };\n LocalState.prototype.resolveSelectionSet = function (selectionSet, rootValue, execContext) {\n return __awaiter(this, void 0, void 0, function () {\n var fragmentMap, context, variables, resultsToMerge, execute;\n var _this = this;\n return __generator(this, function (_a) {\n fragmentMap = execContext.fragmentMap, context = execContext.context, variables = execContext.variables;\n resultsToMerge = [rootValue];\n execute = function (selection) { return __awaiter(_this, void 0, void 0, function () {\n var fragment, typeCondition;\n return __generator(this, function (_a) {\n if (!shouldInclude(selection, variables)) {\n return [2];\n }\n if (isField(selection)) {\n return [2, this.resolveField(selection, rootValue, execContext).then(function (fieldResult) {\n var _a;\n if (typeof fieldResult !== 'undefined') {\n resultsToMerge.push((_a = {},\n _a[resultKeyNameFromField(selection)] = fieldResult,\n _a));\n }\n })];\n }\n if (isInlineFragment(selection)) {\n fragment = selection;\n }\n else {\n fragment = fragmentMap[selection.name.value];\n process.env.NODE_ENV === \"production\" ? invariant(fragment, 11) : invariant(fragment, \"No fragment named \" + selection.name.value);\n }\n if (fragment && fragment.typeCondition) {\n typeCondition = fragment.typeCondition.name.value;\n if (execContext.fragmentMatcher(rootValue, typeCondition, context)) {\n return [2, this.resolveSelectionSet(fragment.selectionSet, rootValue, execContext).then(function (fragmentResult) {\n resultsToMerge.push(fragmentResult);\n })];\n }\n }\n return [2];\n });\n }); };\n return [2, Promise.all(selectionSet.selections.map(execute)).then(function () {\n return mergeDeepArray(resultsToMerge);\n })];\n });\n });\n };\n LocalState.prototype.resolveField = function (field, rootValue, execContext) {\n return __awaiter(this, void 0, void 0, function () {\n var variables, fieldName, aliasedFieldName, aliasUsed, defaultResult, resultPromise, resolverType, resolverMap, resolve;\n var _this = this;\n return __generator(this, function (_a) {\n variables = execContext.variables;\n fieldName = field.name.value;\n aliasedFieldName = resultKeyNameFromField(field);\n aliasUsed = fieldName !== aliasedFieldName;\n defaultResult = rootValue[aliasedFieldName] || rootValue[fieldName];\n resultPromise = Promise.resolve(defaultResult);\n if (!execContext.onlyRunForcedResolvers ||\n this.shouldForceResolvers(field)) {\n resolverType = rootValue.__typename || execContext.defaultOperationType;\n resolverMap = this.resolvers && this.resolvers[resolverType];\n if (resolverMap) {\n resolve = resolverMap[aliasUsed ? fieldName : aliasedFieldName];\n if (resolve) {\n resultPromise = Promise.resolve(cacheSlot.withValue(this.cache, resolve, [\n rootValue,\n argumentsObjectFromField(field, variables),\n execContext.context,\n { field: field, fragmentMap: execContext.fragmentMap },\n ]));\n }\n }\n }\n return [2, resultPromise.then(function (result) {\n if (result === void 0) { result = defaultResult; }\n if (field.directives) {\n field.directives.forEach(function (directive) {\n if (directive.name.value === 'export' && directive.arguments) {\n directive.arguments.forEach(function (arg) {\n if (arg.name.value === 'as' && arg.value.kind === 'StringValue') {\n execContext.exportedVariables[arg.value.value] = result;\n }\n });\n }\n });\n }\n if (!field.selectionSet) {\n return result;\n }\n if (result == null) {\n return result;\n }\n if (Array.isArray(result)) {\n return _this.resolveSubSelectedArray(field, result, execContext);\n }\n if (field.selectionSet) {\n return _this.resolveSelectionSet(field.selectionSet, result, execContext);\n }\n })];\n });\n });\n };\n LocalState.prototype.resolveSubSelectedArray = function (field, result, execContext) {\n var _this = this;\n return Promise.all(result.map(function (item) {\n if (item === null) {\n return null;\n }\n if (Array.isArray(item)) {\n return _this.resolveSubSelectedArray(field, item, execContext);\n }\n if (field.selectionSet) {\n return _this.resolveSelectionSet(field.selectionSet, item, execContext);\n }\n }));\n };\n return LocalState;\n}());\nexport { LocalState };\n//# sourceMappingURL=LocalState.js.map","import { equal } from \"@wry/equality\";\nimport { isNonEmptyArray, graphQLResultHasError, canUseWeakMap, } from \"../utilities/index.js\";\nimport { NetworkStatus, isNetworkRequestInFlight, } from \"./networkStatus.js\";\nvar destructiveMethodCounts = new (canUseWeakMap ? WeakMap : Map)();\nfunction wrapDestructiveCacheMethod(cache, methodName) {\n var original = cache[methodName];\n if (typeof original === \"function\") {\n cache[methodName] = function () {\n destructiveMethodCounts.set(cache, (destructiveMethodCounts.get(cache) + 1) % 1e15);\n return original.apply(this, arguments);\n };\n }\n}\nfunction cancelNotifyTimeout(info) {\n if (info[\"notifyTimeout\"]) {\n clearTimeout(info[\"notifyTimeout\"]);\n info[\"notifyTimeout\"] = void 0;\n }\n}\nvar QueryInfo = (function () {\n function QueryInfo(cache) {\n this.cache = cache;\n this.listeners = new Set();\n this.document = null;\n this.lastRequestId = 1;\n this.subscriptions = new Set();\n this.stopped = false;\n this.dirty = false;\n this.diff = null;\n this.observableQuery = null;\n if (!destructiveMethodCounts.has(cache)) {\n destructiveMethodCounts.set(cache, 0);\n wrapDestructiveCacheMethod(cache, \"evict\");\n wrapDestructiveCacheMethod(cache, \"modify\");\n wrapDestructiveCacheMethod(cache, \"reset\");\n }\n }\n QueryInfo.prototype.init = function (query) {\n var networkStatus = query.networkStatus || NetworkStatus.loading;\n if (this.variables &&\n this.networkStatus !== NetworkStatus.loading &&\n !equal(this.variables, query.variables)) {\n networkStatus = NetworkStatus.setVariables;\n }\n if (!equal(query.variables, this.variables)) {\n this.diff = null;\n }\n Object.assign(this, {\n document: query.document,\n variables: query.variables,\n networkError: null,\n graphQLErrors: this.graphQLErrors || [],\n networkStatus: networkStatus,\n });\n if (query.observableQuery) {\n this.setObservableQuery(query.observableQuery);\n }\n if (query.lastRequestId) {\n this.lastRequestId = query.lastRequestId;\n }\n return this;\n };\n QueryInfo.prototype.reset = function () {\n cancelNotifyTimeout(this);\n this.diff = null;\n this.dirty = false;\n };\n QueryInfo.prototype.getDiff = function (variables) {\n if (variables === void 0) { variables = this.variables; }\n if (this.diff && equal(variables, this.variables)) {\n return this.diff;\n }\n this.updateWatch(this.variables = variables);\n return this.diff = this.cache.diff({\n query: this.document,\n variables: variables,\n returnPartialData: true,\n optimistic: true,\n });\n };\n QueryInfo.prototype.setDiff = function (diff) {\n var _this = this;\n var oldDiff = this.diff;\n this.diff = diff;\n if (!this.dirty &&\n (diff && diff.result) !== (oldDiff && oldDiff.result)) {\n this.dirty = true;\n if (!this.notifyTimeout) {\n this.notifyTimeout = setTimeout(function () { return _this.notify(); }, 0);\n }\n }\n };\n QueryInfo.prototype.setObservableQuery = function (oq) {\n var _this = this;\n if (oq === this.observableQuery)\n return;\n if (this.oqListener) {\n this.listeners.delete(this.oqListener);\n }\n this.observableQuery = oq;\n if (oq) {\n oq[\"queryInfo\"] = this;\n this.listeners.add(this.oqListener = function () {\n if (_this.getDiff().fromOptimisticTransaction) {\n oq[\"observe\"]();\n }\n else {\n oq.reobserve();\n }\n });\n }\n else {\n delete this.oqListener;\n }\n };\n QueryInfo.prototype.notify = function () {\n var _this = this;\n cancelNotifyTimeout(this);\n if (this.shouldNotify()) {\n this.listeners.forEach(function (listener) { return listener(_this); });\n }\n this.dirty = false;\n };\n QueryInfo.prototype.shouldNotify = function () {\n if (!this.dirty || !this.listeners.size) {\n return false;\n }\n if (isNetworkRequestInFlight(this.networkStatus) &&\n this.observableQuery) {\n var fetchPolicy = this.observableQuery.options.fetchPolicy;\n if (fetchPolicy !== \"cache-only\" &&\n fetchPolicy !== \"cache-and-network\") {\n return false;\n }\n }\n return true;\n };\n QueryInfo.prototype.stop = function () {\n if (!this.stopped) {\n this.stopped = true;\n this.reset();\n this.cancel();\n delete this.cancel;\n this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });\n var oq = this.observableQuery;\n if (oq)\n oq.stopPolling();\n }\n };\n QueryInfo.prototype.cancel = function () { };\n QueryInfo.prototype.updateWatch = function (variables) {\n var _this = this;\n if (variables === void 0) { variables = this.variables; }\n var oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return;\n }\n if (!this.lastWatch ||\n this.lastWatch.query !== this.document ||\n !equal(variables, this.lastWatch.variables)) {\n this.cancel();\n this.cancel = this.cache.watch(this.lastWatch = {\n query: this.document,\n variables: variables,\n optimistic: true,\n callback: function (diff) { return _this.setDiff(diff); },\n });\n }\n };\n QueryInfo.prototype.shouldWrite = function (result, variables) {\n var lastWrite = this.lastWrite;\n return !(lastWrite &&\n lastWrite.dmCount === destructiveMethodCounts.get(this.cache) &&\n equal(variables, lastWrite.variables) &&\n equal(result.data, lastWrite.result.data));\n };\n QueryInfo.prototype.markResult = function (result, options, allowCacheWrite) {\n var _this = this;\n this.graphQLErrors = isNonEmptyArray(result.errors) ? result.errors : [];\n this.reset();\n if (options.fetchPolicy === 'no-cache') {\n this.diff = { result: result.data, complete: true };\n }\n else if (!this.stopped && allowCacheWrite) {\n if (shouldWriteResult(result, options.errorPolicy)) {\n this.cache.performTransaction(function (cache) {\n if (_this.shouldWrite(result, options.variables)) {\n cache.writeQuery({\n query: _this.document,\n data: result.data,\n variables: options.variables,\n });\n _this.lastWrite = {\n result: result,\n variables: options.variables,\n dmCount: destructiveMethodCounts.get(_this.cache),\n };\n }\n else {\n if (_this.diff && _this.diff.complete) {\n result.data = _this.diff.result;\n return;\n }\n }\n var diff = cache.diff({\n query: _this.document,\n variables: options.variables,\n returnPartialData: true,\n optimistic: true,\n });\n if (!_this.stopped) {\n _this.updateWatch(options.variables);\n }\n _this.diff = diff;\n if (diff.complete) {\n result.data = diff.result;\n }\n });\n }\n else {\n this.lastWrite = void 0;\n }\n }\n };\n QueryInfo.prototype.markReady = function () {\n this.networkError = null;\n return this.networkStatus = NetworkStatus.ready;\n };\n QueryInfo.prototype.markError = function (error) {\n this.networkStatus = NetworkStatus.error;\n this.lastWrite = void 0;\n this.reset();\n if (error.graphQLErrors) {\n this.graphQLErrors = error.graphQLErrors;\n }\n if (error.networkError) {\n this.networkError = error.networkError;\n }\n return error;\n };\n return QueryInfo;\n}());\nexport { QueryInfo };\nexport function shouldWriteResult(result, errorPolicy) {\n if (errorPolicy === void 0) { errorPolicy = \"none\"; }\n var ignoreErrors = errorPolicy === \"ignore\" ||\n errorPolicy === \"all\";\n var writeWithErrors = !graphQLResultHasError(result);\n if (!writeWithErrors && ignoreErrors && result.data) {\n writeWithErrors = true;\n }\n return writeWithErrors;\n}\n//# sourceMappingURL=QueryInfo.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { execute } from \"../link/core/index.js\";\nimport { getDefaultValues, getOperationDefinition, getOperationName, hasClientExports, graphQLResultHasError, removeConnectionDirectiveFromDocument, canUseWeakMap, Observable, asyncMap, isNonEmptyArray, Concast, } from \"../utilities/index.js\";\nimport { ApolloError, isApolloError } from \"../errors/index.js\";\nimport { ObservableQuery } from \"./ObservableQuery.js\";\nimport { NetworkStatus, isNetworkRequestInFlight } from \"./networkStatus.js\";\nimport { LocalState } from \"./LocalState.js\";\nimport { QueryInfo, shouldWriteResult } from \"./QueryInfo.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar QueryManager = (function () {\n function QueryManager(_a) {\n var cache = _a.cache, link = _a.link, _b = _a.queryDeduplication, queryDeduplication = _b === void 0 ? false : _b, onBroadcast = _a.onBroadcast, _c = _a.ssrMode, ssrMode = _c === void 0 ? false : _c, _d = _a.clientAwareness, clientAwareness = _d === void 0 ? {} : _d, localState = _a.localState, assumeImmutableResults = _a.assumeImmutableResults;\n this.clientAwareness = {};\n this.queries = new Map();\n this.fetchCancelFns = new Map();\n this.transformCache = new (canUseWeakMap ? WeakMap : Map)();\n this.queryIdCounter = 1;\n this.requestIdCounter = 1;\n this.mutationIdCounter = 1;\n this.inFlightLinkObservables = new Map();\n this.cache = cache;\n this.link = link;\n this.queryDeduplication = queryDeduplication;\n this.clientAwareness = clientAwareness;\n this.localState = localState || new LocalState({ cache: cache });\n this.ssrMode = ssrMode;\n this.assumeImmutableResults = !!assumeImmutableResults;\n if ((this.onBroadcast = onBroadcast)) {\n this.mutationStore = Object.create(null);\n }\n }\n QueryManager.prototype.stop = function () {\n var _this = this;\n this.queries.forEach(function (_info, queryId) {\n _this.stopQueryNoBroadcast(queryId);\n });\n this.cancelPendingFetches(process.env.NODE_ENV === \"production\" ? new InvariantError(12) : new InvariantError('QueryManager stopped while query was in flight'));\n };\n QueryManager.prototype.cancelPendingFetches = function (error) {\n this.fetchCancelFns.forEach(function (cancel) { return cancel(error); });\n this.fetchCancelFns.clear();\n };\n QueryManager.prototype.mutate = function (_a) {\n var mutation = _a.mutation, variables = _a.variables, optimisticResponse = _a.optimisticResponse, updateQueries = _a.updateQueries, _b = _a.refetchQueries, refetchQueries = _b === void 0 ? [] : _b, _c = _a.awaitRefetchQueries, awaitRefetchQueries = _c === void 0 ? false : _c, updateWithProxyFn = _a.update, _d = _a.errorPolicy, errorPolicy = _d === void 0 ? 'none' : _d, fetchPolicy = _a.fetchPolicy, _e = _a.context, context = _e === void 0 ? {} : _e;\n return __awaiter(this, void 0, void 0, function () {\n var mutationId, mutationStoreValue, self;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n process.env.NODE_ENV === \"production\" ? invariant(mutation, 13) : invariant(mutation, 'mutation option is required. You must specify your GraphQL document in the mutation option.');\n process.env.NODE_ENV === \"production\" ? invariant(!fetchPolicy || fetchPolicy === 'no-cache', 14) : invariant(!fetchPolicy || fetchPolicy === 'no-cache', \"Mutations only support a 'no-cache' fetchPolicy. If you don't want to disable the cache, remove your fetchPolicy setting to proceed with the default mutation behavior.\");\n mutationId = this.generateMutationId();\n mutation = this.transform(mutation).document;\n variables = this.getVariables(mutation, variables);\n if (!this.transform(mutation).hasClientExports) return [3, 2];\n return [4, this.localState.addExportedVariables(mutation, variables, context)];\n case 1:\n variables = _f.sent();\n _f.label = 2;\n case 2:\n mutationStoreValue = this.mutationStore &&\n (this.mutationStore[mutationId] = {\n mutation: mutation,\n variables: variables,\n loading: true,\n error: null,\n });\n if (optimisticResponse) {\n this.markMutationOptimistic(optimisticResponse, {\n mutationId: mutationId,\n document: mutation,\n variables: variables,\n errorPolicy: errorPolicy,\n updateQueries: updateQueries,\n update: updateWithProxyFn,\n });\n }\n this.broadcastQueries();\n self = this;\n return [2, new Promise(function (resolve, reject) {\n var storeResult;\n var error;\n self.getObservableFromLink(mutation, __assign(__assign({}, context), { optimisticResponse: optimisticResponse }), variables, false).subscribe({\n next: function (result) {\n if (graphQLResultHasError(result) && errorPolicy === 'none') {\n error = new ApolloError({\n graphQLErrors: result.errors,\n });\n return;\n }\n if (mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = null;\n }\n if (fetchPolicy !== 'no-cache') {\n try {\n self.markMutationResult({\n mutationId: mutationId,\n result: result,\n document: mutation,\n variables: variables,\n errorPolicy: errorPolicy,\n updateQueries: updateQueries,\n update: updateWithProxyFn,\n });\n }\n catch (e) {\n error = new ApolloError({\n networkError: e,\n });\n return;\n }\n }\n storeResult = result;\n },\n error: function (err) {\n if (mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = err;\n }\n if (optimisticResponse) {\n self.cache.removeOptimistic(mutationId);\n }\n self.broadcastQueries();\n reject(new ApolloError({\n networkError: err,\n }));\n },\n complete: function () {\n if (error && mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = error;\n }\n if (optimisticResponse) {\n self.cache.removeOptimistic(mutationId);\n }\n self.broadcastQueries();\n if (error) {\n reject(error);\n return;\n }\n if (typeof refetchQueries === 'function') {\n refetchQueries = refetchQueries(storeResult);\n }\n var refetchQueryPromises = [];\n if (isNonEmptyArray(refetchQueries)) {\n refetchQueries.forEach(function (refetchQuery) {\n if (typeof refetchQuery === 'string') {\n self.queries.forEach(function (_a) {\n var observableQuery = _a.observableQuery;\n if (observableQuery &&\n observableQuery.hasObservers() &&\n observableQuery.queryName === refetchQuery) {\n refetchQueryPromises.push(observableQuery.refetch());\n }\n });\n }\n else {\n var queryOptions = {\n query: refetchQuery.query,\n variables: refetchQuery.variables,\n fetchPolicy: 'network-only',\n };\n if (refetchQuery.context) {\n queryOptions.context = refetchQuery.context;\n }\n refetchQueryPromises.push(self.query(queryOptions));\n }\n });\n }\n Promise.all(awaitRefetchQueries ? refetchQueryPromises : []).then(function () {\n if (errorPolicy === 'ignore' &&\n storeResult &&\n graphQLResultHasError(storeResult)) {\n delete storeResult.errors;\n }\n resolve(storeResult);\n }, reject);\n },\n });\n })];\n }\n });\n });\n };\n QueryManager.prototype.markMutationResult = function (mutation, cache) {\n var _this = this;\n if (cache === void 0) { cache = this.cache; }\n if (shouldWriteResult(mutation.result, mutation.errorPolicy)) {\n var cacheWrites_1 = [{\n result: mutation.result.data,\n dataId: 'ROOT_MUTATION',\n query: mutation.document,\n variables: mutation.variables,\n }];\n var updateQueries_1 = mutation.updateQueries;\n if (updateQueries_1) {\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n var queryName = observableQuery && observableQuery.queryName;\n if (!queryName || !hasOwnProperty.call(updateQueries_1, queryName)) {\n return;\n }\n var updater = updateQueries_1[queryName];\n var _b = _this.queries.get(queryId), document = _b.document, variables = _b.variables;\n var _c = cache.diff({\n query: document,\n variables: variables,\n returnPartialData: true,\n optimistic: false,\n }), currentQueryResult = _c.result, complete = _c.complete;\n if (complete && currentQueryResult) {\n var nextQueryResult = updater(currentQueryResult, {\n mutationResult: mutation.result,\n queryName: document && getOperationName(document) || void 0,\n queryVariables: variables,\n });\n if (nextQueryResult) {\n cacheWrites_1.push({\n result: nextQueryResult,\n dataId: 'ROOT_QUERY',\n query: document,\n variables: variables,\n });\n }\n }\n });\n }\n cache.performTransaction(function (c) {\n cacheWrites_1.forEach(function (write) { return c.write(write); });\n var update = mutation.update;\n if (update) {\n update(c, mutation.result);\n }\n }, null);\n }\n };\n QueryManager.prototype.markMutationOptimistic = function (optimisticResponse, mutation) {\n var _this = this;\n var data = typeof optimisticResponse === \"function\"\n ? optimisticResponse(mutation.variables)\n : optimisticResponse;\n return this.cache.recordOptimisticTransaction(function (cache) {\n try {\n _this.markMutationResult(__assign(__assign({}, mutation), { result: { data: data } }), cache);\n }\n catch (error) {\n process.env.NODE_ENV === \"production\" || invariant.error(error);\n }\n }, mutation.mutationId);\n };\n QueryManager.prototype.fetchQuery = function (queryId, options, networkStatus) {\n return this.fetchQueryObservable(queryId, options, networkStatus).promise;\n };\n QueryManager.prototype.getQueryStore = function () {\n var store = Object.create(null);\n this.queries.forEach(function (info, queryId) {\n store[queryId] = {\n variables: info.variables,\n networkStatus: info.networkStatus,\n networkError: info.networkError,\n graphQLErrors: info.graphQLErrors,\n };\n });\n return store;\n };\n QueryManager.prototype.resetErrors = function (queryId) {\n var queryInfo = this.queries.get(queryId);\n if (queryInfo) {\n queryInfo.networkError = undefined;\n queryInfo.graphQLErrors = [];\n }\n };\n QueryManager.prototype.transform = function (document) {\n var transformCache = this.transformCache;\n if (!transformCache.has(document)) {\n var transformed = this.cache.transformDocument(document);\n var forLink = removeConnectionDirectiveFromDocument(this.cache.transformForLink(transformed));\n var clientQuery = this.localState.clientQuery(transformed);\n var serverQuery = forLink && this.localState.serverQuery(forLink);\n var cacheEntry_1 = {\n document: transformed,\n hasClientExports: hasClientExports(transformed),\n hasForcedResolvers: this.localState.shouldForceResolvers(transformed),\n clientQuery: clientQuery,\n serverQuery: serverQuery,\n defaultVars: getDefaultValues(getOperationDefinition(transformed)),\n };\n var add = function (doc) {\n if (doc && !transformCache.has(doc)) {\n transformCache.set(doc, cacheEntry_1);\n }\n };\n add(document);\n add(transformed);\n add(clientQuery);\n add(serverQuery);\n }\n return transformCache.get(document);\n };\n QueryManager.prototype.getVariables = function (document, variables) {\n return __assign(__assign({}, this.transform(document).defaultVars), variables);\n };\n QueryManager.prototype.watchQuery = function (options) {\n options = __assign(__assign({}, options), { variables: this.getVariables(options.query, options.variables) });\n if (typeof options.notifyOnNetworkStatusChange === 'undefined') {\n options.notifyOnNetworkStatusChange = false;\n }\n var queryInfo = new QueryInfo(this.cache);\n var observable = new ObservableQuery({\n queryManager: this,\n queryInfo: queryInfo,\n options: options,\n });\n this.queries.set(observable.queryId, queryInfo);\n queryInfo.init({\n document: options.query,\n observableQuery: observable,\n variables: options.variables,\n });\n return observable;\n };\n QueryManager.prototype.query = function (options) {\n var _this = this;\n process.env.NODE_ENV === \"production\" ? invariant(options.query, 15) : invariant(options.query, 'query option is required. You must specify your GraphQL document ' +\n 'in the query option.');\n process.env.NODE_ENV === \"production\" ? invariant(options.query.kind === 'Document', 16) : invariant(options.query.kind === 'Document', 'You must wrap the query string in a \"gql\" tag.');\n process.env.NODE_ENV === \"production\" ? invariant(!options.returnPartialData, 17) : invariant(!options.returnPartialData, 'returnPartialData option only supported on watchQuery.');\n process.env.NODE_ENV === \"production\" ? invariant(!options.pollInterval, 18) : invariant(!options.pollInterval, 'pollInterval option only supported on watchQuery.');\n var queryId = this.generateQueryId();\n return this.fetchQuery(queryId, options).finally(function () { return _this.stopQuery(queryId); });\n };\n QueryManager.prototype.generateQueryId = function () {\n return String(this.queryIdCounter++);\n };\n QueryManager.prototype.generateRequestId = function () {\n return this.requestIdCounter++;\n };\n QueryManager.prototype.generateMutationId = function () {\n return String(this.mutationIdCounter++);\n };\n QueryManager.prototype.stopQueryInStore = function (queryId) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.broadcastQueries();\n };\n QueryManager.prototype.stopQueryInStoreNoBroadcast = function (queryId) {\n var queryInfo = this.queries.get(queryId);\n if (queryInfo)\n queryInfo.stop();\n };\n QueryManager.prototype.clearStore = function () {\n this.cancelPendingFetches(process.env.NODE_ENV === \"production\" ? new InvariantError(19) : new InvariantError('Store reset while query was in flight (not completed in link chain)'));\n this.queries.forEach(function (queryInfo) {\n if (queryInfo.observableQuery) {\n queryInfo.networkStatus = NetworkStatus.loading;\n }\n else {\n queryInfo.stop();\n }\n });\n if (this.mutationStore) {\n this.mutationStore = Object.create(null);\n }\n return this.cache.reset();\n };\n QueryManager.prototype.resetStore = function () {\n var _this = this;\n return this.clearStore().then(function () {\n return _this.reFetchObservableQueries();\n });\n };\n QueryManager.prototype.reFetchObservableQueries = function (includeStandby) {\n var _this = this;\n if (includeStandby === void 0) { includeStandby = false; }\n var observableQueryPromises = [];\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n if (observableQuery && observableQuery.hasObservers()) {\n var fetchPolicy = observableQuery.options.fetchPolicy;\n observableQuery.resetLastResults();\n if (fetchPolicy !== 'cache-only' &&\n (includeStandby || fetchPolicy !== 'standby')) {\n observableQueryPromises.push(observableQuery.refetch());\n }\n _this.getQuery(queryId).setDiff(null);\n }\n });\n this.broadcastQueries();\n return Promise.all(observableQueryPromises);\n };\n QueryManager.prototype.setObservableQuery = function (observableQuery) {\n this.getQuery(observableQuery.queryId).setObservableQuery(observableQuery);\n };\n QueryManager.prototype.startGraphQLSubscription = function (_a) {\n var _this = this;\n var query = _a.query, fetchPolicy = _a.fetchPolicy, errorPolicy = _a.errorPolicy, variables = _a.variables, _b = _a.context, context = _b === void 0 ? {} : _b;\n query = this.transform(query).document;\n variables = this.getVariables(query, variables);\n var makeObservable = function (variables) {\n return _this.getObservableFromLink(query, context, variables, false).map(function (result) {\n if (fetchPolicy !== 'no-cache') {\n if (shouldWriteResult(result, errorPolicy)) {\n _this.cache.write({\n query: query,\n result: result.data,\n dataId: 'ROOT_SUBSCRIPTION',\n variables: variables,\n });\n }\n _this.broadcastQueries();\n }\n if (graphQLResultHasError(result)) {\n throw new ApolloError({\n graphQLErrors: result.errors,\n });\n }\n return result;\n });\n };\n if (this.transform(query).hasClientExports) {\n var observablePromise_1 = this.localState.addExportedVariables(query, variables, context).then(makeObservable);\n return new Observable(function (observer) {\n var sub = null;\n observablePromise_1.then(function (observable) { return sub = observable.subscribe(observer); }, observer.error);\n return function () { return sub && sub.unsubscribe(); };\n });\n }\n return makeObservable(variables);\n };\n QueryManager.prototype.stopQuery = function (queryId) {\n this.stopQueryNoBroadcast(queryId);\n this.broadcastQueries();\n };\n QueryManager.prototype.stopQueryNoBroadcast = function (queryId) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.removeQuery(queryId);\n };\n QueryManager.prototype.removeQuery = function (queryId) {\n this.fetchCancelFns.delete(queryId);\n this.getQuery(queryId).stop();\n this.queries.delete(queryId);\n };\n QueryManager.prototype.broadcastQueries = function () {\n if (this.onBroadcast)\n this.onBroadcast();\n this.queries.forEach(function (info) { return info.notify(); });\n };\n QueryManager.prototype.getLocalState = function () {\n return this.localState;\n };\n QueryManager.prototype.getObservableFromLink = function (query, context, variables, deduplication) {\n var _this = this;\n var _a;\n if (deduplication === void 0) { deduplication = (_a = context === null || context === void 0 ? void 0 : context.queryDeduplication) !== null && _a !== void 0 ? _a : this.queryDeduplication; }\n var observable;\n var serverQuery = this.transform(query).serverQuery;\n if (serverQuery) {\n var _b = this, inFlightLinkObservables_1 = _b.inFlightLinkObservables, link = _b.link;\n var operation = {\n query: serverQuery,\n variables: variables,\n operationName: getOperationName(serverQuery) || void 0,\n context: this.prepareContext(__assign(__assign({}, context), { forceFetch: !deduplication })),\n };\n context = operation.context;\n if (deduplication) {\n var byVariables_1 = inFlightLinkObservables_1.get(serverQuery) || new Map();\n inFlightLinkObservables_1.set(serverQuery, byVariables_1);\n var varJson_1 = JSON.stringify(variables);\n observable = byVariables_1.get(varJson_1);\n if (!observable) {\n var concast = new Concast([\n execute(link, operation)\n ]);\n byVariables_1.set(varJson_1, observable = concast);\n concast.cleanup(function () {\n if (byVariables_1.delete(varJson_1) &&\n byVariables_1.size < 1) {\n inFlightLinkObservables_1.delete(serverQuery);\n }\n });\n }\n }\n else {\n observable = new Concast([\n execute(link, operation)\n ]);\n }\n }\n else {\n observable = new Concast([\n Observable.of({ data: {} })\n ]);\n context = this.prepareContext(context);\n }\n var clientQuery = this.transform(query).clientQuery;\n if (clientQuery) {\n observable = asyncMap(observable, function (result) {\n return _this.localState.runResolvers({\n document: clientQuery,\n remoteResult: result,\n context: context,\n variables: variables,\n });\n });\n }\n return observable;\n };\n QueryManager.prototype.getResultsFromLink = function (queryInfo, allowCacheWrite, options) {\n var requestId = queryInfo.lastRequestId = this.generateRequestId();\n return asyncMap(this.getObservableFromLink(queryInfo.document, options.context, options.variables), function (result) {\n var hasErrors = isNonEmptyArray(result.errors);\n if (requestId >= queryInfo.lastRequestId) {\n if (hasErrors && options.errorPolicy === \"none\") {\n throw queryInfo.markError(new ApolloError({\n graphQLErrors: result.errors,\n }));\n }\n queryInfo.markResult(result, options, allowCacheWrite);\n queryInfo.markReady();\n }\n var aqr = {\n data: result.data,\n loading: false,\n networkStatus: queryInfo.networkStatus || NetworkStatus.ready,\n };\n if (hasErrors && options.errorPolicy !== \"ignore\") {\n aqr.errors = result.errors;\n }\n return aqr;\n }, function (networkError) {\n var error = isApolloError(networkError)\n ? networkError\n : new ApolloError({ networkError: networkError });\n if (requestId >= queryInfo.lastRequestId) {\n queryInfo.markError(error);\n }\n throw error;\n });\n };\n QueryManager.prototype.fetchQueryObservable = function (queryId, options, networkStatus) {\n var _this = this;\n if (networkStatus === void 0) { networkStatus = NetworkStatus.loading; }\n var query = this.transform(options.query).document;\n var variables = this.getVariables(query, options.variables);\n var queryInfo = this.getQuery(queryId);\n var oldNetworkStatus = queryInfo.networkStatus;\n var _a = options.fetchPolicy, fetchPolicy = _a === void 0 ? \"cache-first\" : _a, _b = options.errorPolicy, errorPolicy = _b === void 0 ? \"none\" : _b, _c = options.returnPartialData, returnPartialData = _c === void 0 ? false : _c, _d = options.notifyOnNetworkStatusChange, notifyOnNetworkStatusChange = _d === void 0 ? false : _d, _e = options.context, context = _e === void 0 ? {} : _e;\n var mightUseNetwork = fetchPolicy === \"cache-first\" ||\n fetchPolicy === \"cache-and-network\" ||\n fetchPolicy === \"network-only\" ||\n fetchPolicy === \"no-cache\";\n if (mightUseNetwork &&\n notifyOnNetworkStatusChange &&\n typeof oldNetworkStatus === \"number\" &&\n oldNetworkStatus !== networkStatus &&\n isNetworkRequestInFlight(networkStatus)) {\n if (fetchPolicy !== \"cache-first\") {\n fetchPolicy = \"cache-and-network\";\n }\n returnPartialData = true;\n }\n var normalized = Object.assign({}, options, {\n query: query,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n returnPartialData: returnPartialData,\n notifyOnNetworkStatusChange: notifyOnNetworkStatusChange,\n context: context,\n });\n var fromVariables = function (variables) {\n normalized.variables = variables;\n return _this.fetchQueryByPolicy(queryInfo, normalized, networkStatus);\n };\n this.fetchCancelFns.set(queryId, function (reason) {\n Promise.resolve().then(function () { return concast.cancel(reason); });\n });\n var concast = new Concast(this.transform(normalized.query).hasClientExports\n ? this.localState.addExportedVariables(normalized.query, normalized.variables, normalized.context).then(fromVariables)\n : fromVariables(normalized.variables));\n concast.cleanup(function () {\n _this.fetchCancelFns.delete(queryId);\n var nextFetchPolicy = options.nextFetchPolicy;\n if (nextFetchPolicy) {\n options.nextFetchPolicy = void 0;\n options.fetchPolicy = typeof nextFetchPolicy === \"function\"\n ? nextFetchPolicy.call(options, options.fetchPolicy || \"cache-first\")\n : nextFetchPolicy;\n }\n });\n return concast;\n };\n QueryManager.prototype.fetchQueryByPolicy = function (queryInfo, options, networkStatus) {\n var _this = this;\n var query = options.query, variables = options.variables, fetchPolicy = options.fetchPolicy, errorPolicy = options.errorPolicy, returnPartialData = options.returnPartialData, context = options.context;\n queryInfo.init({\n document: query,\n variables: variables,\n networkStatus: networkStatus,\n });\n var readCache = function () { return queryInfo.getDiff(variables); };\n var resultsFromCache = function (diff, networkStatus) {\n if (networkStatus === void 0) { networkStatus = queryInfo.networkStatus || NetworkStatus.loading; }\n var data = diff.result;\n if (process.env.NODE_ENV !== 'production' &&\n isNonEmptyArray(diff.missing) &&\n !equal(data, {}) &&\n !returnPartialData) {\n process.env.NODE_ENV === \"production\" || invariant.warn(\"Missing cache result fields: \" + diff.missing.map(function (m) { return m.path.join('.'); }).join(', '), diff.missing);\n }\n var fromData = function (data) { return Observable.of(__assign({ data: data, loading: isNetworkRequestInFlight(networkStatus), networkStatus: networkStatus }, (diff.complete ? null : { partial: true }))); };\n if (_this.transform(query).hasForcedResolvers) {\n return _this.localState.runResolvers({\n document: query,\n remoteResult: { data: data },\n context: context,\n variables: variables,\n onlyRunForcedResolvers: true,\n }).then(function (resolved) { return fromData(resolved.data); });\n }\n return fromData(data);\n };\n var resultsFromLink = function (allowCacheWrite) {\n return _this.getResultsFromLink(queryInfo, allowCacheWrite, {\n variables: variables,\n context: context,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n });\n };\n switch (fetchPolicy) {\n default:\n case \"cache-first\": {\n var diff = readCache();\n if (diff.complete) {\n return [\n resultsFromCache(diff, queryInfo.markReady()),\n ];\n }\n if (returnPartialData) {\n return [\n resultsFromCache(diff),\n resultsFromLink(true),\n ];\n }\n return [\n resultsFromLink(true),\n ];\n }\n case \"cache-and-network\": {\n var diff = readCache();\n if (diff.complete || returnPartialData) {\n return [\n resultsFromCache(diff),\n resultsFromLink(true),\n ];\n }\n return [\n resultsFromLink(true),\n ];\n }\n case \"cache-only\":\n return [\n resultsFromCache(readCache(), queryInfo.markReady()),\n ];\n case \"network-only\":\n return [resultsFromLink(true)];\n case \"no-cache\":\n return [resultsFromLink(false)];\n case \"standby\":\n return [];\n }\n };\n QueryManager.prototype.getQuery = function (queryId) {\n if (queryId && !this.queries.has(queryId)) {\n this.queries.set(queryId, new QueryInfo(this.cache));\n }\n return this.queries.get(queryId);\n };\n QueryManager.prototype.prepareContext = function (context) {\n if (context === void 0) { context = {}; }\n var newContext = this.localState.prepareContext(context);\n return __assign(__assign({}, newContext), { clientAwareness: this.clientAwareness });\n };\n return QueryManager;\n}());\nexport { QueryManager };\n//# sourceMappingURL=QueryManager.js.map","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { ApolloLink, execute } from \"../link/core/index.js\";\nimport { compact } from \"../utilities/index.js\";\nimport { version } from \"../version.js\";\nimport { HttpLink } from \"../link/http/index.js\";\nimport { QueryManager } from \"./QueryManager.js\";\nimport { LocalState, } from \"./LocalState.js\";\nvar hasSuggestedDevtools = false;\nexport function mergeOptions(defaults, options) {\n return compact(defaults, options, options.variables && {\n variables: __assign(__assign({}, defaults.variables), options.variables),\n });\n}\nvar ApolloClient = (function () {\n function ApolloClient(options) {\n var _this = this;\n this.defaultOptions = {};\n this.resetStoreCallbacks = [];\n this.clearStoreCallbacks = [];\n var uri = options.uri, credentials = options.credentials, headers = options.headers, cache = options.cache, _a = options.ssrMode, ssrMode = _a === void 0 ? false : _a, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b, _c = options.connectToDevTools, connectToDevTools = _c === void 0 ? typeof window === 'object' &&\n !window.__APOLLO_CLIENT__ &&\n process.env.NODE_ENV !== 'production' : _c, _d = options.queryDeduplication, queryDeduplication = _d === void 0 ? true : _d, defaultOptions = options.defaultOptions, _e = options.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? false : _e, resolvers = options.resolvers, typeDefs = options.typeDefs, fragmentMatcher = options.fragmentMatcher, clientAwarenessName = options.name, clientAwarenessVersion = options.version;\n var link = options.link;\n if (!link) {\n link = uri\n ? new HttpLink({ uri: uri, credentials: credentials, headers: headers })\n : ApolloLink.empty();\n }\n if (!cache) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(9) : new InvariantError(\"To initialize Apollo Client, you must specify a 'cache' property \" +\n \"in the options object. \\n\" +\n \"For more information, please visit: https://go.apollo.dev/c/docs\");\n }\n this.link = link;\n this.cache = cache;\n this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;\n this.queryDeduplication = queryDeduplication;\n this.defaultOptions = defaultOptions || {};\n this.typeDefs = typeDefs;\n if (ssrForceFetchDelay) {\n setTimeout(function () { return (_this.disableNetworkFetches = false); }, ssrForceFetchDelay);\n }\n this.watchQuery = this.watchQuery.bind(this);\n this.query = this.query.bind(this);\n this.mutate = this.mutate.bind(this);\n this.resetStore = this.resetStore.bind(this);\n this.reFetchObservableQueries = this.reFetchObservableQueries.bind(this);\n if (connectToDevTools && typeof window === 'object') {\n window.__APOLLO_CLIENT__ = this;\n }\n if (!hasSuggestedDevtools && process.env.NODE_ENV !== 'production') {\n hasSuggestedDevtools = true;\n if (typeof window !== 'undefined' &&\n window.document &&\n window.top === window.self &&\n !window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__) {\n var nav = window.navigator;\n var ua = nav && nav.userAgent;\n var url = void 0;\n if (typeof ua === \"string\") {\n if (ua.indexOf(\"Chrome/\") > -1) {\n url = \"https://chrome.google.com/webstore/detail/\" +\n \"apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm\";\n }\n else if (ua.indexOf(\"Firefox/\") > -1) {\n url = \"https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/\";\n }\n }\n if (url) {\n invariant.log(\"Download the Apollo DevTools for a better development \" +\n \"experience: \" + url);\n }\n }\n }\n this.version = version;\n this.localState = new LocalState({\n cache: cache,\n client: this,\n resolvers: resolvers,\n fragmentMatcher: fragmentMatcher,\n });\n this.queryManager = new QueryManager({\n cache: this.cache,\n link: this.link,\n queryDeduplication: queryDeduplication,\n ssrMode: ssrMode,\n clientAwareness: {\n name: clientAwarenessName,\n version: clientAwarenessVersion,\n },\n localState: this.localState,\n assumeImmutableResults: assumeImmutableResults,\n onBroadcast: connectToDevTools ? function () {\n if (_this.devToolsHookCb) {\n _this.devToolsHookCb({\n action: {},\n state: {\n queries: _this.queryManager.getQueryStore(),\n mutations: _this.queryManager.mutationStore || {},\n },\n dataWithOptimisticResults: _this.cache.extract(true),\n });\n }\n } : void 0,\n });\n }\n ApolloClient.prototype.stop = function () {\n this.queryManager.stop();\n };\n ApolloClient.prototype.watchQuery = function (options) {\n if (this.defaultOptions.watchQuery) {\n options = mergeOptions(this.defaultOptions.watchQuery, options);\n }\n if (this.disableNetworkFetches &&\n (options.fetchPolicy === 'network-only' ||\n options.fetchPolicy === 'cache-and-network')) {\n options = __assign(__assign({}, options), { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.watchQuery(options);\n };\n ApolloClient.prototype.query = function (options) {\n if (this.defaultOptions.query) {\n options = mergeOptions(this.defaultOptions.query, options);\n }\n process.env.NODE_ENV === \"production\" ? invariant(options.fetchPolicy !== 'cache-and-network', 10) : invariant(options.fetchPolicy !== 'cache-and-network', 'The cache-and-network fetchPolicy does not work with client.query, because ' +\n 'client.query can only return a single result. Please use client.watchQuery ' +\n 'to receive multiple results from the cache and the network, or consider ' +\n 'using a different fetchPolicy, such as cache-first or network-only.');\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = __assign(__assign({}, options), { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.query(options);\n };\n ApolloClient.prototype.mutate = function (options) {\n if (this.defaultOptions.mutate) {\n options = mergeOptions(this.defaultOptions.mutate, options);\n }\n return this.queryManager.mutate(options);\n };\n ApolloClient.prototype.subscribe = function (options) {\n return this.queryManager.startGraphQLSubscription(options);\n };\n ApolloClient.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.cache.readQuery(options, optimistic);\n };\n ApolloClient.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.cache.readFragment(options, optimistic);\n };\n ApolloClient.prototype.writeQuery = function (options) {\n this.cache.writeQuery(options);\n this.queryManager.broadcastQueries();\n };\n ApolloClient.prototype.writeFragment = function (options) {\n this.cache.writeFragment(options);\n this.queryManager.broadcastQueries();\n };\n ApolloClient.prototype.__actionHookForDevTools = function (cb) {\n this.devToolsHookCb = cb;\n };\n ApolloClient.prototype.__requestRaw = function (payload) {\n return execute(this.link, payload);\n };\n ApolloClient.prototype.resetStore = function () {\n var _this = this;\n return Promise.resolve()\n .then(function () { return _this.queryManager.clearStore(); })\n .then(function () { return Promise.all(_this.resetStoreCallbacks.map(function (fn) { return fn(); })); })\n .then(function () { return _this.reFetchObservableQueries(); });\n };\n ApolloClient.prototype.clearStore = function () {\n var _this = this;\n return Promise.resolve()\n .then(function () { return _this.queryManager.clearStore(); })\n .then(function () { return Promise.all(_this.clearStoreCallbacks.map(function (fn) { return fn(); })); });\n };\n ApolloClient.prototype.onResetStore = function (cb) {\n var _this = this;\n this.resetStoreCallbacks.push(cb);\n return function () {\n _this.resetStoreCallbacks = _this.resetStoreCallbacks.filter(function (c) { return c !== cb; });\n };\n };\n ApolloClient.prototype.onClearStore = function (cb) {\n var _this = this;\n this.clearStoreCallbacks.push(cb);\n return function () {\n _this.clearStoreCallbacks = _this.clearStoreCallbacks.filter(function (c) { return c !== cb; });\n };\n };\n ApolloClient.prototype.reFetchObservableQueries = function (includeStandby) {\n return this.queryManager.reFetchObservableQueries(includeStandby);\n };\n ApolloClient.prototype.extract = function (optimistic) {\n return this.cache.extract(optimistic);\n };\n ApolloClient.prototype.restore = function (serializedState) {\n return this.cache.restore(serializedState);\n };\n ApolloClient.prototype.addResolvers = function (resolvers) {\n this.localState.addResolvers(resolvers);\n };\n ApolloClient.prototype.setResolvers = function (resolvers) {\n this.localState.setResolvers(resolvers);\n };\n ApolloClient.prototype.getResolvers = function () {\n return this.localState.getResolvers();\n };\n ApolloClient.prototype.setLocalStateFragmentMatcher = function (fragmentMatcher) {\n this.localState.setFragmentMatcher(fragmentMatcher);\n };\n ApolloClient.prototype.setLink = function (newLink) {\n this.link = this.queryManager.link = newLink;\n };\n return ApolloClient;\n}());\nexport { ApolloClient };\n//# sourceMappingURL=ApolloClient.js.map","export var version = '3.3.21';\n//# sourceMappingURL=version.js.map","enum Environment {\r\n Development = 'development',\r\n Staging = 'staging',\r\n QA = 'qa',\r\n Production = 'prod'\r\n}\r\n\r\nexport function getEnvironment(): string {\r\n const hostname = window.location.hostname;\r\n\r\n if (hostname.includes('localhost')) {\r\n return Environment.Development;\r\n }\r\n if (hostname.includes('stage')) {\r\n return Environment.Staging;\r\n }\r\n if (hostname.includes('qa')) {\r\n return Environment.QA;\r\n }\r\n\r\n return Environment.Production;\r\n}\r\n\r\nexport const getRootWptUrl = () => {\r\n const environment = getEnvironment();\r\n\r\n switch (environment) {\r\n case Environment.Production:\r\n return 'https://www.webpagetest.org';\r\n default:\r\n return 'https://wptqa.webpagetest.org';\r\n }\r\n};\r\n\r\nexport const getRootWptAppUrl = () => {\r\n const environment = getEnvironment();\r\n\r\n switch (environment) {\r\n case Environment.Production:\r\n return 'https://app.webpagetest.org/ui';\r\n case Environment.QA:\r\n return 'https://appqa.webpagetest.org/ui';\r\n case Environment.Staging:\r\n return 'https://appstage.webpagetest.org/ui';\r\n default:\r\n return 'https://localhost:44300';\r\n }\r\n};\r\n","export var _isSSR = false;\n/**\n * Helper to set ssr mode to simulate no window object returned from getWindow helper.\n *\n * @public\n */\nexport function setSSR(isEnabled) {\n _isSSR = isEnabled;\n}\n//# sourceMappingURL=setSSR.js.map"," \r\n export enum CollectorType {\r\n Catchpoint = 1,\r\n RIPENCC = 2,\r\n Routeview = 3,\r\n }\r\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var $ = require('../internals/export');\nvar repeat = require('../internals/string-repeat');\n\n// `String.prototype.repeat` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n repeat: repeat\n});\n","import { __spreadArrays } from \"tslib\";\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets() {\n var styleSets = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styleSets[_i] = arguments[_i];\n }\n if (styleSets && styleSets.length === 1 && styleSets[0] && !styleSets[0].subComponentStyles) {\n return styleSets[0];\n }\n var mergedSet = {};\n // We process sub component styles in two phases. First we collect them, then we combine them into 1 style function.\n var workingSubcomponentStyles = {};\n for (var _a = 0, styleSets_1 = styleSets; _a < styleSets_1.length; _a++) {\n var currentSet = styleSets_1[_a];\n if (currentSet) {\n for (var prop in currentSet) {\n if (currentSet.hasOwnProperty(prop)) {\n if (prop === 'subComponentStyles' && currentSet.subComponentStyles !== undefined) {\n // subcomponent styles - style functions or objects\n var currentComponentStyles = currentSet.subComponentStyles;\n for (var subCompProp in currentComponentStyles) {\n if (currentComponentStyles.hasOwnProperty(subCompProp)) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n workingSubcomponentStyles[subCompProp].push(currentComponentStyles[subCompProp]);\n }\n else {\n workingSubcomponentStyles[subCompProp] = [currentComponentStyles[subCompProp]];\n }\n }\n }\n continue;\n }\n // the as any casts below is a workaround for ts 2.8.\n // todo: remove cast to any in ts 2.9.\n var mergedValue = mergedSet[prop];\n var currentValue = currentSet[prop];\n if (mergedValue === undefined) {\n mergedSet[prop] = currentValue;\n }\n else {\n mergedSet[prop] = __spreadArrays((Array.isArray(mergedValue) ? mergedValue : [mergedValue]), (Array.isArray(currentValue) ? currentValue : [currentValue]));\n }\n }\n }\n }\n }\n if (Object.keys(workingSubcomponentStyles).length > 0) {\n mergedSet.subComponentStyles = {};\n var mergedSubStyles = mergedSet.subComponentStyles;\n var _loop_1 = function (subCompProp) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n var workingSet_1 = workingSubcomponentStyles[subCompProp];\n mergedSubStyles[subCompProp] = function (styleProps) {\n return concatStyleSets.apply(void 0, workingSet_1.map(function (styleFunctionOrObject) {\n return typeof styleFunctionOrObject === 'function' ? styleFunctionOrObject(styleProps) : styleFunctionOrObject;\n }));\n };\n }\n };\n // now we process the subcomponent styles if there are any\n for (var subCompProp in workingSubcomponentStyles) {\n _loop_1(subCompProp);\n }\n }\n return mergedSet;\n}\n//# sourceMappingURL=concatStyleSets.js.map","import { mergeSettings, mergeScopedSettings } from './mergeSettings';\n/**\n * Merge props and customizations giving priority to props over context.\n * NOTE: This function will always perform multiple merge operations. Use with caution.\n * @param props - New settings to merge in.\n * @param parentContext - Context containing current settings.\n * @returns Merged customizations.\n */\nexport function mergeCustomizations(props, parentContext) {\n var _a = (parentContext || {}).customizations, customizations = _a === void 0 ? { settings: {}, scopedSettings: {} } : _a;\n return {\n customizations: {\n settings: mergeSettings(customizations.settings, props.settings),\n scopedSettings: mergeScopedSettings(customizations.scopedSettings, props.scopedSettings),\n inCustomizerContext: true,\n },\n };\n}\n//# sourceMappingURL=mergeCustomizations.js.map","import { InvariantError } from 'ts-invariant';\nexport var serializeFetchParameter = function (p, label) {\n var serialized;\n try {\n serialized = JSON.stringify(p);\n }\n catch (e) {\n var parseError = process.env.NODE_ENV === \"production\" ? new InvariantError(23) : new InvariantError(\"Network request failed. \" + label + \" is not serializable: \" + e.message);\n parseError.parseError = e;\n throw parseError;\n }\n return serialized;\n};\n//# sourceMappingURL=serializeFetchParameter.js.map"," \r\n export enum WidgetSubSourceType {\r\n Zone = 1,\r\n Provider = 2,\r\n Process = 3,\r\n }\r\n","module.exports = {};\n","import { __extends } from \"tslib\";\nimport { isNonEmptyArray } from \"../utilities/index.js\";\nexport function isApolloError(err) {\n return err.hasOwnProperty('graphQLErrors');\n}\nvar generateErrorMessage = function (err) {\n var message = '';\n if (isNonEmptyArray(err.graphQLErrors)) {\n err.graphQLErrors.forEach(function (graphQLError) {\n var errorMessage = graphQLError\n ? graphQLError.message\n : 'Error message not found.';\n message += errorMessage + \"\\n\";\n });\n }\n if (err.networkError) {\n message += err.networkError.message + \"\\n\";\n }\n message = message.replace(/\\n$/, '');\n return message;\n};\nvar ApolloError = (function (_super) {\n __extends(ApolloError, _super);\n function ApolloError(_a) {\n var graphQLErrors = _a.graphQLErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;\n var _this = _super.call(this, errorMessage) || this;\n _this.graphQLErrors = graphQLErrors || [];\n _this.networkError = networkError || null;\n _this.message = errorMessage || generateErrorMessage(_this);\n _this.extraInfo = extraInfo;\n _this.__proto__ = ApolloError.prototype;\n return _this;\n }\n return ApolloError;\n}(Error));\nexport { ApolloError };\n//# sourceMappingURL=index.js.map","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","import { __assign } from \"tslib\";\nexport var InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0,\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1,\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2,\n};\nvar STYLESHEET_SETTING = '__stylesheet__';\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nvar REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\nvar _global = {};\n// Grab window.\ntry {\n _global = window;\n}\ncatch (_a) {\n /* leave as blank object */\n}\nvar _stylesheet;\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nvar Stylesheet = /** @class */ (function () {\n function Stylesheet(config) {\n this._rules = [];\n this._preservedRules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._keyToClassName = {};\n this._onResetCallbacks = [];\n this._classNameToArgs = {};\n this._config = __assign({ injectionMode: InjectionMode.insertNode, defaultPrefix: 'css', namespace: undefined, cspSettings: undefined }, config);\n this._keyToClassName = this._config.classNameCache || {};\n }\n /**\n * Gets the singleton instance.\n */\n Stylesheet.getInstance = function () {\n var _a;\n _stylesheet = _global[STYLESHEET_SETTING];\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n var fabricConfig = ((_a = _global) === null || _a === void 0 ? void 0 : _a.FabricConfig) || {};\n _stylesheet = _global[STYLESHEET_SETTING] = new Stylesheet(fabricConfig.mergeStyles);\n }\n return _stylesheet;\n };\n /**\n * Configures the stylesheet.\n */\n Stylesheet.prototype.setConfig = function (config) {\n this._config = __assign(__assign({}, this._config), config);\n };\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n */\n Stylesheet.prototype.onReset = function (callback) {\n this._onResetCallbacks.push(callback);\n };\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n Stylesheet.prototype.getClassName = function (displayName) {\n var namespace = this._config.namespace;\n var prefix = displayName || this._config.defaultPrefix;\n return \"\" + (namespace ? namespace + '-' : '') + prefix + \"-\" + this._counter++;\n };\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n Stylesheet.prototype.cacheClassName = function (className, key, args, rules) {\n this._keyToClassName[key] = className;\n this._classNameToArgs[className] = {\n args: args,\n rules: rules,\n };\n };\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n Stylesheet.prototype.classNameFromKey = function (key) {\n return this._keyToClassName[key];\n };\n /**\n * Gets all classnames cache with the stylesheet.\n */\n Stylesheet.prototype.getClassNameCache = function () {\n return this._keyToClassName;\n };\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n Stylesheet.prototype.argsFromClassName = function (className) {\n var entry = this._classNameToArgs[className];\n return entry && entry.args;\n };\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n Stylesheet.prototype.insertedRulesFromClassName = function (className) {\n var entry = this._classNameToArgs[className];\n return entry && entry.rules;\n };\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n Stylesheet.prototype.insertRule = function (rule, preserve) {\n var injectionMode = this._config.injectionMode;\n var element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n if (preserve) {\n this._preservedRules.push(rule);\n }\n if (element) {\n switch (this._config.injectionMode) {\n case InjectionMode.insertNode:\n var sheet = element.sheet;\n try {\n sheet.insertRule(rule, sheet.cssRules.length);\n }\n catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n break;\n case InjectionMode.appendChild:\n element.appendChild(document.createTextNode(rule));\n break;\n }\n }\n else {\n this._rules.push(rule);\n }\n if (this._config.onInsertRule) {\n this._config.onInsertRule(rule);\n }\n };\n /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n Stylesheet.prototype.getRules = function (includePreservedRules) {\n return ((includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('') + this._rulesToInsert.join(''));\n };\n /**\n * Resets the internal state of the stylesheet. Only used in server\n * rendered scenarios where we're using InsertionMode.none.\n */\n Stylesheet.prototype.reset = function () {\n this._rules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n this._onResetCallbacks.forEach(function (callback) { return callback(); });\n };\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n Stylesheet.prototype.resetKeys = function () {\n this._keyToClassName = {};\n };\n Stylesheet.prototype._getStyleElement = function () {\n var _this = this;\n if (!this._styleElement && typeof document !== 'undefined') {\n this._styleElement = this._createStyleElement();\n if (!REUSE_STYLE_NODE) {\n // Reset the style element on the next frame.\n window.requestAnimationFrame(function () {\n _this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n };\n Stylesheet.prototype._createStyleElement = function () {\n var head = document.head;\n var styleElement = document.createElement('style');\n styleElement.setAttribute('data-merge-styles', 'true');\n var cspSettings = this._config.cspSettings;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n head.insertBefore(styleElement, this._lastStyleElement.nextElementSibling);\n }\n else {\n var placeholderStyleTag = this._findPlaceholderStyleTag();\n if (placeholderStyleTag) {\n head.insertBefore(styleElement, placeholderStyleTag.nextElementSibling);\n }\n else {\n head.insertBefore(styleElement, head.childNodes[0]);\n }\n }\n this._lastStyleElement = styleElement;\n return styleElement;\n };\n Stylesheet.prototype._findPlaceholderStyleTag = function () {\n var head = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n };\n return Stylesheet;\n}());\nexport { Stylesheet };\n//# sourceMappingURL=Stylesheet.js.map","import { warn } from './warn';\n/**\n * Warns when a deprecated props are being used.\n *\n * @public\n * @param componentName - The name of the component being used.\n * @param props - The props passed into the component.\n * @param deprecationMap - The map of deprecations, where key is the prop name and the value is\n * either null or a replacement prop name.\n */\nexport function warnDeprecations(componentName, props, deprecationMap) {\n if (process.env.NODE_ENV !== 'production') {\n for (var propName in deprecationMap) {\n if (props && propName in props) {\n var deprecationMessage = componentName + \" property '\" + propName + \"' was used but has been deprecated.\";\n var replacementPropName = deprecationMap[propName];\n if (replacementPropName) {\n deprecationMessage += \" Use '\" + replacementPropName + \"' instead.\";\n }\n warn(deprecationMessage);\n }\n }\n }\n}\n//# sourceMappingURL=warnDeprecations.js.map","import { visit, } from 'graphql';\nimport { invariant } from 'ts-invariant';\nexport function shouldInclude(_a, variables) {\n var directives = _a.directives;\n if (!directives || !directives.length) {\n return true;\n }\n return getInclusionDirectives(directives).every(function (_a) {\n var directive = _a.directive, ifArgument = _a.ifArgument;\n var evaledValue = false;\n if (ifArgument.value.kind === 'Variable') {\n evaledValue = variables && variables[ifArgument.value.name.value];\n process.env.NODE_ENV === \"production\" ? invariant(evaledValue !== void 0, 38) : invariant(evaledValue !== void 0, \"Invalid variable referenced in @\" + directive.name.value + \" directive.\");\n }\n else {\n evaledValue = ifArgument.value.value;\n }\n return directive.name.value === 'skip' ? !evaledValue : evaledValue;\n });\n}\nexport function getDirectiveNames(root) {\n var names = [];\n visit(root, {\n Directive: function (node) {\n names.push(node.name.value);\n },\n });\n return names;\n}\nexport function hasDirectives(names, root) {\n return getDirectiveNames(root).some(function (name) { return names.indexOf(name) > -1; });\n}\nexport function hasClientExports(document) {\n return (document &&\n hasDirectives(['client'], document) &&\n hasDirectives(['export'], document));\n}\nfunction isInclusionDirective(_a) {\n var value = _a.name.value;\n return value === 'skip' || value === 'include';\n}\nexport function getInclusionDirectives(directives) {\n var result = [];\n if (directives && directives.length) {\n directives.forEach(function (directive) {\n if (!isInclusionDirective(directive))\n return;\n var directiveArguments = directive.arguments;\n var directiveName = directive.name.value;\n process.env.NODE_ENV === \"production\" ? invariant(directiveArguments && directiveArguments.length === 1, 39) : invariant(directiveArguments && directiveArguments.length === 1, \"Incorrect number of arguments for the @\" + directiveName + \" directive.\");\n var ifArgument = directiveArguments[0];\n process.env.NODE_ENV === \"production\" ? invariant(ifArgument.name && ifArgument.name.value === 'if', 40) : invariant(ifArgument.name && ifArgument.name.value === 'if', \"Invalid argument for the @\" + directiveName + \" directive.\");\n var ifValue = ifArgument.value;\n process.env.NODE_ENV === \"production\" ? invariant(ifValue &&\n (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 41) : invariant(ifValue &&\n (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), \"Argument for the @\" + directiveName + \" directive must be a variable or a boolean value.\");\n result.push({ directive: directive, ifArgument: ifArgument });\n });\n }\n return result;\n}\n//# sourceMappingURL=directives.js.map","module.exports = __webpack_public_path__ + \"612b9f146c9014c0e442c9cb6b6a7667.svg\";","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyleSets } from '../../Styling';\nimport { getGlobalClassNames } from '../../Styling';\nexport var ButtonGlobalClassNames = {\n msButton: 'ms-Button',\n msButtonHasMenu: 'ms-Button--hasMenu',\n msButtonIcon: 'ms-Button-icon',\n msButtonMenuIcon: 'ms-Button-menuIcon',\n msButtonLabel: 'ms-Button-label',\n msButtonDescription: 'ms-Button-description',\n msButtonScreenReaderText: 'ms-Button-screenReaderText',\n msButtonFlexContainer: 'ms-Button-flexContainer',\n msButtonTextContainer: 'ms-Button-textContainer',\n};\nexport var getBaseButtonClassNames = memoizeFunction(function (theme, styles, className, variantClassName, iconClassName, menuIconClassName, disabled, hasMenu, checked, expanded, isSplit) {\n var _a, _b;\n var classNames = getGlobalClassNames(ButtonGlobalClassNames, theme || {});\n var isExpanded = expanded && !isSplit;\n return mergeStyleSets({\n root: [\n classNames.msButton,\n styles.root,\n variantClassName,\n checked && ['is-checked', styles.rootChecked],\n isExpanded && [\n 'is-expanded',\n styles.rootExpanded,\n {\n selectors: (_a = {},\n _a[\":hover .\" + classNames.msButtonIcon] = styles.iconExpandedHovered,\n // menuIcon falls back to rootExpandedHovered to support original behavior\n _a[\":hover .\" + classNames.msButtonMenuIcon] = styles.menuIconExpandedHovered || styles.rootExpandedHovered,\n _a[':hover'] = styles.rootExpandedHovered,\n _a),\n },\n ],\n hasMenu && [ButtonGlobalClassNames.msButtonHasMenu, styles.rootHasMenu],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: (_b = {\n ':hover': styles.rootHovered\n },\n _b[\":hover .\" + classNames.msButtonLabel] = styles.labelHovered,\n _b[\":hover .\" + classNames.msButtonIcon] = styles.iconHovered,\n _b[\":hover .\" + classNames.msButtonDescription] = styles.descriptionHovered,\n _b[\":hover .\" + classNames.msButtonMenuIcon] = styles.menuIconHovered,\n _b[':focus'] = styles.rootFocused,\n _b[':active'] = styles.rootPressed,\n _b[\":active .\" + classNames.msButtonIcon] = styles.iconPressed,\n _b[\":active .\" + classNames.msButtonDescription] = styles.descriptionPressed,\n _b[\":active .\" + classNames.msButtonMenuIcon] = styles.menuIconPressed,\n _b),\n },\n disabled && checked && [styles.rootCheckedDisabled],\n !disabled &&\n checked && {\n selectors: {\n ':hover': styles.rootCheckedHovered,\n ':active': styles.rootCheckedPressed,\n },\n },\n className,\n ],\n flexContainer: [classNames.msButtonFlexContainer, styles.flexContainer],\n textContainer: [classNames.msButtonTextContainer, styles.textContainer],\n icon: [\n classNames.msButtonIcon,\n iconClassName,\n styles.icon,\n isExpanded && styles.iconExpanded,\n checked && styles.iconChecked,\n disabled && styles.iconDisabled,\n ],\n label: [classNames.msButtonLabel, styles.label, checked && styles.labelChecked, disabled && styles.labelDisabled],\n menuIcon: [\n classNames.msButtonMenuIcon,\n menuIconClassName,\n styles.menuIcon,\n checked && styles.menuIconChecked,\n disabled && !isSplit && styles.menuIconDisabled,\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: {\n ':hover': styles.menuIconHovered,\n ':active': styles.menuIconPressed,\n },\n },\n isExpanded && ['is-expanded', styles.menuIconExpanded],\n ],\n description: [\n classNames.msButtonDescription,\n styles.description,\n checked && styles.descriptionChecked,\n disabled && styles.descriptionDisabled,\n ],\n screenReaderText: [classNames.msButtonScreenReaderText, styles.screenReaderText],\n });\n});\n//# sourceMappingURL=BaseButton.classNames.js.map","module.exports = require('../internals/global');\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getNativeProps, imgProperties } from '../../Utilities';\nimport { ImageCoverStyle, ImageFit, ImageLoadState } from './Image.types';\nvar getClassNames = classNamesFunction();\nvar KEY_PREFIX = 'fabricImage';\nvar ImageBase = /** @class */ (function (_super) {\n __extends(ImageBase, _super);\n function ImageBase(props) {\n var _this = _super.call(this, props) || this;\n // Make an initial assumption about the image layout until we can\n // check the rendered element. The value here only takes effect when\n // shouldStartVisible is true.\n _this._coverStyle = ImageCoverStyle.portrait;\n _this._imageElement = React.createRef();\n _this._frameElement = React.createRef();\n _this._onImageLoaded = function (ev) {\n var _a = _this.props, src = _a.src, onLoad = _a.onLoad;\n if (onLoad) {\n onLoad(ev);\n }\n _this._computeCoverStyle(_this.props);\n if (src) {\n _this.setState({\n loadState: ImageLoadState.loaded,\n });\n }\n };\n _this._onImageError = function (ev) {\n if (_this.props.onError) {\n _this.props.onError(ev);\n }\n _this.setState({\n loadState: ImageLoadState.error,\n });\n };\n _this.state = {\n loadState: ImageLoadState.notLoaded,\n };\n return _this;\n }\n ImageBase.prototype.UNSAFE_componentWillReceiveProps = function (nextProps) {\n if (nextProps.src !== this.props.src) {\n this.setState({\n loadState: ImageLoadState.notLoaded,\n });\n }\n else if (this.state.loadState === ImageLoadState.loaded) {\n this._computeCoverStyle(nextProps);\n }\n };\n ImageBase.prototype.componentDidUpdate = function (prevProps, prevState) {\n this._checkImageLoaded();\n if (this.props.onLoadingStateChange && prevState.loadState !== this.state.loadState) {\n this.props.onLoadingStateChange(this.state.loadState);\n }\n };\n ImageBase.prototype.render = function () {\n var imageProps = getNativeProps(this.props, imgProperties, [\n 'width',\n 'height',\n ]);\n var _a = this.props, src = _a.src, alt = _a.alt, width = _a.width, height = _a.height, shouldFadeIn = _a.shouldFadeIn, shouldStartVisible = _a.shouldStartVisible, className = _a.className, imageFit = _a.imageFit, role = _a.role, maximizeFrame = _a.maximizeFrame, styles = _a.styles, theme = _a.theme;\n var loadState = this.state.loadState;\n var coverStyle = this.props.coverStyle !== undefined ? this.props.coverStyle : this._coverStyle;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n width: width,\n height: height,\n maximizeFrame: maximizeFrame,\n shouldFadeIn: shouldFadeIn,\n shouldStartVisible: shouldStartVisible,\n isLoaded: loadState === ImageLoadState.loaded ||\n (loadState === ImageLoadState.notLoaded && this.props.shouldStartVisible),\n isLandscape: coverStyle === ImageCoverStyle.landscape,\n isCenter: imageFit === ImageFit.center,\n isCenterContain: imageFit === ImageFit.centerContain,\n isCenterCover: imageFit === ImageFit.centerCover,\n isContain: imageFit === ImageFit.contain,\n isCover: imageFit === ImageFit.cover,\n isNone: imageFit === ImageFit.none,\n isError: loadState === ImageLoadState.error,\n isNotImageFit: imageFit === undefined,\n });\n // If image dimensions aren't specified, the natural size of the image is used.\n return (React.createElement(\"div\", { className: classNames.root, style: { width: width, height: height }, ref: this._frameElement },\n React.createElement(\"img\", __assign({}, imageProps, { onLoad: this._onImageLoaded, onError: this._onImageError, key: KEY_PREFIX + this.props.src || '', className: classNames.image, ref: this._imageElement, src: src, alt: alt, role: role }))));\n };\n ImageBase.prototype._checkImageLoaded = function () {\n var src = this.props.src;\n var loadState = this.state.loadState;\n if (loadState === ImageLoadState.notLoaded) {\n // testing if naturalWidth and naturalHeight are greater than zero is better than checking\n // .complete, because .complete will also be set to true if the image breaks. However,\n // for some browsers, SVG images do not have a naturalWidth or naturalHeight, so fall back\n // to checking .complete for these images.\n var isLoaded = this._imageElement.current\n ? (src && this._imageElement.current.naturalWidth > 0 && this._imageElement.current.naturalHeight > 0) ||\n (this._imageElement.current.complete && ImageBase._svgRegex.test(src))\n : false;\n if (isLoaded) {\n this._computeCoverStyle(this.props);\n this.setState({\n loadState: ImageLoadState.loaded,\n });\n }\n }\n };\n ImageBase.prototype._computeCoverStyle = function (props) {\n var imageFit = props.imageFit, width = props.width, height = props.height;\n // Do not compute cover style if it was already specified in props\n if ((imageFit === ImageFit.cover ||\n imageFit === ImageFit.contain ||\n imageFit === ImageFit.centerContain ||\n imageFit === ImageFit.centerCover) &&\n this.props.coverStyle === undefined &&\n this._imageElement.current &&\n this._frameElement.current) {\n // Determine the desired ratio using the width and height props.\n // If those props aren't available, measure measure the frame.\n var desiredRatio = void 0;\n if (typeof width === 'number' &&\n typeof height === 'number' &&\n imageFit !== ImageFit.centerContain &&\n imageFit !== ImageFit.centerCover) {\n desiredRatio = width / height;\n }\n else {\n desiredRatio = this._frameElement.current.clientWidth / this._frameElement.current.clientHeight;\n }\n // Examine the source image to determine its original ratio.\n var naturalRatio = this._imageElement.current.naturalWidth / this._imageElement.current.naturalHeight;\n // Should we crop from the top or the sides?\n if (naturalRatio > desiredRatio) {\n this._coverStyle = ImageCoverStyle.landscape;\n }\n else {\n this._coverStyle = ImageCoverStyle.portrait;\n }\n }\n };\n ImageBase.defaultProps = {\n shouldFadeIn: true,\n };\n ImageBase._svgRegex = /\\.svg$/i;\n return ImageBase;\n}(React.Component));\nexport { ImageBase };\n//# sourceMappingURL=Image.base.js.map","import { AnimationClassNames, getGlobalClassNames } from '../../Styling';\nimport { getWindow } from '../../Utilities';\nvar GlobalClassNames = {\n root: 'ms-Image',\n rootMaximizeFrame: 'ms-Image--maximizeFrame',\n image: 'ms-Image-image',\n imageCenter: 'ms-Image-image--center',\n imageContain: 'ms-Image-image--contain',\n imageCover: 'ms-Image-image--cover',\n imageCenterContain: 'ms-Image-image--centerContain',\n imageCenterCover: 'ms-Image-image--centerCover',\n imageNone: 'ms-Image-image--none',\n imageLandscape: 'ms-Image-image--landscape',\n imagePortrait: 'ms-Image-image--portrait',\n};\nexport var getStyles = function (props) {\n var className = props.className, width = props.width, height = props.height, maximizeFrame = props.maximizeFrame, isLoaded = props.isLoaded, shouldFadeIn = props.shouldFadeIn, shouldStartVisible = props.shouldStartVisible, isLandscape = props.isLandscape, isCenter = props.isCenter, isContain = props.isContain, isCover = props.isCover, isCenterContain = props.isCenterContain, isCenterCover = props.isCenterCover, isNone = props.isNone, isError = props.isError, isNotImageFit = props.isNotImageFit, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var ImageFitStyles = {\n position: 'absolute',\n left: '50% /* @noflip */',\n top: '50%',\n transform: 'translate(-50%,-50%)',\n };\n // Cut the mustard using msMaxTouchPoints to detect IE11 which does not support CSS object-fit\n var window = getWindow();\n var supportsObjectFit = window !== undefined && window.navigator.msMaxTouchPoints === undefined;\n var fallbackObjectFitStyles = (isContain && isLandscape) || (isCover && !isLandscape)\n ? { width: '100%', height: 'auto' }\n : { width: 'auto', height: '100%' };\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n overflow: 'hidden',\n },\n maximizeFrame && [\n classNames.rootMaximizeFrame,\n {\n height: '100%',\n width: '100%',\n },\n ],\n isLoaded && shouldFadeIn && !shouldStartVisible && AnimationClassNames.fadeIn400,\n (isCenter || isContain || isCover || isCenterContain || isCenterCover) && {\n position: 'relative',\n },\n className,\n ],\n image: [\n classNames.image,\n {\n display: 'block',\n opacity: 0,\n },\n isLoaded && [\n 'is-loaded',\n {\n opacity: 1,\n },\n ],\n isCenter && [classNames.imageCenter, ImageFitStyles],\n isContain && [\n classNames.imageContain,\n supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n },\n !supportsObjectFit && fallbackObjectFitStyles,\n ImageFitStyles,\n ],\n isCover && [\n classNames.imageCover,\n supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n !supportsObjectFit && fallbackObjectFitStyles,\n ImageFitStyles,\n ],\n isCenterContain && [\n classNames.imageCenterContain,\n isLandscape && {\n maxWidth: '100%',\n },\n !isLandscape && {\n maxHeight: '100%',\n },\n ImageFitStyles,\n ],\n isCenterCover && [\n classNames.imageCenterCover,\n isLandscape && {\n maxHeight: '100%',\n },\n !isLandscape && {\n maxWidth: '100%',\n },\n ImageFitStyles,\n ],\n isNone && [\n classNames.imageNone,\n {\n width: 'auto',\n height: 'auto',\n },\n ],\n isNotImageFit && [\n !!width &&\n !height && {\n height: 'auto',\n width: '100%',\n },\n !width &&\n !!height && {\n height: '100%',\n width: 'auto',\n },\n !!width &&\n !!height && {\n height: '100%',\n width: '100%',\n },\n ],\n isLandscape && classNames.imageLandscape,\n !isLandscape && classNames.imagePortrait,\n !isLoaded && 'is-notLoaded',\n shouldFadeIn && 'is-fadeIn',\n isError && 'is-error',\n ],\n };\n};\n//# sourceMappingURL=Image.styles.js.map","import { styled } from '../../Utilities';\nimport { ImageBase } from './Image.base';\nimport { getStyles } from './Image.styles';\nexport var Image = styled(ImageBase, getStyles, undefined, {\n scope: 'Image',\n}, true);\n//# sourceMappingURL=Image.js.map","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar hide = require('../internals/hide');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n hide(ArrayPrototype, UNSCOPABLES, create(null));\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","/**\n * Allows you to hoist static functions in components.\n * Created for the purpose of fixing broken static functions in classes\n * that utilize decorators.\n *\n * @public\n * @param source - The object where the methods are hoisted from.\n * @param dest - The object to hoist the methods onto.\n * @returns The dest object with methods added\n */\nexport function hoistStatics(source, dest) {\n for (var name_1 in source) {\n if (source.hasOwnProperty(name_1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dest[name_1] = source[name_1];\n }\n }\n return dest;\n}\n//# sourceMappingURL=hoistStatics.js.map","var _a;\nimport { __assign } from \"tslib\";\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { getScrollbarWidth, getRTL } from '../../Utilities';\nimport { RectangleEdge, } from './positioning.types';\nimport { Rectangle } from '../../Utilities';\nfunction _createPositionData(targetEdge, alignmentEdge, isAuto) {\n return {\n targetEdge: targetEdge,\n alignmentEdge: alignmentEdge,\n isAuto: isAuto,\n };\n}\n// Currently the beakPercent is set to 50 for all positions meaning that it should tend to the center of the target\nvar DirectionalDictionary = (_a = {},\n _a[DirectionalHint.topLeftEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.left),\n _a[DirectionalHint.topCenter] = _createPositionData(RectangleEdge.top),\n _a[DirectionalHint.topRightEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.right),\n _a[DirectionalHint.topAutoEdge] = _createPositionData(RectangleEdge.top, undefined, true),\n _a[DirectionalHint.bottomLeftEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.left),\n _a[DirectionalHint.bottomCenter] = _createPositionData(RectangleEdge.bottom),\n _a[DirectionalHint.bottomRightEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.right),\n _a[DirectionalHint.bottomAutoEdge] = _createPositionData(RectangleEdge.bottom, undefined, true),\n _a[DirectionalHint.leftTopEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.top),\n _a[DirectionalHint.leftCenter] = _createPositionData(RectangleEdge.left),\n _a[DirectionalHint.leftBottomEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.bottom),\n _a[DirectionalHint.rightTopEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.top),\n _a[DirectionalHint.rightCenter] = _createPositionData(RectangleEdge.right),\n _a[DirectionalHint.rightBottomEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.bottom),\n _a);\nfunction _isRectangleWithinBounds(rect, boundingRect) {\n if (rect.top < boundingRect.top) {\n return false;\n }\n if (rect.bottom > boundingRect.bottom) {\n return false;\n }\n if (rect.left < boundingRect.left) {\n return false;\n }\n if (rect.right > boundingRect.right) {\n return false;\n }\n return true;\n}\n/**\n * Gets all of the edges of a rectangle that are outside of the given bounds.\n * If there are no out of bounds edges it returns an empty array.\n */\nfunction _getOutOfBoundsEdges(rect, boundingRect) {\n var outOfBounds = [];\n if (rect.top < boundingRect.top) {\n outOfBounds.push(RectangleEdge.top);\n }\n if (rect.bottom > boundingRect.bottom) {\n outOfBounds.push(RectangleEdge.bottom);\n }\n if (rect.left < boundingRect.left) {\n outOfBounds.push(RectangleEdge.left);\n }\n if (rect.right > boundingRect.right) {\n outOfBounds.push(RectangleEdge.right);\n }\n return outOfBounds;\n}\nfunction _getEdgeValue(rect, edge) {\n return rect[RectangleEdge[edge]];\n}\nfunction _setEdgeValue(rect, edge, value) {\n rect[RectangleEdge[edge]] = value;\n return rect;\n}\n/**\n * Returns the middle value of an edge. Only returns 1 value rather than xy coordinates as\n * the itself already contains the other coordinate.\n * For instance, a bottom edge's current value is it's y coordinate, so the number returned is the x.\n */\nfunction _getCenterValue(rect, edge) {\n var edges = _getFlankingEdges(edge);\n return (_getEdgeValue(rect, edges.positiveEdge) + _getEdgeValue(rect, edges.negativeEdge)) / 2;\n}\n/**\n * Flips the value depending on the edge.\n * If the edge is a \"positive\" edge, Top or Left, then the value should stay as it is.\n * If the edge is a \"negative\" edge, Bottom or Right, then the value should be flipped.\n * This is to account for the fact that the coordinates are effectively reveserved in certain cases for the\n * \"negative\" edges.\n *\n * For example, when testing to see if a bottom edge 1 is within the bounds of another bottom edge 2:\n * If edge 1 is greater than edge 2 then it is out of bounds. This is reversed for top edge 1 and top edge 2.\n * If top edge 1 is less than edge 2 then it is out of bounds.\n */\nfunction _getRelativeEdgeValue(edge, value) {\n if (edge > 0) {\n return value;\n }\n else {\n return value * -1;\n }\n}\nfunction _getRelativeRectEdgeValue(edge, rect) {\n return _getRelativeEdgeValue(edge, _getEdgeValue(rect, edge));\n}\nfunction _getRelativeEdgeDifference(rect, hostRect, edge) {\n var edgeDifference = _getEdgeValue(rect, edge) - _getEdgeValue(hostRect, edge);\n return _getRelativeEdgeValue(edge, edgeDifference);\n}\n/**\n * Moves the edge of a rectangle to the value given. It only moves the edge in a linear direction based on that edge.\n * For example, if it's a bottom edge it will only change y coordinates.\n */\nfunction _moveEdge(rect, edge, newValue) {\n var difference = _getEdgeValue(rect, edge) - newValue;\n rect = _setEdgeValue(rect, edge, newValue);\n rect = _setEdgeValue(rect, edge * -1, _getEdgeValue(rect, edge * -1) - difference);\n return rect;\n}\n/**\n * Aligns the edge on the passed in rect to the target. If there is a gap then it will have that space between the two.\n */\nfunction _alignEdges(rect, target, edge, gap) {\n if (gap === void 0) { gap = 0; }\n return _moveEdge(rect, edge, _getEdgeValue(target, edge) + _getRelativeEdgeValue(edge, gap));\n}\n/**\n * Aligns the targetEdge on the passed in target to the rects corresponding opposite edge.\n * For instance if targetEdge is bottom, then the rects top will be moved to match it.\n */\nfunction _alignOppositeEdges(rect, target, targetEdge, gap) {\n if (gap === void 0) { gap = 0; }\n var oppositeEdge = targetEdge * -1;\n var adjustedGap = _getRelativeEdgeValue(oppositeEdge, gap);\n return _moveEdge(rect, targetEdge * -1, _getEdgeValue(target, targetEdge) + adjustedGap);\n}\n/**\n * Tests to see if the given edge is within the bounds of the given rectangle.\n */\nfunction _isEdgeInBounds(rect, bounds, edge) {\n var adjustedRectValue = _getRelativeRectEdgeValue(edge, rect);\n return adjustedRectValue > _getRelativeRectEdgeValue(edge, bounds);\n}\n/**\n * Attempts to move the rectangle through various sides of the target to find a place to fit.\n * If no fit is found, the original position should be returned.\n */\nfunction _flipToFit(rect, target, bounding, positionData, gap) {\n if (gap === void 0) { gap = 0; }\n var directions = [\n RectangleEdge.left,\n RectangleEdge.right,\n RectangleEdge.bottom,\n RectangleEdge.top,\n ];\n // In RTL page, RectangleEdge.right has a higher priority than RectangleEdge.left, so the order should be updated.\n if (getRTL()) {\n directions[0] *= -1;\n directions[1] *= -1;\n }\n var currentEstimate = rect;\n var currentEdge = positionData.targetEdge;\n var currentAlignment = positionData.alignmentEdge;\n // Keep switching sides until one is found with enough space.\n // If all sides don't fit then return the unmodified element.\n for (var i = 0; i < 4; i++) {\n if (!_isEdgeInBounds(currentEstimate, bounding, currentEdge)) {\n directions.splice(directions.indexOf(currentEdge), 1);\n if (directions.length > 0) {\n if (directions.indexOf(currentEdge * -1) > -1) {\n currentEdge = currentEdge * -1;\n }\n else {\n currentAlignment = currentEdge;\n currentEdge = directions.slice(-1)[0];\n }\n currentEstimate = _estimatePosition(rect, target, { targetEdge: currentEdge, alignmentEdge: currentAlignment }, gap);\n }\n }\n else {\n return {\n elementRectangle: currentEstimate,\n targetEdge: currentEdge,\n alignmentEdge: currentAlignment,\n };\n }\n }\n return {\n elementRectangle: rect,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge,\n };\n}\n/**\n * Flips only the alignment edge of an element rectangle. This is used instead of nudging the alignment edges\n * into position, when alignTargetEdge is specified.\n */\nfunction _flipAlignmentEdge(elementEstimate, target, gap, coverTarget) {\n var alignmentEdge = elementEstimate.alignmentEdge, targetEdge = elementEstimate.targetEdge, elementRectangle = elementEstimate.elementRectangle;\n var oppositeEdge = alignmentEdge * -1;\n var newEstimate = _estimatePosition(elementRectangle, target, { targetEdge: targetEdge, alignmentEdge: oppositeEdge }, gap, coverTarget);\n return {\n elementRectangle: newEstimate,\n targetEdge: targetEdge,\n alignmentEdge: oppositeEdge,\n };\n}\n/**\n * Adjusts a element rectangle to fit within the bounds given. If directionalHintFixed or covertarget is passed in\n * then the element will not flip sides on the target. They will, however, be nudged to fit within the bounds given.\n */\nfunction _adjustFitWithinBounds(element, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n if (gap === void 0) { gap = 0; }\n var alignmentEdge = positionData.alignmentEdge, alignTargetEdge = positionData.alignTargetEdge;\n var elementEstimate = {\n elementRectangle: element,\n targetEdge: positionData.targetEdge,\n alignmentEdge: alignmentEdge,\n };\n if (!directionalHintFixed && !coverTarget) {\n elementEstimate = _flipToFit(element, target, bounding, positionData, gap);\n }\n var outOfBounds = _getOutOfBoundsEdges(element, bounding);\n if (alignTargetEdge) {\n // The edge opposite to the alignment edge might be out of bounds.\n // Flip alignment to see if we can get it within bounds.\n if (elementEstimate.alignmentEdge && outOfBounds.indexOf(elementEstimate.alignmentEdge * -1) > -1) {\n var flippedElementEstimate = _flipAlignmentEdge(elementEstimate, target, gap, coverTarget);\n if (_isRectangleWithinBounds(flippedElementEstimate.elementRectangle, bounding)) {\n return flippedElementEstimate;\n }\n else {\n // If the flipped elements edges are still out of bounds, try nudging it.\n elementEstimate = _alignOutOfBoundsEdges(_getOutOfBoundsEdges(flippedElementEstimate.elementRectangle, bounding), elementEstimate, bounding);\n }\n }\n }\n else {\n elementEstimate = _alignOutOfBoundsEdges(outOfBounds, elementEstimate, bounding);\n }\n return elementEstimate;\n}\n/**\n * Iterates through a list of out of bounds edges and tries to nudge and align them.\n * @param outOfBoundsEdges - Array of edges that are out of bounds\n * @param elementEstimate - The current element positioning estimate\n * @param bounding - The current bounds\n */\nfunction _alignOutOfBoundsEdges(outOfBoundsEdges, elementEstimate, bounding) {\n for (var _i = 0, outOfBoundsEdges_1 = outOfBoundsEdges; _i < outOfBoundsEdges_1.length; _i++) {\n var direction = outOfBoundsEdges_1[_i];\n elementEstimate.elementRectangle = _alignEdges(elementEstimate.elementRectangle, bounding, direction);\n }\n return elementEstimate;\n}\n/**\n * Moves the middle point on an edge to the point given.\n * Only moves in one direction. For instance if a bottom edge is passed in, then\n * the bottom edge will be moved in the x axis to match the point.\n */\nfunction _centerEdgeToPoint(rect, edge, point) {\n var positiveEdge = _getFlankingEdges(edge).positiveEdge;\n var elementMiddle = _getCenterValue(rect, edge);\n var distanceToMiddle = elementMiddle - _getEdgeValue(rect, positiveEdge);\n return _moveEdge(rect, positiveEdge, point - distanceToMiddle);\n}\n/**\n * Moves the element rectangle to be appropriately positioned relative to a given target.\n * Does not flip or adjust the element.\n */\nfunction _estimatePosition(elementToPosition, target, positionData, gap, coverTarget) {\n if (gap === void 0) { gap = 0; }\n var estimatedElementPosition;\n var alignmentEdge = positionData.alignmentEdge, targetEdge = positionData.targetEdge;\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n estimatedElementPosition = coverTarget\n ? _alignEdges(elementToPosition, target, targetEdge, gap)\n : _alignOppositeEdges(elementToPosition, target, targetEdge, gap);\n // if no alignment edge is provided it's supposed to be centered.\n if (!alignmentEdge) {\n var targetMiddlePoint = _getCenterValue(target, targetEdge);\n estimatedElementPosition = _centerEdgeToPoint(estimatedElementPosition, elementEdge, targetMiddlePoint);\n }\n else {\n estimatedElementPosition = _alignEdges(estimatedElementPosition, target, alignmentEdge);\n }\n return estimatedElementPosition;\n}\n/**\n * Returns the non-opposite edges of the target edge.\n * For instance if bottom is passed in then left and right will be returned.\n */\nfunction _getFlankingEdges(edge) {\n if (edge === RectangleEdge.top || edge === RectangleEdge.bottom) {\n return {\n positiveEdge: RectangleEdge.left,\n negativeEdge: RectangleEdge.right,\n };\n }\n else {\n return {\n positiveEdge: RectangleEdge.top,\n negativeEdge: RectangleEdge.bottom,\n };\n }\n}\n/**\n * Retrieve the final value for the return edge of elementRectangle. If the elementRectangle is closer to one side\n * of the bounds versus the other, the return edge is flipped to grow inward.\n */\nfunction _finalizeReturnEdge(elementRectangle, returnEdge, bounds) {\n if (bounds &&\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge)) >\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge * -1))) {\n return returnEdge * -1;\n }\n return returnEdge;\n}\n/**\n * Finalizes the element positon based on the hostElement. Only returns the\n * rectangle values to position such that they are anchored to the target.\n * This helps prevent resizing from looking very strange.\n * For instance, if the target edge is top and aligned with the left side then\n * the bottom and left values are returned so as the callou shrinks it shrinks towards that corner.\n */\nfunction _finalizeElementPosition(elementRectangle, hostElement, targetEdge, bounds, alignmentEdge, coverTarget, doNotFinalizeReturnEdge) {\n var returnValue = {};\n var hostRect = _getRectangleFromElement(hostElement);\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n var elementEdgeString = RectangleEdge[elementEdge];\n var returnEdge = alignmentEdge ? alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge;\n if (!doNotFinalizeReturnEdge) {\n returnEdge = _finalizeReturnEdge(elementRectangle, returnEdge, bounds);\n }\n returnValue[elementEdgeString] = _getRelativeEdgeDifference(elementRectangle, hostRect, elementEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(elementRectangle, hostRect, returnEdge);\n return returnValue;\n}\n// Since the beak is rotated 45 degrees the actual height/width is the length of the diagonal.\n// We still want to position the beak based on it's midpoint which does not change. It will\n// be at (beakwidth / 2, beakwidth / 2)\nfunction _calculateActualBeakWidthInPixels(beakWidth) {\n return Math.sqrt(beakWidth * beakWidth * 2);\n}\n/**\n * Returns the appropriate IPositionData based on the props altered for RTL.\n * If directionalHintForRTL is passed in that is used if the page is RTL.\n * If directionalHint is specified, no directionalHintForRTL is available, and the page is RTL, the hint will be\n * flipped (e.g. bottomLeftEdge would become bottomRightEdge).\n *\n * If there is no directionalHint passed in, bottomAutoEdge is chosen automatically.\n */\nfunction _getPositionData(directionalHint, directionalHintForRTL, previousPositions) {\n if (directionalHint === void 0) { directionalHint = DirectionalHint.bottomAutoEdge; }\n if (previousPositions) {\n return {\n alignmentEdge: previousPositions.alignmentEdge,\n isAuto: previousPositions.isAuto,\n targetEdge: previousPositions.targetEdge,\n };\n }\n var positionInformation = __assign({}, DirectionalDictionary[directionalHint]);\n if (getRTL()) {\n // If alignment edge exists and that alignment edge is -2 or 2, right or left, then flip it.\n if (positionInformation.alignmentEdge && positionInformation.alignmentEdge % 2 === 0) {\n positionInformation.alignmentEdge = positionInformation.alignmentEdge * -1;\n }\n return directionalHintForRTL !== undefined ? DirectionalDictionary[directionalHintForRTL] : positionInformation;\n }\n return positionInformation;\n}\n/**\n * Get's the alignment data for the given information. This only really matters if the positioning is Auto.\n * If it is auto then the alignmentEdge should be chosen based on the target edge's position relative to\n * the center of the page.\n */\nfunction _getAlignmentData(positionData, target, boundingRect, coverTarget, alignTargetEdge) {\n if (positionData.isAuto) {\n positionData.alignmentEdge = getClosestEdge(positionData.targetEdge, target, boundingRect);\n }\n positionData.alignTargetEdge = alignTargetEdge;\n return positionData;\n}\nfunction getClosestEdge(targetEdge, target, boundingRect) {\n var targetCenter = _getCenterValue(target, targetEdge);\n var boundingCenter = _getCenterValue(boundingRect, targetEdge);\n var _a = _getFlankingEdges(targetEdge), positiveEdge = _a.positiveEdge, negativeEdge = _a.negativeEdge;\n if (targetCenter <= boundingCenter) {\n return positiveEdge;\n }\n else {\n return negativeEdge;\n }\n}\nfunction _positionElementWithinBounds(elementToPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n var estimatedElementPosition = _estimatePosition(elementToPosition, target, positionData, gap, coverTarget);\n if (_isRectangleWithinBounds(estimatedElementPosition, bounding)) {\n return {\n elementRectangle: estimatedElementPosition,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge,\n };\n }\n else {\n return _adjustFitWithinBounds(elementToPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget);\n }\n}\nfunction _finalizeBeakPosition(elementPosition, positionedBeak, bounds) {\n var targetEdge = elementPosition.targetEdge * -1;\n // The \"host\" element that we will use to help position the beak.\n var actualElement = new Rectangle(0, elementPosition.elementRectangle.width, 0, elementPosition.elementRectangle.height);\n var returnValue = {};\n var returnEdge = _finalizeReturnEdge(elementPosition.elementRectangle, elementPosition.alignmentEdge ? elementPosition.alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge, bounds);\n returnValue[RectangleEdge[targetEdge]] = _getEdgeValue(positionedBeak, targetEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(positionedBeak, actualElement, returnEdge);\n return {\n elementPosition: __assign({}, returnValue),\n closestEdge: getClosestEdge(elementPosition.targetEdge, positionedBeak, actualElement),\n targetEdge: targetEdge,\n };\n}\nfunction _positionBeak(beakWidth, elementPosition) {\n var target = elementPosition.targetRectangle;\n /**\n * Note about beak positioning: The actual beak width only matters for getting the gap between the callout and\n * target, it does not impact the beak placement within the callout. For example example, if the beakWidth is 8,\n * then the actual beakWidth is sqrroot(8^2 + 8^2) = 11.31x11.31. So the callout will need to be an extra 3 pixels\n * away from its target. While the beak is being positioned in the callout it still acts as though it were 8x8.\n */\n var _a = _getFlankingEdges(elementPosition.targetEdge), positiveEdge = _a.positiveEdge, negativeEdge = _a.negativeEdge;\n var beakTargetPoint = _getCenterValue(target, elementPosition.targetEdge);\n var elementBounds = new Rectangle(beakWidth / 2, elementPosition.elementRectangle.width - beakWidth / 2, beakWidth / 2, elementPosition.elementRectangle.height - beakWidth / 2);\n var beakPosition = new Rectangle(0, beakWidth, 0, beakWidth);\n beakPosition = _moveEdge(beakPosition, elementPosition.targetEdge * -1, -beakWidth / 2);\n beakPosition = _centerEdgeToPoint(beakPosition, elementPosition.targetEdge * -1, beakTargetPoint - _getRelativeRectEdgeValue(positiveEdge, elementPosition.elementRectangle));\n if (!_isEdgeInBounds(beakPosition, elementBounds, positiveEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, positiveEdge);\n }\n else if (!_isEdgeInBounds(beakPosition, elementBounds, negativeEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, negativeEdge);\n }\n return beakPosition;\n}\nfunction _getRectangleFromElement(element) {\n var clientRect = element.getBoundingClientRect();\n return new Rectangle(clientRect.left, clientRect.right, clientRect.top, clientRect.bottom);\n}\nfunction _getRectangleFromIRect(rect) {\n return new Rectangle(rect.left, rect.right, rect.top, rect.bottom);\n}\nfunction _getTargetRect(bounds, target) {\n var targetRectangle;\n if (target) {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!target.preventDefault) {\n var ev = target;\n targetRectangle = new Rectangle(ev.clientX, ev.clientX, ev.clientY, ev.clientY);\n // eslint-disable-next-line no-extra-boolean-cast\n }\n else if (!!target.getBoundingClientRect) {\n targetRectangle = _getRectangleFromElement(target);\n // HTMLImgElements can have x and y values. The check for it being a point must go last.\n }\n else {\n var rectOrPoint = target;\n // eslint-disable-next-line deprecation/deprecation\n var left = rectOrPoint.left || rectOrPoint.x;\n // eslint-disable-next-line deprecation/deprecation\n var top_1 = rectOrPoint.top || rectOrPoint.y;\n var right = rectOrPoint.right || left;\n var bottom = rectOrPoint.bottom || top_1;\n targetRectangle = new Rectangle(left, right, top_1, bottom);\n }\n if (!_isRectangleWithinBounds(targetRectangle, bounds)) {\n var outOfBounds = _getOutOfBoundsEdges(targetRectangle, bounds);\n for (var _i = 0, outOfBounds_1 = outOfBounds; _i < outOfBounds_1.length; _i++) {\n var direction = outOfBounds_1[_i];\n targetRectangle[RectangleEdge[direction]] = bounds[RectangleEdge[direction]];\n }\n }\n }\n else {\n targetRectangle = new Rectangle(0, 0, 0, 0);\n }\n return targetRectangle;\n}\n/**\n * If max height is less than zero it returns the bounds height instead.\n */\nfunction _getMaxHeightFromTargetRectangle(targetRectangle, targetEdge, gapSpace, bounds, coverTarget) {\n var maxHeight = 0;\n var directionalHint = DirectionalDictionary[targetEdge];\n // If cover target is set, then the max height should be calculated using the opposite of the target edge since\n // that's the direction that the callout will expand in.\n // For instance, if the directionalhint is bottomLeftEdge then the callout will position so it's bottom edge\n // is aligned with the bottom of the target and expand up towards the top of the screen and the calculated max height\n // is (bottom of target) - (top of screen) - gapSpace.\n var target = coverTarget ? directionalHint.targetEdge * -1 : directionalHint.targetEdge;\n if (target === RectangleEdge.top) {\n maxHeight = _getEdgeValue(targetRectangle, directionalHint.targetEdge) - bounds.top - gapSpace;\n }\n else if (target === RectangleEdge.bottom) {\n maxHeight = bounds.bottom - _getEdgeValue(targetRectangle, directionalHint.targetEdge) - gapSpace;\n }\n else {\n maxHeight = bounds.bottom - targetRectangle.top - gapSpace;\n }\n return maxHeight > 0 ? maxHeight : bounds.height;\n}\nfunction _positionElementRelative(props, elementToPosition, boundingRect, previousPositions) {\n var gap = props.gapSpace ? props.gapSpace : 0;\n var targetRect = _getTargetRect(boundingRect, props.target);\n var positionData = _getAlignmentData(_getPositionData(props.directionalHint, props.directionalHintForRTL, previousPositions), targetRect, boundingRect, props.coverTarget, props.alignTargetEdge);\n var positionedElement = _positionElementWithinBounds(_getRectangleFromElement(elementToPosition), targetRect, boundingRect, positionData, gap, props.directionalHintFixed, props.coverTarget);\n return __assign(__assign({}, positionedElement), { targetRectangle: targetRect });\n}\nfunction _finalizePositionData(positionedElement, hostElement, bounds, coverTarget, doNotFinalizeReturnEdge) {\n var finalizedElement = _finalizeElementPosition(positionedElement.elementRectangle, hostElement, positionedElement.targetEdge, bounds, positionedElement.alignmentEdge, coverTarget, doNotFinalizeReturnEdge);\n return {\n elementPosition: finalizedElement,\n targetEdge: positionedElement.targetEdge,\n alignmentEdge: positionedElement.alignmentEdge,\n };\n}\nfunction _positionElement(props, hostElement, elementToPosition, previousPositions) {\n var boundingRect = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n var positionedElement = _positionElementRelative(props, elementToPosition, boundingRect, previousPositions);\n return _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget);\n}\nfunction _positionCallout(props, hostElement, callout, previousPositions, doNotFinalizeReturnEdge) {\n var beakWidth = props.isBeakVisible ? props.beakWidth || 0 : 0;\n var gap = _calculateActualBeakWidthInPixels(beakWidth) / 2 + (props.gapSpace ? props.gapSpace : 0);\n var positionProps = props;\n positionProps.gapSpace = gap;\n var boundingRect = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n var positionedElement = _positionElementRelative(positionProps, callout, boundingRect, previousPositions);\n var beakPositioned = _positionBeak(beakWidth, positionedElement);\n var finalizedBeakPosition = _finalizeBeakPosition(positionedElement, beakPositioned, boundingRect);\n return __assign(__assign({}, _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget, doNotFinalizeReturnEdge)), { beakPosition: finalizedBeakPosition });\n}\nfunction _positionCard(props, hostElement, callout, previousPositions) {\n return _positionCallout(props, hostElement, callout, previousPositions, true);\n}\n// END PRIVATE FUNCTIONS\nexport var __positioningTestPackage = {\n _finalizePositionData: _finalizePositionData,\n _finalizeBeakPosition: _finalizeBeakPosition,\n _calculateActualBeakWidthInPixels: _calculateActualBeakWidthInPixels,\n _positionElementWithinBounds: _positionElementWithinBounds,\n _positionBeak: _positionBeak,\n _getPositionData: _getPositionData,\n _getMaxHeightFromTargetRectangle: _getMaxHeightFromTargetRectangle,\n};\n/**\n * Used to position an element relative to the given positioning props.\n * If positioning has been completed before, previousPositions can be passed to ensure that the positioning element\n * repositions based on its previous targets rather than starting with directionalhint.\n */\nexport function positionElement(props, hostElement, elementToPosition, previousPositions) {\n return _positionElement(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCallout(props, hostElement, elementToPosition, previousPositions) {\n return _positionCallout(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCard(props, hostElement, elementToPosition, previousPositions) {\n return _positionCard(props, hostElement, elementToPosition, previousPositions);\n}\n/**\n * Gets the maximum height that a rectangle can have in order to fit below or above a target.\n * If the directional hint specifies a left or right edge (i.e. leftCenter) it will limit the height to the topBorder\n * of the target given.\n * If no bounds are provided then the window is treated as the bounds.\n */\nexport function getMaxHeight(target, targetEdge, gapSpace, bounds, coverTarget) {\n if (gapSpace === void 0) { gapSpace = 0; }\n var mouseTarget = target;\n var elementTarget = target;\n var rectOrPointTarget = target;\n var targetRect;\n var boundingRectangle = bounds\n ? _getRectangleFromIRect(bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n // eslint-disable-next-line deprecation/deprecation\n var left = rectOrPointTarget.left || rectOrPointTarget.x;\n // eslint-disable-next-line deprecation/deprecation\n var top = rectOrPointTarget.top || rectOrPointTarget.y;\n var right = rectOrPointTarget.right || left;\n var bottom = rectOrPointTarget.bottom || top;\n // eslint-disable-next-line no-extra-boolean-cast -- may not actually be a MouseEvent\n if (!!mouseTarget.stopPropagation) {\n targetRect = new Rectangle(mouseTarget.clientX, mouseTarget.clientX, mouseTarget.clientY, mouseTarget.clientY);\n }\n else if (left !== undefined && top !== undefined) {\n targetRect = new Rectangle(left, right, top, bottom);\n }\n else {\n targetRect = _getRectangleFromElement(elementTarget);\n }\n return _getMaxHeightFromTargetRectangle(targetRect, targetEdge, gapSpace, boundingRectangle, coverTarget);\n}\n/**\n * Returns the opposite edge of the given RectangleEdge.\n */\nexport function getOppositeEdge(edge) {\n return edge * -1;\n}\nfunction _getBoundsFromTargetWindow(target, targetWindow) {\n var segments = undefined;\n if (targetWindow.getWindowSegments) {\n segments = targetWindow.getWindowSegments();\n }\n // Identify if we're dealing with single screen scenarios.\n if (segments === undefined || segments.length <= 1) {\n return {\n top: 0,\n left: 0,\n right: targetWindow.innerWidth,\n bottom: targetWindow.innerHeight,\n width: targetWindow.innerWidth,\n height: targetWindow.innerHeight,\n };\n }\n // Logic for determining dual screen scenarios.\n var x = 0;\n var y = 0;\n // If the target is an Element get coordinates for its center.\n if (target !== null && !!target.getBoundingClientRect) {\n var clientRect = target.getBoundingClientRect();\n x = (clientRect.left + clientRect.right) / 2;\n y = (clientRect.top + clientRect.bottom) / 2;\n }\n // If the target is not null get x-axis and y-axis coordinates directly.\n else if (target !== null) {\n // eslint-disable-next-line deprecation/deprecation\n x = target.left || target.x;\n // eslint-disable-next-line deprecation/deprecation\n y = target.top || target.y;\n }\n var bounds = { top: 0, left: 0, right: 0, bottom: 0, width: 0, height: 0 };\n // Define which window segment are the coordinates in and calculate bounds based on that.\n for (var _i = 0, segments_1 = segments; _i < segments_1.length; _i++) {\n var segment = segments_1[_i];\n if (x && segment.left <= x && segment.right >= x && y && segment.top <= y && segment.bottom >= y) {\n bounds = {\n top: segment.top,\n left: segment.left,\n right: segment.right,\n bottom: segment.bottom,\n width: segment.width,\n height: segment.height,\n };\n }\n }\n return bounds;\n}\nexport function getBoundsFromTargetWindow(target, targetWindow) {\n return _getBoundsFromTargetWindow(target, targetWindow);\n}\n//# sourceMappingURL=positioning.js.map","var _a;\nimport { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { Async, css, divProperties, elementContains, focusFirstChild, getDocument, getNativeProps, getWindow, on, shallowCompare, } from '../../Utilities';\nimport { positionCallout, getMaxHeight, RectangleEdge, positionCard, getBoundsFromTargetWindow, } from '../../utilities/positioning';\nimport { Popup } from '../../Popup';\nimport { classNamesFunction } from '../../Utilities';\nimport { AnimationClassNames } from '../../Styling';\nvar ANIMATIONS = (_a = {},\n _a[RectangleEdge.top] = AnimationClassNames.slideUpIn10,\n _a[RectangleEdge.bottom] = AnimationClassNames.slideDownIn10,\n _a[RectangleEdge.left] = AnimationClassNames.slideLeftIn10,\n _a[RectangleEdge.right] = AnimationClassNames.slideRightIn10,\n _a);\nvar getClassNames = classNamesFunction({\n disableCaching: true,\n});\nvar BEAK_ORIGIN_POSITION = { top: 0, left: 0 };\n// Microsoft Edge will overwrite inline styles if there is an animation pertaining to that style.\n// To help ensure that edge will respect the offscreen style opacity\n// filter needs to be added as an additional way to set opacity.\n// Also set pointer-events: none so that the callout will not occlude the element it is\n// going to be positioned against\nvar OFF_SCREEN_STYLE = { opacity: 0, filter: 'opacity(0)', pointerEvents: 'none' };\n// role and role description go hand-in-hand. Both would be included by spreading getNativeProps for a basic element\n// This constant array can be used to filter these out of native props spread on callout root and apply them together on\n// calloutMain (the Popup component within the callout)\nvar ARIA_ROLE_ATTRIBUTES = ['role', 'aria-roledescription'];\nvar CalloutContentBase = /** @class */ (function (_super) {\n __extends(CalloutContentBase, _super);\n function CalloutContentBase(props) {\n var _this = _super.call(this, props) || this;\n _this._hostElement = React.createRef();\n _this._calloutElement = React.createRef();\n _this._hasListeners = false;\n _this._disposables = [];\n _this.dismiss = function (ev) {\n var onDismiss = _this.props.onDismiss;\n if (onDismiss) {\n onDismiss(ev);\n }\n };\n _this._dismissOnScroll = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, preventDismissOnEvent = _a.preventDismissOnEvent, preventDismissOnScroll = _a.preventDismissOnScroll;\n if (_this.state.positions &&\n ((preventDismissOnEvent && !preventDismissOnEvent(ev)) || (!preventDismissOnEvent && !preventDismissOnScroll))) {\n _this._dismissOnClickOrScroll(ev);\n }\n };\n _this._dismissOnResize = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, preventDismissOnEvent = _a.preventDismissOnEvent, preventDismissOnResize = _a.preventDismissOnResize;\n if ((preventDismissOnEvent && !preventDismissOnEvent(ev)) || (!preventDismissOnEvent && !preventDismissOnResize)) {\n _this.dismiss(ev);\n }\n };\n _this._dismissOnLostFocus = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, preventDismissOnEvent = _a.preventDismissOnEvent, preventDismissOnLostFocus = _a.preventDismissOnLostFocus;\n if ((preventDismissOnEvent && !preventDismissOnEvent(ev)) ||\n (!preventDismissOnEvent && !preventDismissOnLostFocus)) {\n _this._dismissOnClickOrScroll(ev);\n }\n };\n _this._setInitialFocus = function () {\n if (_this.props.setInitialFocus &&\n !_this._didSetInitialFocus &&\n _this.state.positions &&\n _this._calloutElement.current) {\n _this._didSetInitialFocus = true;\n _this._async.requestAnimationFrame(function () { return focusFirstChild(_this._calloutElement.current); }, _this._calloutElement.current);\n }\n };\n _this._onComponentDidMount = function () {\n _this._addListeners();\n if (_this.props.onLayerMounted) {\n _this.props.onLayerMounted();\n }\n _this._updateAsyncPosition();\n _this._setHeightOffsetEveryFrame();\n };\n _this._dismissOnTargetWindowBlur = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, preventDismissOnEvent = _a.preventDismissOnEvent, preventDismissOnLostFocus = _a.preventDismissOnLostFocus, shouldDismissOnWindowFocus = _a.shouldDismissOnWindowFocus;\n // Do nothing\n if (!shouldDismissOnWindowFocus) {\n return;\n }\n if (((preventDismissOnEvent && !preventDismissOnEvent(ev)) ||\n (!preventDismissOnEvent && !preventDismissOnLostFocus)) &&\n !_this._targetWindow.document.hasFocus() &&\n ev.relatedTarget === null) {\n _this.dismiss(ev);\n }\n };\n _this._mouseDownOnPopup = function () {\n _this._isMouseDownOnPopup = true;\n };\n _this._mouseUpOnPopup = function () {\n _this._isMouseDownOnPopup = false;\n };\n _this._async = new Async(_this);\n _this._didSetInitialFocus = false;\n _this.state = {\n positions: undefined,\n slideDirectionalClassName: undefined,\n // @TODO it looks like this is not even being used anymore.\n calloutElementRect: undefined,\n heightOffset: 0,\n };\n _this._positionAttempts = 0;\n return _this;\n }\n CalloutContentBase.prototype.componentDidUpdate = function () {\n if (!this.props.hidden) {\n this._setInitialFocus();\n if (!this._hasListeners) {\n this._addListeners();\n }\n this._updateAsyncPosition();\n }\n else {\n if (this._hasListeners) {\n this._removeListeners();\n }\n }\n };\n CalloutContentBase.prototype.shouldComponentUpdate = function (newProps, newState) {\n if (!newProps.shouldUpdateWhenHidden && this.props.hidden && newProps.hidden) {\n // Do not update when hidden.\n return false;\n }\n return !shallowCompare(this.props, newProps) || !shallowCompare(this.state, newState);\n };\n CalloutContentBase.prototype.UNSAFE_componentWillMount = function () {\n this._setTargetWindowAndElement(this._getTarget());\n };\n CalloutContentBase.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._disposables.forEach(function (dispose) { return dispose(); });\n };\n CalloutContentBase.prototype.UNSAFE_componentWillUpdate = function (newProps) {\n // If the target element changed, find the new one. If we are tracking target with class name, always find element\n // because we do not know if fabric has rendered a new element and disposed the old element.\n var newTarget = this._getTarget(newProps);\n var oldTarget = this._getTarget();\n if ((newTarget !== oldTarget || typeof newTarget === 'string' || newTarget instanceof String) &&\n !this._blockResetHeight) {\n this._maxHeight = undefined;\n this._setTargetWindowAndElement(newTarget);\n }\n if (newProps.gapSpace !== this.props.gapSpace || this.props.beakWidth !== newProps.beakWidth) {\n this._maxHeight = undefined;\n }\n if (newProps.finalHeight !== this.props.finalHeight) {\n this._setHeightOffsetEveryFrame();\n }\n // Ensure positioning is recalculated when we are about to show a persisted menu.\n if (this._didPositionPropsChange(newProps, this.props)) {\n this._maxHeight = undefined;\n // Target might have been updated while hidden.\n this._setTargetWindowAndElement(newTarget);\n this.setState({\n positions: undefined,\n });\n this._didSetInitialFocus = false;\n this._bounds = undefined;\n }\n this._blockResetHeight = false;\n };\n CalloutContentBase.prototype.componentDidMount = function () {\n if (!this.props.hidden) {\n this._onComponentDidMount();\n }\n };\n CalloutContentBase.prototype.render = function () {\n // If there is no target window then we are likely in server side rendering and we should not render anything.\n if (!this._targetWindow) {\n return null;\n }\n var target = this.props.target;\n var _a = this.props, styles = _a.styles, style = _a.style, ariaLabel = _a.ariaLabel, ariaDescribedBy = _a.ariaDescribedBy, ariaLabelledBy = _a.ariaLabelledBy, className = _a.className, isBeakVisible = _a.isBeakVisible, children = _a.children, beakWidth = _a.beakWidth, calloutWidth = _a.calloutWidth, calloutMaxWidth = _a.calloutMaxWidth, calloutMinWidth = _a.calloutMinWidth, finalHeight = _a.finalHeight, _b = _a.hideOverflow, hideOverflow = _b === void 0 ? !!finalHeight : _b, backgroundColor = _a.backgroundColor, calloutMaxHeight = _a.calloutMaxHeight, onScroll = _a.onScroll, \n // eslint-disable-next-line deprecation/deprecation\n _c = _a.shouldRestoreFocus, \n // eslint-disable-next-line deprecation/deprecation\n shouldRestoreFocus = _c === void 0 ? true : _c;\n target = this._getTarget();\n var positions = this.state.positions;\n var getContentMaxHeight = this._getMaxHeight()\n ? this._getMaxHeight() + this.state.heightOffset\n : undefined;\n var contentMaxHeight = calloutMaxHeight && getContentMaxHeight && calloutMaxHeight < getContentMaxHeight\n ? calloutMaxHeight\n : getContentMaxHeight;\n var overflowYHidden = hideOverflow;\n var beakVisible = isBeakVisible && !!target;\n this._classNames = getClassNames(styles, {\n theme: this.props.theme,\n className: className,\n overflowYHidden: overflowYHidden,\n calloutWidth: calloutWidth,\n positions: positions,\n beakWidth: beakWidth,\n backgroundColor: backgroundColor,\n calloutMinWidth: calloutMinWidth,\n calloutMaxWidth: calloutMaxWidth,\n });\n var overflowStyle = __assign(__assign(__assign({}, style), { maxHeight: contentMaxHeight }), (overflowYHidden && { overflowY: 'hidden' }));\n var visibilityStyle = this.props.hidden ? { visibility: 'hidden' } : undefined;\n // React.CSSProperties does not understand IRawStyle, so the inline animations will need to be cast as any for now.\n var content = (React.createElement(\"div\", { ref: this._hostElement, className: this._classNames.container, style: visibilityStyle },\n React.createElement(\"div\", __assign({}, getNativeProps(this.props, divProperties, ARIA_ROLE_ATTRIBUTES), { className: css(this._classNames.root, positions && positions.targetEdge && ANIMATIONS[positions.targetEdge]), style: positions ? positions.elementPosition : OFF_SCREEN_STYLE, \n // Safari and Firefox on Mac OS requires this to back-stop click events so focus remains in the Callout.\n // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n tabIndex: -1, ref: this._calloutElement }),\n beakVisible && React.createElement(\"div\", { className: this._classNames.beak, style: this._getBeakPosition() }),\n beakVisible && React.createElement(\"div\", { className: this._classNames.beakCurtain }),\n React.createElement(Popup, __assign({}, getNativeProps(this.props, ARIA_ROLE_ATTRIBUTES), { ariaLabel: ariaLabel, onRestoreFocus: this.props.onRestoreFocus, ariaDescribedBy: ariaDescribedBy, ariaLabelledBy: ariaLabelledBy, className: this._classNames.calloutMain, onDismiss: this.dismiss, onScroll: onScroll, shouldRestoreFocus: shouldRestoreFocus, style: overflowStyle, onMouseDown: this._mouseDownOnPopup, onMouseUp: this._mouseUpOnPopup }), children))));\n return content;\n };\n CalloutContentBase.prototype._dismissOnClickOrScroll = function (ev) {\n var target = ev.target;\n var isEventTargetOutsideCallout = this._hostElement.current && !elementContains(this._hostElement.current, target);\n // If mouse is pressed down on callout but moved outside then released, don't dismiss the callout.\n if (isEventTargetOutsideCallout && this._isMouseDownOnPopup) {\n this._isMouseDownOnPopup = false;\n return;\n }\n if ((!this._target && isEventTargetOutsideCallout) ||\n (ev.target !== this._targetWindow &&\n isEventTargetOutsideCallout &&\n (this._target.stopPropagation ||\n !this._target ||\n this.props.dismissOnTargetClick ||\n (target !== this._target && !elementContains(this._target, target))))) {\n this.dismiss(ev);\n }\n };\n CalloutContentBase.prototype._addListeners = function () {\n var _this = this;\n // This is added so the callout will dismiss when the window is scrolled\n // but not when something inside the callout is scrolled. The delay seems\n // to be required to avoid React firing an async focus event in IE from\n // the target changing focus quickly prior to rendering the callout.\n this._async.setTimeout(function () {\n _this._disposables.push(on(_this._targetWindow, 'scroll', _this._dismissOnScroll, true), on(_this._targetWindow, 'resize', _this._dismissOnResize, true), on(_this._targetWindow.document.documentElement, 'focus', _this._dismissOnLostFocus, true), on(_this._targetWindow.document.documentElement, 'click', _this._dismissOnLostFocus, true), on(_this._targetWindow, 'blur', _this._dismissOnTargetWindowBlur, true));\n _this._hasListeners = true;\n }, 0);\n };\n CalloutContentBase.prototype._removeListeners = function () {\n this._disposables.forEach(function (dispose) { return dispose(); });\n this._disposables = [];\n this._hasListeners = false;\n };\n CalloutContentBase.prototype._updateAsyncPosition = function () {\n var _this = this;\n this._async.requestAnimationFrame(function () { return _this._updatePosition(); }, this._calloutElement.current);\n };\n CalloutContentBase.prototype._getBeakPosition = function () {\n var positions = this.state.positions;\n var beakPostionStyle = __assign({}, (positions && positions.beakPosition ? positions.beakPosition.elementPosition : null));\n if (!beakPostionStyle.top && !beakPostionStyle.bottom && !beakPostionStyle.left && !beakPostionStyle.right) {\n beakPostionStyle.left = BEAK_ORIGIN_POSITION.left;\n beakPostionStyle.top = BEAK_ORIGIN_POSITION.top;\n }\n return beakPostionStyle;\n };\n CalloutContentBase.prototype._updatePosition = function () {\n // Try to update the target, page might have changed\n this._setTargetWindowAndElement(this._getTarget());\n var positions = this.state.positions;\n var hostElement = this._hostElement.current;\n var calloutElement = this._calloutElement.current;\n // If we expect a target element to position against, we need to wait until `this._target` is resolved. Otherwise\n // we can try to position.\n var expectsTarget = !!this.props.target;\n if (hostElement && calloutElement && (!expectsTarget || this._target)) {\n var currentProps = __assign({}, this.props);\n currentProps.bounds = this._getBounds();\n currentProps.target = this._target;\n // If there is a finalHeight given then we assume that the user knows and will handle\n // additional positioning adjustments so we should call positionCard\n var newPositions = this.props.finalHeight\n ? positionCard(currentProps, hostElement, calloutElement, positions)\n : positionCallout(currentProps, hostElement, calloutElement, positions);\n // Set the new position only when the positions are not exists or one of the new callout positions are different.\n // The position should not change if the position is within 2 decimal places.\n if ((!positions && newPositions) ||\n (positions && newPositions && !this._arePositionsEqual(positions, newPositions) && this._positionAttempts < 5)) {\n // We should not reposition the callout more than a few times, if it is then the content is likely resizing\n // and we should stop trying to reposition to prevent a stack overflow.\n this._positionAttempts++;\n this.setState({\n positions: newPositions,\n });\n }\n else if (this._positionAttempts > 0) {\n // Only call the onPositioned callback if the callout has been re-positioned at least once.\n this._positionAttempts = 0;\n if (this.props.onPositioned) {\n this.props.onPositioned(this.state.positions);\n }\n }\n }\n };\n CalloutContentBase.prototype._getBounds = function () {\n if (!this._bounds) {\n var bounds = this.props.bounds;\n var currentBounds = typeof bounds === 'function' ? bounds(this.props.target, this._targetWindow) : bounds;\n if (!currentBounds) {\n currentBounds = getBoundsFromTargetWindow(this._target, this._targetWindow);\n currentBounds = {\n top: currentBounds.top + this.props.minPagePadding,\n left: currentBounds.left + this.props.minPagePadding,\n right: currentBounds.right - this.props.minPagePadding,\n bottom: currentBounds.bottom - this.props.minPagePadding,\n width: currentBounds.width - this.props.minPagePadding * 2,\n height: currentBounds.height - this.props.minPagePadding * 2,\n };\n }\n this._bounds = currentBounds;\n }\n return this._bounds;\n };\n // Max height should remain as synchronous as possible, which is why it is not done using set state.\n // It needs to be synchronous since it will impact the ultimate position of the callout.\n CalloutContentBase.prototype._getMaxHeight = function () {\n var _this = this;\n if (!this._maxHeight) {\n if (this.props.directionalHintFixed && this._target) {\n var beakWidth = this.props.isBeakVisible ? this.props.beakWidth : 0;\n var gapSpace = this.props.gapSpace ? this.props.gapSpace : 0;\n // Since the callout cannot measure it's border size it must be taken into account here. Otherwise it will\n // overlap with the target.\n var totalGap_1 = gapSpace + beakWidth;\n this._async.requestAnimationFrame(function () {\n if (_this._target) {\n _this._maxHeight = getMaxHeight(_this._target, _this.props.directionalHint, totalGap_1, _this._getBounds(), _this.props.coverTarget);\n _this._blockResetHeight = true;\n _this.forceUpdate();\n }\n }, this._target);\n }\n else {\n this._maxHeight = this._getBounds().height;\n }\n }\n return this._maxHeight;\n };\n CalloutContentBase.prototype._arePositionsEqual = function (positions, newPosition) {\n return (this._comparePositions(positions.elementPosition, newPosition.elementPosition) &&\n this._comparePositions(positions.beakPosition.elementPosition, newPosition.beakPosition.elementPosition));\n };\n CalloutContentBase.prototype._comparePositions = function (oldPositions, newPositions) {\n for (var key in newPositions) {\n if (newPositions.hasOwnProperty(key)) {\n var oldPositionEdge = oldPositions[key];\n var newPositionEdge = newPositions[key];\n if (oldPositionEdge !== undefined && newPositionEdge !== undefined) {\n if (oldPositionEdge.toFixed(2) !== newPositionEdge.toFixed(2)) {\n return false;\n }\n }\n else {\n return false;\n }\n }\n }\n return true;\n };\n CalloutContentBase.prototype._setTargetWindowAndElement = function (target) {\n var currentElement = this._calloutElement.current;\n if (target) {\n if (typeof target === 'string') {\n var currentDoc = getDocument(currentElement);\n this._target = currentDoc ? currentDoc.querySelector(target) : null;\n this._targetWindow = getWindow(currentElement);\n // Cast to any prevents error about stopPropagation always existing\n }\n else if (target.stopPropagation) {\n this._targetWindow = getWindow(target.target);\n this._target = target;\n // Same reason here\n }\n else if (target.getBoundingClientRect) {\n var targetElement = target;\n this._targetWindow = getWindow(targetElement);\n this._target = targetElement;\n }\n else if (target.current !== undefined) {\n this._target = target.current;\n this._targetWindow = getWindow(this._target);\n // HTMLImgElements can have x and y values. The check for it being a point must go last.\n }\n else {\n this._targetWindow = getWindow(currentElement);\n this._target = target;\n }\n }\n else {\n this._targetWindow = getWindow(currentElement);\n }\n };\n CalloutContentBase.prototype._setHeightOffsetEveryFrame = function () {\n var _this = this;\n if (this._calloutElement.current && this.props.finalHeight) {\n this._setHeightOffsetTimer = this._async.requestAnimationFrame(function () {\n var calloutMainElem = _this._calloutElement.current && _this._calloutElement.current.lastChild;\n if (!calloutMainElem) {\n return;\n }\n var cardScrollHeight = calloutMainElem.scrollHeight;\n var cardCurrHeight = calloutMainElem.offsetHeight;\n var scrollDiff = cardScrollHeight - cardCurrHeight;\n _this.setState({\n heightOffset: _this.state.heightOffset + scrollDiff,\n });\n if (calloutMainElem.offsetHeight < _this.props.finalHeight) {\n _this._setHeightOffsetEveryFrame();\n }\n else {\n _this._async.cancelAnimationFrame(_this._setHeightOffsetTimer, _this._calloutElement.current);\n }\n }, this._calloutElement.current);\n }\n };\n // Whether or not the current positions should be reset\n CalloutContentBase.prototype._didPositionPropsChange = function (newProps, oldProps) {\n return ((!newProps.hidden && newProps.hidden !== oldProps.hidden) ||\n newProps.directionalHint !== oldProps.directionalHint ||\n newProps.target !== oldProps.target);\n };\n CalloutContentBase.prototype._getTarget = function (props) {\n if (props === void 0) { props = this.props; }\n var target = props.target;\n return target;\n };\n CalloutContentBase.defaultProps = {\n preventDismissOnLostFocus: false,\n preventDismissOnScroll: false,\n preventDismissOnResize: false,\n isBeakVisible: true,\n beakWidth: 16,\n gapSpace: 0,\n minPagePadding: 8,\n directionalHint: DirectionalHint.bottomAutoEdge,\n };\n return CalloutContentBase;\n}(React.Component));\nexport { CalloutContentBase };\n//# sourceMappingURL=CalloutContent.base.js.map","import { HighContrastSelector, focusClear, getGlobalClassNames } from '../../Styling';\nfunction getBeakStyle(beakWidth) {\n return {\n height: beakWidth,\n width: beakWidth,\n };\n}\nvar GlobalClassNames = {\n container: 'ms-Callout-container',\n root: 'ms-Callout',\n beak: 'ms-Callout-beak',\n beakCurtain: 'ms-Callout-beakCurtain',\n calloutMain: 'ms-Callout-main',\n};\nexport var getStyles = function (props) {\n var _a;\n var theme = props.theme, className = props.className, overflowYHidden = props.overflowYHidden, calloutWidth = props.calloutWidth, beakWidth = props.beakWidth, backgroundColor = props.backgroundColor, calloutMaxWidth = props.calloutMaxWidth, calloutMinWidth = props.calloutMinWidth;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var semanticColors = theme.semanticColors, effects = theme.effects;\n return {\n container: [\n classNames.container,\n {\n position: 'relative',\n },\n ],\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n position: 'absolute',\n boxSizing: 'border-box',\n borderRadius: effects.roundedCorner2,\n boxShadow: effects.elevation16,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'WindowText',\n },\n _a),\n },\n focusClear(),\n className,\n !!calloutWidth && { width: calloutWidth },\n !!calloutMaxWidth && { maxWidth: calloutMaxWidth },\n !!calloutMinWidth && { minWidth: calloutMinWidth },\n ],\n beak: [\n classNames.beak,\n {\n position: 'absolute',\n backgroundColor: semanticColors.menuBackground,\n boxShadow: 'inherit',\n border: 'inherit',\n boxSizing: 'border-box',\n transform: 'rotate(45deg)',\n },\n getBeakStyle(beakWidth),\n backgroundColor && {\n backgroundColor: backgroundColor,\n },\n ],\n beakCurtain: [\n classNames.beakCurtain,\n {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n backgroundColor: semanticColors.menuBackground,\n borderRadius: effects.roundedCorner2,\n },\n ],\n calloutMain: [\n classNames.calloutMain,\n {\n backgroundColor: semanticColors.menuBackground,\n overflowX: 'hidden',\n overflowY: 'auto',\n position: 'relative',\n borderRadius: effects.roundedCorner2,\n },\n overflowYHidden && {\n overflowY: 'hidden',\n },\n backgroundColor && {\n backgroundColor: backgroundColor,\n },\n ],\n };\n};\n//# sourceMappingURL=CalloutContent.styles.js.map","import { styled } from '../../Utilities';\nimport { CalloutContentBase } from './CalloutContent.base';\nimport { getStyles } from './CalloutContent.styles';\nexport var CalloutContent = styled(CalloutContentBase, getStyles, undefined, { scope: 'CalloutContent' });\n//# sourceMappingURL=CalloutContent.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { CalloutContent } from './CalloutContent';\nimport { Layer } from '../../Layer';\nvar Callout = /** @class */ (function (_super) {\n __extends(Callout, _super);\n function Callout() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Callout.prototype.render = function () {\n var _a = this.props, layerProps = _a.layerProps, rest = __rest(_a, [\"layerProps\"]);\n var content = React.createElement(CalloutContent, __assign({}, rest));\n return this.props.doNotLayer ? content : React.createElement(Layer, __assign({}, layerProps), content);\n };\n return Callout;\n}(React.Component));\nexport { Callout };\n//# sourceMappingURL=Callout.js.map","// A packages cache that makes sure that we don't inject the same packageName twice in the same bundle -\n// this cache is local to the module closure inside this bundle\nvar packagesCache = {};\n// Cache access to window to avoid IE11 memory leak.\nvar _win = undefined;\ntry {\n _win = window;\n}\ncatch (e) {\n /* no-op */\n}\nexport function setVersion(packageName, packageVersion) {\n if (typeof _win !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var packages = (_win.__packages__ = _win.__packages__ || {});\n // We allow either the global packages or local packages caches to invalidate so testing can\n // just clear the global to set this state\n if (!packages[packageName] || !packagesCache[packageName]) {\n packagesCache[packageName] = packageVersion;\n var versions = (packages[packageName] = packages[packageName] || []);\n versions.push(packageVersion);\n }\n }\n}\n//# sourceMappingURL=setVersion.js.map","import { setVersion } from './setVersion';\nexport { setVersion };\nsetVersion('@uifabric/set-version', '6.0.0');\n//# sourceMappingURL=index.js.map","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n"," \r\n export enum Timeframe {\r\n LastHour = 0,\r\n Last3Hours = 1,\r\n Last6Hours = 2,\r\n Last12Hours = 3,\r\n Last24Hours = 4,\r\n Yesterday = 5,\r\n Last3Days = 6,\r\n Last7Days = 7,\r\n CurrentWeek = 8,\r\n LastWeek = 9,\r\n Last30Days = 10,\r\n CurrentMonth = 11,\r\n LastMonth = 12,\r\n Last48Hours = 13,\r\n Last30Minutes = 14,\r\n Last5Minutes = 15,\r\n Today = 16,\r\n Last90Days = 17,\r\n }\r\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/forced-string-trim-method');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import { __assign } from \"tslib\";\nimport { dropUndefinedKeys, timestampWithMs, uuid4 } from '@sentry/utils';\nimport { SpanStatus } from './spanstatus';\n/**\n * Keeps track of finished spans for a given transaction\n * @internal\n * @hideconstructor\n * @hidden\n */\nvar SpanRecorder = /** @class */ (function () {\n function SpanRecorder(maxlen) {\n if (maxlen === void 0) { maxlen = 1000; }\n this.spans = [];\n this._maxlen = maxlen;\n }\n /**\n * This is just so that we don't run out of memory while recording a lot\n * of spans. At some point we just stop and flush out the start of the\n * trace tree (i.e.the first n spans with the smallest\n * start_timestamp).\n */\n SpanRecorder.prototype.add = function (span) {\n if (this.spans.length > this._maxlen) {\n span.spanRecorder = undefined;\n }\n else {\n this.spans.push(span);\n }\n };\n return SpanRecorder;\n}());\nexport { SpanRecorder };\n/**\n * Span contains all data about a span\n */\nvar Span = /** @class */ (function () {\n /**\n * You should never call the constructor manually, always use `Sentry.startTransaction()`\n * or call `startChild()` on an existing span.\n * @internal\n * @hideconstructor\n * @hidden\n */\n function Span(spanContext) {\n /**\n * @inheritDoc\n */\n this.traceId = uuid4();\n /**\n * @inheritDoc\n */\n this.spanId = uuid4().substring(16);\n /**\n * Timestamp in seconds when the span was created.\n */\n this.startTimestamp = timestampWithMs();\n /**\n * @inheritDoc\n */\n this.tags = {};\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.data = {};\n if (!spanContext) {\n return this;\n }\n if (spanContext.traceId) {\n this.traceId = spanContext.traceId;\n }\n if (spanContext.spanId) {\n this.spanId = spanContext.spanId;\n }\n if (spanContext.parentSpanId) {\n this.parentSpanId = spanContext.parentSpanId;\n }\n // We want to include booleans as well here\n if ('sampled' in spanContext) {\n this.sampled = spanContext.sampled;\n }\n if (spanContext.op) {\n this.op = spanContext.op;\n }\n if (spanContext.description) {\n this.description = spanContext.description;\n }\n if (spanContext.data) {\n this.data = spanContext.data;\n }\n if (spanContext.tags) {\n this.tags = spanContext.tags;\n }\n if (spanContext.status) {\n this.status = spanContext.status;\n }\n if (spanContext.startTimestamp) {\n this.startTimestamp = spanContext.startTimestamp;\n }\n if (spanContext.endTimestamp) {\n this.endTimestamp = spanContext.endTimestamp;\n }\n }\n /**\n * @inheritDoc\n * @deprecated\n */\n Span.prototype.child = function (spanContext) {\n return this.startChild(spanContext);\n };\n /**\n * @inheritDoc\n */\n Span.prototype.startChild = function (spanContext) {\n var childSpan = new Span(__assign(__assign({}, spanContext), { parentSpanId: this.spanId, sampled: this.sampled, traceId: this.traceId }));\n childSpan.spanRecorder = this.spanRecorder;\n if (childSpan.spanRecorder) {\n childSpan.spanRecorder.add(childSpan);\n }\n childSpan.transaction = this.transaction;\n return childSpan;\n };\n /**\n * @inheritDoc\n */\n Span.prototype.setTag = function (key, value) {\n var _a;\n this.tags = __assign(__assign({}, this.tags), (_a = {}, _a[key] = value, _a));\n return this;\n };\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n Span.prototype.setData = function (key, value) {\n var _a;\n this.data = __assign(__assign({}, this.data), (_a = {}, _a[key] = value, _a));\n return this;\n };\n /**\n * @inheritDoc\n */\n Span.prototype.setStatus = function (value) {\n this.status = value;\n return this;\n };\n /**\n * @inheritDoc\n */\n Span.prototype.setHttpStatus = function (httpStatus) {\n this.setTag('http.status_code', String(httpStatus));\n var spanStatus = SpanStatus.fromHttpCode(httpStatus);\n if (spanStatus !== SpanStatus.UnknownError) {\n this.setStatus(spanStatus);\n }\n return this;\n };\n /**\n * @inheritDoc\n */\n Span.prototype.isSuccess = function () {\n return this.status === SpanStatus.Ok;\n };\n /**\n * @inheritDoc\n */\n Span.prototype.finish = function (endTimestamp) {\n this.endTimestamp = typeof endTimestamp === 'number' ? endTimestamp : timestampWithMs();\n };\n /**\n * @inheritDoc\n */\n Span.prototype.toTraceparent = function () {\n var sampledString = '';\n if (this.sampled !== undefined) {\n sampledString = this.sampled ? '-1' : '-0';\n }\n return this.traceId + \"-\" + this.spanId + sampledString;\n };\n /**\n * @inheritDoc\n */\n Span.prototype.getTraceContext = function () {\n return dropUndefinedKeys({\n data: Object.keys(this.data).length > 0 ? this.data : undefined,\n description: this.description,\n op: this.op,\n parent_span_id: this.parentSpanId,\n span_id: this.spanId,\n status: this.status,\n tags: Object.keys(this.tags).length > 0 ? this.tags : undefined,\n trace_id: this.traceId,\n });\n };\n /**\n * @inheritDoc\n */\n Span.prototype.toJSON = function () {\n return dropUndefinedKeys({\n data: Object.keys(this.data).length > 0 ? this.data : undefined,\n description: this.description,\n op: this.op,\n parent_span_id: this.parentSpanId,\n span_id: this.spanId,\n start_timestamp: this.startTimestamp,\n status: this.status,\n tags: Object.keys(this.tags).length > 0 ? this.tags : undefined,\n timestamp: this.endTimestamp,\n trace_id: this.traceId,\n });\n };\n return Span;\n}());\nexport { Span };\n//# sourceMappingURL=span.js.map","import * as monacoEditor from 'monaco-editor';\r\nimport { BreakdownDimension } from 'TypeWriterScripts/BreakdownDimension';\r\nimport { WidgetSourceType } from 'TypeWriterScripts/WidgetSourceType';\r\nimport { NewUIHawkUIBasePath } from './consts';\r\nimport { Path } from './paths';\r\nimport { Item } from './simpleTypes';\r\n\r\nexport enum UrlType {\r\n Alert = 1,\r\n Error = 2,\r\n Performance = 3,\r\n Waterfall = 4,\r\n Test = 5,\r\n TestDetail = 6,\r\n AlertItem = 7,\r\n SyntheticSmartboard = 8,\r\n NodeSmartboard = 9,\r\n RealUserSmartboard = 10,\r\n RealUserAppDetail = 11,\r\n Home = 12,\r\n WidgetLibrary = 13,\r\n RealUserRecord = 14,\r\n TestOverview = 15,\r\n DefaultDashboard = 16,\r\n SonarOverview = 17,\r\n TestTemplate = 18,\r\n TestTemplateDetail = 19,\r\n SonarAppSmartBoard = 20,\r\n SonarDeviceSmartBoard = 21,\r\n SonarLocationSmartBoard = 23,\r\n RipeStat = 24,\r\n ProductDetail = 25,\r\n TestFolderDetail = 26,\r\n BGPOverview = 27,\r\n BgpSmartboard = 28,\r\n Explorer = 29,\r\n RumGenericAppDetail = 30,\r\n ControlCenter = 31,\r\n Reports = 32,\r\n ReportList = 33,\r\n Templates = 34,\r\n TemplateList = 35,\r\n RecentErrors = 36,\r\n Glimpse = 37,\r\n DataviewList = 38,\r\n CustomDashboard = 39,\r\n AlertNotification = 40,\r\n IncidentListOld = 41,\r\n Incidents = 42,\r\n ContactList = 43,\r\n Contacts = 44,\r\n ContactGroupList = 45,\r\n ContactGroups = 46,\r\n NodeMap = 47,\r\n NodeGroups = 48,\r\n NodeList = 49,\r\n Nodes = 50,\r\n RejectedInstances = 51,\r\n InstanceList = 52,\r\n Instances = 53,\r\n PackageList = 54,\r\n Packages = 55,\r\n BgpPeers = 56,\r\n ClientList = 57,\r\n Clients = 58,\r\n DivisionList = 59,\r\n Divisions = 60,\r\n ScheduleList = 61,\r\n Schedules = 62,\r\n UserRoleList = 63,\r\n UserRoles = 64,\r\n BenchmarkIndexes = 65,\r\n ZoneList = 66,\r\n Zones = 67,\r\n Insights = 68,\r\n Api = 69,\r\n LicenseList = 70,\r\n AppList = 71,\r\n Apps = 72,\r\n RumAllocationList = 73,\r\n DataCleanup = 74,\r\n SlaPurgeItemList = 75,\r\n AccountActivity = 76,\r\n UsageReport = 77,\r\n AccountInfo = 78,\r\n IdentityProvider = 79,\r\n PointsAllocation = 80,\r\n Integrations = 81,\r\n AccessDenied = 82,\r\n TracerouteSmartboard = 83,\r\n ControlCenterTests = 84,\r\n ControlCenterRum = 85,\r\n ControlCenterEndpoint = 86,\r\n Records = 87,\r\n InstantTestEnpointDetail = 88,\r\n NewEndpointInstantTest = 89,\r\n DivisionDetail = 90,\r\n ContactGroupDetail = 91,\r\n ScheduleDetail = 92,\r\n ContactDetail = 93,\r\n UserRoleDetail = 94,\r\n Logout = 95,\r\n Login = 96,\r\n RealUserRecordDetails = 97,\r\n ControlCenterEndpointTest = 98,\r\n EndpointTestSmartBoard = 99,\r\n RumRecords = 100,\r\n EndpointAppSmartBoard = 101,\r\n EndpointDeviceSmartBoard = 102,\r\n EndpointLocationSmartBoard = 103,\r\n CustomVisualization = 104,\r\n SyntheticInstantTest = 105,\r\n InstantTestList = 106,\r\n NewInstantTest = 107,\r\n PricingCalculator = 108,\r\n ThirdPartyNotices = 109,\r\n ApiHelp = 111,\r\n Training = 112,\r\n EndpointInstantTestList = 113,\r\n CustomDashboardNew = 114,\r\n CustomDashboardEdit = 115,\r\n Help = 116,\r\n Documentation = 117,\r\n RipeStatNewPlaceholderPage = 118,\r\n NodeDetail = 119,\r\n NodeView = 120,\r\n TestAlertLog = 121,\r\n RumAlertLog = 122,\r\n InstanceDetail = 123,\r\n AddInstance = 124,\r\n ControlCenterEndpointEmployeeApp = 125,\r\n ControlCenterEndpointDevice = 126,\r\n ControlCenterEndpointLocation = 127,\r\n NodeToNodeSmartboard = 128,\r\n NodeListOld = 129,\r\n MachineList = 130,\r\n IncidentList = 132,\r\n WptSmartboard = 133,\r\n ControlCenterLibrary = 134,\r\n WptRecordsCompare = 135,\r\n InstantTestListLegacy = 136,\r\n InstantTestCreate = 137,\r\n ApiHelpV2 = 138,\r\n TestSmartboard = 139,\r\n EndpointInstantTestCreate = 140,\r\n WptRecord = 141,\r\n ControlCenterAsnLibrary = 142\r\n}\r\n\r\nexport interface DimensionUrlInfo {\r\n id: string;\r\n urlType: UrlType;\r\n}\r\n\r\nexport function getRelativeUrl(type: UrlType) {\r\n switch (type) {\r\n case UrlType.Alert:\r\n return '/Alerts/AlertNotificationList.aspx';\r\n case UrlType.TestAlertLog:\r\n return '/Alerts/Test';\r\n case UrlType.RumAlertLog:\r\n return '/Alerts/Rum';\r\n case UrlType.AlertItem:\r\n return '/Alerts/AlertNotificationData.aspx';\r\n case UrlType.Performance:\r\n return '/Charts/Performance.aspx';\r\n case UrlType.Waterfall:\r\n return '/Charts/Waterfall.aspx';\r\n case UrlType.SyntheticInstantTest:\r\n return '/Charts/InstantTestDetail.aspx';\r\n case UrlType.Error:\r\n return '/Charts/RecentErrors.aspx';\r\n case UrlType.Test:\r\n return '/Tests/TestModuleList.aspx';\r\n case UrlType.TestDetail:\r\n return '/Tests/TestDetail.aspx';\r\n case UrlType.SyntheticSmartboard:\r\n return '/Smartboard/Syn/';\r\n case UrlType.TestSmartboard:\r\n return '/Smartboard/Test';\r\n case UrlType.WptSmartboard:\r\n return '/Smartboard/Saas/';\r\n case UrlType.TracerouteSmartboard:\r\n return '/Smartboard/Traceroute/';\r\n case UrlType.NodeSmartboard:\r\n return '/Smartboard/Node/';\r\n case UrlType.RealUserSmartboard:\r\n return '/Smartboard/RUM/';\r\n case UrlType.RealUserAppDetail:\r\n return '/Administration/GlimpseAppDetail.aspx';\r\n case UrlType.Home:\r\n return '/Home.aspx';\r\n case UrlType.WidgetLibrary:\r\n return '/WidgetLibrary.aspx';\r\n case UrlType.RealUserRecord:\r\n return '/Charts/Records/';\r\n case UrlType.RealUserRecordDetails:\r\n return '/Charts/RecordDetails.aspx';\r\n case UrlType.TestOverview:\r\n return '/Dashboard/Test';\r\n case UrlType.SonarOverview:\r\n return '/Dashboard/Endpoint';\r\n case UrlType.DefaultDashboard:\r\n return '/Dashboard';\r\n case UrlType.TestTemplate:\r\n return '/ControlCenter/TestTemplate';\r\n case UrlType.TestTemplateDetail:\r\n return '/Tests/TestTemplateDetail.aspx';\r\n case UrlType.SonarAppSmartBoard:\r\n return '/Smartboard/EmployeeApp/';\r\n case UrlType.SonarDeviceSmartBoard:\r\n return '/Smartboard/Endpoint/';\r\n case UrlType.SonarLocationSmartBoard:\r\n return '/Smartboard/Location/';\r\n case UrlType.RipeStat:\r\n return '/Charts/RipeStat.aspx';\r\n case UrlType.ProductDetail:\r\n return '/Tests/ProductDetail.aspx';\r\n case UrlType.TestFolderDetail:\r\n return '/Tests/TestFolderDetail.aspx';\r\n case UrlType.BGPOverview:\r\n return '/Dashboard/Bgp';\r\n case UrlType.BgpSmartboard:\r\n return '/Smartboard/BGP/';\r\n case UrlType.Explorer:\r\n return '/Explorer/';\r\n case UrlType.RumGenericAppDetail:\r\n return '/Administration/Detail.aspx';\r\n case UrlType.ControlCenter:\r\n return '/ControlCenter/';\r\n case UrlType.ReportList:\r\n return '/Reports/ReportList.aspx';\r\n case UrlType.Reports:\r\n return '/Reports/Reports';\r\n case UrlType.Templates:\r\n return '/Reports/Templates';\r\n case UrlType.TemplateList:\r\n return '/Reports/TemplateList.aspx';\r\n case UrlType.RecentErrors:\r\n return '/Charts/RecentErrors.aspx';\r\n case UrlType.Glimpse:\r\n return '/Charts/Glimpse.aspx';\r\n case UrlType.DataviewList:\r\n return '/Charts/GlimpseDataViewList.aspx';\r\n case UrlType.CustomDashboard:\r\n return '/Dashboard/Custom';\r\n case UrlType.CustomDashboardNew:\r\n return '/Dashboard/Custom/New';\r\n case UrlType.CustomDashboardEdit:\r\n return '/Dashboard/Custom/Edit';\r\n case UrlType.AlertNotification:\r\n return '/Alerts/AlertNotifications';\r\n case UrlType.IncidentListOld:\r\n return '/Alerts/IncidentList.aspx';\r\n case UrlType.IncidentList:\r\n return '/IncidentList';\r\n case UrlType.Incidents:\r\n return '/Alerts/Incidents';\r\n case UrlType.Contacts:\r\n return '/Contacts';\r\n case UrlType.ContactDetail:\r\n return '/Contacts/ContactDetail.aspx';\r\n case UrlType.ContactGroups:\r\n return '/ContactGroups';\r\n case UrlType.ContactList:\r\n return '/Contacts/ContactList.aspx';\r\n case UrlType.ContactGroupDetail:\r\n return '/Contacts/ContactGroupDetail.aspx';\r\n case UrlType.ContactGroupList:\r\n return '/Contacts/ContactGroups.aspx';\r\n case UrlType.NodeMap:\r\n return '/Nodes/NodeInformation';\r\n case UrlType.NodeGroups:\r\n return '/Nodes/NodeGroups';\r\n case UrlType.NodeList:\r\n return '/Nodes/NodeList';\r\n case UrlType.Nodes:\r\n return '/Nodes/Nodes';\r\n case UrlType.RejectedInstances:\r\n return '/Nodes/RejectedAgentList.aspx';\r\n case UrlType.InstanceList:\r\n return '/Instances/InstanceList';\r\n case UrlType.Instances:\r\n return '/Nodes/Machines';\r\n case UrlType.PackageList:\r\n return '/Nodes/PackageList.aspx';\r\n case UrlType.Packages:\r\n return '/Nodes/Packages';\r\n case UrlType.BgpPeers:\r\n return '/Nodes/BgpPeers';\r\n case UrlType.ClientList:\r\n return '/Administration/ClientList.aspx';\r\n case UrlType.Clients:\r\n return '/Administration/Clients';\r\n case UrlType.DivisionList:\r\n return '/Administration/DivisionList.aspx';\r\n case UrlType.Divisions:\r\n return '/Divisions';\r\n case UrlType.DivisionDetail:\r\n return '/Administration/DivisionDetail.aspx';\r\n case UrlType.ScheduleList:\r\n return '/Administration/ScheduleList.aspx';\r\n case UrlType.Schedules:\r\n return '/Schedules';\r\n case UrlType.UserRoleList:\r\n return '/Administration/UserRoleList.aspx';\r\n case UrlType.UserRoles:\r\n return '/UserRoles';\r\n case UrlType.UserRoleDetail:\r\n return '/Administration/UserRoleDetail.aspx';\r\n case UrlType.BenchmarkIndexes:\r\n return '/Administration/Indexes';\r\n case UrlType.ZoneList:\r\n return '/Administration/ZoneList.aspx';\r\n case UrlType.Zones:\r\n return '/Administration/Zones';\r\n case UrlType.Insights:\r\n return '/Administration/InsightDetail.aspx';\r\n case UrlType.Api:\r\n return '/Administration/ApiDetail.aspx';\r\n case UrlType.LicenseList:\r\n return '/Administration/LicenseList.aspx';\r\n case UrlType.AppList:\r\n return '/Administration/AppList.aspx';\r\n case UrlType.Apps:\r\n return '/Administration/Apps';\r\n case UrlType.ScheduleDetail:\r\n return '/Administration/ScheduleDetail.aspx';\r\n case UrlType.RumAllocationList:\r\n return '/Administration/GlimpseAllocations.aspx';\r\n case UrlType.DataCleanup:\r\n return '/Administration/DataCleanupList.aspx';\r\n case UrlType.SlaPurgeItemList:\r\n return '/Administration/SLAPurgeItemList.aspx';\r\n case UrlType.AccountActivity:\r\n return '/Administration/AccountActivity.aspx';\r\n case UrlType.UsageReport:\r\n return '/Administration/UsageReport.aspx';\r\n case UrlType.AccountInfo:\r\n return '/Administration/AccountInfo.aspx';\r\n case UrlType.IdentityProvider:\r\n return '/Administration/IdentityProvider.aspx';\r\n case UrlType.PointsAllocation:\r\n return '/Administration/PointsAllocation.aspx';\r\n case UrlType.Integrations:\r\n return '/Administration/Integration.aspx';\r\n case UrlType.AccessDenied:\r\n return '/Entry/ErrorPage.aspx?type=InvalidAccess';\r\n case UrlType.ControlCenterTests:\r\n return '/ControlCenter/Tests';\r\n case UrlType.ControlCenterRum:\r\n return '/ControlCenter/Rum';\r\n case UrlType.ControlCenterEndpoint:\r\n return '/ControlCenter/Endpoint';\r\n case UrlType.InstantTestEnpointDetail:\r\n return '/InstantTest/Endpoint/Detail';\r\n case UrlType.Records:\r\n return '/Record/Test';\r\n case UrlType.Logout:\r\n return '/Entry/Logout.aspx';\r\n case UrlType.Login:\r\n return '/Entry/Login.aspx';\r\n case UrlType.ControlCenterEndpointTest:\r\n return '/ControlCenter/Endpoint/Test';\r\n case UrlType.EndpointTestSmartBoard:\r\n return '/Smartboard/EndpointTest/';\r\n case UrlType.EndpointAppSmartBoard:\r\n return '/Smartboard/EmployeeApp/';\r\n case UrlType.EndpointDeviceSmartBoard:\r\n return '/Smartboard/Endpoint/';\r\n case UrlType.EndpointLocationSmartBoard:\r\n return '/Smartboard/Location/';\r\n case UrlType.RumRecords:\r\n return '/Record/Rum';\r\n case UrlType.CustomVisualization:\r\n return '/CustomVisualization';\r\n case UrlType.InstantTestListLegacy:\r\n return '/Charts/InstantTestList.aspx';\r\n case UrlType.NewInstantTest:\r\n return '/Charts/InstantTestDetail.aspx';\r\n case UrlType.ApiHelp:\r\n return '/Help/ApiHelp.aspx';\r\n case UrlType.Training:\r\n return '/Help/Training.aspx';\r\n case UrlType.PricingCalculator:\r\n return '/Help/PricingCalculator.aspx';\r\n case UrlType.ThirdPartyNotices:\r\n return '/Help/ThirdPartyNotices.aspx';\r\n case UrlType.EndpointInstantTestList:\r\n return '/InstantTest/Endpoint';\r\n case UrlType.InstantTestList:\r\n return '/InstantTest';\r\n case UrlType.InstantTestCreate:\r\n return '/InstantTest/Tests/New';\r\n case UrlType.EndpointInstantTestCreate:\r\n return '/InstantTest/Endpoint/New';\r\n case UrlType.RipeStatNewPlaceholderPage:\r\n return '/Entry/RipeStatPlaceholder.aspx';\r\n case UrlType.Help:\r\n return '/Zendesk';\r\n case UrlType.Documentation:\r\n return 'https://support.catchpoint.com/hc';\r\n case UrlType.NodeDetail:\r\n return '/Nodes/NodeDetail.aspx';\r\n case UrlType.NodeView:\r\n return '/Nodes/NodeView.aspx';\r\n case UrlType.InstanceDetail:\r\n return '/Nodes/MachineDetail.aspx';\r\n case UrlType.AddInstance:\r\n return '/Nodes/NodeList/0/AddInstance';\r\n case UrlType.ControlCenterEndpointEmployeeApp:\r\n return '/ControlCenter/Endpoint/EmployeeApps';\r\n case UrlType.ControlCenterEndpointDevice:\r\n return '/ControlCenter/Endpoint/Endpoints';\r\n case UrlType.ControlCenterEndpointLocation:\r\n return '/ControlCenter/Endpoint/Locations';\r\n case UrlType.NodeToNodeSmartboard:\r\n return '/Smartboard/NodeToNode/';\r\n case UrlType.NodeListOld:\r\n return '/Nodes/NodeList.aspx';\r\n case UrlType.MachineList:\r\n return '/Nodes/MachineList.aspx';\r\n case UrlType.ControlCenterLibrary:\r\n return '/ControlCenter/Library';\r\n case UrlType.WptRecordsCompare:\r\n return '/wpt/RecordsCompare';\r\n case UrlType.WptRecord:\r\n return '/Record/Wpt';\r\n case UrlType.ApiHelpV2:\r\n return '/Help/ApiHelpV2.aspx';\r\n case UrlType.ControlCenterAsnLibrary:\r\n return '/ControlCenter/Library/ASNs';\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nexport const getUrlType = (\r\n dimension: BreakdownDimension,\r\n sourceType?: WidgetSourceType,\r\n isTestSmartboardEnabled?: boolean\r\n) => {\r\n let urlInfo: DimensionUrlInfo;\r\n switch (dimension) {\r\n case BreakdownDimension.SonarLocation:\r\n urlInfo = {\r\n id: 'locId',\r\n urlType: UrlType.SonarLocationSmartBoard\r\n };\r\n return urlInfo;\r\n case BreakdownDimension.SonarDevice:\r\n urlInfo = {\r\n id: 'userId',\r\n urlType: UrlType.SonarDeviceSmartBoard\r\n };\r\n return urlInfo;\r\n case BreakdownDimension.App:\r\n urlInfo = {\r\n id: 'appId',\r\n urlType: UrlType.RealUserSmartboard\r\n };\r\n return urlInfo;\r\n case BreakdownDimension.EmployeeApp:\r\n urlInfo = {\r\n id: 'employeeAppId',\r\n urlType: UrlType.SonarAppSmartBoard\r\n };\r\n return urlInfo;\r\n case BreakdownDimension.Node:\r\n urlInfo = {\r\n id: 'n',\r\n urlType: UrlType.NodeSmartboard\r\n };\r\n return urlInfo;\r\n case BreakdownDimension.Test:\r\n if (\r\n sourceType === WidgetSourceType.SonarApp ||\r\n sourceType === WidgetSourceType.SonarDevice ||\r\n sourceType === WidgetSourceType.SonarLocation ||\r\n sourceType === WidgetSourceType.EndpointTest\r\n ) {\r\n urlInfo = {\r\n id: 'endpointTestId',\r\n urlType: UrlType.EndpointTestSmartBoard\r\n };\r\n } else {\r\n urlInfo = {\r\n id: isTestSmartboardEnabled ? 'ti' : 'testId',\r\n urlType: isTestSmartboardEnabled ? UrlType.TestSmartboard : UrlType.SyntheticSmartboard\r\n };\r\n }\r\n return urlInfo;\r\n default:\r\n urlInfo = {\r\n id: isTestSmartboardEnabled ? 'ti' : 'testId',\r\n urlType: isTestSmartboardEnabled ? UrlType.TestSmartboard : UrlType.SyntheticSmartboard\r\n };\r\n return urlInfo;\r\n }\r\n};\r\n\r\nexport function getBaseUrl(navigatingTo?: string): string {\r\n const isPreview = isNewExperience();\r\n const path = window.location.pathname;\r\n const isHawkPage = (navigatingTo?.indexOf('.aspx') ?? -1) !== -1;\r\n\r\n const baseString = isWpt() ? 'WPT' : isPublic() ? 'Entry' : isPreview ? NewUIHawkUIBasePath : 'Content';\r\n const index = path.toLowerCase().indexOf(baseString.toLowerCase());\r\n let baseUrl = path.substring(0, index + baseString.length);\r\n\r\n if (isHawkPage && isPreview) {\r\n baseUrl = baseUrl.toLowerCase().replace(NewUIHawkUIBasePath.toLowerCase(), 'Content');\r\n }\r\n return baseUrl;\r\n}\r\n\r\n// [EP] NOTE: This method is prone to issues based on how its checking.\r\n// Suggestion would be to create a config of all the domains for CP, per environment\r\n// and match against those precisely, so that things don't get left out.\r\nexport function getEnvironment(): string {\r\n const hostname = window.location.hostname;\r\n\r\n if (hostname.includes('stage')) {\r\n return 'Staging';\r\n }\r\n\r\n if (hostname.includes('qa')) {\r\n return 'qa';\r\n }\r\n\r\n if (\r\n // normal portal domain\r\n hostname.includes('portal') ||\r\n // ui01, ui02 etc\r\n hostname.includes('ui') ||\r\n // p. domain\r\n hostname.includes('p.')\r\n ) {\r\n return 'Production';\r\n }\r\n\r\n return 'Development';\r\n}\r\n\r\nexport function isDevelopment(): boolean {\r\n return getEnvironment() === 'Development';\r\n}\r\n\r\nexport function getUrl(type: UrlType, params: Item[] = [], excludeBase?: boolean, useRootUrl?: boolean) {\r\n const relativeUrl = useRootUrl ? getRootUrl(type) : getRelativeUrl(type);\r\n\r\n let url = excludeBase ? relativeUrl : getBaseUrl(relativeUrl) + relativeUrl;\r\n for (let i = 0; i < params.length; i++) {\r\n if (i === 0) {\r\n url += '?';\r\n } else {\r\n url += '&';\r\n }\r\n url += params[i].id + '=' + params[i].name;\r\n }\r\n return url;\r\n}\r\n\r\nexport function getEndpointSmartboardUrl(type: UrlType, params: string, excludeBase?: boolean) {\r\n const relativeUrl = getRelativeUrl(type);\r\n let url = excludeBase ? relativeUrl : getBaseUrl(relativeUrl) + relativeUrl;\r\n url = `${url}?${params}`;\r\n return url;\r\n}\r\n\r\nexport function isLocalHost(): boolean {\r\n const hostname = window.location.hostname;\r\n if (hostname === 'localhost') {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport function getStaticFileUrl(excludeDist?: boolean, cpSite?: CPSite) {\r\n const local = isLocalHost();\r\n let path = window.location.origin;\r\n if (!local) {\r\n path += '/m';\r\n } else {\r\n const port = __SYMPHONYPORT__ ? __SYMPHONYPORT__ : '44302';\r\n path = `${window.location.protocol}//${window.location.hostname}:${port}`;\r\n }\r\n\r\n if (!excludeDist) {\r\n path += '/dist/';\r\n }\r\n\r\n if (cpSite === CPSite.WPT) {\r\n path += '/dist-wpt/';\r\n }\r\n\r\n return path;\r\n}\r\n\r\nexport function setStaticFileUrl(excludeDist?: boolean, cpSite?: CPSite) {\r\n const url = getStaticFileUrl(excludeDist, cpSite);\r\n\r\n __webpack_public_path__ = url;\r\n}\r\n\r\nexport function isNewExperience() {\r\n return isExpectedPath(`/${NewUIHawkUIBasePath}`);\r\n}\r\n\r\nexport function isPublic() {\r\n return isExpectedPath('/Entry');\r\n}\r\n\r\nexport function isWpt() {\r\n return isExpectedPath('/Wpt');\r\n}\r\n\r\nexport function isNewUIDashboard() {\r\n return isExpectedPath(`/${NewUIHawkUIBasePath}/Dashboard`);\r\n}\r\n\r\n// This differs from other functions above in that it returns the\r\n// portion of the url that is static (i.e. portalstage.catchpoint.com/ui)\r\nexport function getRootUrl(appendRelativeUrl?: UrlType) {\r\n let url = `${window.location.origin}`;\r\n if (!isDevelopment()) {\r\n url += '/ui';\r\n }\r\n\r\n if (appendRelativeUrl) {\r\n url += getRelativeUrl(appendRelativeUrl);\r\n }\r\n\r\n return url;\r\n}\r\n\r\n/**\r\n * Checks if the path contains part of the url that you are looking for.\r\n * @param expectedPath Must start with a / for unit tests to pass\r\n */\r\nfunction isExpectedPath(expectedPath: string) {\r\n const sitename = '/ui';\r\n const pathname = window?.location?.pathname?.toLowerCase() ?? '';\r\n const index = pathname.indexOf(sitename);\r\n const parsedUIPathName = index === -1 ? pathname : pathname.substring(index + sitename.length);\r\n const previewString = expectedPath.toLowerCase();\r\n const isNewExp = parsedUIPathName.substring(0, previewString.length) === previewString;\r\n return isNewExp;\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n // tslint:disable-next-line:no-any\r\n MonacoEnvironment: any;\r\n __webpack_public_path__: string;\r\n monaco: typeof monacoEditor;\r\n }\r\n}\r\n\r\nexport function setMonacoEnvironment() {\r\n self.MonacoEnvironment = {\r\n getWorkerUrl: getWorkerUrl\r\n };\r\n self.__webpack_public_path__ = getStaticFileUrl();\r\n}\r\n\r\nfunction getWorkerUrl(_moduleId: string | number, label: string) {\r\n const url = getStaticFileUrl();\r\n\r\n if (label === 'json') {\r\n return url + '/json.worker.bundle.js';\r\n }\r\n if (label === 'css') {\r\n return url + '/css.worker.bundle.js';\r\n }\r\n if (label === 'html') {\r\n return url + '/html.worker.bundle.js';\r\n }\r\n if (label === 'typescript' || label === 'javascript') {\r\n return url + '/ts.worker.bundle.js';\r\n }\r\n return url + '/editor.worker.bundle.js';\r\n}\r\n\r\nexport const openLinkInNewTab = (url: string) => {\r\n window.open(url, '_blank');\r\n};\r\n\r\nexport const getExplorerUrl = (paramsString: string) => {\r\n return `/Explorer/?${paramsString}`;\r\n};\r\n\r\nenum Environment {\r\n Staging = 'staging',\r\n QA = 'qa',\r\n Production = 'prod',\r\n Development = 'development'\r\n}\r\n\r\nexport const getRootAuthUrl = () => {\r\n if (process.env.AUTHURL) {\r\n return process.env.AUTHURL;\r\n }\r\n\r\n const environment = getEnvironment();\r\n\r\n switch (environment) {\r\n case Environment.Production:\r\n return ''; // TODO: Define auth setup for prod\r\n case Environment.QA:\r\n return ''; // TODO: Defined where auth is setup for qa\r\n case Environment.Staging:\r\n return 'https://iostage.catchpoint.com/auth';\r\n default:\r\n return 'https://localhost:44367';\r\n }\r\n};\r\n\r\nexport const getRootMaestroUrl = () => {\r\n if (process.env.MAESTROURL) {\r\n return process.env.MAESTROURL;\r\n }\r\n\r\n const environment = getEnvironment();\r\n\r\n switch (environment) {\r\n case Environment.Production:\r\n return 'https://portal.catchpoint.com/m';\r\n case Environment.QA:\r\n return 'https://qaportal.catchpoint.com/m';\r\n case Environment.Staging:\r\n return 'https://portalstage.catchpoint.com/m';\r\n default:\r\n return 'https://localhost:44302';\r\n }\r\n};\r\n\r\nexport enum CPSite {\r\n Maestro,\r\n WPT\r\n}\r\n\r\nexport const isLegacy = (): boolean => {\r\n const queryString = window.location.search;\r\n const urlParameter = new URLSearchParams(queryString);\r\n let isLegacyParam = false;\r\n if (urlParameter.has('lui') && urlParameter.get('lui') === '1') {\r\n isLegacyParam = true;\r\n }\r\n\r\n return isLegacyParam;\r\n};\r\n\r\nexport const getLegacyUrl = (path: string): string => {\r\n switch (path) {\r\n case Path.Dashboard: {\r\n return getUrl(\r\n UrlType.Home,\r\n [\r\n { id: 'da', name: '0' },\r\n { id: 'nr', name: '1' },\r\n { id: 'lui', name: '1' }\r\n ],\r\n false,\r\n false\r\n );\r\n }\r\n case Path.SyntheticSmartboard: {\r\n return getUrl(\r\n UrlType.Home,\r\n [\r\n { id: 'da', name: '0' },\r\n { id: 'nr', name: '1' },\r\n { id: 'lui', name: '1' }\r\n ],\r\n false,\r\n false\r\n );\r\n }\r\n case Path.SytheticControlCenter:\r\n case Path.TestTemplateControlCenter:\r\n case Path.EndpointControlCenter: {\r\n return getUrl(UrlType.Test, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.RealUserControlCenter: {\r\n return getUrl(UrlType.AppList, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.Explorer: {\r\n return getUrl(UrlType.Performance, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.Record: {\r\n return getUrl(UrlType.Waterfall, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.CustomViz:\r\n case Path.CustomVisualizationNew: {\r\n return getUrl(UrlType.Performance, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.InstantTest:\r\n case Path.EndpointInstantTestList: {\r\n return getUrl(UrlType.InstantTestList, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.TestAlertLogs: {\r\n return getUrl(UrlType.Alert, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.RumAlertLog: {\r\n return getUrl(UrlType.Alert, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.Incidents: {\r\n return getUrl(UrlType.IncidentListOld, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n case Path.NodeList: {\r\n return getUrl(UrlType.NodeListOld, [{ id: 'lui', name: '1' }], false, false);\r\n }\r\n default: {\r\n return getUrl(\r\n UrlType.Home,\r\n [\r\n { id: 'da', name: '0' },\r\n { id: 'nr', name: '1' },\r\n { id: 'lui', name: '1' }\r\n ],\r\n false,\r\n false\r\n );\r\n }\r\n }\r\n};\r\n\r\nexport const getRootWptLighthouseDetailsUrl = () => {\r\n const environment = getEnvironment();\r\n\r\n switch (environment) {\r\n case Environment.Production:\r\n return 'https://webpagetest.org/lighthouse.php';\r\n case Environment.QA:\r\n return 'https://wptqa.webpagetest.org/lighthouse.php';\r\n default:\r\n return 'https://wptstage.webpagetest.org/lighthouse.php';\r\n }\r\n};\r\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xNiA0SDEyVjVIMTQuMjkyOUwxMC4xNDY0IDkuMTQ2NDRMMTAuODUzNiA5Ljg1MzU1TDE1IDUuNzA3MVY4SDE2VjRaIiBmaWxsPSIjMDA2QUQ0Ii8+DQo8cGF0aCBkPSJNNSA2LjVDNSA2LjIyMzg2IDUuMjIzODYgNiA1LjUgNkgxMFY1SDUuNUM0LjY3MTU3IDUgNCA1LjY3MTU3IDQgNi41VjE0LjVDNCAxNS4zMjg0IDQuNjcxNTcgMTYgNS41IDE2SDEzLjVDMTQuMzI4NCAxNiAxNSAxNS4zMjg0IDE1IDE0LjVWMTBIMTRWMTQuNUMxNCAxNC43NzYxIDEzLjc3NjEgMTUgMTMuNSAxNUg1LjVDNS4yMjM4NiAxNSA1IDE0Ljc3NjEgNSAxNC41VjYuNVoiIGZpbGw9IiMwMDZBRDQiLz4NCjwvc3ZnPg0K\""," \r\n export enum AlertStepType {\r\n Any = 0,\r\n Index = 1,\r\n Name = 2,\r\n Address = 3,\r\n Last = 4,\r\n }\r\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n return !thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined ? pattern\n : inheritIfRequired(CORRECT_NEW\n ? new NativeRegExp(patternIsRegExp && !flagsAreUndefined ? pattern.source : pattern, flags)\n : NativeRegExp((patternIsRegExp = pattern instanceof RegExpWrapper)\n ? pattern.source\n : pattern, patternIsRegExp && flagsAreUndefined ? getFlags.call(pattern) : flags)\n , thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('filter') }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n result = new C();\n for (;!(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping\n ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true)\n : step.value\n );\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeSort = [].sort;\nvar test = [1, 2, 3];\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar SLOPPY_METHOD = sloppyArrayMethod('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n"," \r\n export enum DateAggregationType {\r\n None = 0,\r\n Total = 1,\r\n HourOfDay = 2,\r\n DayOfWeek = 3,\r\n Minutes5 = 4,\r\n Minutes10 = 5,\r\n Minutes15 = 6,\r\n Minutes30 = 7,\r\n Hour = 8,\r\n Day = 9,\r\n Minutes1 = 10,\r\n Hours2 = 11,\r\n Hours3 = 12,\r\n Hours4 = 13,\r\n Hours6 = 14,\r\n Hours8 = 15,\r\n Hours12 = 16,\r\n Week = 17,\r\n MinuteOfHour = 18,\r\n Minute5OfHour = 19,\r\n DayOfWeekHourOfDay = 20,\r\n DayOfWeekMinute5OfHour = 21,\r\n WeekMoving = 22,\r\n Millisecond = 23,\r\n Second = 24,\r\n }\r\n","export var throwServerError = function (response, result, message) {\n var error = new Error(message);\n error.name = 'ServerError';\n error.response = response;\n error.statusCode = response.status;\n error.result = result;\n throw error;\n};\n//# sourceMappingURL=throwServerError.js.map","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (get) {\n return function Map() { return get(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong, true);\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport gud from 'gud';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + gud() + '__';\n\n var Provider =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer =\n /*#__PURE__*/\n function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { createMemoryHistory, createLocation, locationsAreEqual, createPath } from 'history';\nimport warning from 'tiny-warning';\nimport createContext from 'mini-create-react-context';\nimport invariant from 'tiny-invariant';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport pathToRegexp from 'path-to-regexp';\nimport { isValidElementType } from 'react-is';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport hoistStatics from 'hoist-non-react-statics';\n\n// TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = createContext();\n context.displayName = name;\n return context;\n};\n\nvar context =\n/*#__PURE__*/\ncreateNamedContext(\"Router\");\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n if (_this._isMounted) {\n _this.setState({\n location: location\n });\n } else {\n _this._pendingLocation = location;\n }\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n };\n\n _proto.render = function render() {\n return React.createElement(context.Provider, {\n children: this.props.children || null,\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n });\n };\n\n return Router;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(prevProps.history === this.props.history, \"You cannot change \") : void 0;\n };\n}\n\n/**\n * The public API for a that stores location in memory.\n */\n\nvar MemoryRouter =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createMemoryHistory(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : void 0;\n };\n}\n\nvar Lifecycle =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(React.Component);\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return React.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n var messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n\n/**\n * The public API for navigating programmatically with a component.\n */\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = createLocation(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : _extends({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return React.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = createLocation(prevProps.to);\n\n if (!locationsAreEqual(prevLocation, _extends({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = pathToRegexp(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n process.env.NODE_ENV !== \"production\" ? warning(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\", but you \") + \"should have returned a React element or `null`\") : void 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return React.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n\n var props = _extends({}, context$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return React.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : children : component ? React.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : null);\n });\n };\n\n return Route;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: function component(props, propName) {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\"Invalid prop 'component' supplied to 'Route': the prop is not a valid React component\");\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return _extends({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return function () {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot %s with \", methodName) : invariant(false) ;\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\n\nvar StaticRouter =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = _objectWithoutPropertiesLoose(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return React.createElement(Router, _extends({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : void 0;\n };\n}\n\n/**\n * The public API for rendering the first that matches.\n */\n\nvar Switch =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n\n React.Children.forEach(_this.props.children, function (child) {\n if (match == null && React.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, _extends({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? React.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\n/**\n * A public higher-order component to access the imperative API\n */\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutPropertiesLoose(props, [\"wrappedComponentRef\"]);\n\n return React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use <\" + displayName + \" /> outside a \") : invariant(false) : void 0;\n return React.createElement(Component, _extends({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (process.env.NODE_ENV !== \"production\") {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.object])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nvar useContext = React.useContext;\nfunction useHistory() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useHistory()\") : invariant(false) : void 0;\n }\n\n return useContext(context).history;\n}\nfunction useLocation() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useLocation()\") : invariant(false) : void 0;\n }\n\n return useContext(context).location;\n}\nfunction useParams() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useParams()\") : invariant(false) : void 0;\n }\n\n var match = useContext(context).match;\n return match ? match.params : {};\n}\nfunction useRouteMatch(path) {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : invariant(false) : void 0;\n }\n\n return path ? matchPath(useLocation().pathname, path) : useContext(context).match;\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\nexport { MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, context as __RouterContext, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter };\n//# sourceMappingURL=react-router.js.map\n"," \r\n export enum SyntheticErrorType {\r\n None = 0,\r\n DNS = 1,\r\n Connection = 2,\r\n SSL = 3,\r\n NoResponse = 4,\r\n Response = 5,\r\n Timeout = 6,\r\n SystemLimit = 7,\r\n Transaction = 8,\r\n Content = 9,\r\n Other = 10,\r\n ScriptFailure = 11,\r\n ChildRequestFailure = 12,\r\n }\r\n","// Polyfill for creating CustomEvents on IE9/10/11\n\n// code pulled from:\n// https://github.com/d4tocchini/customevent-polyfill\n// https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent#Polyfill\n\n(function() {\n if (typeof window === 'undefined') {\n return;\n }\n\n try {\n var ce = new window.CustomEvent('test', { cancelable: true });\n ce.preventDefault();\n if (ce.defaultPrevented !== true) {\n // IE has problems with .preventDefault() on custom events\n // http://stackoverflow.com/questions/23349191\n throw new Error('Could not prevent default');\n }\n } catch (e) {\n var CustomEvent = function(event, params) {\n var evt, origPrevent;\n params = params || {};\n params.bubbles = !!params.bubbles;\n params.cancelable = !!params.cancelable;\n\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(\n event,\n params.bubbles,\n params.cancelable,\n params.detail\n );\n origPrevent = evt.preventDefault;\n evt.preventDefault = function() {\n origPrevent.call(this);\n try {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n } catch (e) {\n this.defaultPrevented = true;\n }\n };\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n window.CustomEvent = CustomEvent; // expose definition to window\n }\n})();\n","import { ApolloLink } from \"./ApolloLink.js\";\nexport var execute = ApolloLink.execute;\n//# sourceMappingURL=execute.js.map","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// FIXME:\n// flowlint uninitialized-instance-property:off\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n\n /**\n * A message describing the Error for debugging purposes.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n *\n * Note: should be treated as readonly, despite invariant usage.\n */\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _locations2, _source2, _positions2, _extensions2;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message); // Compute list of blame nodes.\n\n var _nodes = Array.isArray(nodes) ? nodes.length !== 0 ? nodes : undefined : nodes ? [nodes] : undefined; // Compute locations in the source for the given nodes/positions.\n\n\n var _source = source;\n\n if (!_source && _nodes) {\n var _nodes$0$loc;\n\n _source = (_nodes$0$loc = _nodes[0].loc) === null || _nodes$0$loc === void 0 ? void 0 : _nodes$0$loc.source;\n }\n\n var _positions = positions;\n\n if (!_positions && _nodes) {\n _positions = _nodes.reduce(function (list, node) {\n if (node.loc) {\n list.push(node.loc.start);\n }\n\n return list;\n }, []);\n }\n\n if (_positions && _positions.length === 0) {\n _positions = undefined;\n }\n\n var _locations;\n\n if (positions && source) {\n _locations = positions.map(function (pos) {\n return getLocation(source, pos);\n });\n } else if (_nodes) {\n _locations = _nodes.reduce(function (list, node) {\n if (node.loc) {\n list.push(getLocation(node.loc.source, node.loc.start));\n }\n\n return list;\n }, []);\n }\n\n var _extensions = extensions;\n\n if (_extensions == null && originalError != null) {\n var originalExtensions = originalError.extensions;\n\n if (isObjectLike(originalExtensions)) {\n _extensions = originalExtensions;\n }\n }\n\n Object.defineProperties(_assertThisInitialized(_this), {\n name: {\n value: 'GraphQLError'\n },\n message: {\n value: message,\n // By being enumerable, JSON.stringify will include `message` in the\n // resulting output. This ensures that the simplest possible GraphQL\n // service adheres to the spec.\n enumerable: true,\n writable: true\n },\n locations: {\n // Coercing falsy values to undefined ensures they will not be included\n // in JSON.stringify() when not provided.\n value: (_locations2 = _locations) !== null && _locations2 !== void 0 ? _locations2 : undefined,\n // By being enumerable, JSON.stringify will include `locations` in the\n // resulting output. This ensures that the simplest possible GraphQL\n // service adheres to the spec.\n enumerable: _locations != null\n },\n path: {\n // Coercing falsy values to undefined ensures they will not be included\n // in JSON.stringify() when not provided.\n value: path !== null && path !== void 0 ? path : undefined,\n // By being enumerable, JSON.stringify will include `path` in the\n // resulting output. This ensures that the simplest possible GraphQL\n // service adheres to the spec.\n enumerable: path != null\n },\n nodes: {\n value: _nodes !== null && _nodes !== void 0 ? _nodes : undefined\n },\n source: {\n value: (_source2 = _source) !== null && _source2 !== void 0 ? _source2 : undefined\n },\n positions: {\n value: (_positions2 = _positions) !== null && _positions2 !== void 0 ? _positions2 : undefined\n },\n originalError: {\n value: originalError\n },\n extensions: {\n // Coercing falsy values to undefined ensures they will not be included\n // in JSON.stringify() when not provided.\n value: (_extensions2 = _extensions) !== null && _extensions2 !== void 0 ? _extensions2 : undefined,\n // By being enumerable, JSON.stringify will include `path` in the\n // resulting output. This ensures that the simplest possible GraphQL\n // service adheres to the spec.\n enumerable: _extensions != null\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i2 = 0, _error$nodes2 = error.nodes; _i2 < _error$nodes2.length; _i2++) {\n var node = _error$nodes2[_i2];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i4 = 0, _error$locations2 = error.locations; _i4 < _error$locations2.length; _i4++) {\n var location = _error$locations2[_i4];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}\n","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n","/**\n * The set of allowed kind values for AST nodes.\n */\nexport var Kind = Object.freeze({\n // Name\n NAME: 'Name',\n // Document\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n // Fragments\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n // Values\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n // Directives\n DIRECTIVE: 'Directive',\n // Types\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n // Type System Definitions\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n // Type Definitions\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n // Directive Definitions\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n // Type System Extensions\n SCHEMA_EXTENSION: 'SchemaExtension',\n // Type Extensions\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '',\n EOF: '',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n","export default function devAssert(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport inspect from \"./inspect.mjs\";\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\nexport default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n return value instanceof constructor;\n} : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (_typeof(value) === 'object' && value !== null) {\n var _value$constructor;\n\n var className = constructor.prototype[Symbol.toStringTag];\n var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;\n\n if (className === valueClassName) {\n var stringifiedValue = inspect(value);\n throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(stringifiedValue, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n }\n }\n\n return false;\n};\n","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // \n\n case 9: // \\t\n\n case 32: // \n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3;\n\n // Legacy support for the SDL?\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n","import { __assign } from \"tslib\";\nimport { parse } from 'graphql';\nvar docCache = new Map();\nvar fragmentSourceMap = new Map();\nvar printFragmentWarnings = true;\nvar experimentalFragmentVariables = false;\nfunction normalize(string) {\n return string.replace(/[\\s,]+/g, ' ').trim();\n}\nfunction cacheKeyFromLoc(loc) {\n return normalize(loc.source.body.substring(loc.start, loc.end));\n}\nfunction processFragments(ast) {\n var seenKeys = new Set();\n var definitions = [];\n ast.definitions.forEach(function (fragmentDefinition) {\n if (fragmentDefinition.kind === 'FragmentDefinition') {\n var fragmentName = fragmentDefinition.name.value;\n var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc);\n var sourceKeySet = fragmentSourceMap.get(fragmentName);\n if (sourceKeySet && !sourceKeySet.has(sourceKey)) {\n if (printFragmentWarnings) {\n console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\"\n + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\"\n + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n }\n }\n else if (!sourceKeySet) {\n fragmentSourceMap.set(fragmentName, sourceKeySet = new Set);\n }\n sourceKeySet.add(sourceKey);\n if (!seenKeys.has(sourceKey)) {\n seenKeys.add(sourceKey);\n definitions.push(fragmentDefinition);\n }\n }\n else {\n definitions.push(fragmentDefinition);\n }\n });\n return __assign(__assign({}, ast), { definitions: definitions });\n}\nfunction stripLoc(doc) {\n var workSet = new Set(doc.definitions);\n workSet.forEach(function (node) {\n if (node.loc)\n delete node.loc;\n Object.keys(node).forEach(function (key) {\n var value = node[key];\n if (value && typeof value === 'object') {\n workSet.add(value);\n }\n });\n });\n var loc = doc.loc;\n if (loc) {\n delete loc.startToken;\n delete loc.endToken;\n }\n return doc;\n}\nfunction parseDocument(source) {\n var cacheKey = normalize(source);\n if (!docCache.has(cacheKey)) {\n var parsed = parse(source, {\n experimentalFragmentVariables: experimentalFragmentVariables\n });\n if (!parsed || parsed.kind !== 'Document') {\n throw new Error('Not a valid GraphQL document.');\n }\n docCache.set(cacheKey, stripLoc(processFragments(parsed)));\n }\n return docCache.get(cacheKey);\n}\nexport function gql(literals) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (typeof literals === 'string') {\n literals = [literals];\n }\n var result = literals[0];\n args.forEach(function (arg, i) {\n if (arg && arg.kind === 'Document') {\n result += arg.loc.source.body;\n }\n else {\n result += arg;\n }\n result += literals[i + 1];\n });\n return parseDocument(result);\n}\nexport function resetCaches() {\n docCache.clear();\n fragmentSourceMap.clear();\n}\nexport function disableFragmentWarnings() {\n printFragmentWarnings = false;\n}\nexport function enableExperimentalFragmentVariables() {\n experimentalFragmentVariables = true;\n}\nexport function disableExperimentalFragmentVariables() {\n experimentalFragmentVariables = false;\n}\nvar extras = {\n gql: gql,\n resetCaches: resetCaches,\n disableFragmentWarnings: disableFragmentWarnings,\n enableExperimentalFragmentVariables: enableExperimentalFragmentVariables,\n disableExperimentalFragmentVariables: disableExperimentalFragmentVariables\n};\n(function (gql_1) {\n gql_1.gql = extras.gql, gql_1.resetCaches = extras.resetCaches, gql_1.disableFragmentWarnings = extras.disableFragmentWarnings, gql_1.enableExperimentalFragmentVariables = extras.enableExperimentalFragmentVariables, gql_1.disableExperimentalFragmentVariables = extras.disableExperimentalFragmentVariables;\n})(gql || (gql = {}));\ngql[\"default\"] = gql;\nexport default gql;\n//# sourceMappingURL=index.js.map","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","export { ApolloProvider, ApolloConsumer, getApolloContext, resetApolloContext } from \"./context/index.js\";\nexport * from \"./hooks/index.js\";\nexport { DocumentType, operationName, parser } from \"./parser/index.js\";\nexport * from \"./types/types.js\";\n//# sourceMappingURL=index.js.map","import { getWindow } from './dom/getWindow';\n/**\n * Storing global state in local module variables has issues when more than one copy\n * if the module gets loaded on the page (due to a bundling error or simply by consuming\n * a prebundled script.)\n *\n * This file contains helpers to deal with the getting and setting local state, and allows\n * callers to get called back when it mutates.\n */\nvar GLOBAL_SETTINGS_PROP_NAME = '__globalSettings__';\nvar CALLBACK_STATE_PROP_NAME = '__callbacks__';\nvar _counter = 0;\n/**\n * Global settings helper, which stores settings in the global (window) namespace.\n * If window is not provided, it will store settings in module scope. Provides a\n * way to observe changes as well when their values change.\n *\n * @public\n * {@docCategory GlobalSettings}\n */\nvar GlobalSettings = /** @class */ (function () {\n function GlobalSettings() {\n }\n GlobalSettings.getValue = function (key, defaultValue) {\n var globalSettings = _getGlobalSettings();\n if (globalSettings[key] === undefined) {\n globalSettings[key] = typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n return globalSettings[key];\n };\n GlobalSettings.setValue = function (key, value) {\n var globalSettings = _getGlobalSettings();\n var callbacks = globalSettings[CALLBACK_STATE_PROP_NAME];\n var oldValue = globalSettings[key];\n if (value !== oldValue) {\n globalSettings[key] = value;\n var changeDescription = {\n oldValue: oldValue,\n value: value,\n key: key,\n };\n for (var id in callbacks) {\n if (callbacks.hasOwnProperty(id)) {\n callbacks[id](changeDescription);\n }\n }\n }\n return value;\n };\n GlobalSettings.addChangeListener = function (cb) {\n // Note: we use generated ids on the callbacks to create a map of the callbacks, which optimizes removal.\n // (It's faster to delete a key than it is to look up the index of an object and splice an array.)\n var id = cb.__id__;\n var callbacks = _getCallbacks();\n if (!id) {\n id = cb.__id__ = String(_counter++);\n }\n callbacks[id] = cb;\n };\n GlobalSettings.removeChangeListener = function (cb) {\n var callbacks = _getCallbacks();\n delete callbacks[cb.__id__];\n };\n return GlobalSettings;\n}());\nexport { GlobalSettings };\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _getGlobalSettings() {\n var _a;\n var win = getWindow();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var globalObj = win || {};\n if (!globalObj[GLOBAL_SETTINGS_PROP_NAME]) {\n globalObj[GLOBAL_SETTINGS_PROP_NAME] = (_a = {},\n _a[CALLBACK_STATE_PROP_NAME] = {},\n _a);\n }\n return globalObj[GLOBAL_SETTINGS_PROP_NAME];\n}\nfunction _getCallbacks() {\n var globalSettings = _getGlobalSettings();\n return globalSettings[CALLBACK_STATE_PROP_NAME];\n}\n//# sourceMappingURL=GlobalSettings.js.map","export * from \"./core/index.js\";\nexport * from \"./react/index.js\";\n//# sourceMappingURL=index.js.map","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.1.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","import { extendComponent } from './extendComponent';\n/**\n * Helper to manage componentRef resolution. Internally appends logic to\n * lifetime methods to resolve componentRef to the passed in object.\n *\n * Usage: call initializeComponentRef(this) in the constructor,\n */\nexport function initializeComponentRef(obj) {\n extendComponent(obj, {\n componentDidMount: _onMount,\n componentDidUpdate: _onUpdate,\n componentWillUnmount: _onUnmount,\n });\n}\nfunction _onMount() {\n _setComponentRef(this.props.componentRef, this);\n}\nfunction _onUpdate(prevProps) {\n if (prevProps.componentRef !== this.props.componentRef) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _setComponentRef(prevProps.componentRef, null);\n _setComponentRef(this.props.componentRef, this);\n }\n}\nfunction _onUnmount() {\n _setComponentRef(this.props.componentRef, null);\n}\nfunction _setComponentRef(componentRef, value) {\n if (componentRef) {\n if (typeof componentRef === 'object') {\n componentRef.current = value;\n }\n else if (typeof componentRef === 'function') {\n componentRef(value);\n }\n }\n}\n//# sourceMappingURL=initializeComponentRef.js.map","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { concatStyleSetsWithProps } from '@uifabric/merge-styles';\nimport { useCustomizationSettings } from './customizations/useCustomizationSettings';\nvar DefaultFields = ['theme', 'styles'];\nexport function styled(Component, baseStyles, getProps, customizable, pure) {\n customizable = customizable || { scope: '', fields: undefined };\n var scope = customizable.scope, _a = customizable.fields, fields = _a === void 0 ? DefaultFields : _a;\n var Wrapped = React.forwardRef(function (props, forwardedRef) {\n var styles = React.useRef();\n var settings = useCustomizationSettings(fields, scope);\n var customizedStyles = settings.styles, dir = settings.dir, rest = __rest(settings, [\"styles\", \"dir\"]);\n var additionalProps = getProps ? getProps(props) : undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var cache = (styles.current && styles.current.__cachedInputs__) || [];\n if (!styles.current || customizedStyles !== cache[1] || props.styles !== cache[2]) {\n // Using styled components as the Component arg will result in nested styling arrays.\n var concatenatedStyles = function (styleProps) {\n return concatStyleSetsWithProps(styleProps, baseStyles, customizedStyles, props.styles);\n };\n // The __cachedInputs__ array is attached to the function and consumed by the\n // classNamesFunction as a list of keys to include for memoizing classnames.\n concatenatedStyles.__cachedInputs__ = [\n baseStyles,\n customizedStyles,\n props.styles,\n ];\n concatenatedStyles.__noStyleOverride__ =\n !customizedStyles && !props.styles;\n styles.current = concatenatedStyles;\n }\n return React.createElement(Component, __assign({ ref: forwardedRef }, rest, additionalProps, props, { styles: styles.current }));\n });\n // Function.prototype.name is an ES6 feature, so the cast to any is required until we're\n // able to drop IE 11 support and compile with ES6 libs\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Wrapped.displayName = \"Styled\" + (Component.displayName || Component.name);\n // This preserves backwards compatibility.\n var pureComponent = pure ? React.memo(Wrapped) : Wrapped;\n // Check if the wrapper has a displayName after it has been memoized. Then assign it to the pure component.\n if (Wrapped.displayName) {\n pureComponent.displayName = Wrapped.displayName;\n }\n return pureComponent;\n}\n//# sourceMappingURL=styled.js.map","import { elementContainsAttribute } from './dom/elementContainsAttribute';\nimport { elementContains } from './dom/elementContains';\nimport { getParent } from './dom/getParent';\nimport { getWindow } from './dom/getWindow';\nimport { getDocument } from './dom/getDocument';\nvar IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nvar IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nvar FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nvar FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\n/**\n * Gets the first focusable element.\n *\n * @public\n */\nexport function getFirstFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n return getNextElement(rootElement, currentElement, true /*checkNode*/, false /*suppressParentTraversal*/, false /*suppressChildTraversal*/, includeElementsInFocusZones);\n}\n/**\n * Gets the last focusable element.\n *\n * @public\n */\nexport function getLastFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n return getPreviousElement(rootElement, currentElement, true /*checkNode*/, false /*suppressParentTraversal*/, true /*traverseChildren*/, includeElementsInFocusZones);\n}\n/**\n * Gets the first tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues forward. Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getFirstTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n if (checkNode === void 0) { checkNode = true; }\n return getNextElement(rootElement, currentElement, checkNode, false /*suppressParentTraversal*/, false /*suppressChildTraversal*/, includeElementsInFocusZones, false /*allowFocusRoot*/, true /*tabbable*/);\n}\n/**\n * Gets the last tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues in reverse. Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getLastTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n if (checkNode === void 0) { checkNode = true; }\n return getPreviousElement(rootElement, currentElement, checkNode, false /*suppressParentTraversal*/, true /*traverseChildren*/, includeElementsInFocusZones, false /*allowFocusRoot*/, true /*tabbable*/);\n}\n/**\n * Attempts to focus the first focusable element that is a child or child's child of the rootElement.\n *\n * @public\n * @param rootElement - Element to start the search for a focusable child.\n * @returns True if focus was set, false if it was not.\n */\nexport function focusFirstChild(rootElement) {\n var element = getNextElement(rootElement, rootElement, true, false, false, true);\n if (element) {\n focusAsync(element);\n return true;\n }\n return false;\n}\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\nexport function getPreviousElement(rootElement, currentElement, checkNode, suppressParentTraversal, traverseChildren, includeElementsInFocusZones, allowFocusRoot, tabbable) {\n if (!currentElement || (!allowFocusRoot && currentElement === rootElement)) {\n return null;\n }\n var isCurrentElementVisible = isElementVisible(currentElement);\n // Check its children.\n if (traverseChildren &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n var childMatch = getPreviousElement(rootElement, currentElement.lastElementChild, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatch) {\n if ((tabbable && isElementTabbable(childMatch, true)) || !tabbable) {\n return childMatch;\n }\n var childMatchSiblingMatch = getPreviousElement(rootElement, childMatch.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatchSiblingMatch) {\n return childMatchSiblingMatch;\n }\n var childMatchParent = childMatch.parentElement;\n // At this point if we have not found any potential matches\n // start looking at the rest of the subtree under the currentParent.\n // NOTE: We do not want to recurse here because doing so could\n // cause elements to get skipped.\n while (childMatchParent && childMatchParent !== currentElement) {\n var childMatchParentMatch = getPreviousElement(rootElement, childMatchParent.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatchParentMatch) {\n return childMatchParentMatch;\n }\n childMatchParent = childMatchParent.parentElement;\n }\n }\n }\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n // Check its previous sibling.\n var siblingMatch = getPreviousElement(rootElement, currentElement.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (siblingMatch) {\n return siblingMatch;\n }\n // Check its parent.\n if (!suppressParentTraversal) {\n return getPreviousElement(rootElement, currentElement.parentElement, true, false, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n }\n return null;\n}\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n * @param checkNode - Include currentElement in search when true.\n */\nexport function getNextElement(rootElement, currentElement, checkNode, suppressParentTraversal, suppressChildTraversal, includeElementsInFocusZones, allowFocusRoot, tabbable) {\n if (!currentElement || (currentElement === rootElement && suppressChildTraversal && !allowFocusRoot)) {\n return null;\n }\n var isCurrentElementVisible = isElementVisible(currentElement);\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n // Check its children.\n if (!suppressChildTraversal &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n var childMatch = getNextElement(rootElement, currentElement.firstElementChild, true, true, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatch) {\n return childMatch;\n }\n }\n if (currentElement === rootElement) {\n return null;\n }\n // Check its sibling.\n var siblingMatch = getNextElement(rootElement, currentElement.nextElementSibling, true, true, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (siblingMatch) {\n return siblingMatch;\n }\n if (!suppressParentTraversal) {\n return getNextElement(rootElement, currentElement.parentElement, false, false, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n }\n return null;\n}\n/**\n * Determines if an element is visible.\n *\n * @public\n */\nexport function isElementVisible(element) {\n // If the element is not valid, return false.\n if (!element || !element.getAttribute) {\n return false;\n }\n var visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE);\n // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n return visibilityAttribute === 'true';\n }\n // Fallback to other methods of determining actual visibility.\n return (element.offsetHeight !== 0 ||\n element.offsetParent !== null ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n element.isVisible === true); // used as a workaround for testing.\n}\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key,\n * meaning tabIndex != -1.\n *\n * @public\n */\nexport function isElementTabbable(element, checkTabIndex) {\n // If this element is null or is disabled, it is not considered tabbable.\n if (!element || element.disabled) {\n return false;\n }\n var tabIndex = 0;\n var tabIndexAttributeValue = null;\n if (element && element.getAttribute) {\n tabIndexAttributeValue = element.getAttribute('tabIndex');\n if (tabIndexAttributeValue) {\n tabIndex = parseInt(tabIndexAttributeValue, 10);\n }\n }\n var isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n var isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n var result = !!element &&\n isFocusableAttribute !== 'false' &&\n (element.tagName === 'A' ||\n element.tagName === 'BUTTON' ||\n element.tagName === 'INPUT' ||\n element.tagName === 'TEXTAREA' ||\n element.tagName === 'SELECT' ||\n isFocusableAttribute === 'true' ||\n isTabIndexSet);\n return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\nexport function isElementFocusZone(element) {\n return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\nexport function isElementFocusSubZone(element) {\n return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\n/**\n * Determines if an element, or any of its children, contain focus.\n *\n * @public\n */\nexport function doesElementContainFocus(element) {\n var document = getDocument(element);\n var currentActiveElement = document && document.activeElement;\n if (currentActiveElement && elementContains(element, currentActiveElement)) {\n return true;\n }\n return false;\n}\n/**\n * Determines if an, or any of its ancestors, sepcificies that it doesn't want focus to wrap\n * @param element - element to start searching from\n * @param noWrapDataAttribute - the no wrap data attribute to match (either)\n * @returns true if focus should wrap, false otherwise\n */\nexport function shouldWrapFocus(element, noWrapDataAttribute) {\n return elementContainsAttribute(element, noWrapDataAttribute) === 'true' ? false : true;\n}\nvar targetToFocusOnNextRepaint = undefined;\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\nexport function focusAsync(element) {\n if (element) {\n // An element was already queued to be focused, so replace that one with the new element\n if (targetToFocusOnNextRepaint) {\n targetToFocusOnNextRepaint = element;\n return;\n }\n targetToFocusOnNextRepaint = element;\n var win = getWindow(element);\n if (win) {\n // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n win.requestAnimationFrame(function () {\n var focusableElement = targetToFocusOnNextRepaint;\n // We are done focusing for this frame, so reset the queued focus element\n targetToFocusOnNextRepaint = undefined;\n if (focusableElement) {\n if (focusableElement.getAttribute && focusableElement.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n // Normally, a FocusZone would be responsible for setting the tabindex values on all its descendants.\n // However, even this animation frame callback can pre-empt the rendering of a FocusZone's child elements,\n // so it may be necessary to set the tabindex directly here.\n if (!focusableElement.getAttribute('tabindex')) {\n focusableElement.setAttribute('tabindex', '0');\n }\n }\n focusableElement.focus();\n }\n });\n }\n }\n}\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\nexport function getFocusableByIndexPath(parent, path) {\n var element = parent;\n for (var _i = 0, path_1 = path; _i < path_1.length; _i++) {\n var index = path_1[_i];\n var nextChild = element.children[Math.min(index, element.children.length - 1)];\n if (!nextChild) {\n break;\n }\n element = nextChild;\n }\n element =\n isElementTabbable(element) && isElementVisible(element)\n ? element\n : getNextElement(parent, element, true) || getPreviousElement(parent, element);\n return element;\n}\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\nexport function getElementIndexPath(fromElement, toElement) {\n var path = [];\n while (toElement && fromElement && toElement !== fromElement) {\n var parent_1 = getParent(toElement, true);\n if (parent_1 === null) {\n return [];\n }\n path.unshift(Array.prototype.indexOf.call(parent_1.children, toElement));\n toElement = parent_1;\n }\n return path;\n}\n//# sourceMappingURL=focus.js.map","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var _layersByHostId = {};\nvar _defaultHostSelector;\n/**\n * Register a layer for a given host id\n * @param hostId Id of the layer host\n * @param layer Layer instance\n */\nexport function registerLayer(hostId, callback) {\n if (!_layersByHostId[hostId]) {\n _layersByHostId[hostId] = [];\n }\n _layersByHostId[hostId].push(callback);\n}\n/**\n * Unregister a layer for a given host id\n * @param hostId Id of the layer host\n * @param layer Layer instance\n */\nexport function unregisterLayer(hostId, callback) {\n if (_layersByHostId[hostId]) {\n var idx = _layersByHostId[hostId].indexOf(callback);\n if (idx >= 0) {\n _layersByHostId[hostId].splice(idx, 1);\n if (_layersByHostId[hostId].length === 0) {\n delete _layersByHostId[hostId];\n }\n }\n }\n}\n/**\n * Used for notifying applicable Layers that a host is available/unavailable and to re-evaluate Layers that\n * care about the specific host.\n */\nexport function notifyHostChanged(id) {\n if (_layersByHostId[id]) {\n _layersByHostId[id].forEach(function (callback) { return callback(); });\n }\n}\n/**\n * Sets the default target selector to use when determining the host in which\n * Layered content will be injected into. If not provided, an element will be\n * created at the end of the document body.\n *\n * Passing in a falsey value will clear the default target and reset back to\n * using a created element at the end of document body.\n */\nexport function setDefaultTarget(selector) {\n _defaultHostSelector = selector;\n}\n/**\n * Get the default target selector when determining a host\n */\nexport function getDefaultTarget() {\n return _defaultHostSelector;\n}\n//# sourceMappingURL=Layer.notification.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { Fabric } from '../../Fabric';\nimport { classNamesFunction, customizable, getDocument, setPortalAttribute, setVirtualParent, warnDeprecations, } from '../../Utilities';\nimport { registerLayer, getDefaultTarget, unregisterLayer } from './Layer.notification';\nvar getClassNames = classNamesFunction();\nvar LayerBase = /** @class */ (function (_super) {\n __extends(LayerBase, _super);\n function LayerBase(props) {\n var _this = _super.call(this, props) || this;\n _this._rootRef = React.createRef();\n _this._createLayerElement = function () {\n var hostId = _this.props.hostId;\n var doc = getDocument(_this._rootRef.current);\n var host = _this._getHost();\n if (!doc || !host) {\n return;\n }\n // If one was already existing, remove.\n _this._removeLayerElement();\n var layerElement = doc.createElement('div');\n var classNames = _this._getClassNames();\n layerElement.className = classNames.root;\n setPortalAttribute(layerElement);\n setVirtualParent(layerElement, _this._rootRef.current);\n _this.props.insertFirst ? host.insertBefore(layerElement, host.firstChild) : host.appendChild(layerElement);\n _this.setState({\n hostId: hostId,\n layerElement: layerElement,\n }, function () {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, onLayerDidMount = _a.onLayerDidMount, onLayerMounted = _a.onLayerMounted;\n if (onLayerMounted) {\n onLayerMounted();\n }\n if (onLayerDidMount) {\n onLayerDidMount();\n }\n });\n };\n _this.state = {};\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('Layer', props, {\n onLayerMounted: 'onLayerDidMount',\n });\n }\n return _this;\n }\n LayerBase.prototype.componentDidMount = function () {\n var hostId = this.props.hostId;\n this._createLayerElement();\n if (hostId) {\n registerLayer(hostId, this._createLayerElement);\n }\n };\n LayerBase.prototype.render = function () {\n var layerElement = this.state.layerElement;\n var classNames = this._getClassNames();\n var eventBubblingEnabled = this.props.eventBubblingEnabled;\n return (React.createElement(\"span\", { className: \"ms-layer\", ref: this._rootRef }, layerElement &&\n ReactDOM.createPortal(React.createElement(Fabric, __assign({}, (!eventBubblingEnabled && _getFilteredEvents()), { className: classNames.content }), this.props.children), layerElement)));\n };\n LayerBase.prototype.componentDidUpdate = function () {\n if (this.props.hostId !== this.state.hostId) {\n this._createLayerElement();\n }\n };\n LayerBase.prototype.componentWillUnmount = function () {\n var hostId = this.props.hostId;\n this._removeLayerElement();\n if (hostId) {\n unregisterLayer(hostId, this._createLayerElement);\n }\n };\n LayerBase.prototype._removeLayerElement = function () {\n var onLayerWillUnmount = this.props.onLayerWillUnmount;\n var layerElement = this.state.layerElement;\n if (layerElement) {\n setVirtualParent(layerElement, null);\n }\n if (onLayerWillUnmount) {\n onLayerWillUnmount();\n }\n if (layerElement && layerElement.parentNode) {\n var parentNode = layerElement.parentNode;\n if (parentNode) {\n parentNode.removeChild(layerElement);\n }\n }\n };\n LayerBase.prototype._getClassNames = function () {\n var _a = this.props, className = _a.className, styles = _a.styles, theme = _a.theme;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n isNotHost: !this.props.hostId,\n });\n return classNames;\n };\n LayerBase.prototype._getHost = function () {\n var hostId = this.props.hostId;\n var doc = getDocument(this._rootRef.current);\n if (!doc) {\n return undefined;\n }\n if (hostId) {\n return doc.getElementById(hostId);\n }\n else {\n var defaultHostSelector = getDefaultTarget();\n return defaultHostSelector ? doc.querySelector(defaultHostSelector) : doc.body;\n }\n };\n LayerBase.defaultProps = {\n onLayerDidMount: function () { return undefined; },\n onLayerWillUnmount: function () { return undefined; },\n };\n LayerBase = __decorate([\n customizable('Layer', ['theme', 'hostId'])\n ], LayerBase);\n return LayerBase;\n}(React.Component));\nexport { LayerBase };\nvar _onFilterEvent = function (ev) {\n // We should just be able to check ev.bubble here and only stop events that are bubbling up. However, even though\n // mouseenter and mouseleave do NOT bubble up, they are showing up as bubbling. Therefore we stop events based on\n // event name rather than ev.bubble.\n if (ev.eventPhase === Event.BUBBLING_PHASE &&\n ev.type !== 'mouseenter' &&\n ev.type !== 'mouseleave' &&\n ev.type !== 'touchstart' &&\n ev.type !== 'touchend') {\n ev.stopPropagation();\n }\n};\nvar _filteredEventProps;\nfunction _getFilteredEvents() {\n if (!_filteredEventProps) {\n _filteredEventProps = {};\n [\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseUp',\n 'onTouchMove',\n 'onTouchStart',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onFocus',\n 'onBlur',\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onSubmit',\n ].forEach(function (name) { return (_filteredEventProps[name] = _onFilterEvent); });\n }\n return _filteredEventProps;\n}\n//# sourceMappingURL=Layer.base.js.map","import { ZIndexes, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Layer',\n rootNoHost: 'ms-Layer--fixed',\n content: 'ms-Layer-content',\n};\nexport var getStyles = function (props) {\n var className = props.className, isNotHost = props.isNotHost, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n isNotHost && [\n classNames.rootNoHost,\n {\n position: 'fixed',\n zIndex: ZIndexes.Layer,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n visibility: 'hidden',\n },\n ],\n className,\n ],\n content: [\n classNames.content,\n {\n visibility: 'visible',\n },\n ],\n };\n};\n//# sourceMappingURL=Layer.styles.js.map","import { styled } from '../../Utilities';\nimport { LayerBase } from './Layer.base';\nimport { getStyles } from './Layer.styles';\nexport var Layer = styled(LayerBase, getStyles, undefined, {\n scope: 'Layer',\n fields: ['hostId', 'theme', 'styles'],\n});\n//# sourceMappingURL=Layer.js.map"," \r\n export enum TestReportMetricDataType {\r\n Counter = 0,\r\n Average = 1,\r\n Median = 2,\r\n StandardDeviation = 3,\r\n Min = 4,\r\n Max = 5,\r\n GeometricMean = 6,\r\n Percentile95 = 7,\r\n Percentile85 = 8,\r\n Histogram = 9,\r\n BoxPlot = 10,\r\n Apdex = 11,\r\n WeightedCounter = 12,\r\n WeightedAverage = 13,\r\n InterQuartileRange = 14,\r\n Percentile75 = 15,\r\n Percentile99 = 16,\r\n GeometricStandardDeviation = 17,\r\n PercentileCustom = 18,\r\n Percentile25 = 19,\r\n RateHistogram = 20,\r\n Total = 21,\r\n CumulativeDistributionFunction = 22,\r\n ApdexPercentileSatisfied = 23,\r\n ApdexPercentileTolerating = 24,\r\n ApdexPercentileFrustrated = 25,\r\n ApdexPercentileNotFrustrated = 26,\r\n TraceRouteGraph = 27,\r\n UniqueCounter = 28,\r\n ChangeDetection = 29,\r\n MostRecentValue = 30,\r\n }\r\n","import { extractStyleParts } from './extractStyleParts';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { styleToClassName } from './styleToClassName';\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function mergeStyles() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return mergeCss(args, getStyleOptions());\n}\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n * Accepts a set of options that will be used when calculating styles.\n *\n * @public\n */\nexport function mergeCss(args, options) {\n var styleArgs = args instanceof Array ? args : [args];\n var _a = extractStyleParts(styleArgs), classes = _a.classes, objects = _a.objects;\n if (objects.length) {\n classes.push(styleToClassName(options || {}, objects));\n }\n return classes.join(' ');\n}\n//# sourceMappingURL=mergeStyles.js.map"," \r\n export enum DisplayMonitorType {\r\n IEBrowser = 0,\r\n RealUser = 1,\r\n Object = 2,\r\n Emulated = 3,\r\n Mqtt = 5,\r\n Imap = 6,\r\n Ntp = 7,\r\n PingIcmp = 8,\r\n TraceRouteIcmp = 9,\r\n DnsTrace = 10,\r\n PingTcp = 11,\r\n DnsExperience = 12,\r\n DnsDirect = 13,\r\n TraceRouteUdp = 14,\r\n Tcp = 15,\r\n Ftp = 16,\r\n ApiSummary = 17,\r\n ChromeBrowser = 18,\r\n Playback = 19,\r\n MobilePlayback = 20,\r\n Smtp = 21,\r\n TcpUdp = 22,\r\n PingUdp = 23,\r\n Streaming = 24,\r\n Api = 25,\r\n Mobile = 26,\r\n Ssh = 28,\r\n TraceRouteTcp = 29,\r\n WebSocket = 30,\r\n Ssl = 31,\r\n Wifi = 32,\r\n ShellScript = 33,\r\n Bgp = 34,\r\n TraceRouteSack = 35,\r\n Bandwidth = 36,\r\n WebPageTest = 37,\r\n }\r\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !nativeAssign || fails(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n"," \r\n export enum SlaTimeFrame {\r\n LastMonth = 0,\r\n MonthToDate = 1,\r\n QuarterToDate = 2,\r\n YearToDate = 3,\r\n LastHour = 4,\r\n Last3Hours = 5,\r\n Last6Hours = 6,\r\n Last12Hours = 7,\r\n Last24Hours = 8,\r\n Yesterday = 9,\r\n Last3Days = 10,\r\n Last30Minutes = 11,\r\n Last5Minutes = 12,\r\n Today = 13,\r\n }\r\n","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { hoistStatics } from '../hoistStatics';\nimport { CustomizerContext } from './CustomizerContext';\nimport { concatStyleSets } from '@uifabric/merge-styles';\nexport function customizable(scope, fields, concatStyles) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function customizableFactory(ComposedComponent) {\n var _a;\n var resultClass = (_a = /** @class */ (function (_super) {\n __extends(ComponentWithInjectedProps, _super);\n function ComponentWithInjectedProps(props) {\n var _this = _super.call(this, props) || this;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this._styleCache = {};\n _this._onSettingChanged = _this._onSettingChanged.bind(_this);\n return _this;\n }\n ComponentWithInjectedProps.prototype.componentDidMount = function () {\n Customizations.observe(this._onSettingChanged);\n };\n ComponentWithInjectedProps.prototype.componentWillUnmount = function () {\n Customizations.unobserve(this._onSettingChanged);\n };\n ComponentWithInjectedProps.prototype.render = function () {\n var _this = this;\n return (React.createElement(CustomizerContext.Consumer, null, function (context) {\n var defaultProps = Customizations.getSettings(fields, scope, context.customizations);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var componentProps = _this.props;\n // If defaultProps.styles is a function, evaluate it before calling concatStyleSets\n if (defaultProps.styles && typeof defaultProps.styles === 'function') {\n defaultProps.styles = defaultProps.styles(__assign(__assign({}, defaultProps), componentProps));\n }\n // If concatStyles is true and custom styles have been defined compute those styles\n if (concatStyles && defaultProps.styles) {\n if (_this._styleCache.default !== defaultProps.styles ||\n _this._styleCache.component !== componentProps.styles) {\n var mergedStyles = concatStyleSets(defaultProps.styles, componentProps.styles);\n _this._styleCache.default = defaultProps.styles;\n _this._styleCache.component = componentProps.styles;\n _this._styleCache.merged = mergedStyles;\n }\n return React.createElement(ComposedComponent, __assign({}, defaultProps, componentProps, { styles: _this._styleCache.merged }));\n }\n return React.createElement(ComposedComponent, __assign({}, defaultProps, componentProps));\n }));\n };\n ComponentWithInjectedProps.prototype._onSettingChanged = function () {\n this.forceUpdate();\n };\n return ComponentWithInjectedProps;\n }(React.Component)),\n _a.displayName = 'Customized' + scope,\n _a);\n return hoistStatics(ComposedComponent, resultClass);\n };\n}\n//# sourceMappingURL=customizable.js.map","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","/**\n * ARIA helper to concatenate attributes, returning undefined if all attributes\n * are undefined. (Empty strings are not a valid ARIA attribute value.)\n *\n * @param ariaAttributes - ARIA attributes to merge\n */\nexport function mergeAriaAttributeValues() {\n var ariaAttributes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n ariaAttributes[_i] = arguments[_i];\n }\n var mergedAttribute = ariaAttributes\n .filter(function (arg) { return arg; })\n .join(' ')\n .trim();\n return mergedAttribute === '' ? undefined : mergedAttribute;\n}\n//# sourceMappingURL=aria.js.map","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","export var selectURI = function (operation, fallbackURI) {\n var context = operation.getContext();\n var contextURI = context.uri;\n if (contextURI) {\n return contextURI;\n }\n else if (typeof fallbackURI === 'function') {\n return fallbackURI(operation);\n }\n else {\n return fallbackURI || '/graphql';\n }\n};\n//# sourceMappingURL=selectURI.js.map"," \r\n export enum RPKIStatusType {\r\n NotConfigured = 0,\r\n Valid = 1,\r\n Invalid = 2,\r\n }\r\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n"," \r\n export enum SupportedTimeZone {\r\n EasternTime = 0,\r\n CentralTime = 1,\r\n MountainTime = 2,\r\n PacificTime = 3,\r\n UTC = 4,\r\n CentralEuropeTime = 5,\r\n IsraelTime = 6,\r\n JapanStandardTime = 7,\r\n EastEuropeTime = 8,\r\n SingaporeTime = 9,\r\n EastAustraliaTime = 10,\r\n SEAsiaTime = 11,\r\n HawaiianTime = 12,\r\n AlaskanTime = 13,\r\n MexicoPacificTime = 14,\r\n USMountainTime = 15,\r\n MexicoMountainTime = 16,\r\n BrazilCentralTime = 17,\r\n ESouthAmericaTime = 18,\r\n GMTStandardTime = 19,\r\n TurkeyTime = 20,\r\n ChinaTime = 21,\r\n TaipeiTime = 22,\r\n KoreaTime = 23,\r\n NewZealandTime = 24,\r\n RussiaTime = 25,\r\n CentralAsiaTime = 26,\r\n PakistanTime = 27,\r\n IndiaTime = 28,\r\n }\r\n","export var DirectionalHint = {\n /**\n * Appear above the target element, with the left edges of the callout and target aligning.\n */\n topLeftEdge: 0,\n /**\n * Appear above the target element, with the centers of the callout and target aligning.\n */\n topCenter: 1,\n /**\n * Appear above the target element, with the right edges of the callout and target aligning.\n */\n topRightEdge: 2,\n /**\n * Appear above the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n topAutoEdge: 3,\n /**\n * Appear below the target element, with the left edges of the callout and target aligning.\n */\n bottomLeftEdge: 4,\n /**\n * Appear below the target element, with the centers of the callout and target aligning.\n */\n bottomCenter: 5,\n /**\n * Appear below the target element, with the right edges of the callout and target aligning.\n */\n bottomRightEdge: 6,\n /**\n * Appear below the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n bottomAutoEdge: 7,\n /**\n * Appear to the left of the target element, with the top edges of the callout and target aligning.\n */\n leftTopEdge: 8,\n /**\n * Appear to the left of the target element, with the centers of the callout and target aligning.\n */\n leftCenter: 9,\n /**\n * Appear to the left of the target element, with the bottom edges of the callout and target aligning.\n */\n leftBottomEdge: 10,\n /**\n * Appear to the right of the target element, with the top edges of the callout and target aligning.\n */\n rightTopEdge: 11,\n /**\n * Appear to the right of the target element, with the centers of the callout and target aligning.\n */\n rightCenter: 12,\n /**\n * Appear to the right of the target element, with the bottom edges of the callout and target aligning.\n */\n rightBottomEdge: 13,\n};\n//# sourceMappingURL=DirectionalHint.js.map","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\n\t\t\tif (typeof Symbol.for === 'function') {\n\t\t\t\t// This just needs to be something that won't trample other user's Symbol.for use\n\t\t\t\t// It also will guide people to the source of their issues, if this is problematic.\n\t\t\t\t// META: It's a resource locator!\n\t\t\t\tresult = Symbol.for('https://github.com/benlesh/symbol-observable');\n\t\t\t} else {\n\t\t\t\t// Symbol.for didn't exist! The best we can do at this point is a totally \n\t\t\t\t// unique symbol. Note that the string argument here is a descriptor, not\n\t\t\t\t// an identifier. This symbol is unique.\n\t\t\t\tresult = Symbol('https://github.com/benlesh/symbol-observable');\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tSymbol.observable = result;\n\t\t\t} catch (err) {\n\t\t\t\t// Do nothing. In some environments, users have frozen `Symbol` for security reasons,\n\t\t\t\t// if it is frozen assigning to it will throw. In this case, we don't care, because\n\t\t\t\t// they will need to use the returned value from the ponyfill.\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var ADDER = IS_MAP ? 'set' : 'add';\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(a) {\n nativeMethod.call(this, a === 0 ? 0 : a);\n return this;\n } : KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : nativeMethod.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : nativeMethod.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : nativeMethod.call(this, a === 0 ? 0 : a);\n } : function set(a, b) {\n nativeMethod.call(this, a === 0 ? 0 : a, b);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n"," \r\n export enum UserPermission {\r\n None = 0,\r\n ManageChartTemplates = 1,\r\n ManageContactGroups = 2,\r\n ManageContacts = 3,\r\n ManageSchedules = 4,\r\n ManageTests = 5,\r\n ManageUserRoles = 6,\r\n ManageDivisionsForClient = 7,\r\n ManageDivisionsForReseller = 8,\r\n ManageDivisionsForSystem = 9,\r\n ManageClientsForReseller = 10,\r\n ManageClientsForSystem = 11,\r\n ManageResellersForSystem = 12,\r\n ManageIncidents = 13,\r\n ManageSettings = 14,\r\n ManageReports = 15,\r\n ManageReportTemplates = 16,\r\n ManageFavoriteCharts = 17,\r\n ManageDashboards = 18,\r\n ManageAccountProperties = 19,\r\n ManageAPI = 20,\r\n ManageGlimpse = 21,\r\n ManageNodeGroups = 22,\r\n ManageNodesAndInstancesForSystem = 23,\r\n ManageEnterpriseNodesAndInstancesForClient = 24,\r\n ManageEnterpriseNodesAndInstancesForDivision = 25,\r\n ManageVisualizationForSystem = 26,\r\n ManageVisualization = 27,\r\n ViewEnterpriseNodes = 28,\r\n ManageSingleSignOnForSystem = 29,\r\n ManageSingleSignOnForClient = 30,\r\n ManageInstantTests = 31,\r\n ManagePointsAllocation = 32,\r\n ManageSLADataClassification = 33,\r\n ManageInstanceLicenseKey = 34,\r\n ManagePricingCalculator = 35,\r\n ManageTestTemplatesForSystem = 36,\r\n ManageTestTemplatesForClient = 37,\r\n ManageEndpoint = 38,\r\n ManageEndpointInstantTest = 39,\r\n ManageTestTemplatesForDivision = 40,\r\n }\r\n","import { appendFunction } from './appendFunction';\n/**\n * Extends a component's lifetime methods by appending new functions to the existing lifetime functions.\n */\nexport function extendComponent(parent, methods) {\n for (var name_1 in methods) {\n if (methods.hasOwnProperty(name_1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent[name_1] = appendFunction(parent, parent[name_1], methods[name_1]);\n }\n }\n}\n//# sourceMappingURL=extendComponent.js.map","export var NetworkStatus;\n(function (NetworkStatus) {\n NetworkStatus[NetworkStatus[\"loading\"] = 1] = \"loading\";\n NetworkStatus[NetworkStatus[\"setVariables\"] = 2] = \"setVariables\";\n NetworkStatus[NetworkStatus[\"fetchMore\"] = 3] = \"fetchMore\";\n NetworkStatus[NetworkStatus[\"refetch\"] = 4] = \"refetch\";\n NetworkStatus[NetworkStatus[\"poll\"] = 6] = \"poll\";\n NetworkStatus[NetworkStatus[\"ready\"] = 7] = \"ready\";\n NetworkStatus[NetworkStatus[\"error\"] = 8] = \"error\";\n})(NetworkStatus || (NetworkStatus = {}));\nexport function isNetworkRequestInFlight(networkStatus) {\n return networkStatus ? networkStatus < 7 : false;\n}\n//# sourceMappingURL=networkStatus.js.map","/** The status of an Span. */\n// eslint-disable-next-line import/export\nexport var SpanStatus;\n(function (SpanStatus) {\n /** The operation completed successfully. */\n SpanStatus[\"Ok\"] = \"ok\";\n /** Deadline expired before operation could complete. */\n SpanStatus[\"DeadlineExceeded\"] = \"deadline_exceeded\";\n /** 401 Unauthorized (actually does mean unauthenticated according to RFC 7235) */\n SpanStatus[\"Unauthenticated\"] = \"unauthenticated\";\n /** 403 Forbidden */\n SpanStatus[\"PermissionDenied\"] = \"permission_denied\";\n /** 404 Not Found. Some requested entity (file or directory) was not found. */\n SpanStatus[\"NotFound\"] = \"not_found\";\n /** 429 Too Many Requests */\n SpanStatus[\"ResourceExhausted\"] = \"resource_exhausted\";\n /** Client specified an invalid argument. 4xx. */\n SpanStatus[\"InvalidArgument\"] = \"invalid_argument\";\n /** 501 Not Implemented */\n SpanStatus[\"Unimplemented\"] = \"unimplemented\";\n /** 503 Service Unavailable */\n SpanStatus[\"Unavailable\"] = \"unavailable\";\n /** Other/generic 5xx. */\n SpanStatus[\"InternalError\"] = \"internal_error\";\n /** Unknown. Any non-standard HTTP status code. */\n SpanStatus[\"UnknownError\"] = \"unknown_error\";\n /** The operation was cancelled (typically by the user). */\n SpanStatus[\"Cancelled\"] = \"cancelled\";\n /** Already exists (409) */\n SpanStatus[\"AlreadyExists\"] = \"already_exists\";\n /** Operation was rejected because the system is not in a state required for the operation's */\n SpanStatus[\"FailedPrecondition\"] = \"failed_precondition\";\n /** The operation was aborted, typically due to a concurrency issue. */\n SpanStatus[\"Aborted\"] = \"aborted\";\n /** Operation was attempted past the valid range. */\n SpanStatus[\"OutOfRange\"] = \"out_of_range\";\n /** Unrecoverable data loss or corruption */\n SpanStatus[\"DataLoss\"] = \"data_loss\";\n})(SpanStatus || (SpanStatus = {}));\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\n(function (SpanStatus) {\n /**\n * Converts a HTTP status code into a {@link SpanStatus}.\n *\n * @param httpStatus The HTTP response status code.\n * @returns The span status or {@link SpanStatus.UnknownError}.\n */\n function fromHttpCode(httpStatus) {\n if (httpStatus < 400) {\n return SpanStatus.Ok;\n }\n if (httpStatus >= 400 && httpStatus < 500) {\n switch (httpStatus) {\n case 401:\n return SpanStatus.Unauthenticated;\n case 403:\n return SpanStatus.PermissionDenied;\n case 404:\n return SpanStatus.NotFound;\n case 409:\n return SpanStatus.AlreadyExists;\n case 413:\n return SpanStatus.FailedPrecondition;\n case 429:\n return SpanStatus.ResourceExhausted;\n default:\n return SpanStatus.InvalidArgument;\n }\n }\n if (httpStatus >= 500 && httpStatus < 600) {\n switch (httpStatus) {\n case 501:\n return SpanStatus.Unimplemented;\n case 503:\n return SpanStatus.Unavailable;\n case 504:\n return SpanStatus.DeadlineExceeded;\n default:\n return SpanStatus.InternalError;\n }\n }\n return SpanStatus.UnknownError;\n }\n SpanStatus.fromHttpCode = fromHttpCode;\n})(SpanStatus || (SpanStatus = {}));\n//# sourceMappingURL=spanstatus.js.map","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n"," \r\n export enum ReportAlertSubtype {\r\n None = 0,\r\n ByteLengthPage = 1,\r\n ByteLengthTotalPage = 2,\r\n ByteLengthPageResponseContent = 3,\r\n ContentMatchRegularExpression = 10,\r\n ContentMatchLastCheckedFile = 11,\r\n ContentMatchUploadedFile = 12,\r\n ContentMatchRegularExpressionWithNumericCheck = 13,\r\n ContentMatchHttpResponseCode = 14,\r\n ContentMatchHttpResponseHeaders = 15,\r\n ContentMatchMacAddressChanged = 16,\r\n HostFailureAny = 20,\r\n HostFailureDns = 21,\r\n HostFailureConnection = 22,\r\n HostFailureResponse = 23,\r\n HttpHeaderMatchConnection = 30,\r\n HttpHeaderMatchContentType = 31,\r\n HttpHeaderMatchCustom = 32,\r\n HttpHeaderMatchEncoding = 33,\r\n HttpHeaderMatchRedirect = 34,\r\n HttpHeaderMatchVersion = 35,\r\n TagFailureUnknown = 40,\r\n TagFailureIFrames = 41,\r\n TagFailureImages = 42,\r\n TagFailureLinks = 43,\r\n TagFailureScripts = 44,\r\n TagFailureXhr = 45,\r\n ResponseTimeDns = 50,\r\n ResponseTimeConnect = 51,\r\n ResponseTimeSend = 52,\r\n ResponseTimeWait = 53,\r\n ResponseTimeReceive = 54,\r\n ResponseTimeTimeToFirstByte = 55,\r\n ResponseTimePageLoad = 56,\r\n ResponseTimePageElementsLoad = 57,\r\n ResponseTimeTotalPageLoad = 58,\r\n ResponseTimeTotalPageElementsLoad = 59,\r\n ResponseTimeTotalPageBlocked = 60,\r\n ResponseTimeDomLoad = 61,\r\n ResponseTimePerceivedPageLoad = 62,\r\n ResponseTimeTotalPageLoadWithObjectCulprit = 63,\r\n ResponseTimeServerResponse = 64,\r\n ResponseTimeFtpDelete = 65,\r\n ResponseTimeDocumentComplete = 66,\r\n ResponseTimeRedirect = 67,\r\n ResponseTimeSsl = 68,\r\n TrafficPageViews = 70,\r\n TrafficUniqueSessions = 71,\r\n TrafficUniqueUsers = 72,\r\n PageFailureAny = 80,\r\n PageFailureDns = 81,\r\n PageFailureConnection = 82,\r\n PageFailureResponse = 83,\r\n PageFailureSsl = 84,\r\n PageFailureOther = 85,\r\n CustomTestDataDimension = 90,\r\n CustomTestDataMetric = 91,\r\n PingRoundTripTimeAvg = 100,\r\n PingPacketLoss = 101,\r\n RequestsObjects = 110,\r\n RequestsHosts = 111,\r\n RequestsConnections = 112,\r\n RequestsRedirects = 113,\r\n RequestsContentTypeOther = 114,\r\n RequestsContentTypeImage = 115,\r\n RequestsContentTypeScript = 116,\r\n RequestsContentTypeHtml = 117,\r\n RequestsContentTypeCss = 118,\r\n RequestsContentTypeXml = 119,\r\n RequestsContentTypeFlash = 120,\r\n RequestsContentTypeMedia = 121,\r\n ContentZoneStartToEndTime = 130,\r\n ContentZoneBottleneckTime = 131,\r\n ContentZoneBottleneckTimePct = 132,\r\n ContentZoneRequests = 133,\r\n ContentZoneRequestFailures = 134,\r\n ContentZoneResponseBytes = 135,\r\n ContentZoneResponseBytesSelf = 136,\r\n ContentZoneBottleneckTimePctSelf = 137,\r\n ContentZoneBottleneckTimePctThirdParty = 138,\r\n AvailabilityPage = 140,\r\n AvailabilityContent = 141,\r\n AvailabilityDownTime = 142,\r\n AddressTestUrl = 150,\r\n AddressChild = 151,\r\n AddressPage = 152,\r\n DnsGeneral = 160,\r\n DnsAnswer = 161,\r\n DnsAuthority = 162,\r\n DnsAdditional = 163,\r\n GlimpseCounterPageViews = 170,\r\n GlimpseCounterBounces = 171,\r\n GlimpseCounterConversions = 172,\r\n GlimpseCounterVisits = 173,\r\n GlimpseRateBounce = 180,\r\n GlimpseRateConversion = 181,\r\n PathCities = 190,\r\n PathASNs = 191,\r\n SpeedIndex = 192,\r\n PathCountries = 193,\r\n PathHops = 194,\r\n HandshakeTime = 195,\r\n CertificateExpirationTime = 196,\r\n SignalQuality = 200,\r\n SignalStrength = 201,\r\n AsnOrigin = 210,\r\n AsnMatch = 211,\r\n AsnOriginNeighbor = 212,\r\n AsnPrefixMismatch = 213,\r\n EndpointExperienceScore = 220,\r\n }\r\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: nativeGetOwnPropertyNames\n});\n","import * as React from 'react';\r\nconst styles = require('./OverlayTooltip.scss') as { [key: string]: string };\r\nimport { Localize } from '../../utils/localize';\r\n\r\nexport enum SectionType {\r\n DowntimeSpotlight = 1,\r\n TrendshiftSpotlight = 2,\r\n Alert = 3,\r\n Event = 4\r\n}\r\n\r\nexport interface Section {\r\n type: SectionType;\r\n content: Content[];\r\n}\r\n\r\nexport interface Content {\r\n heading?: string;\r\n info: ContentInfo[];\r\n}\r\n\r\nexport interface ContentInfo {\r\n text: string;\r\n subText?: string;\r\n date?: string;\r\n}\r\n\r\nexport interface OverlayTooltipProps {\r\n /** Title to be displayed on the tooltip. */\r\n title?: string;\r\n /**\r\n * Array of Sections. Each section contains information about the overlay items\r\n * such as Downtime or Trend shift spotlight and/or Alert.\r\n */\r\n sections: Section[];\r\n}\r\n\r\n/**\r\n * Overlay tooltip is displayed on hover over the spotlight and alert data.\r\n * The tooltip dynamically updates while the user is interacting with the overlay\r\n * and moving between multiple items occurring at the same time.\r\n */\r\nexport const OverlayTooltip = (props: OverlayTooltipProps) => {\r\n const tooltipTitle = (\r\n
\r\n {props.title}\r\n
\r\n );\r\n\r\n const contentInfo = (info: ContentInfo, index: number) => {\r\n return (\r\n
\r\n
\r\n {info.text}\r\n
\r\n {info.subText && (\r\n
\r\n {info.subText}\r\n
\r\n )}\r\n {info.date && (\r\n
\r\n {info.date}\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const content = (contentParam: Content, index: number) => {\r\n const infoHtml = contentParam.info.map((info, i) => contentInfo(info, i));\r\n let cssClass = styles.content;\r\n if (index !== 0) {\r\n cssClass += ' ' + styles.border;\r\n }\r\n\r\n return (\r\n
\r\n {contentParam.heading && (\r\n
\r\n {contentParam.heading}\r\n
\r\n )}\r\n {infoHtml}\r\n
\r\n );\r\n };\r\n\r\n const section = (sectionParam: Section, index: number) => {\r\n const contentHtml = sectionParam.content.map((ct, i) => content(ct, i));\r\n const sectionHeading = Localize.getOverlayType(sectionParam.type);\r\n return (\r\n
\r\n
\r\n {sectionHeading}\r\n
\r\n {contentHtml}\r\n
\r\n );\r\n };\r\n\r\n const tooltipData = () => {\r\n const sectionHtml = props.sections.map((s, i) => section(s, i));\r\n return (\r\n
\r\n {props.title && tooltipTitle}\r\n {sectionHtml}\r\n
\r\n );\r\n };\r\n\r\n return
{tooltipData()}
;\r\n};\r\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","import { assign } from './object';\n/** An instance of EventGroup allows anything with a handle to it to trigger events on it.\n * If the target is an HTMLElement, the event will be attached to the element and can be\n * triggered as usual (like clicking for onClick).\n * The event can be triggered by calling EventGroup.raise() here. If the target is an\n * HTMLElement, the event gets raised and is handled by the browser. Otherwise, it gets\n * handled here in EventGroup, and the handler is called in the context of the parent\n * (which is passed in in the constructor).\n *\n * @public\n * {@docCategory EventGroup}\n */\nvar EventGroup = /** @class */ (function () {\n /** parent: the context in which events attached to non-HTMLElements are called */\n function EventGroup(parent) {\n this._id = EventGroup._uniqueId++;\n this._parent = parent;\n this._eventRecords = [];\n }\n /** For IE8, bubbleEvent is ignored here and must be dealt with by the handler.\n * Events raised here by default have bubbling set to false and cancelable set to true.\n * This applies also to built-in events being raised manually here on HTMLElements,\n * which may lead to unexpected behavior if it differs from the defaults.\n *\n */\n EventGroup.raise = function (target, eventName, eventArgs, bubbleEvent) {\n var retVal;\n if (EventGroup._isElement(target)) {\n if (typeof document !== 'undefined' && document.createEvent) {\n var ev = document.createEvent('HTMLEvents');\n ev.initEvent(eventName, bubbleEvent || false, true);\n assign(ev, eventArgs);\n retVal = target.dispatchEvent(ev);\n }\n else if (typeof document !== 'undefined' && document.createEventObject) {\n // IE8\n var evObj = document.createEventObject(eventArgs);\n // cannot set cancelBubble on evObj, fireEvent will overwrite it\n target.fireEvent('on' + eventName, evObj);\n }\n }\n else {\n while (target && retVal !== false) {\n var events = target.__events__;\n var eventRecords = events ? events[eventName] : null;\n if (eventRecords) {\n for (var id in eventRecords) {\n if (eventRecords.hasOwnProperty(id)) {\n var eventRecordList = eventRecords[id];\n for (var listIndex = 0; retVal !== false && listIndex < eventRecordList.length; listIndex++) {\n var record = eventRecordList[listIndex];\n if (record.objectCallback) {\n retVal = record.objectCallback.call(record.parent, eventArgs);\n }\n }\n }\n }\n }\n // If the target has a parent, bubble the event up.\n target = bubbleEvent ? target.parent : null;\n }\n }\n return retVal;\n };\n EventGroup.isObserved = function (target, eventName) {\n var events = target && target.__events__;\n return !!events && !!events[eventName];\n };\n /** Check to see if the target has declared support of the given event. */\n EventGroup.isDeclared = function (target, eventName) {\n var declaredEvents = target && target.__declaredEvents;\n return !!declaredEvents && !!declaredEvents[eventName];\n };\n EventGroup.stopPropagation = function (event) {\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n else {\n // IE8\n event.cancelBubble = true;\n }\n };\n EventGroup._isElement = function (target) {\n return (!!target && (!!target.addEventListener || (typeof HTMLElement !== 'undefined' && target instanceof HTMLElement)));\n };\n EventGroup.prototype.dispose = function () {\n if (!this._isDisposed) {\n this._isDisposed = true;\n this.off();\n this._parent = null;\n }\n };\n /** On the target, attach a set of events, where the events object is a name to function mapping. */\n EventGroup.prototype.onAll = function (target, events, useCapture) {\n for (var eventName in events) {\n if (events.hasOwnProperty(eventName)) {\n this.on(target, eventName, events[eventName], useCapture);\n }\n }\n };\n /**\n * On the target, attach an event whose handler will be called in the context of the parent\n * of this instance of EventGroup.\n */\n EventGroup.prototype.on = function (target, eventName, callback, options) {\n var _this = this;\n if (eventName.indexOf(',') > -1) {\n var events = eventName.split(/[ ,]+/);\n for (var i = 0; i < events.length; i++) {\n this.on(target, events[i], callback, options);\n }\n }\n else {\n var parent_1 = this._parent;\n var eventRecord = {\n target: target,\n eventName: eventName,\n parent: parent_1,\n callback: callback,\n options: options,\n };\n // Initialize and wire up the record on the target, so that it can call the callback if the event fires.\n var events = (target.__events__ = target.__events__ || {});\n events[eventName] =\n events[eventName] ||\n {\n count: 0,\n };\n events[eventName][this._id] = events[eventName][this._id] || [];\n events[eventName][this._id].push(eventRecord);\n events[eventName].count++;\n if (EventGroup._isElement(target)) {\n var processElementEvent = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (_this._isDisposed) {\n return;\n }\n var result;\n try {\n result = callback.apply(parent_1, args);\n if (result === false && args[0]) {\n var e = args[0];\n if (e.preventDefault) {\n e.preventDefault();\n }\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n e.cancelBubble = true;\n }\n }\n catch (e) {\n // ignore\n }\n return result;\n };\n eventRecord.elementCallback = processElementEvent;\n if (target.addEventListener) {\n target.addEventListener(eventName, processElementEvent, options);\n }\n else if (target.attachEvent) {\n // IE8\n target.attachEvent('on' + eventName, processElementEvent);\n }\n }\n else {\n var processObjectEvent = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (_this._isDisposed) {\n return;\n }\n return callback.apply(parent_1, args);\n };\n eventRecord.objectCallback = processObjectEvent;\n }\n // Remember the record locally, so that it can be removed.\n this._eventRecords.push(eventRecord);\n }\n };\n EventGroup.prototype.off = function (target, eventName, callback, options) {\n for (var i = 0; i < this._eventRecords.length; i++) {\n var eventRecord = this._eventRecords[i];\n if ((!target || target === eventRecord.target) &&\n (!eventName || eventName === eventRecord.eventName) &&\n (!callback || callback === eventRecord.callback) &&\n (typeof options !== 'boolean' || options === eventRecord.options)) {\n var events = eventRecord.target.__events__;\n var targetArrayLookup = events[eventRecord.eventName];\n var targetArray = targetArrayLookup ? targetArrayLookup[this._id] : null;\n // We may have already target's entries, so check for null.\n if (targetArray) {\n if (targetArray.length === 1 || !callback) {\n targetArrayLookup.count -= targetArray.length;\n delete events[eventRecord.eventName][this._id];\n }\n else {\n targetArrayLookup.count--;\n targetArray.splice(targetArray.indexOf(eventRecord), 1);\n }\n if (!targetArrayLookup.count) {\n delete events[eventRecord.eventName];\n }\n }\n if (eventRecord.elementCallback) {\n if (eventRecord.target.removeEventListener) {\n eventRecord.target.removeEventListener(eventRecord.eventName, eventRecord.elementCallback, eventRecord.options);\n }\n else if (eventRecord.target.detachEvent) {\n // IE8\n eventRecord.target.detachEvent('on' + eventRecord.eventName, eventRecord.elementCallback);\n }\n }\n this._eventRecords.splice(i--, 1);\n }\n }\n };\n /** Trigger the given event in the context of this instance of EventGroup. */\n EventGroup.prototype.raise = function (eventName, eventArgs, bubbleEvent) {\n return EventGroup.raise(this._parent, eventName, eventArgs, bubbleEvent);\n };\n /** Declare an event as being supported by this instance of EventGroup. */\n EventGroup.prototype.declare = function (event) {\n var declaredEvents = (this._parent.__declaredEvents = this._parent.__declaredEvents || {});\n if (typeof event === 'string') {\n declaredEvents[event] = true;\n }\n else {\n for (var i = 0; i < event.length; i++) {\n declaredEvents[event[i]] = true;\n }\n }\n };\n EventGroup._uniqueId = 0;\n return EventGroup;\n}());\nexport { EventGroup };\n//# sourceMappingURL=EventGroup.js.map","exports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","var toObjectMap = function () {\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i] = arguments[_i];\n }\n var result = {};\n for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {\n var item = items_1[_a];\n var keys = Array.isArray(item) ? item : Object.keys(item);\n for (var _b = 0, keys_1 = keys; _b < keys_1.length; _b++) {\n var key = keys_1[_b];\n result[key] = 1;\n }\n }\n return result;\n};\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */\nexport var baseElementEvents = toObjectMap([\n 'onCopy',\n 'onCut',\n 'onPaste',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onFocus',\n 'onFocusCapture',\n 'onBlur',\n 'onBlurCapture',\n 'onChange',\n 'onInput',\n 'onSubmit',\n 'onLoad',\n 'onError',\n 'onKeyDown',\n 'onKeyDownCapture',\n 'onKeyPress',\n 'onKeyUp',\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n 'onClick',\n 'onClickCapture',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseDownCapture',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onMouseUpCapture',\n 'onSelect',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onScroll',\n 'onWheel',\n 'onPointerCancel',\n 'onPointerDown',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerOut',\n 'onPointerOver',\n 'onPointerUp',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n]);\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */\nexport var baseElementProperties = toObjectMap([\n 'accessKey',\n 'children',\n 'className',\n 'contentEditable',\n 'dir',\n 'draggable',\n 'hidden',\n 'htmlFor',\n 'id',\n 'lang',\n 'ref',\n 'role',\n 'style',\n 'tabIndex',\n 'title',\n 'translate',\n 'spellCheck',\n 'name',\n]);\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */\nexport var htmlElementProperties = toObjectMap(baseElementProperties, baseElementEvents);\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */\nexport var labelProperties = toObjectMap(htmlElementProperties, [\n 'form',\n]);\n/**\n * An array of AUDIO tag properties and events.\n\n * @public\n */\nexport var audioProperties = toObjectMap(htmlElementProperties, [\n 'height',\n 'loop',\n 'muted',\n 'preload',\n 'src',\n 'width',\n]);\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */\nexport var videoProperties = toObjectMap(audioProperties, [\n 'poster',\n]);\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */\nexport var olProperties = toObjectMap(htmlElementProperties, [\n 'start',\n]);\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */\nexport var liProperties = toObjectMap(htmlElementProperties, [\n 'value',\n]);\n/**\n * An array of A tag properties and events.\n *\n * @public\n */\nexport var anchorProperties = toObjectMap(htmlElementProperties, [\n 'download',\n 'href',\n 'hrefLang',\n 'media',\n 'rel',\n 'target',\n 'type',\n]);\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */\nexport var buttonProperties = toObjectMap(htmlElementProperties, [\n 'autoFocus',\n 'disabled',\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'type',\n 'value',\n]);\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */\nexport var inputProperties = toObjectMap(buttonProperties, [\n 'accept',\n 'alt',\n 'autoCapitalize',\n 'autoComplete',\n 'checked',\n 'dirname',\n 'form',\n 'height',\n 'inputMode',\n 'list',\n 'max',\n 'maxLength',\n 'min',\n 'multiple',\n 'pattern',\n 'placeholder',\n 'readOnly',\n 'required',\n 'src',\n 'step',\n 'size',\n 'type',\n 'value',\n 'width',\n]);\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */\nexport var textAreaProperties = toObjectMap(buttonProperties, [\n 'autoCapitalize',\n 'cols',\n 'dirname',\n 'form',\n 'maxLength',\n 'placeholder',\n 'readOnly',\n 'required',\n 'rows',\n 'wrap',\n]);\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */\nexport var selectProperties = toObjectMap(buttonProperties, [\n 'form',\n 'multiple',\n 'required',\n]);\nexport var optionProperties = toObjectMap(htmlElementProperties, [\n 'selected',\n 'value',\n]);\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */\nexport var tableProperties = toObjectMap(htmlElementProperties, [\n 'cellPadding',\n 'cellSpacing',\n]);\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */\nexport var trProperties = htmlElementProperties;\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */\nexport var thProperties = toObjectMap(htmlElementProperties, [\n 'rowSpan',\n 'scope',\n]);\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */\nexport var tdProperties = toObjectMap(htmlElementProperties, [\n 'colSpan',\n 'headers',\n 'rowSpan',\n 'scope',\n]);\nexport var colGroupProperties = toObjectMap(htmlElementProperties, [\n 'span',\n]);\nexport var colProperties = toObjectMap(htmlElementProperties, [\n 'span',\n]);\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */\nexport var formProperties = toObjectMap(htmlElementProperties, [\n 'acceptCharset',\n 'action',\n 'encType',\n 'encType',\n 'method',\n 'noValidate',\n 'target',\n]);\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */\nexport var iframeProperties = toObjectMap(htmlElementProperties, [\n 'allow',\n 'allowFullScreen',\n 'allowPaymentRequest',\n 'allowTransparency',\n 'csp',\n 'height',\n 'importance',\n 'referrerPolicy',\n 'sandbox',\n 'src',\n 'srcDoc',\n 'width',\n]);\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */\nexport var imgProperties = toObjectMap(htmlElementProperties, [\n 'alt',\n 'crossOrigin',\n 'height',\n 'src',\n 'srcSet',\n 'useMap',\n 'width',\n]);\n/**\n * @deprecated Use imgProperties for img elements.\n */\nexport var imageProperties = imgProperties;\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */\nexport var divProperties = htmlElementProperties;\n/**\n * Gets native supported props for an html element provided the allowance set. Use one of the property\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\n *\n * @public\n * @param props - The unfiltered input props\n * @param allowedPropsNames - The array or record of allowed prop names.\n * @returns The filtered props\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeProps(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nprops, allowedPropNames, excludedPropNames) {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for\n // JSX attributes, but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.\n // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then\n // return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n var _a;\n var isArray = Array.isArray(allowedPropNames);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var result = {};\n var keys = Object.keys(props);\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n var isNativeProp = (!isArray && allowedPropNames[key]) ||\n (isArray && allowedPropNames.indexOf(key) >= 0) ||\n key.indexOf('data-') === 0 ||\n key.indexOf('aria-') === 0;\n if (isNativeProp && (!excludedPropNames || ((_a = excludedPropNames) === null || _a === void 0 ? void 0 : _a.indexOf(key)) === -1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result[key] = props[key];\n }\n }\n return result;\n}\n//# sourceMappingURL=properties.js.map","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","import { __assign } from \"tslib\";\n/**\n * Merge new and old settings, giving priority to new settings.\n * New settings is optional in which case oldSettings is returned as-is.\n * @param oldSettings - Old settings to fall back to.\n * @param newSettings - New settings that will be merged over oldSettings.\n * @returns Merged settings.\n */\nexport function mergeSettings(oldSettings, newSettings) {\n if (oldSettings === void 0) { oldSettings = {}; }\n var mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _settingsMergeWith(newSettings);\n return mergeSettingsWith(oldSettings);\n}\nexport function mergeScopedSettings(oldSettings, newSettings) {\n if (oldSettings === void 0) { oldSettings = {}; }\n var mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _scopedSettingsMergeWith(newSettings);\n return mergeSettingsWith(oldSettings);\n}\nfunction _isSettingsFunction(settings) {\n return typeof settings === 'function';\n}\nfunction _settingsMergeWith(newSettings) {\n return function (settings) { return (newSettings ? __assign(__assign({}, settings), newSettings) : settings); };\n}\nfunction _scopedSettingsMergeWith(scopedSettingsFromProps) {\n if (scopedSettingsFromProps === void 0) { scopedSettingsFromProps = {}; }\n return function (oldScopedSettings) {\n var newScopedSettings = __assign({}, oldScopedSettings);\n for (var scopeName in scopedSettingsFromProps) {\n if (scopedSettingsFromProps.hasOwnProperty(scopeName)) {\n newScopedSettings[scopeName] = __assign(__assign({}, oldScopedSettings[scopeName]), scopedSettingsFromProps[scopeName]);\n }\n }\n return newScopedSettings;\n };\n}\n//# sourceMappingURL=mergeSettings.js.map","import { throwServerError } from \"../utils/index.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function parseAndCheckHttpResponse(operations) {\n return function (response) { return response\n .text()\n .then(function (bodyText) {\n try {\n return JSON.parse(bodyText);\n }\n catch (err) {\n var parseError = err;\n parseError.name = 'ServerParseError';\n parseError.response = response;\n parseError.statusCode = response.status;\n parseError.bodyText = bodyText;\n throw parseError;\n }\n })\n .then(function (result) {\n if (response.status >= 300) {\n throwServerError(response, result, \"Response not successful: Received status code \" + response.status);\n }\n if (!Array.isArray(result) &&\n !hasOwnProperty.call(result, 'data') &&\n !hasOwnProperty.call(result, 'errors')) {\n throwServerError(response, result, \"Server response was missing for query '\" + (Array.isArray(operations)\n ? operations.map(function (op) { return op.operationName; })\n : operations.operationName) + \"'.\");\n }\n return result;\n }); };\n}\n//# sourceMappingURL=parseAndCheckHttpResponse.js.map","// This whole file use any in abundance so disabling at top level\r\n// This will be replaced with Ajax calls or another way we see fit\r\n/* tslint:disable:no-any */\r\nenum TglDataType {\r\n Permissions = 'mp',\r\n PublicShare = 'psb',\r\n LevelInfo = 'li',\r\n UserAuthToken = 'ua',\r\n GraphqlUrl = 'gql',\r\n CurrentClientTime = 'currentClientTime',\r\n PublicToken = 'ptk'\r\n}\r\n\r\n/** @deprecated Do Not use ! */\r\nexport const getPublicShareServerInitData = (): any => {\r\n const data = getTglServerData();\r\n return data && data[TglDataType.PublicShare];\r\n};\r\n\r\n/** @deprecated Do Not use ! */\r\nexport const getLevelServerInitData = (): any => {\r\n const data = getTglServerData();\r\n return data && data[TglDataType.LevelInfo];\r\n};\r\n\r\n/** @deprecated Do Not use ! */\r\nexport const getPermissionsServerInitiData = (): any => {\r\n const data = getTglServerData();\r\n return data && data[TglDataType.Permissions];\r\n};\r\n\r\n/** @deprecated This is a fallback mechanism for getting AuthToken and should not be used anymore.\r\n * This is only used the first time the page is loaded from server and subsequently, client/division switching\r\n * on client side, updates the token and apollo client is given new token (Check `App.tsx`) !! Once login happens\r\n * from client side as well, this would be removed !\r\n */\r\nexport const getUserAuthToken = (): any => {\r\n const data = getTglServerData();\r\n return data && data[TglDataType.UserAuthToken] && data[TglDataType.UserAuthToken].auth;\r\n};\r\n\r\n/** This way of getting the GraphQL Url will be changed in future releases */\r\nexport const getGraphQlUrl = (): any => {\r\n const data = getTglServerData();\r\n return data && data[TglDataType.GraphqlUrl] && data[TglDataType.GraphqlUrl].gql;\r\n};\r\n\r\n/** @deprecated Do Not use ! for public cases, token information should also be returned from the\r\n * initial API response and not be injected and used via TGL\r\n */\r\nexport const getPublicLinkToken = (): string | undefined => {\r\n const data = getTglServerData();\r\n if (data?.[TglDataType.PublicToken]?.token) {\r\n const token = String(data[TglDataType.PublicToken].token);\r\n if (token.trim() !== '') {\r\n return token;\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\n/** @deprecated Do Not use ! for public cases, token information should also be returned from the\r\n * initial API response and not be injected and used via TGL\r\n */\r\nexport const getAuthToken = (): string | undefined => {\r\n const data = getTglServerData();\r\n if (data?.[TglDataType.PublicToken]?.authtoken) {\r\n const authtoken = data?.[TglDataType.PublicToken]?.authtoken;\r\n if (authtoken.trim() !== '') {\r\n return authtoken;\r\n }\r\n }\r\n return undefined;\r\n};\r\n\r\n/** @deprecated Do Not use ! We're trying to make application agnostic to server or\r\n * client Initiated for functionality. Would be removed in future releases.\r\n */\r\nexport const isServerInitiatedRequest = (): boolean => {\r\n const val = !!(window as any).TGL;\r\n return val;\r\n};\r\n\r\n/** @deprecated TGL data is a JS object which is embedded on the window object for each page. It is used\r\n * in HawkUI and has some footprint in Symphony as well. We are removing its usages and advice not to use it !\r\n */\r\nexport const getTglServerData = (): any => {\r\n const tgl = (window as any).TGL;\r\n const serverData = tgl && tgl.server && tgl.server.data && tgl.server.data;\r\n return serverData;\r\n};\r\n\r\n/** @deprecated TGL data is a JS object which is embedded on the window object for each page. It is used\r\n * in HawkUI and has some footprint in Symphony as well. We are removing its usages and advice not to use it !\r\n */\r\nexport function getPropertyFromTglServerData(propertyName: string): T | undefined {\r\n const data = getTglServerData();\r\n if (data && data.hasOwnProperty(propertyName)) {\r\n return data[propertyName];\r\n }\r\n}\r\n\r\n/** @deprecated Do Not use ! Prefer making a server call if needed OR change implementation! */\r\nexport const getClientTimeData = (): any => {\r\n const data = getTglServerData();\r\n return data && data[TglDataType.CurrentClientTime];\r\n};\r\n"," \r\n export enum BreakdownDimension {\r\n None = 0,\r\n Node = 1,\r\n City = 2,\r\n ISP = 3,\r\n Host = 4,\r\n Zone = 5,\r\n Step = 6,\r\n Country = 7,\r\n Region = 8,\r\n CityExternal = 9,\r\n PostalCode = 10,\r\n AreaCode = 11,\r\n DMACode = 12,\r\n ISPExternal = 13,\r\n BandWidth = 14,\r\n ASN = 15,\r\n Test = 16,\r\n Time = 17,\r\n ErrorCode = 18,\r\n HostIP = 19,\r\n HopIP = 20,\r\n TracepointValue = 21,\r\n Continent = 22,\r\n StepName = 23,\r\n Product = 24,\r\n NodeGroup = 25,\r\n Browser = 26,\r\n BrowserAndVersion = 27,\r\n OS = 28,\r\n OSAndVersion = 29,\r\n MobileDevice = 30,\r\n MobileDeviceVersion = 31,\r\n MobileBrand = 32,\r\n ScreenResolution = 33,\r\n PageGroup = 34,\r\n Variation = 35,\r\n Screen = 36,\r\n Domain = 37,\r\n Company = 38,\r\n UserAgent = 39,\r\n LocationMachineName = 40,\r\n ErrorType = 41,\r\n Monitor = 42,\r\n IsChildRequest = 43,\r\n ComparativeTime = 44,\r\n HistogramIntervalMax = 45,\r\n StatusCode = 46,\r\n MimeType = 47,\r\n ApdexLevel = 48,\r\n ReportType = 49,\r\n MobileCarrierNetwork = 50,\r\n MobileRadioAccessTechnology = 51,\r\n IsAdditionalMonitorType = 52,\r\n DayOfWeek = 53,\r\n HourOfDay = 54,\r\n MinuteOfHour = 55,\r\n FiveMinutesOfHour = 56,\r\n Facility = 57,\r\n DataView = 58,\r\n LatitudeLongitude = 59,\r\n ErrorMessage = 60,\r\n ScriptLineNumber = 61,\r\n ErrorSource = 62,\r\n IsVerifyOnError = 66,\r\n Provider = 67,\r\n ProviderProduct = 68,\r\n ProviderType = 69,\r\n Ajax = 70,\r\n Folder = 71,\r\n DestinationIP = 72,\r\n RecordsKey = 73,\r\n HasRecords = 74,\r\n GlimpseEvent = 75,\r\n GlimpseEventTimestamp = 76,\r\n GlimpseEventMessage = 77,\r\n ViewUrl = 78,\r\n MonitorVersion = 79,\r\n SubjectAlternativeName = 80,\r\n MACAddress = 81,\r\n SSID = 82,\r\n Formula = 83,\r\n ReturnCode = 84,\r\n NetworkType = 85,\r\n GlimpseEventSyntheticTags = 86,\r\n TraceRouteHopNetworkType = 87,\r\n Level = 88,\r\n Range = 89,\r\n HopNumber = 90,\r\n HopHostname = 91,\r\n HopCity = 92,\r\n HopCountry = 93,\r\n Request = 94,\r\n Percentile = 95,\r\n Page = 96,\r\n Zones = 97,\r\n NetworkErrors = 98,\r\n PageUrl = 99,\r\n SonarDevice = 100,\r\n SonarLocation = 101,\r\n App = 102,\r\n Url = 103,\r\n SonarNetworkDevice = 104,\r\n TraceRoutePath = 105,\r\n IsDebugOnError = 106,\r\n Label = 107,\r\n PageDomain = 108,\r\n Prefix = 109,\r\n BgpPeerRegistry = 110,\r\n BgpPeerCollector = 111,\r\n BgpPeerASN = 112,\r\n BgpPeer = 113,\r\n AsnNeighbor = 114,\r\n ContinentExternal = 115,\r\n CountryExternal = 116,\r\n RegionExternal = 117,\r\n DisplayTestType = 118,\r\n EmployeeApp = 119,\r\n PageGroupId = 120,\r\n AlertType = 121,\r\n AlertSubType = 122,\r\n TraceRoutePathASN = 123,\r\n TraceRoutePathSonarNetworkDevice = 124,\r\n SonarNetworkDeviceName = 125,\r\n SonarNetworkDeviceType = 126,\r\n BenchmarkIndex = 127,\r\n DestinationNode = 128,\r\n InstantaneousId = 129,\r\n NSID = 130,\r\n AlertNotificationLevel = 131,\r\n AlertGroupItem = 132,\r\n AlertProcessingTimestampInitial = 133,\r\n AlertTriggerOperatorType = 134,\r\n AlertTriggerRangeStart = 135,\r\n AlertTriggerRangeEnd = 136,\r\n AlertReportDate = 137,\r\n AlertTriggerType = 138,\r\n ActualRuntime = 139,\r\n GlimpseSiteType = 140,\r\n AlertMetricType = 141,\r\n ObjectType = 142,\r\n Division = 143,\r\n NetworkBssid = 144,\r\n NetworkSsid = 145,\r\n ProcessName = 146,\r\n WifiChannel = 147,\r\n WifiFrequencyBand = 148,\r\n AlertNodeThresholdType = 149,\r\n WptDeviceType = 150,\r\n WptDevicePlatformType = 151,\r\n WptRun = 152,\r\n WptRunType = 153,\r\n WptWaterfallId = 154,\r\n TargetedNodeGroups = 155,\r\n AlertTriggerRegex = 156,\r\n MonitorWithVersion = 157,\r\n ScheduleWindow = 158,\r\n DeviceLabel = 159,\r\n BgpRpkiStatus = 160,\r\n BgpIsPrefixPrimary = 161,\r\n AlertDataType = 162,\r\n AlertHistoricalReportTimeIntervalCount = 163,\r\n BgpCommunities = 164,\r\n BgpAggregator = 165,\r\n BgpAtomicAggregate = 166,\r\n BgpLastModifiedTimestamp = 167,\r\n BgpNextHopAddress = 168,\r\n BgpOrigin = 169,\r\n RequestUrl = 170,\r\n BgpPrefixQuery = 171,\r\n PathMtuIndex = 172,\r\n CertIssuer = 173,\r\n IsAlertItemCritical = 174,\r\n }\r\n","import { getWindow } from './dom/getWindow';\n/**\n * Bugs often appear in async code when stuff gets disposed, but async operations don't get canceled.\n * This Async helper class solves these issues by tying async code to the lifetime of a disposable object.\n *\n * Usage: Anything class extending from BaseModel can access this helper via this.async. Otherwise create a\n * new instance of the class and remember to call dispose() during your code's dispose handler.\n *\n * @public\n */\nvar Async = /** @class */ (function () {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function Async(parent, onError) {\n this._timeoutIds = null;\n this._immediateIds = null;\n this._intervalIds = null;\n this._animationFrameIds = null;\n this._isDisposed = false;\n this._parent = parent || null;\n this._onErrorHandler = onError;\n this._noop = function () {\n /* do nothing */\n };\n }\n /**\n * Dispose function, clears all async operations.\n */\n Async.prototype.dispose = function () {\n var id;\n this._isDisposed = true;\n this._parent = null;\n // Clear timeouts.\n if (this._timeoutIds) {\n for (id in this._timeoutIds) {\n if (this._timeoutIds.hasOwnProperty(id)) {\n this.clearTimeout(parseInt(id, 10));\n }\n }\n this._timeoutIds = null;\n }\n // Clear immediates.\n if (this._immediateIds) {\n for (id in this._immediateIds) {\n if (this._immediateIds.hasOwnProperty(id)) {\n this.clearImmediate(parseInt(id, 10));\n }\n }\n this._immediateIds = null;\n }\n // Clear intervals.\n if (this._intervalIds) {\n for (id in this._intervalIds) {\n if (this._intervalIds.hasOwnProperty(id)) {\n this.clearInterval(parseInt(id, 10));\n }\n }\n this._intervalIds = null;\n }\n // Clear animation frames.\n if (this._animationFrameIds) {\n for (id in this._animationFrameIds) {\n if (this._animationFrameIds.hasOwnProperty(id)) {\n this.cancelAnimationFrame(parseInt(id, 10));\n }\n }\n this._animationFrameIds = null;\n }\n };\n /**\n * SetTimeout override, which will auto cancel the timeout during dispose.\n * @param callback - Callback to execute.\n * @param duration - Duration in milliseconds.\n * @returns The setTimeout id.\n */\n Async.prototype.setTimeout = function (callback, duration) {\n var _this = this;\n var timeoutId = 0;\n if (!this._isDisposed) {\n if (!this._timeoutIds) {\n this._timeoutIds = {};\n }\n timeoutId = setTimeout(function () {\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\n try {\n // Now delete the record and call the callback.\n if (_this._timeoutIds) {\n delete _this._timeoutIds[timeoutId];\n }\n callback.apply(_this._parent);\n }\n catch (e) {\n if (_this._onErrorHandler) {\n _this._onErrorHandler(e);\n }\n }\n }, duration);\n this._timeoutIds[timeoutId] = true;\n }\n return timeoutId;\n };\n /**\n * Clears the timeout.\n * @param id - Id to cancel.\n */\n Async.prototype.clearTimeout = function (id) {\n if (this._timeoutIds && this._timeoutIds[id]) {\n clearTimeout(id);\n delete this._timeoutIds[id];\n }\n };\n /**\n * SetImmediate override, which will auto cancel the immediate during dispose.\n * @param callback - Callback to execute.\n * @param targetElement - Optional target element to use for identifying the correct window.\n * @returns The setTimeout id.\n */\n Async.prototype.setImmediate = function (callback, targetElement) {\n var _this = this;\n var immediateId = 0;\n var win = getWindow(targetElement);\n if (!this._isDisposed) {\n if (!this._immediateIds) {\n this._immediateIds = {};\n }\n var setImmediateCallback = function () {\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\n try {\n // Now delete the record and call the callback.\n if (_this._immediateIds) {\n delete _this._immediateIds[immediateId];\n }\n callback.apply(_this._parent);\n }\n catch (e) {\n _this._logError(e);\n }\n };\n immediateId = win.setTimeout(setImmediateCallback, 0);\n this._immediateIds[immediateId] = true;\n }\n return immediateId;\n };\n /**\n * Clears the immediate.\n * @param id - Id to cancel.\n * @param targetElement - Optional target element to use for identifying the correct window.\n */\n Async.prototype.clearImmediate = function (id, targetElement) {\n var win = getWindow(targetElement);\n if (this._immediateIds && this._immediateIds[id]) {\n win.clearTimeout(id);\n delete this._immediateIds[id];\n }\n };\n /**\n * SetInterval override, which will auto cancel the timeout during dispose.\n * @param callback - Callback to execute.\n * @param duration - Duration in milliseconds.\n * @returns The setTimeout id.\n */\n Async.prototype.setInterval = function (callback, duration) {\n var _this = this;\n var intervalId = 0;\n if (!this._isDisposed) {\n if (!this._intervalIds) {\n this._intervalIds = {};\n }\n intervalId = setInterval(function () {\n // Time to execute the interval callback, enqueue it as a foreground task to be executed.\n try {\n callback.apply(_this._parent);\n }\n catch (e) {\n _this._logError(e);\n }\n }, duration);\n this._intervalIds[intervalId] = true;\n }\n return intervalId;\n };\n /**\n * Clears the interval.\n * @param id - Id to cancel.\n */\n Async.prototype.clearInterval = function (id) {\n if (this._intervalIds && this._intervalIds[id]) {\n clearInterval(id);\n delete this._intervalIds[id];\n }\n };\n /**\n * Creates a function that, when executed, will only call the func function at most once per\n * every wait milliseconds. Provide an options object to indicate that func should be invoked\n * on the leading and/or trailing edge of the wait timeout. Subsequent calls to the throttled\n * function will return the result of the last func call.\n *\n * Note: If leading and trailing options are true func will be called on the trailing edge of\n * the timeout only if the throttled function is invoked more than once during the wait timeout.\n *\n * @param func - The function to throttle.\n * @param wait - The number of milliseconds to throttle executions to. Defaults to 0.\n * @param options - The options object.\n * @returns The new throttled function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Async.prototype.throttle = function (func, wait, options) {\n var _this = this;\n if (this._isDisposed) {\n return this._noop;\n }\n var waitMS = wait || 0;\n var leading = true;\n var trailing = true;\n var lastExecuteTime = 0;\n var lastResult;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var lastArgs;\n var timeoutId = null;\n if (options && typeof options.leading === 'boolean') {\n leading = options.leading;\n }\n if (options && typeof options.trailing === 'boolean') {\n trailing = options.trailing;\n }\n var callback = function (userCall) {\n var now = Date.now();\n var delta = now - lastExecuteTime;\n var waitLength = leading ? waitMS - delta : waitMS;\n if (delta >= waitMS && (!userCall || leading)) {\n lastExecuteTime = now;\n if (timeoutId) {\n _this.clearTimeout(timeoutId);\n timeoutId = null;\n }\n lastResult = func.apply(_this._parent, lastArgs);\n }\n else if (timeoutId === null && trailing) {\n timeoutId = _this.setTimeout(callback, waitLength);\n }\n return lastResult;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var resultFunction = (function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n lastArgs = args;\n return callback(true);\n });\n return resultFunction;\n };\n /**\n * Creates a function that will delay the execution of func until after wait milliseconds have\n * elapsed since the last time it was invoked. Provide an options object to indicate that func\n * should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent calls\n * to the debounced function will return the result of the last func call.\n *\n * Note: If leading and trailing options are true func will be called on the trailing edge of\n * the timeout only if the debounced function is invoked more than once during the wait\n * timeout.\n *\n * @param func - The function to debounce.\n * @param wait - The number of milliseconds to delay.\n * @param options - The options object.\n * @returns The new debounced function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Async.prototype.debounce = function (func, wait, options) {\n var _this = this;\n if (this._isDisposed) {\n var noOpFunction = (function () {\n /** Do nothing */\n });\n noOpFunction.cancel = function () {\n return;\n };\n noOpFunction.flush = (function () { return null; });\n noOpFunction.pending = function () { return false; };\n return noOpFunction;\n }\n var waitMS = wait || 0;\n var leading = false;\n var trailing = true;\n var maxWait = null;\n var lastCallTime = 0;\n var lastExecuteTime = Date.now();\n var lastResult;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var lastArgs;\n var timeoutId = null;\n if (options && typeof options.leading === 'boolean') {\n leading = options.leading;\n }\n if (options && typeof options.trailing === 'boolean') {\n trailing = options.trailing;\n }\n if (options && typeof options.maxWait === 'number' && !isNaN(options.maxWait)) {\n maxWait = options.maxWait;\n }\n var markExecuted = function (time) {\n if (timeoutId) {\n _this.clearTimeout(timeoutId);\n timeoutId = null;\n }\n lastExecuteTime = time;\n };\n var invokeFunction = function (time) {\n markExecuted(time);\n lastResult = func.apply(_this._parent, lastArgs);\n };\n var callback = function (userCall) {\n var now = Date.now();\n var executeImmediately = false;\n if (userCall) {\n if (leading && now - lastCallTime >= waitMS) {\n executeImmediately = true;\n }\n lastCallTime = now;\n }\n var delta = now - lastCallTime;\n var waitLength = waitMS - delta;\n var maxWaitDelta = now - lastExecuteTime;\n var maxWaitExpired = false;\n if (maxWait !== null) {\n // maxWait only matters when there is a pending callback\n if (maxWaitDelta >= maxWait && timeoutId) {\n maxWaitExpired = true;\n }\n else {\n waitLength = Math.min(waitLength, maxWait - maxWaitDelta);\n }\n }\n if (delta >= waitMS || maxWaitExpired || executeImmediately) {\n invokeFunction(now);\n }\n else if ((timeoutId === null || !userCall) && trailing) {\n timeoutId = _this.setTimeout(callback, waitLength);\n }\n return lastResult;\n };\n var pending = function () {\n return !!timeoutId;\n };\n var cancel = function () {\n if (pending()) {\n // Mark the debounced function as having executed\n markExecuted(Date.now());\n }\n };\n var flush = function () {\n if (pending()) {\n invokeFunction(Date.now());\n }\n return lastResult;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var resultFunction = (function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n lastArgs = args;\n return callback(true);\n });\n resultFunction.cancel = cancel;\n resultFunction.flush = flush;\n resultFunction.pending = pending;\n return resultFunction;\n };\n Async.prototype.requestAnimationFrame = function (callback, targetElement) {\n var _this = this;\n var animationFrameId = 0;\n var win = getWindow(targetElement);\n if (!this._isDisposed) {\n if (!this._animationFrameIds) {\n this._animationFrameIds = {};\n }\n var animationFrameCallback = function () {\n try {\n // Now delete the record and call the callback.\n if (_this._animationFrameIds) {\n delete _this._animationFrameIds[animationFrameId];\n }\n callback.apply(_this._parent);\n }\n catch (e) {\n _this._logError(e);\n }\n };\n animationFrameId = win.requestAnimationFrame\n ? win.requestAnimationFrame(animationFrameCallback)\n : win.setTimeout(animationFrameCallback, 0);\n this._animationFrameIds[animationFrameId] = true;\n }\n return animationFrameId;\n };\n Async.prototype.cancelAnimationFrame = function (id, targetElement) {\n var win = getWindow(targetElement);\n if (this._animationFrameIds && this._animationFrameIds[id]) {\n win.cancelAnimationFrame ? win.cancelAnimationFrame(id) : win.clearTimeout(id);\n delete this._animationFrameIds[id];\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Async.prototype._logError = function (e) {\n if (this._onErrorHandler) {\n this._onErrorHandler(e);\n }\n };\n return Async;\n}());\nexport { Async };\n//# sourceMappingURL=Async.js.map","import { findElementRecursive } from './findElementRecursive';\n/**\n * Determines if an element, or any of its ancestors, contain the given attribute\n * @param element - element to start searching at\n * @param attribute - the attribute to search for\n * @returns the value of the first instance found\n */\nexport function elementContainsAttribute(element, attribute) {\n var elementMatch = findElementRecursive(element, function (testElement) { return testElement.hasAttribute(attribute); });\n return elementMatch && elementMatch.getAttribute(attribute);\n}\n//# sourceMappingURL=elementContainsAttribute.js.map","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik04IDE0LjVDNy43MjM4NiAxNC41IDcuNSAxNC43MjM5IDcuNSAxNUM3LjUgMTUuMjc2MSA3LjcyMzg2IDE1LjUgOCAxNS41VjE0LjVaTTggMTUuNUgyMlYxNC41SDhWMTUuNVoiIGZpbGw9IndoaXRlIi8+DQo8cGF0aCBkPSJNMTcgMTBMMjIgMTVMMTcgMjAiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPg0KPC9zdmc+DQo=\"","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n"," \r\n export enum SonarDeviceMetricType {\r\n CpuUtilization = 1,\r\n MemoryUtilization = 2,\r\n WifiSignalStrength = 3,\r\n WifiSignalQuality = 4,\r\n }\r\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar PROTOTYPE = 'prototype';\nvar Empty = function () { /* empty */ };\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\nhiddenKeys[IE_PROTO] = true;\n"," \r\n export enum SyntheticMetricGroupType {\r\n RequestComponents = 1,\r\n Webpage = 2,\r\n Requests = 3,\r\n Ping = 4,\r\n Availability = 5,\r\n WiFi = 6,\r\n Insight = 7,\r\n Traceroute = 8,\r\n WPT = 9,\r\n }\r\n","import { Localize } from 'utils/localize';\r\n\r\nexport function removeNumCharsFromStringEnd(str: string, num: number): string {\r\n return str.slice(0, -num);\r\n}\r\n\r\n// tslint:disable-next-line:no-any\r\nexport const contains = (value: any, search: any): boolean => {\r\n return value.toString().toLowerCase().indexOf(search.toString().toLowerCase()) !== -1;\r\n};\r\n\r\nexport const hasValue = (stringVal?: string): boolean => {\r\n if (!stringVal || stringVal.trim() === '') {\r\n return false;\r\n }\r\n\r\n return stringVal.length > 0;\r\n};\r\n\r\nexport const toNumber = (stringVal?: string | undefined): number | undefined => {\r\n if (hasValue(stringVal)) {\r\n const results = Number(stringVal);\r\n if (!isNaN(results)) {\r\n return results;\r\n }\r\n }\r\n};\r\n\r\nexport const addTransparencyToHexColor = (hexColor: string, transparencyPercentage: number) => {\r\n return `${hexColor}${transparencyPercentage.toString(16)}`;\r\n};\r\n\r\nexport const sortBreakdownsByText = (textA: string, textB: string): number => {\r\n const formattedTextA = textA.replace('#', '').trim();\r\n const formattedTextB = textB.replace('#', '').trim();\r\n\r\n if (formattedTextA === Localize.None) {\r\n return -1;\r\n }\r\n\r\n if (formattedTextB === Localize.None) {\r\n return 1;\r\n }\r\n\r\n return formattedTextA.localeCompare(formattedTextB);\r\n};\r\n\r\n/**\r\n * Find the string which has maximum length in the list.\r\n * @param {string[]} values list of string values\r\n * @returns the string which has maximum length\r\n */\r\nexport const findMaxLengthString = (values: string[]): string => {\r\n return values.reduce((maxLengthString: string, currentValue: string) => {\r\n if (currentValue.length > maxLengthString.length) {\r\n return currentValue;\r\n }\r\n return maxLengthString;\r\n }, '');\r\n};\r\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n hide(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n hide(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","import { getParent } from './getParent';\n/**\n * Finds the first parent element where the matchFunction returns true\n * @param element - element to start searching at\n * @param matchFunction - the function that determines if the element is a match\n * @returns the matched element or null no match was found\n */\nexport function findElementRecursive(element, matchFunction) {\n if (!element || element === document.body) {\n return null;\n }\n return matchFunction(element) ? element : findElementRecursive(getParent(element), matchFunction);\n}\n//# sourceMappingURL=findElementRecursive.js.map","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","import { getVirtualParent } from './getVirtualParent';\n/**\n * Gets the element which is the parent of a given element.\n * If `allowVirtuaParents` is `true`, this method prefers the virtual parent over\n * real DOM parent when present.\n *\n * @public\n */\nexport function getParent(child, allowVirtualParents) {\n if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n return (child &&\n ((allowVirtualParents && getVirtualParent(child)) || (child.parentNode && child.parentNode)));\n}\n//# sourceMappingURL=getParent.js.map","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n"," \r\n export enum PlaybackSourceType {\r\n Har = 0,\r\n IE = 1,\r\n Chrome = 2,\r\n }\r\n","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { hoistMethods, unhoistMethods } from '../../Utilities';\nvar BaseDecorator = /** @class */ (function (_super) {\n __extends(BaseDecorator, _super);\n function BaseDecorator(props) {\n var _this = _super.call(this, props) || this;\n _this._updateComposedComponentRef = _this._updateComposedComponentRef.bind(_this);\n return _this;\n }\n /**\n * Updates the ref to the component composed by the decorator, which will also take care of hoisting\n * (and unhoisting as appropriate) methods from said component.\n *\n * Pass this method as the argument to the 'ref' property of the composed component.\n */\n BaseDecorator.prototype._updateComposedComponentRef = function (composedComponentInstance) {\n this._composedComponentInstance = composedComponentInstance;\n if (composedComponentInstance) {\n this._hoisted = hoistMethods(this, composedComponentInstance);\n }\n else if (this._hoisted) {\n unhoistMethods(this, this._hoisted);\n }\n };\n return BaseDecorator;\n}(React.Component));\nexport { BaseDecorator };\n//# sourceMappingURL=BaseDecorator.js.map","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","export function isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}\n//# sourceMappingURL=arrays.js.map"," \r\n export enum ChartDataFilter {\r\n OnlyFailures = 0,\r\n OnlySuccesses = 1,\r\n All = 2,\r\n OnlyContentFailures = 3,\r\n OnlyJavascriptFailures = 4,\r\n SLA = 5,\r\n SLAAcceptedRuns = 6,\r\n SLAPurgedRuns = 7\r\n }\r\n","import { concatStyleSets, HighContrastSelector } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nvar DEFAULT_BUTTON_HEIGHT = '40px';\nvar DEFAULT_PADDING = '0 4px';\nexport var getStyles = memoizeFunction(function (theme, customStyles) {\n var _a;\n var baseButtonStyles = getBaseButtonStyles(theme);\n var actionButtonStyles = {\n root: {\n padding: DEFAULT_PADDING,\n height: DEFAULT_BUTTON_HEIGHT,\n color: theme.palette.neutralPrimary,\n backgroundColor: 'transparent',\n border: '1px solid transparent',\n },\n rootHovered: {\n color: theme.palette.themePrimary,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'Highlight',\n color: 'Highlight',\n },\n _a),\n },\n iconHovered: {\n color: theme.palette.themePrimary,\n },\n rootPressed: {\n color: theme.palette.black,\n },\n rootExpanded: {\n color: theme.palette.themePrimary,\n },\n iconPressed: {\n color: theme.palette.themeDarker,\n },\n rootDisabled: {\n color: theme.palette.neutralTertiary,\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n },\n rootChecked: {\n color: theme.palette.black,\n },\n iconChecked: {\n color: theme.palette.themeDarker,\n },\n flexContainer: {\n justifyContent: 'flex-start',\n },\n icon: {\n color: theme.palette.themeDarkAlt,\n },\n iconDisabled: {\n color: 'inherit',\n },\n menuIcon: {\n color: theme.palette.neutralSecondary,\n },\n textContainer: {\n flexGrow: 0,\n },\n };\n return concatStyleSets(baseButtonStyles, actionButtonStyles, customStyles);\n});\n//# sourceMappingURL=ActionButton.styles.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { getStyles } from './ActionButton.styles';\n/**\n * {@docCategory Button}\n */\nvar ActionButton = /** @class */ (function (_super) {\n __extends(ActionButton, _super);\n function ActionButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ActionButton.prototype.render = function () {\n var _a = this.props, styles = _a.styles, theme = _a.theme;\n return (React.createElement(BaseButton, __assign({}, this.props, { variantClassName: \"ms-Button--action ms-Button--command\", styles: getStyles(theme, styles), onRenderDescription: nullRender })));\n };\n ActionButton = __decorate([\n customizable('ActionButton', ['theme', 'styles'], true)\n ], ActionButton);\n return ActionButton;\n}(React.Component));\nexport { ActionButton };\n//# sourceMappingURL=ActionButton.js.map","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n"," \r\n export enum AnalyticsSyntheticMetric {\r\n None = 0,\r\n DnsLookupTime = 1,\r\n ConnectTime = 2,\r\n SendTime = 3,\r\n WaitTime = 4,\r\n TimeToFirstByte = 5,\r\n LoadTime = 6,\r\n PrimaryUrlResponseTime = 7,\r\n DomLoadTime = 8,\r\n ContentLoadTime = 9,\r\n TestResponseTime = 10,\r\n FileSize = 11,\r\n Throughput = 12,\r\n ExternalHostsCount = 13,\r\n ItemsTotalCount = 14,\r\n AvailabilityPercent = 15,\r\n ContentAvailabilityPercent = 16,\r\n JSErrorsPerPageCount = 17,\r\n ContentLoadErrorCount = 18,\r\n TestsWithJSErrorsCount = 19,\r\n PingPacketLossPercent = 20,\r\n RoundtripTime = 21,\r\n DownloadedBytes = 22,\r\n WebpageThroughput = 23,\r\n DnsFailuresCount = 24,\r\n ConnectionFailuresCount = 25,\r\n SslFailuresCount = 26,\r\n ResponseFailuresCount = 27,\r\n ContentFailuresCount = 28,\r\n InvalidTestsCount = 29,\r\n SslTime = 30,\r\n LoadFailuresCount = 31,\r\n ServerResponseTime = 32,\r\n TestFailuresCount = 33,\r\n DeleteTime = 34,\r\n Apdex = 35,\r\n TotalDownloadedBytes = 36,\r\n StepContentAvailabilityPercent = 37,\r\n RenderStartTime = 38,\r\n DocumentCompleteTime = 39,\r\n PageSpeedScore = 40,\r\n TimeToTitle = 41,\r\n ConnectionCount = 42,\r\n TimeoutFailuresCount = 43,\r\n ZoneCount = 44,\r\n DnsToReceiveInclusiveTime = 45,\r\n WaitAndReceiveTime = 46,\r\n StartToEndTime = 47,\r\n BottleneckTime = 48,\r\n BottleneckPercent = 49,\r\n AuthenticationTime = 50,\r\n HeloTime = 51,\r\n RedirectRequestCount = 52,\r\n OtherRequestCount = 53,\r\n ImageRequestCount = 54,\r\n ScriptRequestCount = 55,\r\n HtmlRequestCount = 56,\r\n CssRequestCount = 57,\r\n XmlRequestCount = 58,\r\n FlashRequestCount = 59,\r\n MediaRequestCount = 60,\r\n RunCount = 61,\r\n PlayTime = 62,\r\n TotalBufferTime = 63,\r\n BufferCount = 64,\r\n InitialBufferTime = 65,\r\n WireTime = 66,\r\n ClientTime = 67,\r\n FontRequestCount = 68,\r\n ImageBytes = 69,\r\n ScriptBytes = 70,\r\n HtmlBytes = 71,\r\n CssBytes = 72,\r\n XmlBytes = 73,\r\n FlashBytes = 74,\r\n MediaBytes = 75,\r\n OtherBytes = 76,\r\n FontBytes = 77,\r\n TraceRoutePacketLossPercent = 78,\r\n RedirectTime = 79,\r\n SatisfiedPercent = 80,\r\n ToleratingPercent = 81,\r\n FrustratedPercent = 82,\r\n NotFrustratedPercent = 83,\r\n SpeedIndex = 84,\r\n SendsCount = 85,\r\n SendDataBytes = 86,\r\n ReceivesCount = 87,\r\n ReceiveDataBytes = 88,\r\n TestTime = 89,\r\n PositiveOffsetTime = 90,\r\n NegativeOffsetTime = 91,\r\n RoundTripDelayTime = 92,\r\n RootDelayTime = 93,\r\n RootDispersionTime = 94,\r\n DownTimePercent = 95,\r\n SelfBottleneckPercent = 96,\r\n ThirdPartyBottleneckPercent = 97,\r\n SelfDownloadedBytes = 98,\r\n LogoutTime = 99,\r\n MessageBytes = 100,\r\n SearchTime = 101,\r\n ListTime = 102,\r\n FetchTime = 103,\r\n ASNs = 104,\r\n Cities = 105,\r\n Countries = 106,\r\n Hops = 107,\r\n SLAAdjustedAvailability = 108,\r\n SLAPurgedRuns = 109,\r\n PublishTime = 110,\r\n PublishSize = 111,\r\n SubscribeTime = 112,\r\n SubscribeSize = 113,\r\n ContentTypeTimeImage = 114,\r\n ContentTypeTimeScript = 115,\r\n ContentTypeTimeHtml = 116,\r\n ContentTypeTimeCss = 117,\r\n ContentTypeTimeXml = 118,\r\n ContentTypeTimeFlash = 119,\r\n ContentTypeTimeMedia = 120,\r\n ContentTypeTimeOther = 121,\r\n ContentTypeTimeFont = 122,\r\n AlertsCritical = 184,\r\n AlertsWarning = 185,\r\n AlertsImproved = 186,\r\n HandshakeTime = 123,\r\n ExpirationTime = 124,\r\n SignalQuality = 125,\r\n SignalStrength = 126,\r\n ConnectionDuration = 127,\r\n MaxReceiveRate = 128,\r\n MaxTransmitRate = 129,\r\n Announcements = 182,\r\n Withdrawals = 183,\r\n BGPReachabilityPercent = 187,\r\n }\r\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// This currentContext variable will only be used if the makeSlotClass\r\n// function is called, which happens only if this is the first copy of the\r\n// @wry/context package to be imported.\r\nvar currentContext = null;\r\n// This unique internal object is used to denote the absence of a value\r\n// for a given Slot, and is never exposed to outside code.\r\nvar MISSING_VALUE = {};\r\nvar idCounter = 1;\r\n// Although we can't do anything about the cost of duplicated code from\r\n// accidentally bundling multiple copies of the @wry/context package, we can\r\n// avoid creating the Slot class more than once using makeSlotClass.\r\nvar makeSlotClass = function () { return /** @class */ (function () {\r\n function Slot() {\r\n // If you have a Slot object, you can find out its slot.id, but you cannot\r\n // guess the slot.id of a Slot you don't have access to, thanks to the\r\n // randomized suffix.\r\n this.id = [\r\n \"slot\",\r\n idCounter++,\r\n Date.now(),\r\n Math.random().toString(36).slice(2),\r\n ].join(\":\");\r\n }\r\n Slot.prototype.hasValue = function () {\r\n for (var context_1 = currentContext; context_1; context_1 = context_1.parent) {\r\n // We use the Slot object iself as a key to its value, which means the\r\n // value cannot be obtained without a reference to the Slot object.\r\n if (this.id in context_1.slots) {\r\n var value = context_1.slots[this.id];\r\n if (value === MISSING_VALUE)\r\n break;\r\n if (context_1 !== currentContext) {\r\n // Cache the value in currentContext.slots so the next lookup will\r\n // be faster. This caching is safe because the tree of contexts and\r\n // the values of the slots are logically immutable.\r\n currentContext.slots[this.id] = value;\r\n }\r\n return true;\r\n }\r\n }\r\n if (currentContext) {\r\n // If a value was not found for this Slot, it's never going to be found\r\n // no matter how many times we look it up, so we might as well cache\r\n // the absence of the value, too.\r\n currentContext.slots[this.id] = MISSING_VALUE;\r\n }\r\n return false;\r\n };\r\n Slot.prototype.getValue = function () {\r\n if (this.hasValue()) {\r\n return currentContext.slots[this.id];\r\n }\r\n };\r\n Slot.prototype.withValue = function (value, callback, \r\n // Given the prevalence of arrow functions, specifying arguments is likely\r\n // to be much more common than specifying `this`, hence this ordering:\r\n args, thisArg) {\r\n var _a;\r\n var slots = (_a = {\r\n __proto__: null\r\n },\r\n _a[this.id] = value,\r\n _a);\r\n var parent = currentContext;\r\n currentContext = { parent: parent, slots: slots };\r\n try {\r\n // Function.prototype.apply allows the arguments array argument to be\r\n // omitted or undefined, so args! is fine here.\r\n return callback.apply(thisArg, args);\r\n }\r\n finally {\r\n currentContext = parent;\r\n }\r\n };\r\n // Capture the current context and wrap a callback function so that it\r\n // reestablishes the captured context when called.\r\n Slot.bind = function (callback) {\r\n var context = currentContext;\r\n return function () {\r\n var saved = currentContext;\r\n try {\r\n currentContext = context;\r\n return callback.apply(this, arguments);\r\n }\r\n finally {\r\n currentContext = saved;\r\n }\r\n };\r\n };\r\n // Immediately run a callback function without any captured context.\r\n Slot.noContext = function (callback, \r\n // Given the prevalence of arrow functions, specifying arguments is likely\r\n // to be much more common than specifying `this`, hence this ordering:\r\n args, thisArg) {\r\n if (currentContext) {\r\n var saved = currentContext;\r\n try {\r\n currentContext = null;\r\n // Function.prototype.apply allows the arguments array argument to be\r\n // omitted or undefined, so args! is fine here.\r\n return callback.apply(thisArg, args);\r\n }\r\n finally {\r\n currentContext = saved;\r\n }\r\n }\r\n else {\r\n return callback.apply(thisArg, args);\r\n }\r\n };\r\n return Slot;\r\n}()); };\r\n// We store a single global implementation of the Slot class as a permanent\r\n// non-enumerable symbol property of the Array constructor. This obfuscation\r\n// does nothing to prevent access to the Slot class, but at least it ensures\r\n// the implementation (i.e. currentContext) cannot be tampered with, and all\r\n// copies of the @wry/context package (hopefully just one) will share the\r\n// same Slot implementation. Since the first copy of the @wry/context package\r\n// to be imported wins, this technique imposes a very high cost for any\r\n// future breaking changes to the Slot class.\r\nvar globalKey = \"@wry/context:Slot\";\r\nvar host = Array;\r\nvar Slot = host[globalKey] || function () {\r\n var Slot = makeSlotClass();\r\n try {\r\n Object.defineProperty(host, globalKey, {\r\n value: host[globalKey] = Slot,\r\n enumerable: false,\r\n writable: false,\r\n configurable: false,\r\n });\r\n }\r\n finally {\r\n return Slot;\r\n }\r\n}();\n\nvar bind = Slot.bind, noContext = Slot.noContext;\r\nfunction setTimeoutWithContext(callback, delay) {\r\n return setTimeout(bind(callback), delay);\r\n}\r\n// Turn any generator function into an async function (using yield instead\r\n// of await), with context automatically preserved across yields.\r\nfunction asyncFromGen(genFn) {\r\n return function () {\r\n var gen = genFn.apply(this, arguments);\r\n var boundNext = bind(gen.next);\r\n var boundThrow = bind(gen.throw);\r\n return new Promise(function (resolve, reject) {\r\n function invoke(method, argument) {\r\n try {\r\n var result = method.call(gen, argument);\r\n }\r\n catch (error) {\r\n return reject(error);\r\n }\r\n var next = result.done ? resolve : invokeNext;\r\n if (isPromiseLike(result.value)) {\r\n result.value.then(next, result.done ? reject : invokeThrow);\r\n }\r\n else {\r\n next(result.value);\r\n }\r\n }\r\n var invokeNext = function (value) { return invoke(boundNext, value); };\r\n var invokeThrow = function (error) { return invoke(boundThrow, error); };\r\n invokeNext();\r\n });\r\n };\r\n}\r\nfunction isPromiseLike(value) {\r\n return value && typeof value.then === \"function\";\r\n}\r\n// If you use the fibers npm package to implement coroutines in Node.js,\r\n// you should call this function at least once to ensure context management\r\n// remains coherent across any yields.\r\nvar wrappedFibers = [];\r\nfunction wrapYieldingFiberMethods(Fiber) {\r\n // There can be only one implementation of Fiber per process, so this array\r\n // should never grow longer than one element.\r\n if (wrappedFibers.indexOf(Fiber) < 0) {\r\n var wrap = function (obj, method) {\r\n var fn = obj[method];\r\n obj[method] = function () {\r\n return noContext(fn, arguments, this);\r\n };\r\n };\r\n // These methods can yield, according to\r\n // https://github.com/laverdet/node-fibers/blob/ddebed9b8ae3883e57f822e2108e6943e5c8d2a8/fibers.js#L97-L100\r\n wrap(Fiber, \"yield\");\r\n wrap(Fiber.prototype, \"run\");\r\n wrap(Fiber.prototype, \"throwInto\");\r\n wrappedFibers.push(Fiber);\r\n }\r\n return Fiber;\r\n}\n\nexport { Slot, asyncFromGen, bind, noContext, setTimeoutWithContext as setTimeout, wrapYieldingFiberMethods };\n//# sourceMappingURL=context.esm.js.map\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjYiIGhlaWdodD0iNTgiIHZpZXdCb3g9IjAgMCA2NiA1OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xMy4wMjYxIDI5TDY1IDFMMzcuMDI2MSAyN0w1MS4wMjYxIDM1QzM0LjY5MjggNDIuMzMzMyAxLjgyNjA5IDU3IDEuMDI2MDkgNTdDMC4yMjYwODYgNTcgMTguMDI2MSA0My42NjY3IDI3LjAyNjEgMzdMMTMuMDI2MSAyOVoiIHN0cm9rZT0iIzY2NjY2NiIgc3Ryb2tlLWRhc2hhcnJheT0iOCA0Ii8+DQo8L3N2Zz4NCg==\"","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","/**\n * Concatination helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function css() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var classes = [];\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var arg = args_1[_a];\n if (arg) {\n if (typeof arg === 'string') {\n classes.push(arg);\n }\n else if (arg.hasOwnProperty('toString') && typeof arg.toString === 'function') {\n classes.push(arg.toString());\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (var key in arg) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n }\n return classes.join(' ');\n}\n//# sourceMappingURL=css.js.map","/**\n * Sets the virtual parent of an element.\n * Pass `undefined` as the `parent` to clear the virtual parent.\n *\n * @public\n */\nexport function setVirtualParent(child, parent) {\n var virtualChild = child;\n var virtualParent = parent;\n if (!virtualChild._virtual) {\n virtualChild._virtual = {\n children: [],\n };\n }\n var oldParent = virtualChild._virtual.parent;\n if (oldParent && oldParent !== parent) {\n // Remove the child from its old parent.\n var index = oldParent._virtual.children.indexOf(virtualChild);\n if (index > -1) {\n oldParent._virtual.children.splice(index, 1);\n }\n }\n virtualChild._virtual.parent = virtualParent || undefined;\n if (virtualParent) {\n if (!virtualParent._virtual) {\n virtualParent._virtual = {\n children: [],\n };\n }\n virtualParent._virtual.children.push(virtualChild);\n }\n}\n//# sourceMappingURL=setVirtualParent.js.map","/* eslint-disable no-console */\nvar _warningCallback = undefined;\n/**\n * Sends a warning to console, if the api is present.\n *\n * @public\n * @param message - Warning message.\n */\nexport function warn(message) {\n if (_warningCallback && process.env.NODE_ENV !== 'production') {\n _warningCallback(message);\n }\n else if (console && console.warn) {\n console.warn(message);\n }\n}\n/**\n * Configures the warning callback. Passing in undefined will reset it to use the default\n * console.warn function.\n *\n * @public\n * @param warningCallback - Callback to override the generated warnings.\n */\nexport function setWarningCallback(warningCallback) {\n _warningCallback = warningCallback;\n}\n//# sourceMappingURL=warn.js.map","'use strict';\nvar $ = require('../internals/export');\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('endsWith') }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","export enum CredentialsType {\r\n UsernamePassword = 0,\r\n Token = 1,\r\n Certificate = 2\r\n}\r\n","import { __spreadArrays } from \"tslib\";\nimport { KTP_SEPARATOR, KTP_PREFIX, DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET, KTP_LAYER_ID } from './KeytipConstants';\nimport { addElementAtIndex } from '../../Utilities';\n/**\n * Converts a whole set of KeySequences into one keytip ID, which will be the ID for the last keytip sequence specified\n * keySequences should not include the initial keytip 'start' sequence.\n *\n * @param keySequences - Full path of IKeySequences for one keytip.\n * @returns String to use for the keytip ID.\n */\nexport function sequencesToID(keySequences) {\n return keySequences.reduce(function (prevValue, keySequence) {\n return prevValue + KTP_SEPARATOR + keySequence.split('').join(KTP_SEPARATOR);\n }, KTP_PREFIX);\n}\n/**\n * Merges an overflow sequence with a key sequence.\n *\n * @param keySequences - Full sequence for one keytip.\n * @param overflowKeySequences - Full overflow keytip sequence.\n * @returns Sequence that will be used by the keytip when in the overflow.\n */\nexport function mergeOverflows(keySequences, overflowKeySequences) {\n var overflowSequenceLen = overflowKeySequences.length;\n var overflowSequence = __spreadArrays(overflowKeySequences).pop();\n var newKeySequences = __spreadArrays(keySequences);\n return addElementAtIndex(newKeySequences, overflowSequenceLen - 1, overflowSequence);\n}\n/**\n * Constructs the data-ktp-target attribute selector from a full key sequence.\n *\n * @param keySequences - Full string[] for a Keytip.\n * @returns String selector to use to query for the keytip target.\n */\nexport function ktpTargetFromSequences(keySequences) {\n return '[' + DATAKTP_TARGET + '=\"' + sequencesToID(keySequences) + '\"]';\n}\n/**\n * Constructs the data-ktp-execute-target attribute selector from a keytip ID.\n *\n * @param keytipId - ID of the Keytip.\n * @returns String selector to use to query for the keytip execute target.\n */\nexport function ktpTargetFromId(keytipId) {\n return '[' + DATAKTP_EXECUTE_TARGET + '=\"' + keytipId + '\"]';\n}\n/**\n * Gets the aria-describedby value to put on the component with this keytip.\n *\n * @param keySequences - KeySequences of the keytip.\n * @returns The aria-describedby value to set on the component with this keytip.\n */\nexport function getAriaDescribedBy(keySequences) {\n var describedby = ' ' + KTP_LAYER_ID;\n if (!keySequences.length) {\n // Return just the layer ID\n return describedby;\n }\n return describedby + ' ' + sequencesToID(keySequences);\n}\n//# sourceMappingURL=KeytipUtils.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { useConst, usePrevious } from '@uifabric/react-hooks';\nimport { mergeAriaAttributeValues } from '../../Utilities';\nimport { KeytipManager, mergeOverflows, sequencesToID, getAriaDescribedBy } from '../../utilities/keytips/index';\n/**\n * Hook that creates attributes for components which are enabled with Keytip.\n */\nexport function useKeytipData(options) {\n var uniqueId = React.useRef();\n var keytipProps = options.keytipProps\n ? __assign({ disabled: options.disabled }, options.keytipProps) : undefined;\n var keytipManager = useConst(KeytipManager.getInstance());\n var prevOptions = usePrevious(options);\n // useLayoutEffect used to strictly emulate didUpdate/didMount behavior\n React.useLayoutEffect(function () {\n var _a, _b;\n if (uniqueId.current &&\n keytipProps &&\n (((_a = prevOptions) === null || _a === void 0 ? void 0 : _a.keytipProps) !== options.keytipProps || ((_b = prevOptions) === null || _b === void 0 ? void 0 : _b.disabled) !== options.disabled)) {\n keytipManager.update(keytipProps, uniqueId.current);\n }\n });\n React.useLayoutEffect(function () {\n // Register Keytip in KeytipManager\n if (keytipProps) {\n uniqueId.current = keytipManager.register(keytipProps);\n }\n return function () {\n // Unregister Keytip in KeytipManager\n keytipProps && keytipManager.unregister(keytipProps, uniqueId.current);\n };\n // this is meant to run only at mount, and updates are handled separately\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var nativeKeytipProps = {\n ariaDescribedBy: undefined,\n keytipId: undefined,\n };\n if (keytipProps) {\n nativeKeytipProps = getKeytipData(keytipManager, keytipProps, options.ariaDescribedBy);\n }\n return nativeKeytipProps;\n}\n/**\n * Gets the aria- and data- attributes to attach to the component\n * @param keytipProps - options for Keytip\n * @param describedByPrepend - ariaDescribedBy value to prepend\n */\nfunction getKeytipData(keytipManager, keytipProps, describedByPrepend) {\n // Add the parent overflow sequence if necessary\n var newKeytipProps = keytipManager.addParentOverflow(keytipProps);\n // Construct aria-describedby and data-ktp-id attributes\n var ariaDescribedBy = mergeAriaAttributeValues(describedByPrepend, getAriaDescribedBy(newKeytipProps.keySequences));\n var keySequences = __spreadArrays(newKeytipProps.keySequences);\n if (newKeytipProps.overflowSetSequence) {\n keySequences = mergeOverflows(keySequences, newKeytipProps.overflowSetSequence);\n }\n var keytipId = sequencesToID(keySequences);\n return {\n ariaDescribedBy: ariaDescribedBy,\n keytipId: keytipId,\n };\n}\n//# sourceMappingURL=useKeytipData.js.map","import { useRef, useEffect } from 'react';\n/**\n * Hook keeping track of a given value from a previous execution of the component the Hook is used in.\n *\n * See [React Hooks FAQ](https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state)\n */\nexport function usePrevious(value) {\n var ref = useRef();\n useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n}\n//# sourceMappingURL=usePrevious.js.map","import { __rest } from \"tslib\";\nimport { DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET } from '../../utilities/keytips/index';\nimport { useKeytipData } from './useKeytipData';\n/**\n * A small element to help the target component correctly read out its aria-describedby for its Keytip\n * {@docCategory Keytips}\n */\nexport var KeytipData = function (props) {\n var _a;\n var children = props.children, keytipDataProps = __rest(props, [\"children\"]);\n var _b = useKeytipData(keytipDataProps), keytipId = _b.keytipId, ariaDescribedBy = _b.ariaDescribedBy;\n return children((_a = {},\n _a[DATAKTP_TARGET] = keytipId,\n _a[DATAKTP_EXECUTE_TARGET] = keytipId,\n _a['aria-describedby'] = ariaDescribedBy,\n _a));\n};\n//# sourceMappingURL=KeytipData.js.map"," \r\n export enum RealUserSiteType {\r\n Web = 1,\r\n Mobile = 2,\r\n APM = 3,\r\n WebOmni = 4,\r\n MobileOmni = 5,\r\n Desktop = 6,\r\n Flex = 7,\r\n FlexEvent = 8,\r\n EndpointInstantTest = 9,\r\n EndpointScheduledTest = 10,\r\n }\r\n","export var TransactionSamplingMethod;\n(function (TransactionSamplingMethod) {\n TransactionSamplingMethod[\"Explicit\"] = \"explicitly_set\";\n TransactionSamplingMethod[\"Sampler\"] = \"client_sampler\";\n TransactionSamplingMethod[\"Rate\"] = \"client_rate\";\n TransactionSamplingMethod[\"Inheritance\"] = \"inheritance\";\n})(TransactionSamplingMethod || (TransactionSamplingMethod = {}));\n//# sourceMappingURL=transaction.js.map","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","import { memoizeFunction } from '../../Utilities';\nimport { HighContrastSelector, getFocusStyle, hiddenContentStyle } from '../../Styling';\nvar noOutline = {\n outline: 0,\n};\nvar iconStyle = function (fontSize) {\n return {\n fontSize: fontSize,\n margin: '0 4px',\n height: '16px',\n lineHeight: '16px',\n textAlign: 'center',\n flexShrink: 0,\n };\n};\n/**\n * Gets the base button styles. Note: because it is a base class to be used with the `mergeRules`\n * helper, it should have values for all class names in the interface. This let `mergeRules` optimize\n * mixing class names together.\n */\nexport var getStyles = memoizeFunction(function (theme) {\n var _a, _b;\n var semanticColors = theme.semanticColors, effects = theme.effects, fonts = theme.fonts;\n var border = semanticColors.buttonBorder;\n var disabledBackground = semanticColors.disabledBackground;\n var disabledText = semanticColors.disabledText;\n var buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n outlineColor: 'ButtonText',\n };\n return {\n root: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n theme.fonts.medium,\n {\n boxSizing: 'border-box',\n border: '1px solid ' + border,\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n padding: '0 16px',\n borderRadius: effects.roundedCorner2,\n selectors: {\n // IE11 workaround for preventing shift of child elements of a button when active.\n ':active > *': {\n position: 'relative',\n left: 0,\n top: 0,\n },\n },\n },\n ],\n rootDisabled: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n {\n backgroundColor: disabledBackground,\n borderColor: disabledBackground,\n color: disabledText,\n cursor: 'default',\n selectors: {\n ':hover': noOutline,\n ':focus': noOutline,\n },\n },\n ],\n iconDisabled: {\n color: disabledText,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: 'GrayText',\n },\n _a),\n },\n menuIconDisabled: {\n color: disabledText,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'GrayText',\n },\n _b),\n },\n flexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n },\n description: {\n display: 'block',\n },\n textContainer: {\n flexGrow: 1,\n display: 'block',\n },\n icon: iconStyle(fonts.mediumPlus.fontSize),\n menuIcon: iconStyle(fonts.small.fontSize),\n label: {\n margin: '0 4px',\n lineHeight: '100%',\n display: 'block',\n },\n screenReaderText: hiddenContentStyle,\n };\n});\n//# sourceMappingURL=BaseButton.styles.js.map","import * as React from 'react';\n/**\n * Hook to initialize and return a constant value. Unlike `React.useMemo`, this is guaranteed to\n * always return the same value (and if the initializer is a function, only call it once).\n * This is similar to setting a private member in a class constructor.\n *\n * If the value should ever change based on dependencies, use `React.useMemo` instead.\n *\n * @param initialValue - Initial value, or function to get the initial value. Similar to `useState`,\n * only the value/function passed in the first time this is called is respected.\n * @returns The value. The identity of this value will always be the same.\n */\nexport function useConst(initialValue) {\n // Use useRef to store the value because it's the least expensive built-in hook that works here\n // (we could also use `const [value] = React.useState(initialValue)` but that's more expensive\n // internally due to reducer handling which we don't need)\n var ref = React.useRef();\n if (ref.current === undefined) {\n // Box the value in an object so we can tell if it's initialized even if the initializer\n // returns/is undefined\n ref.current = {\n value: typeof initialValue === 'function' ? initialValue() : initialValue,\n };\n }\n return ref.current.value;\n}\n//# sourceMappingURL=useConst.js.map"," \r\n export enum SyntheticOperatingSystemType {\r\n Windows = 0,\r\n Linux = 1,\r\n Mac = 2,\r\n iPhone = 3,\r\n Android = 4,\r\n }\r\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","import { getGlobalObject } from './misc';\nimport { dynamicRequire, isNodeEnv } from './node';\n/**\n * A TimestampSource implementation for environments that do not support the Performance Web API natively.\n *\n * Note that this TimestampSource does not use a monotonic clock. A call to `nowSeconds` may return a timestamp earlier\n * than a previously returned value. We do not try to emulate a monotonic behavior in order to facilitate debugging. It\n * is more obvious to explain \"why does my span have negative duration\" than \"why my spans have zero duration\".\n */\nvar dateTimestampSource = {\n nowSeconds: function () { return Date.now() / 1000; },\n};\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction getBrowserPerformance() {\n var performance = getGlobalObject().performance;\n if (!performance || !performance.now) {\n return undefined;\n }\n // Replace performance.timeOrigin with our own timeOrigin based on Date.now().\n //\n // This is a partial workaround for browsers reporting performance.timeOrigin such that performance.timeOrigin +\n // performance.now() gives a date arbitrarily in the past.\n //\n // Additionally, computing timeOrigin in this way fills the gap for browsers where performance.timeOrigin is\n // undefined.\n //\n // The assumption that performance.timeOrigin + performance.now() ~= Date.now() is flawed, but we depend on it to\n // interact with data coming out of performance entries.\n //\n // Note that despite recommendations against it in the spec, browsers implement the Performance API with a clock that\n // might stop when the computer is asleep (and perhaps under other circumstances). Such behavior causes\n // performance.timeOrigin + performance.now() to have an arbitrary skew over Date.now(). In laptop computers, we have\n // observed skews that can be as long as days, weeks or months.\n //\n // See https://github.com/getsentry/sentry-javascript/issues/2590.\n //\n // BUG: despite our best intentions, this workaround has its limitations. It mostly addresses timings of pageload\n // transactions, but ignores the skew built up over time that can aversely affect timestamps of navigation\n // transactions of long-lived web pages.\n var timeOrigin = Date.now() - performance.now();\n return {\n now: function () { return performance.now(); },\n timeOrigin: timeOrigin,\n };\n}\n/**\n * Returns the native Performance API implementation from Node.js. Returns undefined in old Node.js versions that don't\n * implement the API.\n */\nfunction getNodePerformance() {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks');\n return perfHooks.performance;\n }\n catch (_) {\n return undefined;\n }\n}\n/**\n * The Performance API implementation for the current platform, if available.\n */\nvar platformPerformance = isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\nvar timestampSource = platformPerformance === undefined\n ? dateTimestampSource\n : {\n nowSeconds: function () { return (platformPerformance.timeOrigin + platformPerformance.now()) / 1000; },\n };\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nexport var dateTimestampInSeconds = dateTimestampSource.nowSeconds.bind(dateTimestampSource);\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * See `usingPerformanceAPI` to test whether the Performance API is used.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nexport var timestampInSeconds = timestampSource.nowSeconds.bind(timestampSource);\n// Re-exported with an old name for backwards-compatibility.\nexport var timestampWithMs = timestampInSeconds;\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\nexport var usingPerformanceAPI = platformPerformance !== undefined;\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nexport var browserPerformanceTimeOrigin = (function () {\n var performance = getGlobalObject().performance;\n if (!performance) {\n return undefined;\n }\n if (performance.timeOrigin) {\n return performance.timeOrigin;\n }\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n return (performance.timing && performance.timing.navigationStart) || Date.now();\n})();\n//# sourceMappingURL=time.js.map","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. is always the first node and \n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Returns a single function which will call each of the given functions in the context of the\n * parent.\n */\nexport function appendFunction(parent) {\n var functions = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n functions[_i - 1] = arguments[_i];\n }\n if (functions.length < 2) {\n return functions[0];\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n functions.forEach(function (f) { return f && f.apply(parent, args); });\n };\n}\n//# sourceMappingURL=appendFunction.js.map","import { GetWptPlans_wptPlans } from 'generatedGraphQLTypes/GetWptPlans';\r\n\r\nexport interface PlanTypes {\r\n monthlyPlans: GetWptPlans_wptPlans[];\r\n annualPlans: GetWptPlans_wptPlans[];\r\n}\r\n\r\nexport enum BillingCycle {\r\n Monthly = 1,\r\n Annual = 12\r\n}\r\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n"," \r\n export enum SupportedTimeframe {\r\n LastHour = 0,\r\n Last3Hours = 1,\r\n Last6Hours = 2,\r\n Last12Hours = 3,\r\n Last24Hours = 4,\r\n Yesterday = 5,\r\n Last3Days = 6,\r\n Last7Days = 7,\r\n CurrentWeek = 8,\r\n LastWeek = 9,\r\n Last30Days = 10,\r\n CurrentMonth = 11,\r\n LastMonth = 12,\r\n Last48Hours = 13,\r\n Last30Minutes = 14,\r\n Last5Minutes = 15,\r\n Today = 16,\r\n Last90Days = 17,\r\n Last10Minutes = 18,\r\n Last15Minutes = 19,\r\n }\r\n","import { SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, uuid4 } from '@sentry/utils';\n/**\n * @inheritdoc\n */\nvar Session = /** @class */ (function () {\n function Session(context) {\n this.errors = 0;\n this.sid = uuid4();\n this.timestamp = Date.now();\n this.started = Date.now();\n this.duration = 0;\n this.status = SessionStatus.Ok;\n if (context) {\n this.update(context);\n }\n }\n /** JSDoc */\n // eslint-disable-next-line complexity\n Session.prototype.update = function (context) {\n if (context === void 0) { context = {}; }\n if (context.user) {\n if (context.user.ip_address) {\n this.ipAddress = context.user.ip_address;\n }\n if (!context.did) {\n this.did = context.user.id || context.user.email || context.user.username;\n }\n }\n this.timestamp = context.timestamp || Date.now();\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n this.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.did) {\n this.did = \"\" + context.did;\n }\n if (typeof context.started === 'number') {\n this.started = context.started;\n }\n if (typeof context.duration === 'number') {\n this.duration = context.duration;\n }\n else {\n this.duration = this.timestamp - this.started;\n }\n if (context.release) {\n this.release = context.release;\n }\n if (context.environment) {\n this.environment = context.environment;\n }\n if (context.ipAddress) {\n this.ipAddress = context.ipAddress;\n }\n if (context.userAgent) {\n this.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n this.errors = context.errors;\n }\n if (context.status) {\n this.status = context.status;\n }\n };\n /** JSDoc */\n Session.prototype.close = function (status) {\n if (status) {\n this.update({ status: status });\n }\n else if (this.status === SessionStatus.Ok) {\n this.update({ status: SessionStatus.Exited });\n }\n else {\n this.update();\n }\n };\n /** JSDoc */\n Session.prototype.toJSON = function () {\n return dropUndefinedKeys({\n sid: \"\" + this.sid,\n init: true,\n started: new Date(this.started).toISOString(),\n timestamp: new Date(this.timestamp).toISOString(),\n status: this.status,\n errors: this.errors,\n did: typeof this.did === 'number' || typeof this.did === 'string' ? \"\" + this.did : undefined,\n duration: this.duration,\n attrs: dropUndefinedKeys({\n release: this.release,\n environment: this.environment,\n ip_address: this.ipAddress,\n user_agent: this.userAgent,\n }),\n });\n };\n return Session;\n}());\nexport { Session };\n//# sourceMappingURL=session.js.map","import { __assign, __read, __spread } from \"tslib\";\nimport { consoleSandbox, dateTimestampInSeconds, getGlobalObject, isNodeEnv, logger, uuid4 } from '@sentry/utils';\nimport { Scope } from './scope';\nimport { Session } from './session';\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport var API_VERSION = 3;\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nvar DEFAULT_BREADCRUMBS = 100;\n/**\n * Absolute maximum number of breadcrumbs added to an event. The\n * `maxBreadcrumbs` option cannot be higher than this value.\n */\nvar MAX_BREADCRUMBS = 100;\n/**\n * @inheritDoc\n */\nvar Hub = /** @class */ (function () {\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n function Hub(client, scope, _version) {\n if (scope === void 0) { scope = new Scope(); }\n if (_version === void 0) { _version = API_VERSION; }\n this._version = _version;\n /** Is a {@link Layer}[] containing the client and scope */\n this._stack = [{}];\n this.getStackTop().scope = scope;\n this.bindClient(client);\n }\n /**\n * @inheritDoc\n */\n Hub.prototype.isOlderThan = function (version) {\n return this._version < version;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.bindClient = function (client) {\n var top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.pushScope = function () {\n // We want to clone the content of prev scope\n var scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope: scope,\n });\n return scope;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.popScope = function () {\n if (this.getStack().length <= 1)\n return false;\n return !!this.getStack().pop();\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.withScope = function (callback) {\n var scope = this.pushScope();\n try {\n callback(scope);\n }\n finally {\n this.popScope();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getClient = function () {\n return this.getStackTop().client;\n };\n /** Returns the scope of the top stack. */\n Hub.prototype.getScope = function () {\n return this.getStackTop().scope;\n };\n /** Returns the scope stack for domains or the process. */\n Hub.prototype.getStack = function () {\n return this._stack;\n };\n /** Returns the topmost scope layer in the order domain > local > process. */\n Hub.prototype.getStackTop = function () {\n return this._stack[this._stack.length - 1];\n };\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n Hub.prototype.captureException = function (exception, hint) {\n var eventId = (this._lastEventId = uuid4());\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: exception,\n syntheticException: syntheticException,\n };\n }\n this._invokeClient('captureException', exception, __assign(__assign({}, finalHint), { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureMessage = function (message, level, hint) {\n var eventId = (this._lastEventId = uuid4());\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: message,\n syntheticException: syntheticException,\n };\n }\n this._invokeClient('captureMessage', message, level, __assign(__assign({}, finalHint), { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureEvent = function (event, hint) {\n var eventId = (this._lastEventId = uuid4());\n this._invokeClient('captureEvent', event, __assign(__assign({}, hint), { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.lastEventId = function () {\n return this._lastEventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.addBreadcrumb = function (breadcrumb, hint) {\n var _a = this.getStackTop(), scope = _a.scope, client = _a.client;\n if (!scope || !client)\n return;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n var _b = (client.getOptions && client.getOptions()) || {}, _c = _b.beforeBreadcrumb, beforeBreadcrumb = _c === void 0 ? null : _c, _d = _b.maxBreadcrumbs, maxBreadcrumbs = _d === void 0 ? DEFAULT_BREADCRUMBS : _d;\n if (maxBreadcrumbs <= 0)\n return;\n var timestamp = dateTimestampInSeconds();\n var mergedBreadcrumb = __assign({ timestamp: timestamp }, breadcrumb);\n var finalBreadcrumb = beforeBreadcrumb\n ? consoleSandbox(function () { return beforeBreadcrumb(mergedBreadcrumb, hint); })\n : mergedBreadcrumb;\n if (finalBreadcrumb === null)\n return;\n scope.addBreadcrumb(finalBreadcrumb, Math.min(maxBreadcrumbs, MAX_BREADCRUMBS));\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setUser = function (user) {\n var scope = this.getScope();\n if (scope)\n scope.setUser(user);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTags = function (tags) {\n var scope = this.getScope();\n if (scope)\n scope.setTags(tags);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtras = function (extras) {\n var scope = this.getScope();\n if (scope)\n scope.setExtras(extras);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTag = function (key, value) {\n var scope = this.getScope();\n if (scope)\n scope.setTag(key, value);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtra = function (key, extra) {\n var scope = this.getScope();\n if (scope)\n scope.setExtra(key, extra);\n };\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Hub.prototype.setContext = function (name, context) {\n var scope = this.getScope();\n if (scope)\n scope.setContext(name, context);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.configureScope = function (callback) {\n var _a = this.getStackTop(), scope = _a.scope, client = _a.client;\n if (scope && client) {\n callback(scope);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.run = function (callback) {\n var oldHub = makeMain(this);\n try {\n callback(this);\n }\n finally {\n makeMain(oldHub);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getIntegration = function (integration) {\n var client = this.getClient();\n if (!client)\n return null;\n try {\n return client.getIntegration(integration);\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Hub\");\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.startSpan = function (context) {\n return this._callExtensionMethod('startSpan', context);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.startTransaction = function (context, customSamplingContext) {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.traceHeaders = function () {\n return this._callExtensionMethod('traceHeaders');\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.startSession = function (context) {\n // End existing session if there's one\n this.endSession();\n var _a = this.getStackTop(), scope = _a.scope, client = _a.client;\n var _b = (client && client.getOptions()) || {}, release = _b.release, environment = _b.environment;\n var session = new Session(__assign(__assign({ release: release,\n environment: environment }, (scope && { user: scope.getUser() })), context));\n if (scope) {\n scope.setSession(session);\n }\n return session;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.endSession = function () {\n var _a = this.getStackTop(), scope = _a.scope, client = _a.client;\n if (!scope)\n return;\n var session = scope.getSession && scope.getSession();\n if (session) {\n session.close();\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n scope.setSession();\n }\n };\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Hub.prototype._invokeClient = function (method) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var _b = this.getStackTop(), scope = _b.scope, client = _b.client;\n if (client && client[method]) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n (_a = client)[method].apply(_a, __spread(args, [scope]));\n }\n };\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Hub.prototype._callExtensionMethod = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n logger.warn(\"Extension method \" + method + \" couldn't be found, doing nothing.\");\n };\n return Hub;\n}());\nexport { Hub };\n/** Returns the global shim registry. */\nexport function getMainCarrier() {\n var carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n/**\n * Returns the active domain, if one exists\n *\n * @returns The domain, or undefined if there is no active domain\n */\nexport function getActiveDomain() {\n var sentry = getMainCarrier().__SENTRY__;\n return sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n}\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry) {\n try {\n var activeDomain = getActiveDomain();\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n var registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n }\n catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub)\n return carrier.__SENTRY__.hub;\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = new Hub();\n return carrier.__SENTRY__.hub;\n}\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n */\nexport function setHubOnCarrier(carrier, hub) {\n if (!carrier)\n return false;\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = hub;\n return true;\n}\n//# sourceMappingURL=hub.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport { dep, KeyTrie } from 'optimism';\nimport { equal } from '@wry/equality';\nimport { isReference, makeReference, DeepMerger, maybeDeepFreeze, canUseWeakMap, } from \"../../utilities/index.js\";\nimport { hasOwn, fieldNameFromStoreName } from \"./helpers.js\";\nvar DELETE = Object.create(null);\nvar delModifier = function () { return DELETE; };\nvar INVALIDATE = Object.create(null);\nvar EntityStore = (function () {\n function EntityStore(policies, group) {\n var _this = this;\n this.policies = policies;\n this.group = group;\n this.data = Object.create(null);\n this.rootIds = Object.create(null);\n this.refs = Object.create(null);\n this.getFieldValue = function (objectOrReference, storeFieldName) { return maybeDeepFreeze(isReference(objectOrReference)\n ? _this.get(objectOrReference.__ref, storeFieldName)\n : objectOrReference && objectOrReference[storeFieldName]); };\n this.canRead = function (objOrRef) {\n return isReference(objOrRef)\n ? _this.has(objOrRef.__ref)\n : typeof objOrRef === \"object\";\n };\n this.toReference = function (objOrIdOrRef, mergeIntoStore) {\n if (typeof objOrIdOrRef === \"string\") {\n return makeReference(objOrIdOrRef);\n }\n if (isReference(objOrIdOrRef)) {\n return objOrIdOrRef;\n }\n var id = _this.policies.identify(objOrIdOrRef)[0];\n if (id) {\n var ref = makeReference(id);\n if (mergeIntoStore) {\n _this.merge(id, objOrIdOrRef);\n }\n return ref;\n }\n };\n }\n EntityStore.prototype.toObject = function () {\n return __assign({}, this.data);\n };\n EntityStore.prototype.has = function (dataId) {\n return this.lookup(dataId, true) !== void 0;\n };\n EntityStore.prototype.get = function (dataId, fieldName) {\n this.group.depend(dataId, fieldName);\n if (hasOwn.call(this.data, dataId)) {\n var storeObject = this.data[dataId];\n if (storeObject && hasOwn.call(storeObject, fieldName)) {\n return storeObject[fieldName];\n }\n }\n if (fieldName === \"__typename\" &&\n hasOwn.call(this.policies.rootTypenamesById, dataId)) {\n return this.policies.rootTypenamesById[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.get(dataId, fieldName);\n }\n };\n EntityStore.prototype.lookup = function (dataId, dependOnExistence) {\n if (dependOnExistence)\n this.group.depend(dataId, \"__exists\");\n if (hasOwn.call(this.data, dataId)) {\n return this.data[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.lookup(dataId, dependOnExistence);\n }\n if (this.policies.rootTypenamesById[dataId]) {\n return Object.create(null);\n }\n };\n EntityStore.prototype.merge = function (dataId, incoming) {\n var _this = this;\n var existing = this.lookup(dataId);\n var merged = new DeepMerger(storeObjectReconciler).merge(existing, incoming);\n this.data[dataId] = merged;\n if (merged !== existing) {\n delete this.refs[dataId];\n if (this.group.caching) {\n var fieldsToDirty_1 = Object.create(null);\n if (!existing)\n fieldsToDirty_1.__exists = 1;\n Object.keys(incoming).forEach(function (storeFieldName) {\n if (!existing || existing[storeFieldName] !== merged[storeFieldName]) {\n fieldsToDirty_1[storeFieldName] = 1;\n var fieldName = fieldNameFromStoreName(storeFieldName);\n if (fieldName !== storeFieldName &&\n !_this.policies.hasKeyArgs(merged.__typename, fieldName)) {\n fieldsToDirty_1[fieldName] = 1;\n }\n if (merged[storeFieldName] === void 0 && !(_this instanceof Layer)) {\n delete merged[storeFieldName];\n }\n }\n });\n Object.keys(fieldsToDirty_1).forEach(function (fieldName) { return _this.group.dirty(dataId, fieldName); });\n }\n }\n };\n EntityStore.prototype.modify = function (dataId, fields) {\n var _this = this;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var changedFields_1 = Object.create(null);\n var needToMerge_1 = false;\n var allDeleted_1 = true;\n var sharedDetails_1 = {\n DELETE: DELETE,\n INVALIDATE: INVALIDATE,\n isReference: isReference,\n toReference: this.toReference,\n canRead: this.canRead,\n readField: function (fieldNameOrOptions, from) { return _this.policies.readField(typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from || makeReference(dataId),\n } : fieldNameOrOptions, { store: _this }); },\n };\n Object.keys(storeObject).forEach(function (storeFieldName) {\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var fieldValue = storeObject[storeFieldName];\n if (fieldValue === void 0)\n return;\n var modify = typeof fields === \"function\"\n ? fields\n : fields[storeFieldName] || fields[fieldName];\n if (modify) {\n var newValue = modify === delModifier ? DELETE :\n modify(maybeDeepFreeze(fieldValue), __assign(__assign({}, sharedDetails_1), { fieldName: fieldName,\n storeFieldName: storeFieldName, storage: _this.getStorage(dataId, storeFieldName) }));\n if (newValue === INVALIDATE) {\n _this.group.dirty(dataId, storeFieldName);\n }\n else {\n if (newValue === DELETE)\n newValue = void 0;\n if (newValue !== fieldValue) {\n changedFields_1[storeFieldName] = newValue;\n needToMerge_1 = true;\n fieldValue = newValue;\n }\n }\n }\n if (fieldValue !== void 0) {\n allDeleted_1 = false;\n }\n });\n if (needToMerge_1) {\n this.merge(dataId, changedFields_1);\n if (allDeleted_1) {\n if (this instanceof Layer) {\n this.data[dataId] = void 0;\n }\n else {\n delete this.data[dataId];\n }\n this.group.dirty(dataId, \"__exists\");\n }\n return true;\n }\n }\n return false;\n };\n EntityStore.prototype.delete = function (dataId, fieldName, args) {\n var _a;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var typename = this.getFieldValue(storeObject, \"__typename\");\n var storeFieldName = fieldName && args\n ? this.policies.getStoreFieldName({ typename: typename, fieldName: fieldName, args: args })\n : fieldName;\n return this.modify(dataId, storeFieldName ? (_a = {},\n _a[storeFieldName] = delModifier,\n _a) : delModifier);\n }\n return false;\n };\n EntityStore.prototype.evict = function (options) {\n var evicted = false;\n if (options.id) {\n if (hasOwn.call(this.data, options.id)) {\n evicted = this.delete(options.id, options.fieldName, options.args);\n }\n if (this instanceof Layer) {\n evicted = this.parent.evict(options) || evicted;\n }\n if (options.fieldName || evicted) {\n this.group.dirty(options.id, options.fieldName || \"__exists\");\n }\n }\n return evicted;\n };\n EntityStore.prototype.clear = function () {\n this.replace(null);\n };\n EntityStore.prototype.extract = function () {\n var _this = this;\n var obj = this.toObject();\n var extraRootIds = [];\n this.getRootIdSet().forEach(function (id) {\n if (!hasOwn.call(_this.policies.rootTypenamesById, id)) {\n extraRootIds.push(id);\n }\n });\n if (extraRootIds.length) {\n obj.__META = { extraRootIds: extraRootIds.sort() };\n }\n return obj;\n };\n EntityStore.prototype.replace = function (newData) {\n var _this = this;\n Object.keys(this.data).forEach(function (dataId) {\n if (!(newData && hasOwn.call(newData, dataId))) {\n _this.delete(dataId);\n }\n });\n if (newData) {\n var __META = newData.__META, rest_1 = __rest(newData, [\"__META\"]);\n Object.keys(rest_1).forEach(function (dataId) {\n _this.merge(dataId, rest_1[dataId]);\n });\n if (__META) {\n __META.extraRootIds.forEach(this.retain, this);\n }\n }\n };\n EntityStore.prototype.retain = function (rootId) {\n return this.rootIds[rootId] = (this.rootIds[rootId] || 0) + 1;\n };\n EntityStore.prototype.release = function (rootId) {\n if (this.rootIds[rootId] > 0) {\n var count = --this.rootIds[rootId];\n if (!count)\n delete this.rootIds[rootId];\n return count;\n }\n return 0;\n };\n EntityStore.prototype.getRootIdSet = function (ids) {\n if (ids === void 0) { ids = new Set(); }\n Object.keys(this.rootIds).forEach(ids.add, ids);\n if (this instanceof Layer) {\n this.parent.getRootIdSet(ids);\n }\n else {\n Object.keys(this.policies.rootTypenamesById).forEach(ids.add, ids);\n }\n return ids;\n };\n EntityStore.prototype.gc = function () {\n var _this = this;\n var ids = this.getRootIdSet();\n var snapshot = this.toObject();\n ids.forEach(function (id) {\n if (hasOwn.call(snapshot, id)) {\n Object.keys(_this.findChildRefIds(id)).forEach(ids.add, ids);\n delete snapshot[id];\n }\n });\n var idsToRemove = Object.keys(snapshot);\n if (idsToRemove.length) {\n var root_1 = this;\n while (root_1 instanceof Layer)\n root_1 = root_1.parent;\n idsToRemove.forEach(function (id) { return root_1.delete(id); });\n }\n return idsToRemove;\n };\n EntityStore.prototype.findChildRefIds = function (dataId) {\n if (!hasOwn.call(this.refs, dataId)) {\n var found_1 = this.refs[dataId] = Object.create(null);\n var workSet_1 = new Set([this.data[dataId]]);\n var canTraverse_1 = function (obj) { return obj !== null && typeof obj === 'object'; };\n workSet_1.forEach(function (obj) {\n if (isReference(obj)) {\n found_1[obj.__ref] = true;\n }\n else if (canTraverse_1(obj)) {\n Object.values(obj)\n .filter(canTraverse_1)\n .forEach(workSet_1.add, workSet_1);\n }\n });\n }\n return this.refs[dataId];\n };\n EntityStore.prototype.makeCacheKey = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return this.group.keyMaker.lookupArray(args);\n };\n return EntityStore;\n}());\nexport { EntityStore };\nvar CacheGroup = (function () {\n function CacheGroup(caching) {\n this.caching = caching;\n this.d = null;\n this.keyMaker = new KeyTrie(canUseWeakMap);\n this.d = caching ? dep() : null;\n }\n CacheGroup.prototype.depend = function (dataId, storeFieldName) {\n if (this.d) {\n this.d(makeDepKey(dataId, storeFieldName));\n var fieldName = fieldNameFromStoreName(storeFieldName);\n if (fieldName !== storeFieldName) {\n this.d(makeDepKey(dataId, fieldName));\n }\n }\n };\n CacheGroup.prototype.dirty = function (dataId, storeFieldName) {\n if (this.d) {\n this.d.dirty(makeDepKey(dataId, storeFieldName));\n }\n };\n return CacheGroup;\n}());\nfunction makeDepKey(dataId, storeFieldName) {\n return storeFieldName + '#' + dataId;\n}\n(function (EntityStore) {\n var Root = (function (_super) {\n __extends(Root, _super);\n function Root(_a) {\n var policies = _a.policies, _b = _a.resultCaching, resultCaching = _b === void 0 ? true : _b, seed = _a.seed;\n var _this = _super.call(this, policies, new CacheGroup(resultCaching)) || this;\n _this.storageTrie = new KeyTrie(canUseWeakMap);\n _this.sharedLayerGroup = new CacheGroup(resultCaching);\n if (seed)\n _this.replace(seed);\n return _this;\n }\n Root.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.sharedLayerGroup);\n };\n Root.prototype.removeLayer = function () {\n return this;\n };\n Root.prototype.getStorage = function () {\n return this.storageTrie.lookupArray(arguments);\n };\n return Root;\n }(EntityStore));\n EntityStore.Root = Root;\n})(EntityStore || (EntityStore = {}));\nvar Layer = (function (_super) {\n __extends(Layer, _super);\n function Layer(id, parent, replay, group) {\n var _this = _super.call(this, parent.policies, group) || this;\n _this.id = id;\n _this.parent = parent;\n _this.replay = replay;\n _this.group = group;\n replay(_this);\n return _this;\n }\n Layer.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.group);\n };\n Layer.prototype.removeLayer = function (layerId) {\n var _this = this;\n var parent = this.parent.removeLayer(layerId);\n if (layerId === this.id) {\n if (this.group.caching) {\n Object.keys(this.data).forEach(function (dataId) {\n if (_this.data[dataId] !== parent.lookup(dataId)) {\n _this.delete(dataId);\n }\n });\n }\n return parent;\n }\n if (parent === this.parent)\n return this;\n return parent.addLayer(this.id, this.replay);\n };\n Layer.prototype.toObject = function () {\n return __assign(__assign({}, this.parent.toObject()), this.data);\n };\n Layer.prototype.findChildRefIds = function (dataId) {\n var fromParent = this.parent.findChildRefIds(dataId);\n return hasOwn.call(this.data, dataId) ? __assign(__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;\n };\n Layer.prototype.getStorage = function () {\n var p = this.parent;\n while (p.parent)\n p = p.parent;\n return p.getStorage.apply(p, arguments);\n };\n return Layer;\n}(EntityStore));\nfunction storeObjectReconciler(existingObject, incomingObject, property) {\n var existingValue = existingObject[property];\n var incomingValue = incomingObject[property];\n return equal(existingValue, incomingValue) ? existingValue : incomingValue;\n}\nexport function supportsResultCaching(store) {\n return !!(store instanceof EntityStore && store.group.caching);\n}\n//# sourceMappingURL=entityStore.js.map","import { __assign } from \"tslib\";\nimport { wrap } from 'optimism';\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { isField, resultKeyNameFromField, isReference, makeReference, createFragmentMap, shouldInclude, addTypenameToDocument, getDefaultValues, getFragmentDefinitions, getMainDefinition, getQueryDefinition, maybeDeepFreeze, mergeDeepArray, getFragmentFromSelection, } from \"../../utilities/index.js\";\nimport { supportsResultCaching } from \"./entityStore.js\";\nimport { getTypenameFromStoreObject } from \"./helpers.js\";\nimport { MissingFieldError } from \"../core/types/common.js\";\n;\nfunction missingFromInvariant(err, context) {\n return new MissingFieldError(err.message, context.path.slice(), context.query, context.clientOnly, context.variables);\n}\nvar StoreReader = (function () {\n function StoreReader(config) {\n var _this = this;\n this.config = config;\n this.executeSelectionSet = wrap(function (options) { return _this.execSelectionSetImpl(options); }, {\n keyArgs: function (options) {\n return [\n options.selectionSet,\n options.objectOrReference,\n options.context,\n ];\n },\n makeCacheKey: function (selectionSet, parent, context) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString);\n }\n }\n });\n this.knownResults = new WeakMap();\n this.executeSubSelectedArray = wrap(function (options) {\n return _this.execSubSelectedArrayImpl(options);\n }, {\n makeCacheKey: function (_a) {\n var field = _a.field, array = _a.array, context = _a.context;\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(field, array, context.varString);\n }\n }\n });\n this.config = __assign({ addTypename: true }, config);\n }\n StoreReader.prototype.diffQueryAgainstStore = function (_a) {\n var store = _a.store, query = _a.query, _b = _a.rootId, rootId = _b === void 0 ? 'ROOT_QUERY' : _b, variables = _a.variables, _c = _a.returnPartialData, returnPartialData = _c === void 0 ? true : _c;\n var policies = this.config.cache.policies;\n variables = __assign(__assign({}, getDefaultValues(getQueryDefinition(query))), variables);\n var execResult = this.executeSelectionSet({\n selectionSet: getMainDefinition(query).selectionSet,\n objectOrReference: makeReference(rootId),\n context: {\n store: store,\n query: query,\n policies: policies,\n variables: variables,\n varString: JSON.stringify(variables),\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n path: [],\n clientOnly: false,\n },\n });\n var hasMissingFields = execResult.missing && execResult.missing.length > 0;\n if (hasMissingFields && !returnPartialData) {\n throw execResult.missing[0];\n }\n return {\n result: execResult.result,\n missing: execResult.missing,\n complete: !hasMissingFields,\n };\n };\n StoreReader.prototype.isFresh = function (result, parent, selectionSet, context) {\n if (supportsResultCaching(context.store) &&\n this.knownResults.get(result) === selectionSet) {\n var latest = this.executeSelectionSet.peek(selectionSet, parent, context);\n if (latest && result === latest.result) {\n return true;\n }\n }\n return false;\n };\n StoreReader.prototype.execSelectionSetImpl = function (_a) {\n var _this = this;\n var selectionSet = _a.selectionSet, objectOrReference = _a.objectOrReference, context = _a.context;\n if (isReference(objectOrReference) &&\n !context.policies.rootTypenamesById[objectOrReference.__ref] &&\n !context.store.has(objectOrReference.__ref)) {\n return {\n result: {},\n missing: [missingFromInvariant(process.env.NODE_ENV === \"production\" ? new InvariantError(4) : new InvariantError(\"Dangling reference to missing \" + objectOrReference.__ref + \" object\"), context)],\n };\n }\n var variables = context.variables, policies = context.policies, store = context.store;\n var objectsToMerge = [];\n var finalResult = { result: null };\n var typename = store.getFieldValue(objectOrReference, \"__typename\");\n if (this.config.addTypename &&\n typeof typename === \"string\" &&\n !policies.rootIdsByTypename[typename]) {\n objectsToMerge.push({ __typename: typename });\n }\n function getMissing() {\n return finalResult.missing || (finalResult.missing = []);\n }\n function handleMissing(result) {\n var _a;\n if (result.missing)\n (_a = getMissing()).push.apply(_a, result.missing);\n return result.result;\n }\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a;\n if (!shouldInclude(selection, variables))\n return;\n if (isField(selection)) {\n var fieldValue = policies.readField({\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n from: objectOrReference,\n }, context);\n var resultName = resultKeyNameFromField(selection);\n context.path.push(resultName);\n var wasClientOnly = context.clientOnly;\n context.clientOnly = wasClientOnly || !!(selection.directives &&\n selection.directives.some(function (d) { return d.name.value === \"client\"; }));\n if (fieldValue === void 0) {\n if (!addTypenameToDocument.added(selection)) {\n getMissing().push(missingFromInvariant(process.env.NODE_ENV === \"production\" ? new InvariantError(5) : new InvariantError(\"Can't find field '\" + selection.name.value + \"' on \" + (isReference(objectOrReference)\n ? objectOrReference.__ref + \" object\"\n : \"object \" + JSON.stringify(objectOrReference, null, 2))), context));\n }\n }\n else if (Array.isArray(fieldValue)) {\n fieldValue = handleMissing(_this.executeSubSelectedArray({\n field: selection,\n array: fieldValue,\n context: context,\n }));\n }\n else if (!selection.selectionSet) {\n if (process.env.NODE_ENV !== 'production') {\n assertSelectionSetForIdValue(context.store, selection, fieldValue);\n maybeDeepFreeze(fieldValue);\n }\n }\n else if (fieldValue != null) {\n fieldValue = handleMissing(_this.executeSelectionSet({\n selectionSet: selection.selectionSet,\n objectOrReference: fieldValue,\n context: context,\n }));\n }\n if (fieldValue !== void 0) {\n objectsToMerge.push((_a = {}, _a[resultName] = fieldValue, _a));\n }\n context.clientOnly = wasClientOnly;\n invariant(context.path.pop() === resultName);\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.fragmentMap);\n if (fragment && policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n finalResult.result = mergeDeepArray(objectsToMerge);\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(finalResult.result);\n }\n this.knownResults.set(finalResult.result, selectionSet);\n return finalResult;\n };\n StoreReader.prototype.execSubSelectedArrayImpl = function (_a) {\n var _this = this;\n var field = _a.field, array = _a.array, context = _a.context;\n var missing;\n function handleMissing(childResult, i) {\n if (childResult.missing) {\n missing = missing || [];\n missing.push.apply(missing, childResult.missing);\n }\n invariant(context.path.pop() === i);\n return childResult.result;\n }\n if (field.selectionSet) {\n array = array.filter(context.store.canRead);\n }\n array = array.map(function (item, i) {\n if (item === null) {\n return null;\n }\n context.path.push(i);\n if (Array.isArray(item)) {\n return handleMissing(_this.executeSubSelectedArray({\n field: field,\n array: item,\n context: context,\n }), i);\n }\n if (field.selectionSet) {\n return handleMissing(_this.executeSelectionSet({\n selectionSet: field.selectionSet,\n objectOrReference: item,\n context: context,\n }), i);\n }\n if (process.env.NODE_ENV !== 'production') {\n assertSelectionSetForIdValue(context.store, field, item);\n }\n invariant(context.path.pop() === i);\n return item;\n });\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(array);\n }\n return { result: array, missing: missing };\n };\n return StoreReader;\n}());\nexport { StoreReader };\nfunction assertSelectionSetForIdValue(store, field, fieldValue) {\n if (!field.selectionSet) {\n var workSet_1 = new Set([fieldValue]);\n workSet_1.forEach(function (value) {\n if (value && typeof value === \"object\") {\n process.env.NODE_ENV === \"production\" ? invariant(!isReference(value), 6) : invariant(!isReference(value), \"Missing selection set for object of type \" + getTypenameFromStoreObject(store, value) + \" returned for query field \" + field.name.value);\n Object.values(value).forEach(workSet_1.add, workSet_1);\n }\n });\n }\n}\n//# sourceMappingURL=readFromStore.js.map","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { createFragmentMap, getFragmentFromSelection, getDefaultValues, getFragmentDefinitions, getOperationDefinition, getTypenameFromResult, makeReference, isField, resultKeyNameFromField, isReference, shouldInclude, hasDirectives, cloneDeep, } from \"../../utilities/index.js\";\nimport { makeProcessedFieldsMerger, fieldNameFromStoreName, storeValueIsStoreObject } from \"./helpers.js\";\n;\nvar StoreWriter = (function () {\n function StoreWriter(cache, reader) {\n this.cache = cache;\n this.reader = reader;\n }\n StoreWriter.prototype.writeToStore = function (_a) {\n var query = _a.query, result = _a.result, dataId = _a.dataId, store = _a.store, variables = _a.variables;\n var operationDefinition = getOperationDefinition(query);\n var merger = makeProcessedFieldsMerger();\n variables = __assign(__assign({}, getDefaultValues(operationDefinition)), variables);\n var ref = this.processSelectionSet({\n result: result || Object.create(null),\n dataId: dataId,\n selectionSet: operationDefinition.selectionSet,\n mergeTree: { map: new Map },\n context: {\n store: store,\n written: Object.create(null),\n merge: function (existing, incoming) {\n return merger.merge(existing, incoming);\n },\n variables: variables,\n varString: JSON.stringify(variables),\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n },\n });\n if (!isReference(ref)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(7) : new InvariantError(\"Could not identify object \" + JSON.stringify(result));\n }\n store.retain(ref.__ref);\n return ref;\n };\n StoreWriter.prototype.processSelectionSet = function (_a) {\n var _this = this;\n var dataId = _a.dataId, result = _a.result, selectionSet = _a.selectionSet, context = _a.context, mergeTree = _a.mergeTree;\n var policies = this.cache.policies;\n var _b = policies.identify(result, selectionSet, context.fragmentMap), id = _b[0], keyObject = _b[1];\n dataId = dataId || id;\n if (\"string\" === typeof dataId) {\n var sets = context.written[dataId] || (context.written[dataId] = []);\n var ref = makeReference(dataId);\n if (sets.indexOf(selectionSet) >= 0)\n return ref;\n sets.push(selectionSet);\n if (this.reader && this.reader.isFresh(result, ref, selectionSet, context)) {\n return ref;\n }\n }\n var incomingFields = Object.create(null);\n if (keyObject) {\n incomingFields = context.merge(incomingFields, keyObject);\n }\n var typename = (dataId && policies.rootTypenamesById[dataId]) ||\n getTypenameFromResult(result, selectionSet, context.fragmentMap) ||\n (dataId && context.store.get(dataId, \"__typename\"));\n if (\"string\" === typeof typename) {\n incomingFields.__typename = typename;\n }\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a;\n if (!shouldInclude(selection, context.variables))\n return;\n if (isField(selection)) {\n var resultFieldKey = resultKeyNameFromField(selection);\n var value = result[resultFieldKey];\n if (typeof value !== 'undefined') {\n var storeFieldName = policies.getStoreFieldName({\n typename: typename,\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n });\n var childTree = getChildMergeTree(mergeTree, storeFieldName);\n var incomingValue = _this.processFieldValue(value, selection, context, childTree);\n var childTypename = selection.selectionSet\n && context.store.getFieldValue(incomingValue, \"__typename\")\n || void 0;\n var merge = policies.getMergeFunction(typename, selection.name.value, childTypename);\n if (merge) {\n childTree.info = {\n field: selection,\n typename: typename,\n merge: merge,\n };\n }\n else {\n maybeRecycleChildMergeTree(mergeTree, storeFieldName);\n }\n incomingFields = context.merge(incomingFields, (_a = {},\n _a[storeFieldName] = incomingValue,\n _a));\n }\n else if (policies.usingPossibleTypes &&\n !hasDirectives([\"defer\", \"client\"], selection)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(8) : new InvariantError(\"Missing field '\" + resultFieldKey + \"' in \" + JSON.stringify(result, null, 2).substring(0, 100));\n }\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.fragmentMap);\n if (fragment &&\n policies.fragmentMatches(fragment, typename, result, context.variables)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n if (\"string\" === typeof dataId) {\n var entityRef_1 = makeReference(dataId);\n if (mergeTree.map.size) {\n incomingFields = this.applyMerges(mergeTree, entityRef_1, incomingFields, context);\n }\n if (process.env.NODE_ENV !== \"production\") {\n var hasSelectionSet_1 = function (storeFieldName) {\n return fieldsWithSelectionSets_1.has(fieldNameFromStoreName(storeFieldName));\n };\n var fieldsWithSelectionSets_1 = new Set();\n workSet.forEach(function (selection) {\n if (isField(selection) && selection.selectionSet) {\n fieldsWithSelectionSets_1.add(selection.name.value);\n }\n });\n var hasMergeFunction_1 = function (storeFieldName) {\n var childTree = mergeTree.map.get(storeFieldName);\n return Boolean(childTree && childTree.info && childTree.info.merge);\n };\n Object.keys(incomingFields).forEach(function (storeFieldName) {\n if (hasSelectionSet_1(storeFieldName) &&\n !hasMergeFunction_1(storeFieldName)) {\n warnAboutDataLoss(entityRef_1, incomingFields, storeFieldName, context.store);\n }\n });\n }\n context.store.merge(dataId, incomingFields);\n return entityRef_1;\n }\n return incomingFields;\n };\n StoreWriter.prototype.processFieldValue = function (value, field, context, mergeTree) {\n var _this = this;\n if (!field.selectionSet || value === null) {\n return process.env.NODE_ENV === 'production' ? value : cloneDeep(value);\n }\n if (Array.isArray(value)) {\n return value.map(function (item, i) {\n var value = _this.processFieldValue(item, field, context, getChildMergeTree(mergeTree, i));\n maybeRecycleChildMergeTree(mergeTree, i);\n return value;\n });\n }\n return this.processSelectionSet({\n result: value,\n selectionSet: field.selectionSet,\n context: context,\n mergeTree: mergeTree,\n });\n };\n StoreWriter.prototype.applyMerges = function (mergeTree, existing, incoming, context, getStorageArgs) {\n var _a;\n var _this = this;\n if (mergeTree.map.size && !isReference(incoming)) {\n var e_1 = (!Array.isArray(incoming) &&\n (isReference(existing) || storeValueIsStoreObject(existing))) ? existing : void 0;\n var i_1 = incoming;\n if (e_1 && !getStorageArgs) {\n getStorageArgs = [isReference(e_1) ? e_1.__ref : e_1];\n }\n var changedFields_1;\n var getValue_1 = function (from, name) {\n return Array.isArray(from)\n ? (typeof name === \"number\" ? from[name] : void 0)\n : context.store.getFieldValue(from, String(name));\n };\n mergeTree.map.forEach(function (childTree, storeFieldName) {\n if (getStorageArgs) {\n getStorageArgs.push(storeFieldName);\n }\n var eVal = getValue_1(e_1, storeFieldName);\n var iVal = getValue_1(i_1, storeFieldName);\n var aVal = _this.applyMerges(childTree, eVal, iVal, context, getStorageArgs);\n if (aVal !== iVal) {\n changedFields_1 = changedFields_1 || new Map;\n changedFields_1.set(storeFieldName, aVal);\n }\n if (getStorageArgs) {\n invariant(getStorageArgs.pop() === storeFieldName);\n }\n });\n if (changedFields_1) {\n incoming = (Array.isArray(i_1) ? i_1.slice(0) : __assign({}, i_1));\n changedFields_1.forEach(function (value, name) {\n incoming[name] = value;\n });\n }\n }\n if (mergeTree.info) {\n return this.cache.policies.runMergeFunction(existing, incoming, mergeTree.info, context, getStorageArgs && (_a = context.store).getStorage.apply(_a, getStorageArgs));\n }\n return incoming;\n };\n return StoreWriter;\n}());\nexport { StoreWriter };\nvar emptyMergeTreePool = [];\nfunction getChildMergeTree(_a, name) {\n var map = _a.map;\n if (!map.has(name)) {\n map.set(name, emptyMergeTreePool.pop() || { map: new Map });\n }\n return map.get(name);\n}\nfunction maybeRecycleChildMergeTree(_a, name) {\n var map = _a.map;\n var childTree = map.get(name);\n if (childTree &&\n !childTree.info &&\n !childTree.map.size) {\n emptyMergeTreePool.push(childTree);\n map.delete(name);\n }\n}\nvar warnings = new Set();\nfunction warnAboutDataLoss(existingRef, incomingObj, storeFieldName, store) {\n var getChild = function (objOrRef) {\n var child = store.getFieldValue(objOrRef, storeFieldName);\n return typeof child === \"object\" && child;\n };\n var existing = getChild(existingRef);\n if (!existing)\n return;\n var incoming = getChild(incomingObj);\n if (!incoming)\n return;\n if (isReference(existing))\n return;\n if (equal(existing, incoming))\n return;\n if (Object.keys(existing).every(function (key) { return store.getFieldValue(incoming, key) !== void 0; })) {\n return;\n }\n var parentType = store.getFieldValue(existingRef, \"__typename\") ||\n store.getFieldValue(incomingObj, \"__typename\");\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var typeDotName = parentType + \".\" + fieldName;\n if (warnings.has(typeDotName))\n return;\n warnings.add(typeDotName);\n var childTypenames = [];\n if (!Array.isArray(existing) &&\n !Array.isArray(incoming)) {\n [existing, incoming].forEach(function (child) {\n var typename = store.getFieldValue(child, \"__typename\");\n if (typeof typename === \"string\" &&\n !childTypenames.includes(typename)) {\n childTypenames.push(typename);\n }\n });\n }\n process.env.NODE_ENV === \"production\" || invariant.warn(\"Cache data may be lost when replacing the \" + fieldName + \" field of a \" + parentType + \" object.\\n\\nTo address this problem (which is not a bug in Apollo Client), \" + (childTypenames.length\n ? \"either ensure all objects of type \" +\n childTypenames.join(\" and \") + \" have an ID or a custom merge function, or \"\n : \"\") + \"define a custom merge function for the \" + typeDotName + \" field, so InMemoryCache can safely merge these objects:\\n\\n existing: \" + JSON.stringify(existing).slice(0, 1000) + \"\\n incoming: \" + JSON.stringify(incoming).slice(0, 1000) + \"\\n\\nFor more information about these options, please refer to the documentation:\\n\\n * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\\n * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\\n\");\n}\n//# sourceMappingURL=writeToStore.js.map","import { __assign, __extends } from \"tslib\";\nimport \"./fixPolyfills.js\";\nimport { dep, wrap } from 'optimism';\nimport { ApolloCache } from \"../core/cache.js\";\nimport { MissingFieldError } from \"../core/types/common.js\";\nimport { addTypenameToDocument, isReference, } from \"../../utilities/index.js\";\nimport { StoreReader } from \"./readFromStore.js\";\nimport { StoreWriter } from \"./writeToStore.js\";\nimport { EntityStore, supportsResultCaching } from \"./entityStore.js\";\nimport { makeVar, forgetCache, recallCache } from \"./reactiveVars.js\";\nimport { defaultDataIdFromObject, Policies, } from \"./policies.js\";\nimport { hasOwn } from \"./helpers.js\";\nvar defaultConfig = {\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n resultCaching: true,\n typePolicies: {},\n};\nvar InMemoryCache = (function (_super) {\n __extends(InMemoryCache, _super);\n function InMemoryCache(config) {\n if (config === void 0) { config = {}; }\n var _this = _super.call(this) || this;\n _this.watches = new Set();\n _this.typenameDocumentCache = new Map();\n _this.makeVar = makeVar;\n _this.txCount = 0;\n _this.maybeBroadcastWatch = wrap(function (c, fromOptimisticTransaction) {\n return _this.broadcastWatch.call(_this, c, !!fromOptimisticTransaction);\n }, {\n makeCacheKey: function (c) {\n var store = c.optimistic ? _this.optimisticData : _this.data;\n if (supportsResultCaching(store)) {\n var optimistic = c.optimistic, rootId = c.rootId, variables = c.variables;\n return store.makeCacheKey(c.query, c.callback, JSON.stringify({ optimistic: optimistic, rootId: rootId, variables: variables }));\n }\n }\n });\n _this.watchDep = dep();\n _this.config = __assign(__assign({}, defaultConfig), config);\n _this.addTypename = !!_this.config.addTypename;\n _this.policies = new Policies({\n cache: _this,\n dataIdFromObject: _this.config.dataIdFromObject,\n possibleTypes: _this.config.possibleTypes,\n typePolicies: _this.config.typePolicies,\n });\n _this.data = new EntityStore.Root({\n policies: _this.policies,\n resultCaching: _this.config.resultCaching,\n });\n _this.optimisticData = _this.data;\n _this.storeWriter = new StoreWriter(_this, _this.storeReader = new StoreReader({\n cache: _this,\n addTypename: _this.addTypename,\n }));\n return _this;\n }\n InMemoryCache.prototype.restore = function (data) {\n if (data)\n this.data.replace(data);\n return this;\n };\n InMemoryCache.prototype.extract = function (optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return (optimistic ? this.optimisticData : this.data).extract();\n };\n InMemoryCache.prototype.read = function (options) {\n var _a = options.returnPartialData, returnPartialData = _a === void 0 ? false : _a;\n try {\n return this.storeReader.diffQueryAgainstStore({\n store: options.optimistic ? this.optimisticData : this.data,\n query: options.query,\n variables: options.variables,\n rootId: options.rootId,\n config: this.config,\n returnPartialData: returnPartialData,\n }).result || null;\n }\n catch (e) {\n if (e instanceof MissingFieldError) {\n return null;\n }\n throw e;\n }\n };\n InMemoryCache.prototype.write = function (options) {\n try {\n ++this.txCount;\n return this.storeWriter.writeToStore({\n store: this.data,\n query: options.query,\n result: options.result,\n dataId: options.dataId,\n variables: options.variables,\n });\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.modify = function (options) {\n if (hasOwn.call(options, \"id\") && !options.id) {\n return false;\n }\n var store = options.optimistic\n ? this.optimisticData\n : this.data;\n try {\n ++this.txCount;\n return store.modify(options.id || \"ROOT_QUERY\", options.fields);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.diff = function (options) {\n return this.storeReader.diffQueryAgainstStore({\n store: options.optimistic ? this.optimisticData : this.data,\n rootId: options.id || \"ROOT_QUERY\",\n query: options.query,\n variables: options.variables,\n returnPartialData: options.returnPartialData,\n config: this.config,\n });\n };\n InMemoryCache.prototype.watch = function (watch) {\n var _this = this;\n if (!this.watches.size) {\n recallCache(this);\n }\n this.watches.add(watch);\n if (watch.immediate) {\n this.maybeBroadcastWatch(watch);\n }\n return function () {\n if (_this.watches.delete(watch) && !_this.watches.size) {\n forgetCache(_this);\n }\n _this.watchDep.dirty(watch);\n _this.maybeBroadcastWatch.forget(watch);\n };\n };\n InMemoryCache.prototype.gc = function () {\n return this.optimisticData.gc();\n };\n InMemoryCache.prototype.retain = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).retain(rootId);\n };\n InMemoryCache.prototype.release = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).release(rootId);\n };\n InMemoryCache.prototype.identify = function (object) {\n return isReference(object) ? object.__ref :\n this.policies.identify(object)[0];\n };\n InMemoryCache.prototype.evict = function (options) {\n if (!options.id) {\n if (hasOwn.call(options, \"id\")) {\n return false;\n }\n options = __assign(__assign({}, options), { id: \"ROOT_QUERY\" });\n }\n try {\n ++this.txCount;\n return this.optimisticData.evict(options);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.reset = function () {\n this.data.clear();\n this.optimisticData = this.data;\n this.broadcastWatches();\n return Promise.resolve();\n };\n InMemoryCache.prototype.removeOptimistic = function (idToRemove) {\n var newOptimisticData = this.optimisticData.removeLayer(idToRemove);\n if (newOptimisticData !== this.optimisticData) {\n this.optimisticData = newOptimisticData;\n this.broadcastWatches();\n }\n };\n InMemoryCache.prototype.performTransaction = function (transaction, optimisticId) {\n var _this = this;\n var perform = function (layer) {\n var _a = _this, data = _a.data, optimisticData = _a.optimisticData;\n ++_this.txCount;\n if (layer) {\n _this.data = _this.optimisticData = layer;\n }\n try {\n transaction(_this);\n }\n finally {\n --_this.txCount;\n _this.data = data;\n _this.optimisticData = optimisticData;\n }\n };\n var fromOptimisticTransaction = false;\n if (typeof optimisticId === 'string') {\n this.optimisticData = this.optimisticData.addLayer(optimisticId, perform);\n fromOptimisticTransaction = true;\n }\n else if (optimisticId === null) {\n perform(this.data);\n }\n else {\n perform();\n }\n this.broadcastWatches(fromOptimisticTransaction);\n };\n InMemoryCache.prototype.transformDocument = function (document) {\n if (this.addTypename) {\n var result = this.typenameDocumentCache.get(document);\n if (!result) {\n result = addTypenameToDocument(document);\n this.typenameDocumentCache.set(document, result);\n this.typenameDocumentCache.set(result, result);\n }\n return result;\n }\n return document;\n };\n InMemoryCache.prototype.broadcastWatches = function (fromOptimisticTransaction) {\n var _this = this;\n if (!this.txCount) {\n this.watches.forEach(function (c) { return _this.maybeBroadcastWatch(c, fromOptimisticTransaction); });\n }\n };\n InMemoryCache.prototype.broadcastWatch = function (c, fromOptimisticTransaction) {\n this.watchDep.dirty(c);\n this.watchDep(c);\n var diff = this.diff({\n query: c.query,\n variables: c.variables,\n optimistic: c.optimistic,\n });\n if (c.optimistic && fromOptimisticTransaction) {\n diff.fromOptimisticTransaction = true;\n }\n c.callback(diff);\n };\n return InMemoryCache;\n}(ApolloCache));\nexport { InMemoryCache };\n//# sourceMappingURL=inMemoryCache.js.map","export default function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(JSON.parse(s.responseText))},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||\"get\",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},s.onerror=r,s.withCredentials=\"include\"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}\n//# sourceMappingURL=unfetch.mjs.map\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","import { getDocument } from './dom/getDocument';\nimport * as localStorage from './localStorage';\nimport * as sessionStorage from './sessionStorage';\n// Default to undefined so that we initialize on first read.\nvar _language;\nvar STORAGE_KEY = 'language';\n/**\n * Gets the language set for the page.\n * @param persistenceType - Where to persist the value. Default is `localStorage` if available.\n * (In version 8, the default will be `sessionStorage`.)\n */\nexport function getLanguage(persistenceType) {\n if (persistenceType === void 0) { persistenceType = 'localStorage'; }\n if (_language === undefined) {\n var doc = getDocument();\n var savedLanguage = persistenceType === 'localStorage'\n ? localStorage.getItem(STORAGE_KEY)\n : persistenceType === 'sessionStorage'\n ? sessionStorage.getItem(STORAGE_KEY)\n : undefined;\n if (savedLanguage) {\n _language = savedLanguage;\n }\n if (_language === undefined && doc) {\n _language = doc.documentElement.getAttribute('lang');\n }\n if (_language === undefined) {\n _language = 'en';\n }\n }\n return _language;\n}\nexport function setLanguage(language, persistenceParam) {\n var doc = getDocument();\n if (doc) {\n doc.documentElement.setAttribute('lang', language);\n }\n var persistenceType = persistenceParam === true ? 'none' : !persistenceParam ? 'localStorage' : persistenceParam;\n if (persistenceType === 'localStorage') {\n localStorage.setItem(STORAGE_KEY, language);\n }\n else if (persistenceType === 'sessionStorage') {\n sessionStorage.setItem(STORAGE_KEY, language);\n }\n _language = language;\n}\n//# sourceMappingURL=language.js.map","import { getWindow } from './dom/getWindow';\n/**\n * Fetches an item from local storage without throwing an exception\n * @param key The key of the item to fetch from local storage\n */\nexport function getItem(key) {\n var result = null;\n try {\n var win = getWindow();\n result = win ? win.localStorage.getItem(key) : null;\n }\n catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n/**\n * Inserts an item into local storage without throwing an exception\n * @param key The key of the item to add to local storage\n * @param data The data to put into local storage\n */\nexport function setItem(key, data) {\n try {\n var win = getWindow();\n win && win.localStorage.setItem(key, data);\n }\n catch (e) {\n /* Eat the exception */\n }\n}\n//# sourceMappingURL=localStorage.js.map","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/bind-context');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, step, entryIterator, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n while (!(step = iterator.next()).done) {\n entryIterator = getIterator(anObject(step.value));\n if (\n (first = entryIterator.next()).done ||\n (second = entryIterator.next()).done ||\n !entryIterator.next().done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","import { getWindow } from './dom/getWindow';\nimport { Stylesheet } from '@uifabric/merge-styles';\n// Initialize global window id.\nvar CURRENT_ID_PROPERTY = '__currentId__';\nvar DEFAULT_ID_STRING = 'id__';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar _global = getWindow() || {};\nif (_global[CURRENT_ID_PROPERTY] === undefined) {\n _global[CURRENT_ID_PROPERTY] = 0;\n}\nvar _initializedStylesheetResets = false;\n/**\n * Generates a unique id in the global scope (this spans across duplicate copies of the same library.)\n *\n * @public\n */\nexport function getId(prefix) {\n if (!_initializedStylesheetResets) {\n // Configure ids to reset on stylesheet resets.\n var stylesheet = Stylesheet.getInstance();\n if (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(resetIds);\n }\n _initializedStylesheetResets = true;\n }\n var index = _global[CURRENT_ID_PROPERTY]++;\n return (prefix === undefined ? DEFAULT_ID_STRING : prefix) + index;\n}\n/**\n * Resets id counter to an (optional) number.\n *\n * @public\n */\nexport function resetIds(counter) {\n if (counter === void 0) { counter = 0; }\n _global[CURRENT_ID_PROPERTY] = counter;\n}\n//# sourceMappingURL=getId.js.map","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\nvar IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","import { __assign, __spreadArrays } from \"tslib\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function mergeDeep() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n return mergeDeepArray(sources);\n}\nexport function mergeDeepArray(sources) {\n var target = sources[0] || {};\n var count = sources.length;\n if (count > 1) {\n var merger = new DeepMerger();\n for (var i = 1; i < count; ++i) {\n target = merger.merge(target, sources[i]);\n }\n }\n return target;\n}\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\nvar defaultReconciler = function (target, source, property) {\n return this.merge(target[property], source[property]);\n};\nvar DeepMerger = (function () {\n function DeepMerger(reconciler) {\n if (reconciler === void 0) { reconciler = defaultReconciler; }\n this.reconciler = reconciler;\n this.isObject = isObject;\n this.pastCopies = new Set();\n }\n DeepMerger.prototype.merge = function (target, source) {\n var _this = this;\n var context = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n context[_i - 2] = arguments[_i];\n }\n if (isObject(source) && isObject(target)) {\n Object.keys(source).forEach(function (sourceKey) {\n if (hasOwnProperty.call(target, sourceKey)) {\n var targetValue = target[sourceKey];\n if (source[sourceKey] !== targetValue) {\n var result = _this.reconciler.apply(_this, __spreadArrays([target, source, sourceKey], context));\n if (result !== targetValue) {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = result;\n }\n }\n }\n else {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = source[sourceKey];\n }\n });\n return target;\n }\n return source;\n };\n DeepMerger.prototype.shallowCopyForMerge = function (value) {\n if (isObject(value) && !this.pastCopies.has(value)) {\n if (Array.isArray(value)) {\n value = value.slice(0);\n }\n else {\n value = __assign({ __proto__: Object.getPrototypeOf(value) }, value);\n }\n this.pastCopies.add(value);\n }\n return value;\n };\n return DeepMerger;\n}());\nexport { DeepMerger };\n//# sourceMappingURL=mergeDeep.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n"," \r\n export enum PermissionBitFlags {\r\n None = 0,\r\n ViewProperties = 1,\r\n CreateModify = 2,\r\n Delete = 3,\r\n ManageAccess = 4,\r\n Deactivate = 5,\r\n ViewLevelData = 6,\r\n AccessLevelData = 7,\r\n FullViewLevelData = 8,\r\n FullAccessLevelData = 9,\r\n Impersonate = 10,\r\n Modify = 11,\r\n DeactivateExtendTrial = 12,\r\n }\r\n","import { Observable } from \"./Observable.js\";\nexport function fixObservableSubclass(subclass) {\n function set(key) {\n Object.defineProperty(subclass, key, { value: Observable });\n }\n if (typeof Symbol === \"function\" && Symbol.species) {\n set(Symbol.species);\n }\n set(\"@@species\");\n return subclass;\n}\n//# sourceMappingURL=subclassing.js.map"," \r\n export enum TestReportType {\r\n None = 0,\r\n Test = 1,\r\n HostCollection = 2,\r\n ContentZone = 3,\r\n Glimpse = 4,\r\n GlimpseRaw = 5,\r\n Request = 6,\r\n RecentErrors = 7,\r\n BenchmarkIndex = 8,\r\n GlimpseMobileRequest = 9,\r\n GlimpseMobileRequestRaw = 10,\r\n GlimpseMobileScreen = 11,\r\n GlimpseMobileScreenRaw = 12,\r\n GlimpseRawSampled = 13,\r\n GlimpseMobileRequestRawSampled = 14,\r\n GlimpseMobileScreenRawSampled = 15,\r\n GlimpseDataView = 16,\r\n GlimpseFlex = 17,\r\n GlimpseFlexRaw = 18,\r\n GlimpseFlexRawSampled = 19,\r\n GlimpseErrors = 20,\r\n GlimpseErrorsSampled = 21,\r\n GlimpseProviderProductRaw = 22,\r\n GlimpseProviderProductRawSampled = 23,\r\n GlimpseWebZoneRaw = 24,\r\n GlimpseWebZoneRawSampled = 25,\r\n GlimpseAjaxRaw = 26,\r\n GlimpseAjaxRawSampled = 27,\r\n CustomReports = 28,\r\n AlertsSynthetic = 29,\r\n AlertsGlimpse = 30,\r\n RequestGlimpse = 31,\r\n }\r\n","import { getPublicShareServerInitData } from './tgl';\r\n\r\nenum PublicShareDataKey {\r\n token = 't',\r\n headerName = 'h',\r\n apiPath = 'a',\r\n startTime = 's',\r\n endTime = 'e',\r\n timeZoneId = 'z',\r\n rumAppId = 'p',\r\n savedChartId = 'sv',\r\n testIdList = 'tt',\r\n objectName = 'n'\r\n}\r\n\r\nexport interface PublicShareInitData {\r\n token: string;\r\n headerName: string;\r\n apiPath: string;\r\n startTime: string;\r\n endTime: string;\r\n timeZoneId?: number;\r\n testIdList?: number[];\r\n rumAppId?: number;\r\n savedChartId: number;\r\n compareTime?: number;\r\n objectName?: string;\r\n}\r\n\r\n/** @deprecated Do Not use ! Any metadata information for public links\r\n * should be driven off of respective API calls and not\r\n * be injected via TGL data.\r\n */\r\nexport const getPublicShareData = (): PublicShareInitData | undefined => {\r\n const serverData = getPublicShareServerInitData();\r\n if (!serverData) {\r\n return undefined;\r\n }\r\n\r\n const publicShareData: PublicShareInitData = {\r\n token: serverData[PublicShareDataKey.token],\r\n headerName: serverData[PublicShareDataKey.headerName],\r\n apiPath: serverData[PublicShareDataKey.apiPath],\r\n startTime: serverData[PublicShareDataKey.startTime],\r\n endTime: serverData[PublicShareDataKey.endTime],\r\n timeZoneId: serverData[PublicShareDataKey.timeZoneId],\r\n testIdList: getTestIds(serverData[PublicShareDataKey.testIdList] as string),\r\n rumAppId: getRumAppId(serverData[PublicShareDataKey.rumAppId]),\r\n savedChartId: serverData[PublicShareDataKey.savedChartId],\r\n objectName: serverData[PublicShareDataKey.objectName],\r\n compareTime: 7\r\n };\r\n\r\n return publicShareData;\r\n};\r\n\r\n/** @deprecated Do not use ! Any metadata information for public links\r\n * should be driven off of respective API calls and not be injected via TGL data.\r\n */\r\nexport const isPublicLink = (): boolean => {\r\n const publicShareData = getPublicShareData();\r\n return publicShareData !== undefined;\r\n};\r\n\r\nconst getTestIds = (testIdsDenormalizedString: string): number[] | undefined => {\r\n const vals = testIdsDenormalizedString.split('|');\r\n const testIds: number[] = [];\r\n vals.forEach(x => {\r\n const intVal = parseInt(x, 10);\r\n if (!isNaN(intVal)) {\r\n testIds.push(intVal);\r\n }\r\n });\r\n\r\n if (testIds && testIds.length > 0) {\r\n return testIds;\r\n }\r\n return undefined;\r\n};\r\n\r\nconst getRumAppId = (rumAppId: string): number | undefined => {\r\n const intVal = parseInt(rumAppId, 10);\r\n if (!isNaN(intVal)) {\r\n return intVal;\r\n }\r\n return undefined;\r\n};\r\n","import { isNewExperience } from 'utils/url';\r\nimport { ChartBreakdown } from 'TypeWriterScripts/ChartBreakdown';\r\nimport { RealUserBreakdown } from 'TypeWriterScripts/RealUserBreakdown';\r\nimport { ChartDimension } from 'TypeWriterScripts/ChartDimension';\r\nimport { RealUserDimension } from 'TypeWriterScripts/RealUserDimension';\r\nimport { AnalyticsRealUserMetric } from 'TypeWriterScripts/AnalyticsRealUserMetric';\r\nimport { SupportedTimeframe } from 'TypeWriterScripts/SupportedTimeframe';\r\nimport { DateAggregationType } from 'TypeWriterScripts/DateAggregationType';\r\nimport { TestReportMetricDataType } from 'TypeWriterScripts/TestReportMetricDataType';\r\nimport { TestReportType } from 'TypeWriterScripts/TestReportType';\r\nimport { ObjectType } from 'TypeWriterScripts/ObjectType';\r\nimport { LookbackTime } from './../query/filterModel/analytics';\r\nimport { AlertItem } from '../alert';\r\nimport { Metric } from '../analysis/metric';\r\nimport { Filter } from '../filter';\r\nimport { Item, NullableNumber, ObjectTypeItem, Value } from '../simpleTypes';\r\nimport { RequestKeys, ResponseKeys } from './ajaxKeys';\r\nimport { Result } from './result';\r\nimport { isPublicLink } from '../../serverInitData/publicShareData';\r\nimport { Timeframe } from 'TypeWriterScripts/Timeframe';\r\nimport { NodeDetails } from 'components/Map/Map';\r\nimport { getSymphonyRestApiUrl } from 'utils/permission';\r\nimport { NewUIHawkUIBasePath } from 'utils/consts';\r\n\r\n/* tslint:disable:no-any */\r\nexport type ServerRequest = { [Key in RequestKeys]?: any };\r\nexport type ServerResponse = { [Key in ResponseKeys]?: any };\r\n/* tslint:enable:no-any */\r\n\r\nexport type AjaxRequest = HttpRequest | ChartRequest | LookupRequest | AlertRequest | SpotlightRequest;\r\nexport type AjaxResponse = HttpResponse | ChartResponse[] | LookupResponse | AlertResponse | SpotlightResponse;\r\nexport type AjaxRequestKey = 'Http' | 'Chart' | 'Lookup' | 'Alert' | 'Spotlight' | 'Event' | 'Errors' | 'NodeOverview';\r\nexport type AjaxRequestSender = (request: AjaxRequest) => Promise | undefined>;\r\n\r\nexport type Breakdown = ChartBreakdown | RealUserBreakdown;\r\nexport type Dimension = ChartDimension | RealUserDimension;\r\n\r\nexport interface AjaxRequestHandler {\r\n init: AjaxRequest;\r\n get: AjaxRequestSender;\r\n}\r\n\r\nexport interface AjaxRequestModel {\r\n validateRequest: (request: T) => boolean;\r\n translateRequest: (request: T, requestObj: ServerRequest) => void;\r\n}\r\n\r\nexport type AjaxRequestMap = { [key in AjaxRequestKey]: AjaxRequestHandler };\r\n\r\nexport class AjaxUrls {\r\n static readonly AlertsLink = '/Content/Alerts/AlertNotificationList.aspx';\r\n static readonly Divisions = '/division/list';\r\n static readonly ErrorsLink = '/Content/Charts/RecentErrors.aspx';\r\n static readonly Event = '/realuser/event';\r\n static readonly SyntheticError = '/errors/GetErrors';\r\n static readonly PerformanceLink = '/Content/Charts/Performance.aspx';\r\n static readonly ProductTree = '/test/products';\r\n static readonly PublicShareCreate = '/publicshare/create';\r\n static readonly PublicShareDelete = '/publicshare/delete';\r\n static readonly PublicShareSearch = '/publicshare/search';\r\n static readonly RealUserApps = '/realuser/apps';\r\n static readonly RealUserChart = '/realuser/data';\r\n static readonly RealUserHistogram = '/realuser/histogram';\r\n static readonly RealUserTimes = '/realuser/times';\r\n static readonly ScatterplotLink = '/Content/Charts/Performance.aspx';\r\n static readonly Script = '/test/script';\r\n static readonly SyntheticAlert = '/alerts/query';\r\n static readonly SyntheticChart = '/chart/data';\r\n static readonly SyntheticHistogram = '/chart/histogram';\r\n static readonly SyntheticSpotlight = '/spotlight/data';\r\n static readonly SyntheticTest = '/chart/test';\r\n static readonly Test = '/test/search';\r\n static readonly TestPropertiesLink = '/Content/Tests/TestDetail.aspx';\r\n static readonly TimeZones = '/realuser/timezones';\r\n static readonly NodeOverview = '/chart/nodedata';\r\n static readonly ContactSwitch = '/user/useridentity/switchcontact';\r\n static readonly DivisionDrillDown = '/user/useridentity/divisiondrilldown';\r\n static readonly ClientDrillDown = '/user/useridentity/clientdrilldown';\r\n static readonly SystemDrillUp = '/user/useridentity/systemdrillup';\r\n static readonly ClientDrillUp = '/user/useridentity/clientdrillup';\r\n static readonly ResetContact = '/user/useridentity/resetdrillin';\r\n static readonly RefreshToken = '/user/useridentity/refreshtoken';\r\n static readonly SyntheticRecordDownload = '/records/downloadSyntheticRecord';\r\n static readonly ChangeLog = '/changelog/getlogs';\r\n static readonly SyntheticAnalytics = '/syntheticAnalytics/getData';\r\n}\r\n\r\nexport function getBaseUrl(excludeApi: boolean = false): string {\r\n const baseStart = isPublicLink() ? 'Entry' : isNewExperience() ? NewUIHawkUIBasePath : 'Content';\r\n const initialBaseUrl = '../';\r\n const path = window.location.pathname.toLowerCase();\r\n const pathArray = path.split('/');\r\n const startIndex = pathArray.indexOf(baseStart.toLowerCase());\r\n const repeatCount = pathArray.length - 1 - startIndex;\r\n let baseUrl = initialBaseUrl.repeat(repeatCount);\r\n if (!excludeApi) {\r\n baseUrl += 'api';\r\n }\r\n return baseUrl;\r\n}\r\n\r\nexport function getRealUserChartUrl(): string {\r\n return getBaseUrl() + AjaxUrls.RealUserChart;\r\n}\r\n\r\nexport function getRealUserHistogram(): string {\r\n return getBaseUrl() + AjaxUrls.RealUserHistogram;\r\n}\r\n\r\nexport function getRealUserApps(): string {\r\n return getBaseUrl() + AjaxUrls.RealUserApps + '?includeEvents=true';\r\n}\r\n\r\nexport function getRealUserTimes(): string {\r\n return getBaseUrl() + AjaxUrls.RealUserTimes;\r\n}\r\n\r\nexport function getSyntheticChart(): string {\r\n return getBaseUrl() + AjaxUrls.SyntheticChart;\r\n}\r\n\r\nexport function getTestScripts(): string {\r\n return getBaseUrl() + AjaxUrls.Script;\r\n}\r\n\r\nexport function getSyntheticAlert(): string {\r\n return getBaseUrl() + AjaxUrls.SyntheticAlert;\r\n}\r\n\r\nexport function getSyntheticHistogram(): string {\r\n return getBaseUrl() + AjaxUrls.SyntheticHistogram;\r\n}\r\n\r\nexport function getSyntheticSpotlight(): string {\r\n return getBaseUrl() + AjaxUrls.SyntheticSpotlight;\r\n}\r\n\r\nexport function getEvent(): string {\r\n return getBaseUrl() + AjaxUrls.Event;\r\n}\r\n\r\nexport function getErrors(): string {\r\n return getBaseUrl() + AjaxUrls.SyntheticError;\r\n}\r\n\r\nexport function getTimeZones(): string {\r\n return getBaseUrl() + AjaxUrls.TimeZones;\r\n}\r\n\r\nexport function getProductTree(includeWptFolders?: boolean): string {\r\n let productTree = getBaseUrl() + AjaxUrls.ProductTree;\r\n productTree = includeWptFolders ? `${productTree}?includeWptFolders=true` : productTree;\r\n return productTree;\r\n}\r\n\r\nexport function getDivisions(): string {\r\n return getBaseUrl() + AjaxUrls.Divisions;\r\n}\r\n\r\nexport function getTest(id: number): string {\r\n return getBaseUrl() + AjaxUrls.Test + '?text=' + id.toString();\r\n}\r\n\r\nexport function createPublicSBShareUrl(): string {\r\n return getBaseUrl() + AjaxUrls.PublicShareCreate;\r\n}\r\n\r\nexport function fetchPublicSBShareUrls(): string {\r\n return getBaseUrl() + AjaxUrls.PublicShareSearch;\r\n}\r\n\r\nexport function deletePublicSBShareUrl(id: number): string {\r\n return getBaseUrl() + AjaxUrls.PublicShareDelete + '?id=' + id.toString();\r\n}\r\n\r\nexport function fetchNodeOverview(): string {\r\n return getBaseUrl() + AjaxUrls.NodeOverview;\r\n}\r\n\r\nexport function getContactSwitchUrl(): string {\r\n return getBaseUrl(true) + AjaxUrls.ContactSwitch;\r\n}\r\n\r\nexport function getDivisionDrillDownUrl(): string {\r\n return getBaseUrl(true) + AjaxUrls.DivisionDrillDown;\r\n}\r\n\r\nexport function getClientDrillDownUrl(): string {\r\n return getBaseUrl(true) + AjaxUrls.ClientDrillDown;\r\n}\r\n\r\nexport function getClientDrillUpUrl(): string {\r\n return getBaseUrl(true) + AjaxUrls.ClientDrillUp;\r\n}\r\n\r\nexport function getSystemDrillUpUrl(): string {\r\n return getBaseUrl(true) + AjaxUrls.SystemDrillUp;\r\n}\r\n\r\nexport function getResetDrillUrl(): string {\r\n return getBaseUrl(true) + AjaxUrls.ResetContact;\r\n}\r\n\r\nexport function getClientRefreshUrl(): string {\r\n return getBaseUrl(true) + AjaxUrls.RefreshToken;\r\n}\r\n\r\nexport const getSyntheticRecordDownloadUrl = () => getSymphonyRestApiUrl() + AjaxUrls.SyntheticRecordDownload;\r\n\r\nexport const getSyntheticAnalyticsUrl = () => getSymphonyRestApiUrl() + AjaxUrls.SyntheticAnalytics;\r\n\r\nexport const getChangeLogUrl = () => getSymphonyRestApiUrl() + AjaxUrls.ChangeLog;\r\n\r\ntype OrString = T | string;\r\n\r\n/* HTTP Types */\r\nexport type HttpMethod = 'GET' | 'POST';\r\n\r\nexport interface HttpRequest {\r\n url: string;\r\n method: HttpMethod;\r\n /* tslint:disable-next-line:no-any */\r\n data?: any;\r\n}\r\n\r\nexport interface HttpResponse {\r\n status: number;\r\n statusText: string;\r\n /* tslint:disable-next-line:no-any */\r\n data: any;\r\n}\r\n\r\nexport const InitHttpRequest: HttpRequest = {\r\n url: '',\r\n method: 'GET',\r\n data: undefined\r\n};\r\n\r\n/* Chart Types */\r\nexport enum ChartDataType {\r\n Synthetic,\r\n RealUser,\r\n All\r\n}\r\n\r\nexport interface TimeReference {\r\n baseTimeframe: Timeframe;\r\n comparativeTimeframe: ComparativeTimeframeType;\r\n}\r\n\r\nexport enum ComparativeTimeframeType {\r\n PreviousWindow = 0,\r\n OneDayPrior = 1,\r\n SevenDaysPrior = 2\r\n}\r\n\r\nexport interface CustomRange {\r\n start: string;\r\n end: string;\r\n compareDays?: number;\r\n compareHours?: number;\r\n comparativeTimeFrame?: ComparativeTimeframeType;\r\n timeZone?: number;\r\n preset?: number;\r\n lookbackTime?: LookbackTime;\r\n}\r\n\r\nexport interface PredefinedRange {\r\n id: SupportedTimeframe | Timeframe;\r\n compareDays?: number;\r\n compareHours?: number;\r\n comparativeTimeFrame?: ComparativeTimeframeType;\r\n timeZone?: number;\r\n lookbackTime?: LookbackTime;\r\n utcNow?: string;\r\n}\r\n\r\nexport interface TrimRange {\r\n trimId?: number;\r\n max?: number;\r\n min?: number;\r\n}\r\n\r\nexport interface TimeFilter {\r\n daysOfWeek?: number[];\r\n startTime?: string;\r\n endTime?: string;\r\n}\r\n\r\nexport interface CustomRangeWithIntervalChange extends CustomRange {\r\n intervalChanged: boolean;\r\n}\r\n\r\nexport interface CustomRangeWithAggregation extends CustomRange {\r\n aggregationStart: string;\r\n aggregationEnd: string;\r\n}\r\n\r\nexport interface CustomRangeWithSender extends CustomRange {\r\n sender: string;\r\n}\r\n\r\nexport interface PredefinedRangeWithSender extends PredefinedRange {\r\n sender: string;\r\n}\r\n\r\nexport interface TimeFrame {\r\n index: number;\r\n range: CustomRange | PredefinedRange;\r\n}\r\n\r\nexport interface ChartHistogramMetric {\r\n metric: OrString;\r\n histogramBy: OrString[];\r\n}\r\n\r\nexport type ChartRequestMetric = OrString | ChartHistogramMetric;\r\n\r\nexport interface ChartRequest {\r\n type: ChartDataType;\r\n ids: number[];\r\n times: TimeFrame[];\r\n filters: Filter[];\r\n dateAggregation: DateAggregationType;\r\n statisticalValue: TestReportMetricDataType;\r\n statisticalModifier?: Number;\r\n metrics: ChartRequestMetric[];\r\n summaryMetrics?: ChartRequestMetric[];\r\n breakdown1?: OrString;\r\n breakdown2?: OrString;\r\n dimension?: OrString;\r\n aggregationStart?: string;\r\n aggregationEnd?: string;\r\n reportType?: TestReportType;\r\n predictedMetrics?: OrString[];\r\n trimId?: number;\r\n min?: number;\r\n max?: number;\r\n buckets?: number;\r\n tracepointIds?: string[];\r\n tracepointV?: string[];\r\n stepName?: string;\r\n testIds?: string[];\r\n destinationip?: string[];\r\n apdexMetrics?: ChartRequestMetric[];\r\n isDivisionWideQuery?: boolean;\r\n fetchLocationDetails?: boolean;\r\n shouldSortByFieldAscending?: boolean;\r\n shouldSortByKeyAscending?: boolean;\r\n sortByFieldIndex?: number;\r\n sortByKeyIndex?: number;\r\n}\r\n\r\nexport const InitChartRequest: ChartRequest = {\r\n type: ChartDataType.Synthetic,\r\n ids: [],\r\n times: [],\r\n dateAggregation: DateAggregationType.Total,\r\n statisticalValue: TestReportMetricDataType.Average,\r\n statisticalModifier: undefined,\r\n metrics: [],\r\n summaryMetrics: [],\r\n filters: [],\r\n breakdown1: undefined,\r\n breakdown2: undefined,\r\n dimension: undefined,\r\n aggregationStart: undefined,\r\n aggregationEnd: undefined,\r\n reportType: TestReportType.None,\r\n predictedMetrics: undefined,\r\n trimId: undefined,\r\n min: undefined,\r\n max: undefined,\r\n buckets: undefined,\r\n tracepointIds: undefined,\r\n tracepointV: undefined,\r\n stepName: undefined,\r\n testIds: [],\r\n destinationip: undefined,\r\n apdexMetrics: [],\r\n isDivisionWideQuery: false,\r\n fetchLocationDetails: false,\r\n shouldSortByKeyAscending: undefined,\r\n sortByKeyIndex: undefined,\r\n shouldSortByFieldAscending: undefined,\r\n sortByFieldIndex: undefined\r\n};\r\n\r\nexport class CompareTimeBreakdownValue {\r\n static readonly Base = 'Base';\r\n static readonly WeekPrior = '7 Days Prior';\r\n static readonly DayPrior = '1 Days Prior';\r\n}\r\n\r\nexport interface BreakdownResponse {\r\n id: number;\r\n name: string; // e.g. PageUrl\r\n}\r\n\r\nexport interface LatLongValues {\r\n latitude: number;\r\n longitude: number;\r\n countryName?: string;\r\n countryId?: number;\r\n}\r\n\r\nexport interface PredictedValueResponse {\r\n value: number;\r\n standardError: number;\r\n predictionStandardError: number;\r\n}\r\n\r\nexport interface ChartDataPoint {\r\n time?: string;\r\n values: NullableNumber[];\r\n breakdown1?: BreakdownResponse;\r\n breakdown2?: BreakdownResponse;\r\n predictedValues?: PredictedValueResponse[];\r\n dimension?: Value;\r\n geoLocation?: LatLongValues;\r\n nodeDetails?: NodeDetails;\r\n}\r\n\r\nexport interface ChartResponse {\r\n start: string;\r\n end: string;\r\n clientTimezone?: number;\r\n intervals?: number;\r\n items: ChartDataPoint[];\r\n metrics: ChartResultMetric[];\r\n breakdown1?: number;\r\n breakdown2?: number;\r\n histogramItems?: ChartResultHistogramItem[];\r\n summaryItems?: ChartDataPoint[];\r\n appList?: AppList[];\r\n hasMoreRecords?: boolean;\r\n totalRecordsCount?: number;\r\n totalSummaryRecordsCount?: number;\r\n}\r\n\r\nexport interface AppList {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport interface ChartResultMetric {\r\n type: number;\r\n name: string;\r\n}\r\n\r\nexport interface ChartResultHistogramItem {\r\n count: number;\r\n intervals: number;\r\n max: number;\r\n min: number;\r\n total: number;\r\n items: ChartResultHistogramBucketItem[];\r\n}\r\n\r\nexport interface ChartResultHistogramBucketItem {\r\n max: number;\r\n values: number[];\r\n count?: number;\r\n}\r\n\r\n/* Lookup Types */\r\nexport interface LookupRequest {\r\n text: string;\r\n type: ObjectType;\r\n}\r\n\r\nexport type LookupResponse = ObjectTypeItem[];\r\n\r\nexport interface ScriptRequest {\r\n id: number;\r\n}\r\n\r\nexport interface ScriptResponse {\r\n /* tslint:disable-next-line:no-any */\r\n data?: any;\r\n}\r\n\r\nexport const InitLookupRequest: LookupRequest = {\r\n type: 0,\r\n text: ''\r\n};\r\n\r\nexport const DateAggregationFromServer = 'calc';\r\n\r\nexport interface AlertRequest {\r\n ids: number[];\r\n objectType?: ObjectType;\r\n times: TimeFrame[];\r\n type: ChartDataType;\r\n}\r\n\r\nexport const InitAlertRequest: AlertRequest = {\r\n ids: [],\r\n times: [],\r\n objectType: ObjectType.Test,\r\n type: ChartDataType.Synthetic\r\n};\r\n\r\nexport interface AlertResponse {\r\n start: string;\r\n end: string;\r\n alertItems: AlertItem[];\r\n}\r\n\r\nexport interface SpotlightRequest {\r\n ids: number[];\r\n times: TimeFrame[];\r\n type: ChartDataType;\r\n}\r\n\r\nexport const InitSpotlightRequest: SpotlightRequest = {\r\n ids: [],\r\n times: [],\r\n type: ChartDataType.Synthetic\r\n};\r\n\r\nexport interface SpotlightResponse {\r\n start: string;\r\n end: string;\r\n alertEventIssues: AlertEventItem[];\r\n}\r\n\r\nexport interface AlertEventItem {\r\n start: string;\r\n end: string;\r\n alertGroupItemId: number;\r\n alertGroupType: number;\r\n dimension: number;\r\n dimensionKey: string;\r\n maximumAccuracy: number;\r\n alertEventIssueMessage: string;\r\n nodeIds: number[];\r\n node: Item[];\r\n}\r\n\r\nexport interface PublicLink {\r\n TestIdList: number[];\r\n GlimpseSiteId?: number;\r\n StartTime: string;\r\n EndTime: string;\r\n ExpiresIn: string;\r\n SavedChartId: number;\r\n Url: string;\r\n TimeZoneId?: number;\r\n}\r\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n"," \r\n export enum NodeStatus {\r\n Active = 0,\r\n Inactive = 1,\r\n Paused = 2,\r\n Resumed = 3\r\n }","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activate\":\"fabricIcons_activate_3C8e9\",\"activateCheck\":\"fabricIcons_activateCheck_1JsmR\",\"activateGray\":\"fabricIcons_activateGray_34Vjt\",\"addIndex\":\"fabricIcons_addIndex_4z7-1\",\"clock\":\"fabricIcons_clock_3NY_0\",\"alerts\":\"fabricIcons_alerts_1cPwG\",\"alertsBlue\":\"fabricIcons_alertsBlue_1HaeJ\",\"alertsCritical\":\"fabricIcons_alertsCritical_x2EDw\",\"alertsWarning\":\"fabricIcons_alertsWarning_2T6kV\",\"analyze\":\"fabricIcons_analyze_Ncc3s\",\"backbone\":\"fabricIcons_backbone_2FVqp\",\"backboneNode\":\"fabricIcons_backboneNode_kbfHM\",\"benchmark\":\"fabricIcons_benchmark_e8SLB\",\"backward\":\"fabricIcons_backward_2zoFg\",\"calendar\":\"fabricIcons_calendar_2ct1S\",\"calendarPicker\":\"fabricIcons_calendarPicker_dk0Nc\",\"cancel\":\"fabricIcons_cancel_DKA5Q\",\"cancelBlue\":\"fabricIcons_cancelBlue_237QH\",\"changelog\":\"fabricIcons_changelog_1480V\",\"checkMark\":\"fabricIcons_checkMark_6r4dc\",\"excelDownload\":\"fabricIcons_excelDownload_S-s7f\",\"chevron\":\"fabricIcons_chevron_3Ppzm\",\"chevronDark\":\"fabricIcons_chevronDark_3NkTH\",\"chevrondownLarge\":\"fabricIcons_chevrondownLarge_2mav2\",\"chevrondownLargeLight\":\"fabricIcons_chevrondownLargeLight_2KLR3\",\"chevronUpLight\":\"fabricIcons_chevronUpLight_UM-x3\",\"chevronright\":\"fabricIcons_chevronright_39uit\",\"chevronRightLight\":\"fabricIcons_chevronRightLight_1nVcR\",\"circle\":\"fabricIcons_circle_1IqOK\",\"circleGreen\":\"fabricIcons_circleGreen_1rakE\",\"circleRing\":\"fabricIcons_circleRing_tkNp8\",\"clear\":\"fabricIcons_clear_PbsV0\",\"cloud\":\"fabricIcons_cloud_3VeXv\",\"cloudNode\":\"fabricIcons_cloudNode_2e3e-\",\"closeDark\":\"fabricIcons_closeDark_1mo2p\",\"comboBox\":\"fabricIcons_comboBox_3x2PV\",\"copy\":\"fabricIcons_copy_34R8q\",\"comparelineIcon\":\"fabricIcons_comparelineIcon_25-uF\",\"comparison\":\"fabricIcons_comparison_2zbWX\",\"drag\":\"fabricIcons_drag_2NUWY\",\"doughnutIcon\":\"fabricIcons_doughnutIcon_39xyI\",\"deactivate\":\"fabricIcons_deactivate_1Bogs\",\"deactivateCheck\":\"fabricIcons_deactivateCheck_3frCv\",\"delete\":\"fabricIcons_delete_3qb1o\",\"deleteDarkBlue\":\"fabricIcons_deleteDarkBlue_2lsv0\",\"deleteIcon\":\"fabricIcons_deleteIcon_1jsnO\",\"diamondRed\":\"fabricIcons_diamondRed_2ZQgm\",\"doubleChevronDown\":\"fabricIcons_doubleChevronDown_26Qm5\",\"doubleChevronUp\":\"fabricIcons_doubleChevronUp_1R0Q_\",\"down\":\"fabricIcons_down_3lf7Z\",\"download\":\"fabricIcons_download_34gAl\",\"unFilledDownload\":\"fabricIcons_unFilledDownload_2ltid\",\"downloadCsv\":\"fabricIcons_downloadCsv_2qT4n\",\"darkBlueDownloadCsv\":\"fabricIcons_darkBlueDownloadCsv_2feJD\",\"darkBlueDownloadJson\":\"fabricIcons_darkBlueDownloadJson_1zHu1\",\"exportIcon\":\"fabricIcons_exportIcon_1QIcf\",\"edit\":\"fabricIcons_edit_3-J6p\",\"editDarkBlue\":\"fabricIcons_editDarkBlue_CLHd5\",\"editSmall\":\"fabricIcons_editSmall_3fd66\",\"editFavoriteChart\":\"fabricIcons_editFavoriteChart_1lPKV\",\"editProperties\":\"fabricIcons_editProperties_1t7ra\",\"endpointsAlert\":\"fabricIcons_endpointsAlert_qOjPQ\",\"endpointsAlertBlack\":\"fabricIcons_endpointsAlertBlack_1AON7\",\"endpointsEmployeeApp\":\"fabricIcons_endpointsEmployeeApp_-eRPW\",\"endpointsEmployeeAppBlack\":\"fabricIcons_endpointsEmployeeAppBlack_2ZaUR\",\"endpointsEndpoint\":\"fabricIcons_endpointsEndpoint_15UQ5\",\"endpointsEndpointBlack\":\"fabricIcons_endpointsEndpointBlack_1fe3L\",\"endpointsListTests\":\"fabricIcons_endpointsListTests_37yYL\",\"endpointsLocation\":\"fabricIcons_endpointsLocation_22RxL\",\"endpointsLocationBlack\":\"fabricIcons_endpointsLocationBlack_1w6vB\",\"endpointsNetworkDevice\":\"fabricIcons_endpointsNetworkDevice_2S39s\",\"endpointsNetworkDeviceBlack\":\"fabricIcons_endpointsNetworkDeviceBlack_1ez3F\",\"endpointScheduleTest\":\"fabricIcons_endpointScheduleTest_2aju6\",\"enterprise\":\"fabricIcons_enterprise_33NNW\",\"event\":\"fabricIcons_event_1NiHw\",\"leftChevronArrow\":\"fabricIcons_leftChevronArrow_H9BbO\",\"rightChevronArrow\":\"fabricIcons_rightChevronArrow_1qgF4\",\"enterpriseNode\":\"fabricIcons_enterpriseNode_2TKjF\",\"errors\":\"fabricIcons_errors_29eml\",\"errorTooltip\":\"fabricIcons_errorTooltip_iwASM\",\"expandArrows\":\"fabricIcons_expandArrows_1-TtS\",\"favoriteEmpty\":\"fabricIcons_favoriteEmpty_14DeL\",\"favoriteEmptyDarkBlue\":\"fabricIcons_favoriteEmptyDarkBlue_33C8M\",\"favoriteFilled\":\"fabricIcons_favoriteFilled_1c7V7\",\"favoriteFilledDarkBlue\":\"fabricIcons_favoriteFilledDarkBlue_cpFlP\",\"filter\":\"fabricIcons_filter_1PDyT\",\"filterButton\":\"fabricIcons_filterButton_1ywSv\",\"filterButtonWhite\":\"fabricIcons_filterButtonWhite_3d1eh\",\"filterButtonLight\":\"fabricIcons_filterButtonLight_2No6T\",\"filterButtonXLarge\":\"fabricIcons_filterButtonXLarge_-pFle\",\"folder\":\"fabricIcons_folder_2gxGy\",\"fullScreen\":\"fabricIcons_fullScreen_1-P0_\",\"harDownload\":\"fabricIcons_harDownload_zicn_\",\"heroNumber\":\"fabricIcons_heroNumber_-aGcQ\",\"groupedBar\":\"fabricIcons_groupedBar_2IE8i\",\"map\":\"fabricIcons_map_C1mZZ\",\"infoIcon\":\"fabricIcons_infoIcon_2tJUH\",\"infoSvgIcon\":\"fabricIcons_infoSvgIcon_3XBOG\",\"infoBlueIcon\":\"fabricIcons_infoBlueIcon_1i6Rx\",\"instantTest\":\"fabricIcons_instantTest_1_DKg\",\"instantTestSiteNav\":\"fabricIcons_instantTestSiteNav_6jkVA\",\"javascript\":\"fabricIcons_javascript_TEqje\",\"lastmile\":\"fabricIcons_lastmile_22jKN\",\"lastmileNode\":\"fabricIcons_lastmileNode_1AdCr\",\"libraryCertificates\":\"fabricIcons_libraryCertificates_1n-OZ\",\"libraryFiles\":\"fabricIcons_libraryFiles_3a9cf\",\"libraryGlobalVariables\":\"fabricIcons_libraryGlobalVariables_3OtrH\",\"libraryPasswords\":\"fabricIcons_libraryPasswords_3YKUK\",\"libraryProxy\":\"fabricIcons_libraryProxy_25OWf\",\"linkIconDashboardBlade\":\"fabricIcons_linkIconDashboardBlade_1UKvy\",\"list\":\"fabricIcons_list_5zS94\",\"list2\":\"fabricIcons_list2_Wy9RP\",\"menu\":\"fabricIcons_menu_WpxVH\",\"more\":\"fabricIcons_more_1y4sS\",\"moveTo\":\"fabricIcons_moveTo_3vkWS\",\"newIcon\":\"fabricIcons_newIcon_32ThG\",\"newIconSmartboardTable\":\"fabricIcons_newIconSmartboardTable_1nXVC\",\"revealIcon\":\"fabricIcons_revealIcon_LPOQZ\",\"hideIcon\":\"fabricIcons_hideIcon_1KVS3\",\"addNewDarkBlue\":\"fabricIcons_addNewDarkBlue_3mpVX\",\"newIconDashboardBlade\":\"fabricIcons_newIconDashboardBlade_3slo6\",\"noDataFound\":\"fabricIcons_noDataFound_3sBI-\",\"noSearchFound\":\"fabricIcons_noSearchFound_3wVgf\",\"partial\":\"fabricIcons_partial_11qAE\",\"thirdParty\":\"fabricIcons_thirdParty_mgidN\",\"lightPartial\":\"fabricIcons_lightPartial_2B8dM\",\"darkPartial\":\"fabricIcons_darkPartial_1vBRP\",\"file\":\"fabricIcons_file_2RNQn\",\"pause\":\"fabricIcons_pause_3W-eX\",\"pauseAlerts\":\"fabricIcons_pauseAlerts_3Db0B\",\"performance\":\"fabricIcons_performance_cVkcL\",\"print\":\"fabricIcons_print_1-wtn\",\"product\":\"fabricIcons_product_38QfE\",\"properties\":\"fabricIcons_properties_20yzQ\",\"refresh\":\"fabricIcons_refresh_331US\",\"remove\":\"fabricIcons_remove_2U-UZ\",\"removeBlack\":\"fabricIcons_removeBlack_3xfvy\",\"removeBlue\":\"fabricIcons_removeBlue_2txGp\",\"removeDarkBlue\":\"fabricIcons_removeDarkBlue_2zSgq\",\"removeWhite\":\"fabricIcons_removeWhite_1afGK\",\"reset\":\"fabricIcons_reset_3QQRE\",\"resume\":\"fabricIcons_resume__a-Wd\",\"resumeAlerts\":\"fabricIcons_resumeAlerts_1pccW\",\"revert\":\"fabricIcons_revert_37kv-\",\"darkBlueRevert\":\"fabricIcons_darkBlueRevert_2FF3c\",\"sampledData\":\"fabricIcons_sampledData_35kn1\",\"save\":\"fabricIcons_save_3Jx7t\",\"saveDarkBlue\":\"fabricIcons_saveDarkBlue_31St0\",\"scatterplotOld\":\"fabricIcons_scatterplotOld_1K6wl\",\"scatterplot\":\"fabricIcons_scatterplot_1SOvV\",\"scatterplotBlack\":\"fabricIcons_scatterplotBlack_3qcwO\",\"search\":\"fabricIcons_search_3g_l0\",\"searchLight\":\"fabricIcons_searchLight_bjMMI\",\"share\":\"fabricIcons_share_9LSz2\",\"smartboard\":\"fabricIcons_smartboard_3z8cF\",\"smartboardBlue\":\"fabricIcons_smartboardBlue_YBxK0\",\"drop\":\"fabricIcons_drop_2s0ka\",\"resumeAlert\":\"fabricIcons_resumeAlert_2bBpW\",\"pauseAlert\":\"fabricIcons_pauseAlert_9mDT6\",\"create\":\"fabricIcons_create_11Qru\",\"acknowledge\":\"fabricIcons_acknowledge_3XUI9\",\"sortDown\":\"fabricIcons_sortDown_OTnaO\",\"assignTo\":\"fabricIcons_assignTo_33zC0\",\"smartboardError\":\"fabricIcons_smartboardError_2aa_S\",\"sortUp\":\"fabricIcons_sortUp_11mYr\",\"sparklineIcon\":\"fabricIcons_sparklineIcon_ia6ju\",\"statistical\":\"fabricIcons_statistical_3MOwR\",\"success\":\"fabricIcons_success_3XVt2\",\"table\":\"fabricIcons_table_1MCCi\",\"tile\":\"fabricIcons_tile_XZgO-\",\"tableCheckMark\":\"fabricIcons_tableCheckMark_1mKGq\",\"timeSeries\":\"fabricIcons_timeSeries_3dssE\",\"trending\":\"fabricIcons_trending_gqTrB\",\"triangle\":\"fabricIcons_triangle_3c8Fh\",\"up\":\"fabricIcons_up_3Te7h\",\"viewall\":\"fabricIcons_viewall_29JZs\",\"warning\":\"fabricIcons_warning_d3YwN\",\"waterfallOld\":\"fabricIcons_waterfallOld_k0M7n\",\"waterfall\":\"fabricIcons_waterfall_QM2RP\",\"waterfallDisabled\":\"fabricIcons_waterfallDisabled_1aVw8\",\"widgetList\":\"fabricIcons_widgetList_WTUOF\",\"wireless\":\"fabricIcons_wireless_8ZEtk\",\"wirelessNode\":\"fabricIcons_wirelessNode_OYWVb\",\"colorCell\":\"fabricIcons_colorCell_3jHAj\",\"burgerMenu\":\"fabricIcons_burgerMenu_28an2\",\"kiosk\":\"fabricIcons_kiosk_3kjKJ\",\"chevronRightMed\":\"fabricIcons_chevronRightMed_3TOal\",\"bannerError\":\"fabricIcons_bannerError_1wv13\",\"bannerInfo\":\"fabricIcons_bannerInfo_o3A_O\",\"bannerSuccess\":\"fabricIcons_bannerSuccess_2ZNoz\",\"tune\":\"fabricIcons_tune_1lcAo\",\"dashboardSiteNav\":\"fabricIcons_dashboardSiteNav_2BAjT\",\"controlCenterSiteNav\":\"fabricIcons_controlCenterSiteNav_19ZeB\",\"reportsSiteNav\":\"fabricIcons_reportsSiteNav_2CPWN\",\"settingsSiteNav\":\"fabricIcons_settingsSiteNav_1nugE\",\"nodesSiteNav\":\"fabricIcons_nodesSiteNav_yWcNr\",\"analysisSiteNav\":\"fabricIcons_analysisSiteNav_1d4mM\",\"contactsSiteNav\":\"fabricIcons_contactsSiteNav_1U6bv\",\"alertsSiteNav\":\"fabricIcons_alertsSiteNav_3bGDP\",\"area\":\"fabricIcons_area_2Pw3E\",\"heatMap\":\"fabricIcons_heatMap_2NZrV\",\"lineChart\":\"fabricIcons_lineChart_mxO_w\",\"blackLineChart\":\"fabricIcons_blackLineChart_3fMUI\",\"network\":\"fabricIcons_network_2SnJi\",\"scatterplotNoAxis\":\"fabricIcons_scatterplotNoAxis_1pR6H\",\"blackScatterplot\":\"fabricIcons_blackScatterplot_1w_ei\",\"sparkBar\":\"fabricIcons_sparkBar_3TE-j\",\"dimensions\":\"fabricIcons_dimensions_MKDbU\",\"smallXAxisIcon\":\"fabricIcons_smallXAxisIcon_1uc3V\",\"smallYAxisIcon\":\"fabricIcons_smallYAxisIcon_aiwFt\",\"smallMultiLineChartIcon\":\"fabricIcons_smallMultiLineChartIcon_1aCEZ\",\"square\":\"fabricIcons_square_2cG8e\",\"copyWhiteBorder\":\"fabricIcons_copyWhiteBorder_Zhf5b\",\"signOut\":\"fabricIcons_signOut_1eihH\",\"userPreferences\":\"fabricIcons_userPreferences_7NXK5\",\"password\":\"fabricIcons_password_2VsxB\",\"emailPreferences\":\"fabricIcons_emailPreferences_1gd-5\",\"wrench\":\"fabricIcons_wrench_1k0U0\",\"openLink\":\"fabricIcons_openLink_3cNWU\",\"overflowItemOpenLink\":\"fabricIcons_overflowItemOpenLink_ecLZD\",\"blueCircleRing\":\"fabricIcons_blueCircleRing_2f8qf\",\"webpage\":\"fabricIcons_webpage_3iXcD\",\"webpageBlue\":\"fabricIcons_webpageBlue_32g52\",\"node\":\"fabricIcons_node_1iwD6\",\"device\":\"fabricIcons_device_356Wg\",\"deviceBlue\":\"fabricIcons_deviceBlue_2h7j1\",\"wptFolder\":\"fabricIcons_wptFolder_y3xST\",\"circleLegendStatus\":\"fabricIcons_circleLegendStatus_1biel\",\"triangleLegendStatus\":\"fabricIcons_triangleLegendStatus_3xXiR\",\"squareLegendStatus\":\"fabricIcons_squareLegendStatus_3R4F4\",\"squareGrayLegendStatus\":\"fabricIcons_squareGrayLegendStatus_2UUIW\",\"xLegendStatus\":\"fabricIcons_xLegendStatus_kecyn\",\"credential\":\"fabricIcons_credential_3in2A\",\"gauge\":\"fabricIcons_gauge_1TodA\",\"asn\":\"fabricIcons_asn_19YMP\"};","import { __assign, __rest } from \"tslib\";\nimport { visit } from 'graphql';\nimport { ApolloLink } from \"../core/index.js\";\nimport { Observable } from \"../../utilities/index.js\";\nimport { serializeFetchParameter } from \"./serializeFetchParameter.js\";\nimport { selectURI } from \"./selectURI.js\";\nimport { parseAndCheckHttpResponse } from \"./parseAndCheckHttpResponse.js\";\nimport { checkFetcher } from \"./checkFetcher.js\";\nimport { selectHttpOptionsAndBody, fallbackHttpConfig } from \"./selectHttpOptionsAndBody.js\";\nimport { createSignalIfSupported } from \"./createSignalIfSupported.js\";\nimport { rewriteURIForGET } from \"./rewriteURIForGET.js\";\nimport { fromError } from \"../utils/index.js\";\nexport var createHttpLink = function (linkOptions) {\n if (linkOptions === void 0) { linkOptions = {}; }\n var _a = linkOptions.uri, uri = _a === void 0 ? '/graphql' : _a, fetcher = linkOptions.fetch, includeExtensions = linkOptions.includeExtensions, useGETForQueries = linkOptions.useGETForQueries, _b = linkOptions.includeUnusedVariables, includeUnusedVariables = _b === void 0 ? false : _b, requestOptions = __rest(linkOptions, [\"uri\", \"fetch\", \"includeExtensions\", \"useGETForQueries\", \"includeUnusedVariables\"]);\n checkFetcher(fetcher);\n if (!fetcher) {\n fetcher = fetch;\n }\n var linkConfig = {\n http: { includeExtensions: includeExtensions },\n options: requestOptions.fetchOptions,\n credentials: requestOptions.credentials,\n headers: requestOptions.headers,\n };\n return new ApolloLink(function (operation) {\n var chosenURI = selectURI(operation, uri);\n var context = operation.getContext();\n var clientAwarenessHeaders = {};\n if (context.clientAwareness) {\n var _a = context.clientAwareness, name_1 = _a.name, version = _a.version;\n if (name_1) {\n clientAwarenessHeaders['apollographql-client-name'] = name_1;\n }\n if (version) {\n clientAwarenessHeaders['apollographql-client-version'] = version;\n }\n }\n var contextHeaders = __assign(__assign({}, clientAwarenessHeaders), context.headers);\n var contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: contextHeaders,\n };\n var _b = selectHttpOptionsAndBody(operation, fallbackHttpConfig, linkConfig, contextConfig), options = _b.options, body = _b.body;\n if (body.variables && !includeUnusedVariables) {\n var unusedNames_1 = new Set(Object.keys(body.variables));\n visit(operation.query, {\n Variable: function (node, _key, parent) {\n if (parent && parent.kind !== 'VariableDefinition') {\n unusedNames_1.delete(node.name.value);\n }\n },\n });\n if (unusedNames_1.size) {\n body.variables = __assign({}, body.variables);\n unusedNames_1.forEach(function (name) {\n delete body.variables[name];\n });\n }\n }\n var controller;\n if (!options.signal) {\n var _c = createSignalIfSupported(), _controller = _c.controller, signal = _c.signal;\n controller = _controller;\n if (controller)\n options.signal = signal;\n }\n var definitionIsMutation = function (d) {\n return d.kind === 'OperationDefinition' && d.operation === 'mutation';\n };\n if (useGETForQueries &&\n !operation.query.definitions.some(definitionIsMutation)) {\n options.method = 'GET';\n }\n if (options.method === 'GET') {\n var _d = rewriteURIForGET(chosenURI, body), newURI = _d.newURI, parseError = _d.parseError;\n if (parseError) {\n return fromError(parseError);\n }\n chosenURI = newURI;\n }\n else {\n try {\n options.body = serializeFetchParameter(body, 'Payload');\n }\n catch (parseError) {\n return fromError(parseError);\n }\n }\n return new Observable(function (observer) {\n fetcher(chosenURI, options)\n .then(function (response) {\n operation.setContext({ response: response });\n return response;\n })\n .then(parseAndCheckHttpResponse(operation))\n .then(function (result) {\n observer.next(result);\n observer.complete();\n return result;\n })\n .catch(function (err) {\n if (err.name === 'AbortError')\n return;\n if (err.result && err.result.errors && err.result.data) {\n observer.next(err.result);\n }\n observer.error(err);\n });\n return function () {\n if (controller)\n controller.abort();\n };\n });\n });\n};\n//# sourceMappingURL=createHttpLink.js.map","import React from 'react';\nimport { invariant } from 'ts-invariant';\nimport { getApolloContext } from \"./ApolloContext.js\";\nexport var ApolloProvider = function (_a) {\n var client = _a.client, children = _a.children;\n var ApolloContext = getApolloContext();\n return React.createElement(ApolloContext.Consumer, null, function (context) {\n if (context === void 0) { context = {}; }\n if (client && context.client !== client) {\n context = Object.assign({}, context, { client: client });\n }\n process.env.NODE_ENV === \"production\" ? invariant(context.client, 28) : invariant(context.client, 'ApolloProvider was not passed a client instance. Make ' +\n 'sure you pass in your client via the \"client\" prop.');\n return (React.createElement(ApolloContext.Provider, { value: context }, children));\n });\n};\n//# sourceMappingURL=ApolloProvider.js.map"," \r\n export enum WinHttpMethod {\r\n Get = 0,\r\n Post = 1,\r\n Head = 2,\r\n Delete = 3,\r\n Options = 4,\r\n Put = 5,\r\n Trace = 6,\r\n Connect = 7,\r\n Acl = 8,\r\n BaselineControl = 9,\r\n Bind = 10,\r\n Checkin = 11,\r\n Checkout = 12,\r\n Copy = 13,\r\n Label = 14,\r\n Link = 15,\r\n Lock = 16,\r\n Merge = 17,\r\n Mkactivity = 18,\r\n Mkcalendar = 19,\r\n Mkcol = 20,\r\n Mkredirectref = 21,\r\n Mkworkspace = 22,\r\n Move = 23,\r\n Orderpatch = 24,\r\n Patch = 25,\r\n Pri = 26,\r\n Propfind = 27,\r\n Proppatch = 28,\r\n Rebind = 29,\r\n Report = 30,\r\n Search = 31,\r\n Unbind = 32,\r\n Uncheckout = 33,\r\n Unlink = 34,\r\n Unlock = 35,\r\n Update = 36,\r\n Updateredirectref = 37,\r\n VersionControl = 38,\r\n }\r\n export enum HttpVersionType {\r\n None = 0,\r\n Http1Dot0 = 1,\r\n Http1Dot1 = 2,\r\n Http2Dot0 = 3,\r\n Http3Dot0 = 4,\r\n }\r\n","export { DirectionalHint } from '../../common/DirectionalHint';\n/**\n * {@docCategory ContextualMenu}\n */\nexport var ContextualMenuItemType;\n(function (ContextualMenuItemType) {\n ContextualMenuItemType[ContextualMenuItemType[\"Normal\"] = 0] = \"Normal\";\n ContextualMenuItemType[ContextualMenuItemType[\"Divider\"] = 1] = \"Divider\";\n ContextualMenuItemType[ContextualMenuItemType[\"Header\"] = 2] = \"Header\";\n ContextualMenuItemType[ContextualMenuItemType[\"Section\"] = 3] = \"Section\";\n})(ContextualMenuItemType || (ContextualMenuItemType = {}));\n//# sourceMappingURL=ContextualMenu.types.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { Image } from '../Image/Image';\nimport { css, getNativeProps, htmlElementProperties } from '../../Utilities';\nimport { classNames, MS_ICON } from './Icon.styles';\n/**\n * Fast icon component which only supports images (not font glyphs) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\nexport var ImageIcon = function (props) {\n var className = props.className, imageProps = props.imageProps;\n var nativeProps = getNativeProps(props, htmlElementProperties);\n var containerProps = props['aria-label']\n ? {}\n : {\n role: 'presentation',\n 'aria-hidden': imageProps.alt || imageProps['aria-labelledby'] ? false : true,\n };\n return (React.createElement(\"div\", __assign({}, containerProps, nativeProps, { className: css(MS_ICON, classNames.root, classNames.image, className) }),\n React.createElement(Image, __assign({}, imageProps))));\n};\n//# sourceMappingURL=ImageIcon.js.map","/**\n * Determines the effective checked state of a menu item.\n *\n * @param item {IContextualMenuItem} to get the check state of.\n * @returns {true} if the item is checked.\n * @returns {false} if the item is unchecked.\n * @returns {null} if the item is not checkable.\n */\nexport function getIsChecked(item) {\n if (item.canCheck) {\n return !!(item.isChecked || item.checked);\n }\n if (typeof item.isChecked === 'boolean') {\n return item.isChecked;\n }\n if (typeof item.checked === 'boolean') {\n return item.checked;\n }\n // Item is not checkable.\n return null;\n}\nexport function hasSubmenu(item) {\n return !!(item.subMenuProps || item.items);\n}\nexport function isItemDisabled(item) {\n return !!(item.isDisabled || item.disabled);\n}\nexport function getMenuItemAriaRole(item) {\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n return canCheck ? 'menuitemcheckbox' : 'menuitem';\n}\n//# sourceMappingURL=contextualMenuUtility.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { hasSubmenu, getIsChecked } from '../../utilities/contextualMenu/index';\nimport { getRTL, initializeComponentRef } from '../../Utilities';\nimport { Icon } from '../../Icon';\nvar renderItemIcon = function (props) {\n var item = props.item, hasIcons = props.hasIcons, classNames = props.classNames;\n var iconProps = item.iconProps;\n if (!hasIcons) {\n return null;\n }\n if (item.onRenderIcon) {\n return item.onRenderIcon(props);\n }\n return React.createElement(Icon, __assign({}, iconProps, { className: classNames.icon }));\n};\nvar renderCheckMarkIcon = function (_a) {\n var onCheckmarkClick = _a.onCheckmarkClick, item = _a.item, classNames = _a.classNames;\n var isItemChecked = getIsChecked(item);\n if (onCheckmarkClick) {\n // Ensures that the item is passed as the first argument to the checkmark click callback.\n var onClick = function (e) { return onCheckmarkClick(item, e); };\n return (React.createElement(Icon, { iconName: item.canCheck !== false && isItemChecked ? 'CheckMark' : '', className: classNames.checkmarkIcon, \n // eslint-disable-next-line react/jsx-no-bind\n onClick: onClick }));\n }\n return null;\n};\nvar renderItemName = function (_a) {\n var item = _a.item, classNames = _a.classNames;\n /* eslint-disable deprecation/deprecation */\n if (item.text || item.name) {\n return React.createElement(\"span\", { className: classNames.label }, item.text || item.name);\n }\n /* eslint-enable deprecation/deprecation */\n return null;\n};\nvar renderSecondaryText = function (_a) {\n var item = _a.item, classNames = _a.classNames;\n if (item.secondaryText) {\n return React.createElement(\"span\", { className: classNames.secondaryText }, item.secondaryText);\n }\n return null;\n};\nvar renderSubMenuIcon = function (_a) {\n var item = _a.item, classNames = _a.classNames, theme = _a.theme;\n if (hasSubmenu(item)) {\n return (React.createElement(Icon, __assign({ iconName: getRTL(theme) ? 'ChevronLeft' : 'ChevronRight' }, item.submenuIconProps, { className: classNames.subMenuIcon })));\n }\n return null;\n};\nvar ContextualMenuItemBase = /** @class */ (function (_super) {\n __extends(ContextualMenuItemBase, _super);\n function ContextualMenuItemBase(props) {\n var _this = _super.call(this, props) || this;\n _this.openSubMenu = function () {\n var _a = _this.props, item = _a.item, openSubMenu = _a.openSubMenu, getSubmenuTarget = _a.getSubmenuTarget;\n if (getSubmenuTarget) {\n var submenuTarget = getSubmenuTarget();\n if (hasSubmenu(item) && openSubMenu && submenuTarget) {\n openSubMenu(item, submenuTarget);\n }\n }\n };\n _this.dismissSubMenu = function () {\n var _a = _this.props, item = _a.item, dismissSubMenu = _a.dismissSubMenu;\n if (hasSubmenu(item) && dismissSubMenu) {\n dismissSubMenu();\n }\n };\n _this.dismissMenu = function (dismissAll) {\n var dismissMenu = _this.props.dismissMenu;\n if (dismissMenu) {\n dismissMenu(undefined /* ev */, dismissAll);\n }\n };\n initializeComponentRef(_this);\n return _this;\n }\n ContextualMenuItemBase.prototype.render = function () {\n var _a = this.props, item = _a.item, classNames = _a.classNames;\n var renderContent = item.onRenderContent || this._renderLayout;\n return (React.createElement(\"div\", { className: item.split ? classNames.linkContentMenu : classNames.linkContent }, renderContent(this.props, {\n renderCheckMarkIcon: renderCheckMarkIcon,\n renderItemIcon: renderItemIcon,\n renderItemName: renderItemName,\n renderSecondaryText: renderSecondaryText,\n renderSubMenuIcon: renderSubMenuIcon,\n })));\n };\n ContextualMenuItemBase.prototype._renderLayout = function (props, defaultRenders) {\n return (React.createElement(React.Fragment, null,\n defaultRenders.renderCheckMarkIcon(props),\n defaultRenders.renderItemIcon(props),\n defaultRenders.renderItemName(props),\n defaultRenders.renderSecondaryText(props),\n defaultRenders.renderSubMenuIcon(props)));\n };\n return ContextualMenuItemBase;\n}(React.Component));\nexport { ContextualMenuItemBase };\n//# sourceMappingURL=ContextualMenuItem.base.js.map","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyleSets } from '../../Styling';\n/**\n * @deprecated use getStyles exported from VerticalDivider.styles.ts\n */\nexport var getDividerClassNames = memoizeFunction(\n// eslint-disable-next-line deprecation/deprecation\nfunction (theme) {\n return mergeStyleSets({\n wrapper: {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n divider: {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n });\n});\n//# sourceMappingURL=VerticalDivider.classNames.js.map","import { __assign } from \"tslib\";\nimport { concatStyleSets, getFocusStyle, HighContrastSelector, getScreenSelector, ScreenWidthMaxMedium, IconFontSizes, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nexport var CONTEXTUAL_MENU_ITEM_HEIGHT = 36;\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nvar getItemHighContrastStyles = memoizeFunction(function () {\n var _a;\n return {\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ backgroundColor: 'Highlight', borderColor: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()),\n _a),\n };\n});\nexport var getMenuItemStyles = memoizeFunction(function (theme) {\n var _a, _b, _c, _d, _e, _f, _g;\n var semanticColors = theme.semanticColors, fonts = theme.fonts, palette = theme.palette;\n var ContextualMenuItemBackgroundHoverColor = semanticColors.menuItemBackgroundHovered;\n var ContextualMenuItemTextHoverColor = semanticColors.menuItemTextHovered;\n var ContextualMenuItemBackgroundSelectedColor = semanticColors.menuItemBackgroundPressed;\n var ContextualMenuItemDividerColor = semanticColors.bodyDivider;\n var menuItemStyles = {\n item: [\n fonts.medium,\n {\n color: semanticColors.bodyText,\n position: 'relative',\n boxSizing: 'border-box',\n },\n ],\n divider: {\n display: 'block',\n height: '1px',\n backgroundColor: ContextualMenuItemDividerColor,\n position: 'relative',\n },\n root: [\n getFocusStyle(theme),\n fonts.medium,\n {\n color: semanticColors.bodyText,\n backgroundColor: 'transparent',\n border: 'none',\n width: '100%',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n display: 'block',\n cursor: 'pointer',\n padding: '0px 8px 0 4px',\n textAlign: 'left',\n },\n ],\n rootDisabled: {\n color: semanticColors.disabledBodyText,\n cursor: 'default',\n pointerEvents: 'none',\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ color: 'GrayText', opacity: 1 }, getHighContrastNoAdjustStyle()),\n _a),\n },\n rootHovered: __assign({ backgroundColor: ContextualMenuItemBackgroundHoverColor, color: ContextualMenuItemTextHoverColor, selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDarkAlt,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootFocused: __assign({ backgroundColor: palette.white }, getItemHighContrastStyles()),\n rootChecked: __assign({ selectors: {\n '.ms-ContextualMenu-checkmarkIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootPressed: __assign({ backgroundColor: ContextualMenuItemBackgroundSelectedColor, selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDark,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootExpanded: __assign({ backgroundColor: ContextualMenuItemBackgroundSelectedColor, color: semanticColors.bodyTextChecked }, getItemHighContrastStyles()),\n linkContent: {\n whiteSpace: 'nowrap',\n height: 'inherit',\n display: 'flex',\n alignItems: 'center',\n maxWidth: '100%',\n },\n anchorLink: {\n padding: '0px 8px 0 4px',\n textRendering: 'auto',\n color: 'inherit',\n letterSpacing: 'normal',\n wordSpacing: 'normal',\n textTransform: 'none',\n textIndent: '0px',\n textShadow: 'none',\n textDecoration: 'none',\n boxSizing: 'border-box',\n },\n label: {\n margin: '0 4px',\n verticalAlign: 'middle',\n display: 'inline-block',\n flexGrow: '1',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n },\n secondaryText: {\n color: theme.palette.neutralSecondary,\n paddingLeft: '20px',\n textAlign: 'right',\n },\n icon: {\n display: 'inline-block',\n minHeight: '1px',\n maxHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n fontSize: IconFontSizes.medium,\n width: IconFontSizes.medium,\n margin: '0 4px',\n verticalAlign: 'middle',\n flexShrink: '0',\n selectors: (_b = {},\n _b[MediumScreenSelector] = {\n fontSize: IconFontSizes.large,\n width: IconFontSizes.large,\n },\n _b),\n },\n iconColor: {\n color: semanticColors.menuIcon,\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'inherit',\n },\n _c['$root:hover &'] = {\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _d),\n },\n _c['$root:focus &'] = {\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _e),\n },\n _c),\n },\n iconDisabled: {\n color: semanticColors.disabledBodyText,\n },\n checkmarkIcon: {\n color: semanticColors.bodySubtext,\n selectors: (_f = {},\n _f[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _f),\n },\n subMenuIcon: {\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n color: palette.neutralSecondary,\n textAlign: 'center',\n display: 'inline-block',\n verticalAlign: 'middle',\n flexShrink: '0',\n fontSize: IconFontSizes.small,\n selectors: (_g = {\n ':hover': {\n color: palette.neutralPrimary,\n },\n ':active': {\n color: palette.neutralPrimary,\n }\n },\n _g[MediumScreenSelector] = {\n fontSize: IconFontSizes.medium,\n },\n _g[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _g),\n },\n splitButtonFlexContainer: [\n getFocusStyle(theme),\n {\n display: 'flex',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n ],\n };\n return concatStyleSets(menuItemStyles);\n});\n//# sourceMappingURL=ContextualMenu.cnstyles.js.map","import { getDividerClassNames } from '../Divider/VerticalDivider.classNames';\nimport { getMenuItemStyles } from './ContextualMenu.cnstyles';\nimport { mergeStyleSets, getGlobalClassNames, getScreenSelector, ScreenWidthMaxMedium, hiddenContentStyle, } from '../../Styling';\nimport { memoizeFunction, IsFocusVisibleClassName } from '../../Utilities';\nvar CONTEXTUAL_SPLIT_MENU_MINWIDTH = '28px';\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nexport var getSplitButtonVerticalDividerClassNames = memoizeFunction(\n/* eslint-disable deprecation/deprecation */\nfunction (theme) {\n var _a;\n return mergeStyleSets(getDividerClassNames(theme), {\n /* eslint-enable deprecation/deprecation */\n wrapper: {\n position: 'absolute',\n right: 28,\n selectors: (_a = {},\n _a[MediumScreenSelector] = {\n right: 32,\n },\n _a),\n },\n divider: {\n height: 16,\n width: 1,\n },\n });\n});\nvar GlobalClassNames = {\n item: 'ms-ContextualMenu-item',\n divider: 'ms-ContextualMenu-divider',\n root: 'ms-ContextualMenu-link',\n isChecked: 'is-checked',\n isExpanded: 'is-expanded',\n isDisabled: 'is-disabled',\n linkContent: 'ms-ContextualMenu-linkContent',\n linkContentMenu: 'ms-ContextualMenu-linkContent',\n icon: 'ms-ContextualMenu-icon',\n iconColor: 'ms-ContextualMenu-iconColor',\n checkmarkIcon: 'ms-ContextualMenu-checkmarkIcon',\n subMenuIcon: 'ms-ContextualMenu-submenuIcon',\n label: 'ms-ContextualMenu-itemText',\n secondaryText: 'ms-ContextualMenu-secondaryText',\n splitMenu: 'ms-ContextualMenu-splitMenu',\n screenReaderText: 'ms-ContextualMenu-screenReaderText',\n};\n/**\n * @deprecated To be removed in 7.0.\n * @internal\n * This is a package-internal method that has been depended on.\n * It is being kept in this form for backwards compatibility.\n * It should be cleaned up in 7.0.\n *\n * TODO: Audit perf. impact of and potentially remove memoizeFunction.\n * https://github.com/microsoft/fluentui/issues/5534\n */\nexport var getItemClassNames = memoizeFunction(function (theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className) {\n var _a, _b, _c, _d;\n var styles = getMenuItemStyles(theme);\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return mergeStyleSets({\n item: [classNames.item, styles.item, itemClassName],\n divider: [classNames.divider, styles.divider, dividerClassName],\n root: [\n classNames.root,\n styles.root,\n checked && [classNames.isChecked, styles.rootChecked],\n isAnchorLink && styles.anchorLink,\n expanded && [classNames.isExpanded, styles.rootExpanded],\n disabled && [classNames.isDisabled, styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: (_a = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _a[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _a),\n },\n ],\n className,\n ],\n splitPrimary: [\n styles.root,\n {\n width: \"calc(100% - \" + CONTEXTUAL_SPLIT_MENU_MINWIDTH + \")\",\n },\n checked && ['is-checked', styles.rootChecked],\n (disabled || primaryDisabled) && ['is-disabled', styles.rootDisabled],\n !(disabled || primaryDisabled) &&\n !checked && [\n {\n selectors: (_b = {\n ':hover': styles.rootHovered\n },\n // when hovering over the splitPrimary also affect the splitMenu\n _b[\":hover ~ .\" + classNames.splitMenu] = styles.rootHovered,\n _b[':active'] = styles.rootPressed,\n _b[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _b[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _b),\n },\n ],\n ],\n splitMenu: [\n classNames.splitMenu,\n styles.root,\n {\n flexBasis: '0',\n padding: '0 8px',\n minWidth: CONTEXTUAL_SPLIT_MENU_MINWIDTH,\n },\n expanded && ['is-expanded', styles.rootExpanded],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: (_c = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n },\n _c[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _c[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _c),\n },\n ],\n ],\n anchorLink: styles.anchorLink,\n linkContent: [classNames.linkContent, styles.linkContent],\n linkContentMenu: [\n classNames.linkContentMenu,\n styles.linkContent,\n {\n justifyContent: 'center',\n },\n ],\n icon: [\n classNames.icon,\n knownIcon && styles.iconColor,\n styles.icon,\n iconClassName,\n disabled && [classNames.isDisabled, styles.iconDisabled],\n ],\n iconColor: styles.iconColor,\n checkmarkIcon: [classNames.checkmarkIcon, knownIcon && styles.checkmarkIcon, styles.icon, iconClassName],\n subMenuIcon: [\n classNames.subMenuIcon,\n styles.subMenuIcon,\n subMenuClassName,\n expanded && { color: theme.palette.neutralPrimary },\n disabled && [styles.iconDisabled],\n ],\n label: [classNames.label, styles.label],\n secondaryText: [classNames.secondaryText, styles.secondaryText],\n splitContainer: [\n styles.splitButtonFlexContainer,\n !disabled &&\n !checked && [\n {\n selectors: (_d = {},\n _d[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _d),\n },\n ],\n ],\n screenReaderText: [\n classNames.screenReaderText,\n styles.screenReaderText,\n hiddenContentStyle,\n { visibility: 'hidden' },\n ],\n });\n});\n/**\n * Wrapper function for generating ContextualMenuItem classNames which adheres to\n * the getStyles API, but invokes memoized className generator function with\n * primitive values.\n *\n * @param props - the ContextualMenuItem style props used to generate its styles.\n */\nexport var getItemStyles = function (props) {\n var theme = props.theme, disabled = props.disabled, expanded = props.expanded, checked = props.checked, isAnchorLink = props.isAnchorLink, knownIcon = props.knownIcon, itemClassName = props.itemClassName, dividerClassName = props.dividerClassName, iconClassName = props.iconClassName, subMenuClassName = props.subMenuClassName, primaryDisabled = props.primaryDisabled, className = props.className;\n // eslint-disable-next-line deprecation/deprecation\n return getItemClassNames(theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className);\n};\n//# sourceMappingURL=ContextualMenu.classNames.js.map","import { styled } from '../../Utilities';\nimport { ContextualMenuItemBase } from './ContextualMenuItem.base';\nimport { getItemStyles } from './ContextualMenu.classNames';\n/**\n * ContextualMenuItem description\n */\nexport var ContextualMenuItem = styled(ContextualMenuItemBase, getItemStyles, undefined, { scope: 'ContextualMenuItem' });\n//# sourceMappingURL=ContextualMenuItem.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, shallowCompare } from '../../../Utilities';\nvar ContextualMenuItemWrapper = /** @class */ (function (_super) {\n __extends(ContextualMenuItemWrapper, _super);\n function ContextualMenuItemWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this._onItemMouseEnter = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, ev.currentTarget);\n }\n };\n _this._onItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClickBase = _a.onItemClickBase;\n if (onItemClickBase) {\n onItemClickBase(item, ev, ev.currentTarget);\n }\n };\n _this._onItemMouseLeave = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseLeave = _a.onItemMouseLeave;\n if (onItemMouseLeave) {\n onItemMouseLeave(item, ev);\n }\n };\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props, item = _a.item, onItemKeyDown = _a.onItemKeyDown;\n if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n _this._onItemMouseMove = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, ev.currentTarget);\n }\n };\n _this._getSubmenuTarget = function () {\n return undefined;\n };\n initializeComponentRef(_this);\n return _this;\n }\n ContextualMenuItemWrapper.prototype.shouldComponentUpdate = function (newProps) {\n return !shallowCompare(newProps, this.props);\n };\n return ContextualMenuItemWrapper;\n}(React.Component));\nexport { ContextualMenuItemWrapper };\n//# sourceMappingURL=ContextualMenuItemWrapper.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { anchorProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nvar ContextualMenuAnchor = /** @class */ (function (_super) {\n __extends(ContextualMenuAnchor, _super);\n function ContextualMenuAnchor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._anchor = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._getSubmenuTarget = function () {\n return _this._anchor.current ? _this._anchor.current : undefined;\n };\n _this._onItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClick = _a.onItemClick;\n if (onItemClick) {\n onItemClick(item, ev);\n }\n };\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n return _this;\n }\n ContextualMenuAnchor.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, expandedMenuItemKey = _a.expandedMenuItemKey, onItemClick = _a.onItemClick, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var anchorRel = item.rel;\n if (item.target && item.target.toLowerCase() === '_blank') {\n anchorRel = anchorRel ? anchorRel : 'nofollow noopener noreferrer'; // Safe default to prevent tabjacking\n }\n var itemHasSubmenu = hasSubmenu(item);\n var nativeProps = getNativeProps(item, anchorProperties);\n var disabled = isItemDisabled(item);\n var itemProps = item.itemProps, ariaDescription = item.ariaDescription;\n var keytipProps = item.keytipProps;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n return (React.createElement(\"div\", null,\n React.createElement(KeytipData, { keytipProps: item.keytipProps, ariaDescribedBy: nativeProps['aria-describedby'], disabled: disabled }, function (keytipAttributes) { return (React.createElement(\"a\", __assign({}, nativeProps, keytipAttributes, { ref: _this._anchor, href: item.href, target: item.target, rel: anchorRel, className: classNames.root, role: \"menuitem\", \"aria-haspopup\": itemHasSubmenu || undefined, \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined, \"aria-posinset\": focusableElementIndex + 1, \"aria-setsize\": totalItemCount, \"aria-disabled\": isItemDisabled(item), \"aria-describedby\": mergeAriaAttributeValues(ariaDescription ? _this._ariaDescriptionId : undefined, keytipAttributes ? keytipAttributes['aria-describedby'] : undefined), \n // eslint-disable-next-line deprecation/deprecation\n style: item.style, onClick: _this._onItemClick, onMouseEnter: _this._onItemMouseEnter, onMouseLeave: _this._onItemMouseLeave, onMouseMove: _this._onItemMouseMove, onKeyDown: itemHasSubmenu ? _this._onItemKeyDown : undefined }),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: _this._getSubmenuTarget }, itemProps)),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); })));\n };\n return ContextualMenuAnchor;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuAnchor };\n//# sourceMappingURL=ContextualMenuAnchor.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { getIsChecked, isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nvar ContextualMenuButton = /** @class */ (function (_super) {\n __extends(ContextualMenuButton, _super);\n function ContextualMenuButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._btn = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n _this._getSubmenuTarget = function () {\n return _this._btn.current ? _this._btn.current : undefined;\n };\n return _this;\n }\n ContextualMenuButton.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, expandedMenuItemKey = _a.expandedMenuItemKey, onItemMouseDown = _a.onItemMouseDown, onItemClick = _a.onItemClick, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n var defaultRole = getMenuItemAriaRole(item);\n var itemHasSubmenu = hasSubmenu(item);\n var itemProps = item.itemProps, ariaLabel = item.ariaLabel, ariaDescription = item.ariaDescription;\n var buttonNativeProperties = getNativeProps(item, buttonProperties);\n // Do not add the disabled attribute to the button so that it is focusable\n delete buttonNativeProperties.disabled;\n var itemRole = item.role || defaultRole;\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n var ariaDescribedByIds = ariaDescription ? this._ariaDescriptionId : undefined;\n var itemButtonProperties = {\n className: classNames.root,\n onClick: this._onItemClick,\n onKeyDown: itemHasSubmenu ? this._onItemKeyDown : undefined,\n onMouseEnter: this._onItemMouseEnter,\n onMouseLeave: this._onItemMouseLeave,\n onMouseDown: function (ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMove,\n href: item.href,\n title: item.title,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedByIds,\n 'aria-haspopup': itemHasSubmenu || undefined,\n 'aria-expanded': itemHasSubmenu ? item.key === expandedMenuItemKey : undefined,\n 'aria-posinset': focusableElementIndex + 1,\n 'aria-setsize': totalItemCount,\n 'aria-disabled': isItemDisabled(item),\n 'aria-checked': (itemRole === 'menuitemcheckbox' || itemRole === 'menuitemradio') && canCheck ? !!isChecked : undefined,\n 'aria-selected': itemRole === 'menuitem' && canCheck ? !!isChecked : undefined,\n role: itemRole,\n // eslint-disable-next-line deprecation/deprecation\n style: item.style,\n };\n var keytipProps = item.keytipProps;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n return (React.createElement(KeytipData, { keytipProps: keytipProps, ariaDescribedBy: buttonNativeProperties['aria-describedby'], disabled: isItemDisabled(item) }, function (keytipAttributes) { return (React.createElement(\"button\", __assign({ ref: _this._btn }, buttonNativeProperties, itemButtonProperties, keytipAttributes, { \"aria-describedby\": mergeAriaAttributeValues(itemButtonProperties['aria-describedby'], keytipAttributes ? keytipAttributes['aria-describedby'] : undefined) }),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: _this._getSubmenuTarget }, itemProps)),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); }));\n };\n return ContextualMenuButton;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuButton };\n//# sourceMappingURL=ContextualMenuButton.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nexport var VerticalDividerBase = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var styles = props.styles, theme = props.theme, deprecatedGetClassNames = props.getClassNames, className = props.className;\n var classNames = getClassNames(styles, { theme: theme, getClassNames: deprecatedGetClassNames, className: className });\n return (React.createElement(\"span\", { className: classNames.wrapper },\n React.createElement(\"span\", { className: classNames.divider })));\n};\nVerticalDividerBase.displayName = 'VerticalDividerBase';\n//# sourceMappingURL=VerticalDivider.base.js.map","import { getStyles } from './VerticalDivider.styles';\nimport { VerticalDividerBase } from './VerticalDivider.base';\nimport { styled } from '../../Utilities';\nexport var VerticalDivider = styled(VerticalDividerBase, getStyles, undefined, {\n scope: 'VerticalDivider',\n});\n//# sourceMappingURL=VerticalDivider.js.map","export var getStyles = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var theme = props.theme, getClassNames = props.getClassNames, className = props.className;\n if (!theme) {\n throw new Error('Theme is undefined or null.');\n }\n if (getClassNames) {\n var names = getClassNames(theme);\n return {\n wrapper: [names.wrapper],\n divider: [names.divider],\n };\n }\n return {\n wrapper: [\n {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n className,\n ],\n divider: [\n {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n ],\n };\n};\n//# sourceMappingURL=VerticalDivider.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, KeyCodes, mergeAriaAttributeValues, memoizeFunction, Async, EventGroup, getId, } from '../../../Utilities';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nimport { getSplitButtonVerticalDividerClassNames } from '../ContextualMenu.classNames';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { VerticalDivider } from '../../../Divider';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nvar TouchIdleDelay = 500; /* ms */\nvar ContextualMenuSplitButton = /** @class */ (function (_super) {\n __extends(ContextualMenuSplitButton, _super);\n function ContextualMenuSplitButton(props) {\n var _this = _super.call(this, props) || this;\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props, item = _a.item, onItemKeyDown = _a.onItemKeyDown;\n if (ev.which === KeyCodes.enter) {\n _this._executeItemClick(ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n _this._getSubmenuTarget = function () {\n return _this._splitButton;\n };\n _this._onItemMouseEnterPrimary = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(__assign(__assign({}, item), { subMenuProps: undefined, items: undefined }), ev, _this._splitButton);\n }\n };\n _this._onItemMouseEnterIcon = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, _this._splitButton);\n }\n };\n _this._onItemMouseMovePrimary = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(__assign(__assign({}, item), { subMenuProps: undefined, items: undefined }), ev, _this._splitButton);\n }\n };\n _this._onItemMouseMoveIcon = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, _this._splitButton);\n }\n };\n _this._onIconItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClickBase = _a.onItemClickBase;\n if (onItemClickBase) {\n onItemClickBase(item, ev, (_this._splitButton ? _this._splitButton : ev.currentTarget));\n }\n };\n _this._executeItemClick = function (ev) {\n var _a = _this.props, item = _a.item, executeItemClick = _a.executeItemClick, onItemClick = _a.onItemClick;\n if (item.disabled || item.isDisabled) {\n return;\n }\n if (_this._processingTouch && onItemClick) {\n return onItemClick(item, ev);\n }\n if (executeItemClick) {\n executeItemClick(item, ev);\n }\n };\n _this._onTouchStart = function (ev) {\n if (_this._splitButton && !('onpointerdown' in _this._splitButton)) {\n _this._handleTouchAndPointerEvent(ev);\n }\n };\n _this._onPointerDown = function (ev) {\n if (ev.pointerType === 'touch') {\n _this._handleTouchAndPointerEvent(ev);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n return _this;\n }\n ContextualMenuSplitButton.prototype.componentDidMount = function () {\n if (this._splitButton && 'onpointerdown' in this._splitButton) {\n this._events.on(this._splitButton, 'pointerdown', this._onPointerDown, true);\n }\n };\n ContextualMenuSplitButton.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n ContextualMenuSplitButton.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, onItemMouseLeave = _a.onItemMouseLeave, expandedMenuItemKey = _a.expandedMenuItemKey;\n var itemHasSubmenu = hasSubmenu(item);\n var keytipProps = item.keytipProps;\n if (keytipProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n var ariaDescription = item.ariaDescription;\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n return (React.createElement(KeytipData, { keytipProps: keytipProps, disabled: isItemDisabled(item) }, function (keytipAttributes) { return (React.createElement(\"div\", { \"data-ktp-target\": keytipAttributes['data-ktp-target'], ref: function (splitButton) { return (_this._splitButton = splitButton); }, role: getMenuItemAriaRole(item), \"aria-label\": item.ariaLabel, className: classNames.splitContainer, \"aria-disabled\": isItemDisabled(item), \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined, \"aria-haspopup\": true, \"aria-describedby\": mergeAriaAttributeValues(ariaDescription ? _this._ariaDescriptionId : undefined, keytipAttributes['aria-describedby']), \"aria-checked\": item.isChecked || item.checked, \"aria-posinset\": focusableElementIndex + 1, \"aria-setsize\": totalItemCount, onMouseEnter: _this._onItemMouseEnterPrimary, onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(_this, __assign(__assign({}, item), { subMenuProps: null, items: null })) : undefined, onMouseMove: _this._onItemMouseMovePrimary, onKeyDown: _this._onItemKeyDown, onClick: _this._executeItemClick, onTouchStart: _this._onTouchStart, tabIndex: 0, \"data-is-focusable\": true, \"aria-roledescription\": item['aria-roledescription'] },\n _this._renderSplitPrimaryButton(item, classNames, index, hasCheckmarks, hasIcons),\n _this._renderSplitDivider(item),\n _this._renderSplitIconButton(item, classNames, index, keytipAttributes),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); }));\n };\n ContextualMenuSplitButton.prototype._renderSplitPrimaryButton = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, hasCheckmarks, hasIcons) {\n var _a = this.props, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, onItemClick = _a.onItemClick;\n var itemProps = {\n key: item.key,\n disabled: isItemDisabled(item) || item.primaryDisabled,\n /* eslint-disable deprecation/deprecation */\n name: item.name,\n text: item.text || item.name,\n secondaryText: item.secondaryText,\n /* eslint-enable deprecation/deprecation */\n className: classNames.splitPrimary,\n canCheck: item.canCheck,\n isChecked: item.isChecked,\n checked: item.checked,\n iconProps: item.iconProps,\n onRenderIcon: item.onRenderIcon,\n data: item.data,\n 'data-is-focusable': false,\n };\n var itemComponentProps = item.itemProps;\n return (React.createElement(\"button\", __assign({}, getNativeProps(itemProps, buttonProperties)),\n React.createElement(ChildrenRenderer, __assign({ \"data-is-focusable\": false, item: itemProps, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons }, itemComponentProps))));\n };\n ContextualMenuSplitButton.prototype._renderSplitDivider = function (item) {\n var getDividerClassNames = item.getSplitButtonVerticalDividerClassNames || getSplitButtonVerticalDividerClassNames;\n return React.createElement(VerticalDivider, { getClassNames: getDividerClassNames });\n };\n ContextualMenuSplitButton.prototype._renderSplitIconButton = function (item, classNames, // eslint-disable-line deprecation/deprecation\n index, keytipAttributes) {\n var _a = this.props, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, onItemMouseLeave = _a.onItemMouseLeave, onItemMouseDown = _a.onItemMouseDown, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var itemProps = {\n onClick: this._onIconItemClick,\n disabled: isItemDisabled(item),\n className: classNames.splitMenu,\n subMenuProps: item.subMenuProps,\n submenuIconProps: item.submenuIconProps,\n split: true,\n key: item.key,\n };\n var buttonProps = __assign(__assign({}, getNativeProps(itemProps, buttonProperties)), {\n onMouseEnter: this._onItemMouseEnterIcon,\n onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(this, item) : undefined,\n onMouseDown: function (ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMoveIcon,\n 'data-is-focusable': false,\n 'data-ktp-execute-target': keytipAttributes['data-ktp-execute-target'],\n 'aria-hidden': true,\n });\n var itemComponentProps = item.itemProps;\n return (React.createElement(\"button\", __assign({}, buttonProps),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: itemProps, classNames: classNames, index: index, hasIcons: false, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: this._getSubmenuTarget }, itemComponentProps))));\n };\n ContextualMenuSplitButton.prototype._handleTouchAndPointerEvent = function (ev) {\n var _this = this;\n var onTap = this.props.onTap;\n if (onTap) {\n onTap(ev);\n }\n // If we already have an existing timeout from a previous touch/pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n }, TouchIdleDelay);\n };\n return ContextualMenuSplitButton;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuSplitButton };\n//# sourceMappingURL=ContextualMenuSplitButton.js.map","import { __assign, __decorate, __extends, __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { ContextualMenuItemType, } from './ContextualMenu.types';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { FocusZone, FocusZoneDirection, FocusZoneTabbableElements } from '../../FocusZone';\nimport { divProperties, getNativeProps, shallowCompare, warnDeprecations, Async, EventGroup, assign, classNamesFunction, css, getDocument, getFirstFocusable, getId, getLastFocusable, getRTL, getWindow, KeyCodes, shouldWrapFocus, isIOS, isMac, initializeComponentRef, memoizeFunction, } from '../../Utilities';\nimport { hasSubmenu, getIsChecked, isItemDisabled } from '../../utilities/contextualMenu/index';\nimport { withResponsiveMode, ResponsiveMode } from '../../utilities/decorators/withResponsiveMode';\nimport { Callout } from '../../Callout';\nimport { ContextualMenuItem } from './ContextualMenuItem';\nimport { ContextualMenuSplitButton, ContextualMenuButton, ContextualMenuAnchor, } from './ContextualMenuItemWrapper/index';\nimport { concatStyleSetsWithProps } from '../../Styling';\nimport { getItemStyles } from './ContextualMenu.classNames';\nvar getClassNames = classNamesFunction();\nvar getContextualMenuItemClassNames = classNamesFunction();\nexport function getSubmenuItems(item) {\n return item.subMenuProps ? item.subMenuProps.items : item.items;\n}\n/**\n * Returns true if a list of menu items can contain a checkbox\n */\nexport function canAnyMenuItemsCheck(items) {\n return items.some(function (item) {\n if (item.canCheck) {\n return true;\n }\n // If the item is a section, check if any of the items in the section can check.\n if (item.sectionProps && item.sectionProps.items.some(function (submenuItem) { return submenuItem.canCheck === true; })) {\n return true;\n }\n return false;\n });\n}\nvar NavigationIdleDelay = 250; /* ms */\nvar COMPONENT_NAME = 'ContextualMenu';\nvar _getMenuItemStylesFunction = memoizeFunction(function () {\n var styles = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styles[_i] = arguments[_i];\n }\n return function (styleProps) {\n return concatStyleSetsWithProps.apply(void 0, __spreadArrays([styleProps, getItemStyles], styles));\n };\n});\nvar ContextualMenuBase = /** @class */ (function (_super) {\n __extends(ContextualMenuBase, _super);\n function ContextualMenuBase(props) {\n var _this = _super.call(this, props) || this;\n _this._mounted = false;\n _this.dismiss = function (ev, dismissAll) {\n var onDismiss = _this.props.onDismiss;\n if (onDismiss) {\n onDismiss(ev, dismissAll);\n }\n };\n _this._tryFocusPreviousActiveElement = function (options) {\n if (_this.props.onRestoreFocus) {\n _this.props.onRestoreFocus(options);\n }\n else {\n if (options && options.containsFocus && _this._previousActiveElement) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n if (_this._previousActiveElement.focus) {\n _this._previousActiveElement.focus();\n }\n }\n }\n };\n _this._onRenderMenuList = function (menuListProps, defaultRender) {\n var indexCorrection = 0;\n var items = menuListProps.items, totalItemCount = menuListProps.totalItemCount, hasCheckmarks = menuListProps.hasCheckmarks, hasIcons = menuListProps.hasIcons;\n return (React.createElement(\"ul\", { className: _this._classNames.list, onKeyDown: _this._onKeyDown, onKeyUp: _this._onKeyUp, role: 'presentation' }, items.map(function (item, index) {\n var menuItem = _this._renderMenuItem(item, index, indexCorrection, totalItemCount, hasCheckmarks, hasIcons);\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var indexIncrease = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n indexCorrection += indexIncrease;\n }\n return menuItem;\n })));\n };\n /**\n * !!!IMPORTANT!!! Avoid mutating `item: IContextualMenuItem` argument. It will\n * cause the menu items to always re-render because the component update is based on shallow comparison.\n */\n _this._renderMenuItem = function (item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var _a;\n var renderedItems = [];\n var iconProps = item.iconProps || { iconName: 'None' };\n var getItemClassNames = item.getItemClassNames, // eslint-disable-line deprecation/deprecation\n itemProps = item.itemProps;\n var styles = itemProps ? itemProps.styles : undefined;\n // We only send a dividerClassName when the item to be rendered is a divider.\n // For all other cases, the default divider style is used.\n var dividerClassName = item.itemType === ContextualMenuItemType.Divider ? item.className : undefined;\n var subMenuIconClassName = item.submenuIconProps ? item.submenuIconProps.className : '';\n // eslint-disable-next-line deprecation/deprecation\n var itemClassNames;\n // IContextualMenuItem#getItemClassNames for backwards compatibility\n // otherwise uses mergeStyles for class names.\n if (getItemClassNames) {\n itemClassNames = getItemClassNames(_this.props.theme, isItemDisabled(item), _this.state.expandedMenuItemKey === item.key, !!getIsChecked(item), !!item.href, iconProps.iconName !== 'None', item.className, dividerClassName, iconProps.className, subMenuIconClassName, item.primaryDisabled);\n }\n else {\n var itemStyleProps = {\n theme: _this.props.theme,\n disabled: isItemDisabled(item),\n expanded: _this.state.expandedMenuItemKey === item.key,\n checked: !!getIsChecked(item),\n isAnchorLink: !!item.href,\n knownIcon: iconProps.iconName !== 'None',\n itemClassName: item.className,\n dividerClassName: dividerClassName,\n iconClassName: iconProps.className,\n subMenuClassName: subMenuIconClassName,\n primaryDisabled: item.primaryDisabled,\n };\n // We need to generate default styles then override if styles are provided\n // since the ContextualMenu currently handles item classNames.\n itemClassNames = getContextualMenuItemClassNames(_getMenuItemStylesFunction((_a = _this._classNames.subComponentStyles) === null || _a === void 0 ? void 0 : _a.menuItem, styles), itemStyleProps);\n }\n // eslint-disable-next-line deprecation/deprecation\n if (item.text === '-' || item.name === '-') {\n item.itemType = ContextualMenuItemType.Divider;\n }\n switch (item.itemType) {\n case ContextualMenuItemType.Divider:\n renderedItems.push(_this._renderSeparator(index, itemClassNames));\n break;\n case ContextualMenuItemType.Header:\n renderedItems.push(_this._renderSeparator(index, itemClassNames));\n var headerItem = _this._renderHeaderMenuItem(item, itemClassNames, index, hasCheckmarks, hasIcons);\n renderedItems.push(_this._renderListItem(headerItem, item.key || index, itemClassNames, item.title));\n break;\n case ContextualMenuItemType.Section:\n renderedItems.push(_this._renderSectionItem(item, itemClassNames, index, hasCheckmarks, hasIcons));\n break;\n default:\n var menuItem = _this._renderNormalItem(item, itemClassNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n renderedItems.push(_this._renderListItem(menuItem, item.key || index, itemClassNames, item.title));\n break;\n }\n // Since multiple nodes *could* be rendered, wrap them all in a fragment with this item's key.\n // This ensures the reconciler handles multi-item output per-node correctly and does not re-mount content.\n return React.createElement(React.Fragment, { key: item.key }, renderedItems);\n };\n _this._defaultMenuItemRenderer = function (item) {\n var index = item.index, focusableElementIndex = item.focusableElementIndex, totalItemCount = item.totalItemCount, hasCheckmarks = item.hasCheckmarks, hasIcons = item.hasIcons;\n return _this._renderMenuItem(item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n };\n _this._onKeyDown = function (ev) {\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in _shouldHandleKeyUp for reasoning.\n _this._lastKeyDownWasAltOrMeta = _this._isAltOrMeta(ev);\n // On Mac, pressing escape dismisses all levels of native context menus\n var dismissAllMenus = ev.which === KeyCodes.escape && (isMac() || isIOS());\n return _this._keyHandler(ev, _this._shouldHandleKeyDown, dismissAllMenus);\n };\n _this._shouldHandleKeyDown = function (ev) {\n return (ev.which === KeyCodes.escape ||\n _this._shouldCloseSubMenu(ev) ||\n (ev.which === KeyCodes.up && (ev.altKey || ev.metaKey)));\n };\n _this._onMenuFocusCapture = function (ev) {\n if (_this.props.delayUpdateFocusOnHover) {\n _this._shouldUpdateFocusOnMouseEvent = true;\n }\n };\n _this._onKeyUp = function (ev) {\n return _this._keyHandler(ev, _this._shouldHandleKeyUp, true /* dismissAllMenus */);\n };\n /**\n * We close the menu on key up only if ALL of the following are true:\n * - Most recent key down was alt or meta (command)\n * - The alt/meta key down was NOT followed by some other key (such as down/up arrow to\n * expand/collapse the menu)\n * - We're not on a Mac (or iOS)\n *\n * This is because on Windows, pressing alt moves focus to the application menu bar or similar,\n * closing any open context menus. There is not a similar behavior on Macs.\n */\n _this._shouldHandleKeyUp = function (ev) {\n var keyPressIsAltOrMetaAlone = _this._lastKeyDownWasAltOrMeta && _this._isAltOrMeta(ev);\n _this._lastKeyDownWasAltOrMeta = false;\n return !!keyPressIsAltOrMetaAlone && !(isIOS() || isMac());\n };\n /**\n * Calls `shouldHandleKey` to determine whether the keyboard event should be handled;\n * if so, stops event propagation and dismisses menu(s).\n * @param ev - The keyboard event.\n * @param shouldHandleKey - Returns whether we should handle this keyboard event.\n * @param dismissAllMenus - If true, dismiss all menus. Otherwise, dismiss only the current menu.\n * Only does anything if `shouldHandleKey` returns true.\n * @returns Whether the event was handled.\n */\n _this._keyHandler = function (ev, shouldHandleKey, dismissAllMenus) {\n var handled = false;\n if (shouldHandleKey(ev)) {\n _this._focusingPreviousElement = true;\n _this.dismiss(ev, dismissAllMenus);\n ev.preventDefault();\n ev.stopPropagation();\n handled = true;\n }\n return handled;\n };\n /**\n * Checks if the submenu should be closed\n */\n _this._shouldCloseSubMenu = function (ev) {\n var submenuCloseKey = getRTL(_this.props.theme) ? KeyCodes.right : KeyCodes.left;\n if (ev.which !== submenuCloseKey || !_this.props.isSubMenu) {\n return false;\n }\n return (_this._adjustedFocusZoneProps.direction === FocusZoneDirection.vertical ||\n (!!_this._adjustedFocusZoneProps.checkForNoWrap &&\n !shouldWrapFocus(ev.target, 'data-no-horizontal-wrap')));\n };\n _this._onMenuKeyDown = function (ev) {\n // Mark as handled if onKeyDown returns true (for handling collapse cases)\n // or if we are attempting to expand a submenu\n var handled = _this._onKeyDown(ev);\n if (handled || !_this._host) {\n return;\n }\n // If we have a modifier key being pressed, we do not want to move focus.\n // Otherwise, handle up and down keys.\n var hasModifier = !!(ev.altKey || ev.metaKey);\n var isUp = ev.which === KeyCodes.up;\n var isDown = ev.which === KeyCodes.down;\n if (!hasModifier && (isUp || isDown)) {\n var elementToFocus = isUp\n ? getLastFocusable(_this._host, _this._host.lastChild, true)\n : getFirstFocusable(_this._host, _this._host.firstChild, true);\n if (elementToFocus) {\n elementToFocus.focus();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n /**\n * Scroll handler for the callout to make sure the mouse events\n * for updating focus are not interacting during scroll\n */\n _this._onScroll = function () {\n if (!_this._isScrollIdle && _this._scrollIdleTimeoutId !== undefined) {\n _this._async.clearTimeout(_this._scrollIdleTimeoutId);\n _this._scrollIdleTimeoutId = undefined;\n }\n else {\n _this._isScrollIdle = false;\n }\n _this._scrollIdleTimeoutId = _this._async.setTimeout(function () {\n _this._isScrollIdle = true;\n }, NavigationIdleDelay);\n };\n _this._onItemMouseEnterBase = function (item, ev, target) {\n if (_this._shouldIgnoreMouseEvent()) {\n return;\n }\n _this._updateFocusOnMouseEvent(item, ev, target);\n };\n _this._onItemMouseMoveBase = function (item, ev, target) {\n var targetElement = ev.currentTarget;\n // Always do this check to make sure we record a mouseMove if needed (even if we are timed out)\n if (_this._shouldUpdateFocusOnMouseEvent) {\n _this._gotMouseMove = true;\n }\n else {\n return;\n }\n if (!_this._isScrollIdle ||\n _this._enterTimerId !== undefined ||\n targetElement === _this._targetWindow.document.activeElement) {\n return;\n }\n _this._updateFocusOnMouseEvent(item, ev, target);\n };\n _this._onMouseItemLeave = function (item, ev) {\n if (_this._shouldIgnoreMouseEvent()) {\n return;\n }\n if (_this._enterTimerId !== undefined) {\n _this._async.clearTimeout(_this._enterTimerId);\n _this._enterTimerId = undefined;\n }\n if (_this.state.expandedMenuItemKey !== undefined) {\n return;\n }\n /**\n * IE11 focus() method forces parents to scroll to top of element.\n * Edge and IE expose a setActive() function for focusable divs that\n * sets the page focus but does not scroll the parent element.\n */\n if (_this._host.setActive) {\n try {\n _this._host.setActive();\n }\n catch (e) {\n /* no-op */\n }\n }\n else {\n _this._host.focus();\n }\n };\n _this._onItemMouseDown = function (item, ev) {\n if (item.onMouseDown) {\n item.onMouseDown(item, ev);\n }\n };\n _this._onItemClick = function (item, ev) {\n _this._onItemClickBase(item, ev, ev.currentTarget);\n };\n _this._onItemClickBase = function (item, ev, target) {\n var items = getSubmenuItems(item);\n // Cancel a async menu item hover timeout action from being taken and instead\n // just trigger the click event instead.\n _this._cancelSubMenuTimer();\n if (!hasSubmenu(item) && (!items || !items.length)) {\n // This is an item without a menu. Click it.\n _this._executeItemClick(item, ev);\n }\n else {\n if (item.key !== _this.state.expandedMenuItemKey) {\n // This has a collapsed sub menu. Expand it.\n _this.setState({\n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n expandedByMouseClick: ev.nativeEvent.detail !== 0 || ev.nativeEvent.pointerType === 'mouse',\n });\n _this._onItemSubMenuExpand(item, target);\n }\n }\n ev.stopPropagation();\n ev.preventDefault();\n };\n _this._onAnchorClick = function (item, ev) {\n _this._executeItemClick(item, ev);\n ev.stopPropagation();\n };\n _this._executeItemClick = function (item, ev) {\n if (item.disabled || item.isDisabled) {\n return;\n }\n var dismiss = false;\n if (item.onClick) {\n dismiss = !!item.onClick(ev, item);\n }\n else if (_this.props.onItemClick) {\n dismiss = !!_this.props.onItemClick(ev, item);\n }\n if (dismiss || !ev.defaultPrevented) {\n _this.dismiss(ev, true);\n // This should be removed whenever possible.\n // This ensures that the hidden dismissal action maintains the same behavior.\n // If the menu is being dismissed then the previously focused element should\n // get focused since the dismiss was triggered by a user click on an item\n // Rather than focus being lost.\n _this._focusingPreviousElement = true;\n }\n };\n _this._onItemKeyDown = function (item, ev) {\n var openKey = getRTL(_this.props.theme) ? KeyCodes.left : KeyCodes.right;\n if (!item.disabled &&\n (ev.which === openKey || ev.which === KeyCodes.enter || (ev.which === KeyCodes.down && (ev.altKey || ev.metaKey)))) {\n _this.setState({\n expandedByMouseClick: false,\n });\n _this._onItemSubMenuExpand(item, ev.currentTarget);\n ev.preventDefault();\n }\n };\n // Cancel a async menu item hover timeout action from being taken and instead\n // do new upcoming behavior\n _this._cancelSubMenuTimer = function () {\n if (_this._enterTimerId !== undefined) {\n _this._async.clearTimeout(_this._enterTimerId);\n _this._enterTimerId = undefined;\n }\n };\n _this._onItemSubMenuExpand = function (item, target) {\n if (_this.state.expandedMenuItemKey !== item.key) {\n if (_this.state.expandedMenuItemKey) {\n _this._onSubMenuDismiss();\n }\n // Focus the target to ensure when we close it, we're focusing on the correct element.\n target.focus();\n _this.setState({\n expandedMenuItemKey: item.key,\n submenuTarget: target,\n });\n }\n };\n /**\n * This function is called ASYNCHRONOUSLY, and so there is a chance it is called\n * after the component is unmounted. The _mounted property is added to prevent\n * from calling setState() after unmount. Do NOT copy this pattern in synchronous\n * code.\n */\n _this._onSubMenuDismiss = function (ev, dismissAll) {\n if (dismissAll) {\n _this.dismiss(ev, dismissAll);\n }\n else if (_this._mounted) {\n _this.setState({\n dismissedMenuItemKey: _this.state.expandedMenuItemKey,\n expandedMenuItemKey: undefined,\n submenuTarget: undefined,\n });\n }\n };\n _this._onPointerAndTouchEvent = function (ev) {\n _this._cancelSubMenuTimer();\n };\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n getMenuClassNames: 'styles',\n });\n _this.state = {\n contextualMenuItems: undefined,\n subMenuId: getId('ContextualMenu'),\n };\n _this._id = props.id || getId('ContextualMenu');\n _this._focusingPreviousElement = false;\n _this._isScrollIdle = true;\n _this._shouldUpdateFocusOnMouseEvent = !_this.props.delayUpdateFocusOnHover;\n _this._gotMouseMove = false;\n return _this;\n }\n ContextualMenuBase.prototype.shouldComponentUpdate = function (newProps, newState) {\n if (!newProps.shouldUpdateWhenHidden && this.props.hidden && newProps.hidden) {\n // Do not update when hidden.\n return false;\n }\n return !shallowCompare(this.props, newProps) || !shallowCompare(this.state, newState);\n };\n ContextualMenuBase.prototype.UNSAFE_componentWillUpdate = function (newProps) {\n if (newProps.target !== this.props.target) {\n var newTarget = newProps.target;\n this._setTargetWindowAndElement(newTarget);\n }\n if (this._isHidden(newProps) !== this._isHidden(this.props)) {\n if (this._isHidden(newProps)) {\n this._onMenuClosed();\n }\n else {\n this._onMenuOpened();\n this._previousActiveElement = this._targetWindow\n ? this._targetWindow.document.activeElement\n : undefined;\n }\n }\n if (newProps.delayUpdateFocusOnHover !== this.props.delayUpdateFocusOnHover) {\n // update shouldUpdateFocusOnMouseEvent to follow what was passed in\n this._shouldUpdateFocusOnMouseEvent = !newProps.delayUpdateFocusOnHover;\n // If shouldUpdateFocusOnMouseEvent is false, we need to reset gotMouseMove to false\n this._gotMouseMove = this._shouldUpdateFocusOnMouseEvent && this._gotMouseMove;\n }\n };\n // Invoked once, both on the client and server, immediately before the initial rendering occurs.\n ContextualMenuBase.prototype.UNSAFE_componentWillMount = function () {\n var target = this.props.target;\n this._setTargetWindowAndElement(target);\n if (!this.props.hidden) {\n this._previousActiveElement = this._targetWindow\n ? this._targetWindow.document.activeElement\n : undefined;\n }\n };\n // Invoked once, only on the client (not on the server), immediately after the initial rendering occurs.\n ContextualMenuBase.prototype.componentDidMount = function () {\n if (!this.props.hidden) {\n this._onMenuOpened();\n }\n this._mounted = true;\n };\n // Invoked immediately before a component is unmounted from the DOM.\n ContextualMenuBase.prototype.componentWillUnmount = function () {\n if (this.props.onMenuDismissed) {\n this.props.onMenuDismissed(this.props);\n }\n this._events.dispose();\n this._async.dispose();\n this._mounted = false;\n };\n ContextualMenuBase.prototype.render = function () {\n var _this = this;\n var isBeakVisible = this.props.isBeakVisible;\n var _a = this.props, items = _a.items, labelElementId = _a.labelElementId, id = _a.id, className = _a.className, beakWidth = _a.beakWidth, directionalHint = _a.directionalHint, directionalHintForRTL = _a.directionalHintForRTL, alignTargetEdge = _a.alignTargetEdge, gapSpace = _a.gapSpace, coverTarget = _a.coverTarget, ariaLabel = _a.ariaLabel, doNotLayer = _a.doNotLayer, target = _a.target, bounds = _a.bounds, useTargetWidth = _a.useTargetWidth, useTargetAsMinWidth = _a.useTargetAsMinWidth, directionalHintFixed = _a.directionalHintFixed, shouldFocusOnMount = _a.shouldFocusOnMount, shouldFocusOnContainer = _a.shouldFocusOnContainer, title = _a.title, styles = _a.styles, theme = _a.theme, calloutProps = _a.calloutProps, _b = _a.onRenderSubMenu, onRenderSubMenu = _b === void 0 ? this._onRenderSubMenu : _b, _c = _a.onRenderMenuList, onRenderMenuList = _c === void 0 ? this._onRenderMenuList : _c, focusZoneProps = _a.focusZoneProps, \n // eslint-disable-next-line deprecation/deprecation\n getMenuClassNames = _a.getMenuClassNames;\n this._classNames = getMenuClassNames\n ? getMenuClassNames(theme, className)\n : getClassNames(styles, {\n theme: theme,\n className: className,\n });\n var hasIcons = itemsHaveIcons(items);\n function itemsHaveIcons(contextualMenuItems) {\n for (var _i = 0, contextualMenuItems_1 = contextualMenuItems; _i < contextualMenuItems_1.length; _i++) {\n var item = contextualMenuItems_1[_i];\n if (item.iconProps) {\n return true;\n }\n if (item.itemType === ContextualMenuItemType.Section &&\n item.sectionProps &&\n itemsHaveIcons(item.sectionProps.items)) {\n return true;\n }\n }\n return false;\n }\n this._adjustedFocusZoneProps = __assign(__assign({}, focusZoneProps), { direction: this._getFocusZoneDirection() });\n var hasCheckmarks = canAnyMenuItemsCheck(items);\n var submenuProps = this.state.expandedMenuItemKey && this.props.hidden !== true ? this._getSubmenuProps() : null;\n isBeakVisible = isBeakVisible === undefined ? this.props.responsiveMode <= ResponsiveMode.medium : isBeakVisible;\n /**\n * When useTargetWidth is true, get the width of the target element and apply it for the context menu container\n */\n var contextMenuStyle;\n var targetAsHtmlElement = this._target;\n if ((useTargetWidth || useTargetAsMinWidth) && targetAsHtmlElement && targetAsHtmlElement.offsetWidth) {\n var targetBoundingRect = targetAsHtmlElement.getBoundingClientRect();\n var targetWidth = targetBoundingRect.width - 2; /* Accounts for 1px border */\n if (useTargetWidth) {\n contextMenuStyle = {\n width: targetWidth,\n };\n }\n else if (useTargetAsMinWidth) {\n contextMenuStyle = {\n minWidth: targetWidth,\n };\n }\n }\n // The menu should only return if items were provided, if no items were provided then it should not appear.\n if (items && items.length > 0) {\n var totalItemCount = 0;\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\n var item = items_1[_i];\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var itemCount = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n totalItemCount += itemCount;\n }\n }\n var calloutStyles = this._classNames.subComponentStyles\n ? this._classNames.subComponentStyles.callout\n : undefined;\n return (React.createElement(Callout, __assign({ styles: calloutStyles, onRestoreFocus: this._tryFocusPreviousActiveElement }, calloutProps, { target: target, isBeakVisible: isBeakVisible, beakWidth: beakWidth, directionalHint: directionalHint, directionalHintForRTL: directionalHintForRTL, gapSpace: gapSpace, coverTarget: coverTarget, doNotLayer: doNotLayer, className: css('ms-ContextualMenu-Callout', calloutProps && calloutProps.className), setInitialFocus: shouldFocusOnMount, onDismiss: this.props.onDismiss, onScroll: this._onScroll, bounds: bounds, directionalHintFixed: directionalHintFixed, alignTargetEdge: alignTargetEdge, hidden: this.props.hidden }),\n React.createElement(\"div\", { style: contextMenuStyle, ref: function (host) { return (_this._host = host); }, id: id, className: this._classNames.container, tabIndex: shouldFocusOnContainer ? 0 : -1, onKeyDown: this._onMenuKeyDown, onKeyUp: this._onKeyUp, onFocusCapture: this._onMenuFocusCapture, \"aria-label\": ariaLabel, \"aria-labelledby\": labelElementId, role: 'menu' },\n title && React.createElement(\"div\", { className: this._classNames.title },\n \" \",\n title,\n \" \"),\n items && items.length ? (React.createElement(FocusZone, __assign({ className: this._classNames.root, isCircularNavigation: true, handleTabKey: FocusZoneTabbableElements.all }, this._adjustedFocusZoneProps), onRenderMenuList({\n ariaLabel: ariaLabel,\n items: items,\n totalItemCount: totalItemCount,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n defaultMenuItemRenderer: this._defaultMenuItemRenderer,\n labelElementId: labelElementId,\n }, this._onRenderMenuList))) : null,\n submenuProps && onRenderSubMenu(submenuProps, this._onRenderSubMenu))));\n }\n else {\n return null;\n }\n };\n /**\n * Return whether the contextual menu is hidden.\n * Undefined value for hidden is equivalent to hidden being false.\n * @param props - Props for the component\n */\n ContextualMenuBase.prototype._isHidden = function (props) {\n return !!props.hidden;\n };\n ContextualMenuBase.prototype._onMenuOpened = function () {\n this._events.on(this._targetWindow, 'resize', this.dismiss);\n this._shouldUpdateFocusOnMouseEvent = !this.props.delayUpdateFocusOnHover;\n this._gotMouseMove = false;\n this.props.onMenuOpened && this.props.onMenuOpened(this.props);\n };\n ContextualMenuBase.prototype._onMenuClosed = function () {\n this._events.off(this._targetWindow, 'resize', this.dismiss);\n // This is kept for backwards compatability with hidden for right now.\n // This preserves the way that this behaved in the past\n // TODO find a better way to handle this by using the same conventions that\n // Popup uses to determine if focus is contained when dismissal occurs\n this._tryFocusPreviousActiveElement({\n containsFocus: this._focusingPreviousElement,\n documentContainsFocus: this._targetWindow.document.hasFocus(),\n originalElement: this._previousActiveElement,\n });\n this._focusingPreviousElement = false;\n if (this.props.onMenuDismissed) {\n this.props.onMenuDismissed(this.props);\n }\n this._shouldUpdateFocusOnMouseEvent = !this.props.delayUpdateFocusOnHover;\n // We need to dismiss any submenu related state properties,\n // so that when the menu is shown again, the submenu is collapsed\n this.setState({\n expandedByMouseClick: undefined,\n dismissedMenuItemKey: undefined,\n expandedMenuItemKey: undefined,\n submenuTarget: undefined,\n });\n };\n /**\n * Gets the focusZoneDirection by using the arrowDirection if specified,\n * the direction specificed in the focusZoneProps, or defaults to FocusZoneDirection.vertical\n */\n ContextualMenuBase.prototype._getFocusZoneDirection = function () {\n var focusZoneProps = this.props.focusZoneProps;\n return focusZoneProps && focusZoneProps.direction !== undefined\n ? focusZoneProps.direction\n : FocusZoneDirection.vertical;\n };\n ContextualMenuBase.prototype._onRenderSubMenu = function (subMenuProps, defaultRender) {\n throw Error('ContextualMenuBase: onRenderSubMenu callback is null or undefined. ' +\n 'Please ensure to set `onRenderSubMenu` property either manually or with `styled` helper.');\n };\n ContextualMenuBase.prototype._renderSectionItem = function (sectionItem, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames, index, hasCheckmarks, hasIcons) {\n var _this = this;\n var sectionProps = sectionItem.sectionProps;\n if (!sectionProps) {\n return;\n }\n var headerItem;\n var groupProps;\n if (sectionProps.title) {\n var headerContextualMenuItem = undefined;\n var ariaLabellledby = '';\n if (typeof sectionProps.title === 'string') {\n // Since title is a user-facing string, it needs to be stripped\n // of whitespace in order to build a valid element ID\n var id = this._id + sectionProps.title.replace(/\\s/g, '');\n headerContextualMenuItem = {\n key: \"section-\" + sectionProps.title + \"-title\",\n itemType: ContextualMenuItemType.Header,\n text: sectionProps.title,\n id: id,\n };\n ariaLabellledby = id;\n }\n else {\n var id = sectionProps.title.id || this._id + sectionProps.title.key.replace(/\\s/g, '');\n headerContextualMenuItem = __assign(__assign({}, sectionProps.title), { id: id });\n ariaLabellledby = id;\n }\n if (headerContextualMenuItem) {\n groupProps = {\n role: 'group',\n 'aria-labelledby': ariaLabellledby,\n };\n headerItem = this._renderHeaderMenuItem(headerContextualMenuItem, menuClassNames, index, hasCheckmarks, hasIcons);\n }\n }\n if (sectionProps.items && sectionProps.items.length > 0) {\n return (React.createElement(\"li\", { role: \"presentation\", key: sectionProps.key || sectionItem.key || \"section-\" + index },\n React.createElement(\"div\", __assign({}, groupProps),\n React.createElement(\"ul\", { className: this._classNames.list, role: \"presentation\" },\n sectionProps.topDivider && this._renderSeparator(index, menuClassNames, true, true),\n headerItem &&\n this._renderListItem(headerItem, sectionItem.key || index, menuClassNames, sectionItem.title),\n sectionProps.items.map(function (contextualMenuItem, itemsIndex) {\n return _this._renderMenuItem(contextualMenuItem, itemsIndex, itemsIndex, sectionProps.items.length, hasCheckmarks, hasIcons);\n }),\n sectionProps.bottomDivider && this._renderSeparator(index, menuClassNames, false, true)))));\n }\n };\n ContextualMenuBase.prototype._renderListItem = function (content, key, classNames, // eslint-disable-line deprecation/deprecation\n title) {\n return (React.createElement(\"li\", { role: \"presentation\", title: title, key: key, className: classNames.item }, content));\n };\n ContextualMenuBase.prototype._renderSeparator = function (index, classNames, // eslint-disable-line deprecation/deprecation\n top, fromSection) {\n if (fromSection || index > 0) {\n return (React.createElement(\"li\", { role: \"separator\", key: 'separator-' + index + (top === undefined ? '' : top ? '-top' : '-bottom'), className: classNames.divider, \"aria-hidden\": \"true\" }));\n }\n return null;\n };\n ContextualMenuBase.prototype._renderNormalItem = function (item, classNames, // eslint-disable-line deprecation/deprecation\n index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n if (item.onRender) {\n return item.onRender(__assign({ 'aria-posinset': focusableElementIndex + 1, 'aria-setsize': totalItemCount }, item), this.dismiss);\n }\n if (item.href) {\n return this._renderAnchorMenuItem(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n }\n if (item.split && hasSubmenu(item)) {\n return this._renderSplitButton(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n }\n return this._renderButtonItem(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n };\n ContextualMenuBase.prototype._renderHeaderMenuItem = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, hasCheckmarks, hasIcons) {\n var _a = this.props.contextualMenuItemAs, ChildrenRenderer = _a === void 0 ? ContextualMenuItem : _a;\n var itemProps = item.itemProps, id = item.id;\n var divHtmlProperties = itemProps && getNativeProps(itemProps, divProperties);\n return (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(\"div\", __assign({ id: id, className: this._classNames.header }, divHtmlProperties, { style: item.style }),\n React.createElement(ChildrenRenderer, __assign({ item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks ? this._onItemClick : undefined, hasIcons: hasIcons }, itemProps))));\n };\n ContextualMenuBase.prototype._renderAnchorMenuItem = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var contextualMenuItemAs = this.props.contextualMenuItemAs;\n var expandedMenuItemKey = this.state.expandedMenuItemKey;\n return (React.createElement(ContextualMenuAnchor, { item: item, classNames: classNames, index: index, focusableElementIndex: focusableElementIndex, totalItemCount: totalItemCount, hasCheckmarks: hasCheckmarks, hasIcons: hasIcons, contextualMenuItemAs: contextualMenuItemAs, onItemMouseEnter: this._onItemMouseEnterBase, onItemMouseLeave: this._onMouseItemLeave, onItemMouseMove: this._onItemMouseMoveBase, onItemMouseDown: this._onItemMouseDown, executeItemClick: this._executeItemClick, onItemClick: this._onAnchorClick, onItemKeyDown: this._onItemKeyDown, expandedMenuItemKey: expandedMenuItemKey, openSubMenu: this._onItemSubMenuExpand, dismissSubMenu: this._onSubMenuDismiss, dismissMenu: this.dismiss }));\n };\n ContextualMenuBase.prototype._renderButtonItem = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var contextualMenuItemAs = this.props.contextualMenuItemAs;\n var expandedMenuItemKey = this.state.expandedMenuItemKey;\n return (React.createElement(ContextualMenuButton, { item: item, classNames: classNames, index: index, focusableElementIndex: focusableElementIndex, totalItemCount: totalItemCount, hasCheckmarks: hasCheckmarks, hasIcons: hasIcons, contextualMenuItemAs: contextualMenuItemAs, onItemMouseEnter: this._onItemMouseEnterBase, onItemMouseLeave: this._onMouseItemLeave, onItemMouseMove: this._onItemMouseMoveBase, onItemMouseDown: this._onItemMouseDown, executeItemClick: this._executeItemClick, onItemClick: this._onItemClick, onItemClickBase: this._onItemClickBase, onItemKeyDown: this._onItemKeyDown, expandedMenuItemKey: expandedMenuItemKey, openSubMenu: this._onItemSubMenuExpand, dismissSubMenu: this._onSubMenuDismiss, dismissMenu: this.dismiss }));\n };\n ContextualMenuBase.prototype._renderSplitButton = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var contextualMenuItemAs = this.props.contextualMenuItemAs;\n var expandedMenuItemKey = this.state.expandedMenuItemKey;\n return (React.createElement(ContextualMenuSplitButton, { item: item, classNames: classNames, index: index, focusableElementIndex: focusableElementIndex, totalItemCount: totalItemCount, hasCheckmarks: hasCheckmarks, hasIcons: hasIcons, contextualMenuItemAs: contextualMenuItemAs, onItemMouseEnter: this._onItemMouseEnterBase, onItemMouseLeave: this._onMouseItemLeave, onItemMouseMove: this._onItemMouseMoveBase, onItemMouseDown: this._onItemMouseDown, executeItemClick: this._executeItemClick, onItemClick: this._onItemClick, onItemClickBase: this._onItemClickBase, onItemKeyDown: this._onItemKeyDown, openSubMenu: this._onItemSubMenuExpand, dismissSubMenu: this._onSubMenuDismiss, dismissMenu: this.dismiss, expandedMenuItemKey: expandedMenuItemKey, onTap: this._onPointerAndTouchEvent }));\n };\n /**\n * Returns true if the key for the event is alt (Mac option) or meta (Mac command).\n */\n ContextualMenuBase.prototype._isAltOrMeta = function (ev) {\n return ev.which === KeyCodes.alt || ev.key === 'Meta';\n };\n ContextualMenuBase.prototype._shouldIgnoreMouseEvent = function () {\n return !this._isScrollIdle || !this._gotMouseMove;\n };\n /**\n * Handles updating focus when mouseEnter or mouseMove fire.\n * As part of updating focus, This function will also update\n * the expand/collapse state accordingly.\n */\n ContextualMenuBase.prototype._updateFocusOnMouseEvent = function (item, ev, target) {\n var _this = this;\n var targetElement = target ? target : ev.currentTarget;\n var _a = this.props.subMenuHoverDelay, timeoutDuration = _a === void 0 ? NavigationIdleDelay : _a;\n if (item.key === this.state.expandedMenuItemKey) {\n return;\n }\n if (this._enterTimerId !== undefined) {\n this._async.clearTimeout(this._enterTimerId);\n this._enterTimerId = undefined;\n }\n // If the menu is not expanded we can update focus without any delay\n if (this.state.expandedMenuItemKey === undefined) {\n targetElement.focus();\n }\n // Delay updating expanding/dismissing the submenu\n // and only set focus if we have not already done so\n if (hasSubmenu(item)) {\n ev.stopPropagation();\n this._enterTimerId = this._async.setTimeout(function () {\n targetElement.focus();\n _this.setState({\n expandedByMouseClick: true,\n });\n _this._onItemSubMenuExpand(item, targetElement);\n _this._enterTimerId = undefined;\n }, timeoutDuration);\n }\n else {\n this._enterTimerId = this._async.setTimeout(function () {\n _this._onSubMenuDismiss(ev);\n targetElement.focus();\n _this._enterTimerId = undefined;\n }, timeoutDuration);\n }\n };\n ContextualMenuBase.prototype._getSubmenuProps = function () {\n var _a = this.state, submenuTarget = _a.submenuTarget, expandedMenuItemKey = _a.expandedMenuItemKey;\n var item = this._findItemByKey(expandedMenuItemKey);\n var submenuProps = null;\n if (item) {\n submenuProps = {\n items: getSubmenuItems(item),\n target: submenuTarget,\n onDismiss: this._onSubMenuDismiss,\n isSubMenu: true,\n id: this.state.subMenuId,\n shouldFocusOnMount: true,\n shouldFocusOnContainer: this.state.expandedByMouseClick,\n directionalHint: getRTL(this.props.theme) ? DirectionalHint.leftTopEdge : DirectionalHint.rightTopEdge,\n className: this.props.className,\n gapSpace: 0,\n isBeakVisible: false,\n };\n if (item.subMenuProps) {\n assign(submenuProps, item.subMenuProps);\n }\n }\n return submenuProps;\n };\n ContextualMenuBase.prototype._findItemByKey = function (key) {\n var items = this.props.items;\n return this._findItemByKeyFromItems(key, items);\n };\n /**\n * Returns the item that mathes a given key if any.\n * @param key - The key of the item to match\n * @param items - The items to look for the key\n */\n ContextualMenuBase.prototype._findItemByKeyFromItems = function (key, items) {\n for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {\n var item = items_2[_i];\n if (item.itemType === ContextualMenuItemType.Section && item.sectionProps) {\n var match = this._findItemByKeyFromItems(key, item.sectionProps.items);\n if (match) {\n return match;\n }\n }\n else if (item.key && item.key === key) {\n return item;\n }\n }\n };\n ContextualMenuBase.prototype._setTargetWindowAndElement = function (target) {\n var currentElement = this._host;\n if (target) {\n if (typeof target === 'string') {\n var currentDoc = getDocument(currentElement);\n this._target = currentDoc ? currentDoc.querySelector(target) : null;\n this._targetWindow = getWindow(currentElement);\n // Cast to any prevents error about stopPropagation always existing\n }\n else if (target.stopPropagation) {\n this._targetWindow = getWindow(target.target);\n this._target = target;\n }\n else if (\n // eslint-disable-next-line deprecation/deprecation\n (target.left !== undefined || target.x !== undefined) &&\n // eslint-disable-next-line deprecation/deprecation\n (target.top !== undefined || target.y !== undefined)) {\n this._targetWindow = getWindow(currentElement);\n this._target = target;\n }\n else if (target.current !== undefined) {\n this._target = target.current;\n this._targetWindow = getWindow(this._target);\n }\n else {\n var targetElement = target;\n this._targetWindow = getWindow(targetElement);\n this._target = target;\n }\n }\n else {\n this._targetWindow = getWindow(currentElement);\n }\n };\n // The default ContextualMenu properties have no items and beak, the default submenu direction is right and top.\n ContextualMenuBase.defaultProps = {\n items: [],\n shouldFocusOnMount: true,\n gapSpace: 0,\n directionalHint: DirectionalHint.bottomAutoEdge,\n beakWidth: 16,\n };\n ContextualMenuBase = __decorate([\n withResponsiveMode\n ], ContextualMenuBase);\n return ContextualMenuBase;\n}(React.Component));\nexport { ContextualMenuBase };\n//# sourceMappingURL=ContextualMenu.base.js.map","import { getGlobalClassNames, FontWeights } from '../../Styling';\nimport { CONTEXTUAL_MENU_ITEM_HEIGHT } from './ContextualMenu.cnstyles';\nvar GlobalClassNames = {\n root: 'ms-ContextualMenu',\n container: 'ms-ContextualMenu-container',\n list: 'ms-ContextualMenu-list',\n header: 'ms-ContextualMenu-header',\n title: 'ms-ContextualMenu-title',\n isopen: 'is-open',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var fonts = theme.fonts, semanticColors = theme.semanticColors, effects = theme.effects;\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n classNames.isopen,\n {\n backgroundColor: semanticColors.menuBackground,\n minWidth: '180px',\n },\n className,\n ],\n container: [\n classNames.container,\n {\n selectors: {\n ':focus': { outline: 0 },\n },\n },\n ],\n list: [\n classNames.list,\n classNames.isopen,\n {\n listStyleType: 'none',\n margin: '0',\n padding: '0',\n },\n ],\n header: [\n classNames.header,\n fonts.small,\n {\n fontWeight: FontWeights.semibold,\n color: semanticColors.menuHeader,\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n cursor: 'default',\n padding: '0px 6px',\n userSelect: 'none',\n textAlign: 'left',\n },\n ],\n title: [\n classNames.title,\n {\n fontSize: fonts.mediumPlus.fontSize,\n paddingRight: '14px',\n paddingLeft: '14px',\n paddingBottom: '5px',\n paddingTop: '5px',\n backgroundColor: semanticColors.menuItemBackgroundPressed,\n },\n ],\n subComponentStyles: {\n callout: {\n root: {\n boxShadow: effects.elevation8,\n },\n },\n menuItem: {},\n },\n };\n};\n//# sourceMappingURL=ContextualMenu.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ContextualMenuBase } from './ContextualMenu.base';\nimport { getStyles } from './ContextualMenu.styles';\nfunction onRenderSubMenu(subMenuProps) {\n return React.createElement(LocalContextualMenu, __assign({}, subMenuProps));\n}\n// This is to prevent cyclic import with ContextualMenu.base.tsx.\nvar LocalContextualMenu = styled(ContextualMenuBase, getStyles, function () { return ({ onRenderSubMenu: onRenderSubMenu }); }, { scope: 'ContextualMenu' });\n/**\n * ContextualMenu description\n */\nexport var ContextualMenu = LocalContextualMenu;\n//# sourceMappingURL=ContextualMenu.js.map","import { memoizeFunction } from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nexport var getSplitButtonClassNames = memoizeFunction(function (styles, disabled, expanded, checked, primaryDisabled) {\n return {\n root: mergeStyles(styles.splitButtonMenuButton, expanded && [styles.splitButtonMenuButtonExpanded], disabled && [styles.splitButtonMenuButtonDisabled], checked && !disabled && [styles.splitButtonMenuButtonChecked], primaryDisabled &&\n !disabled && [\n {\n selectors: {\n ':focus': styles.splitButtonMenuFocused,\n },\n },\n ]),\n splitButtonContainer: mergeStyles(styles.splitButtonContainer, !disabled &&\n checked && [\n styles.splitButtonContainerChecked,\n {\n selectors: {\n ':hover': styles.splitButtonContainerCheckedHovered,\n },\n },\n ], !disabled &&\n !checked && [\n {\n selectors: {\n ':hover': styles.splitButtonContainerHovered,\n ':focus': styles.splitButtonContainerFocused,\n },\n },\n ], disabled && styles.splitButtonContainerDisabled),\n icon: mergeStyles(styles.splitButtonMenuIcon, disabled && styles.splitButtonMenuIconDisabled, !disabled && primaryDisabled && styles.splitButtonMenuIcon),\n flexContainer: mergeStyles(styles.splitButtonFlexContainer),\n divider: mergeStyles(styles.splitButtonDivider, (primaryDisabled || disabled) && styles.splitButtonDividerDisabled),\n };\n});\n//# sourceMappingURL=SplitButton.classNames.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { anchorProperties, assign, buttonProperties, createMergedRef, css, getId, getNativeProps, initializeComponentRef, memoizeFunction, mergeAriaAttributeValues, nullRender, portalContainsElement, setFocusVisibility, warnConditionallyRequiredProps, warnDeprecations, Async, EventGroup, FocusRects, KeyCodes, } from '../../Utilities';\nimport { Icon, FontIcon, ImageIcon } from '../../Icon';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { ContextualMenu } from '../../ContextualMenu';\nimport { getBaseButtonClassNames } from './BaseButton.classNames';\nimport { getSplitButtonClassNames as getBaseSplitButtonClassNames, } from './SplitButton/SplitButton.classNames';\nimport { KeytipData } from '../../KeytipData';\nvar TouchIdleDelay = 500; /* ms */\nvar COMPONENT_NAME = 'BaseButton';\n/**\n * {@docCategory Button}\n */\nvar BaseButton = /** @class */ (function (_super) {\n __extends(BaseButton, _super);\n function BaseButton(props) {\n var _this = _super.call(this, props) || this;\n _this._buttonElement = React.createRef();\n _this._splitButtonContainer = React.createRef();\n _this._mergedRef = createMergedRef();\n _this._renderedVisibleMenu = false;\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._onRenderIcon = function (buttonProps, defaultRender) {\n var iconProps = _this.props.iconProps;\n if (iconProps && (iconProps.iconName !== undefined || iconProps.imageProps)) {\n var className = iconProps.className, imageProps = iconProps.imageProps, rest = __rest(iconProps, [\"className\", \"imageProps\"]);\n // If the styles prop is specified as part of iconProps, fall back to regular Icon as FontIcon and ImageIcon\n // do not have this prop.\n if (iconProps.styles) {\n return React.createElement(Icon, __assign({ className: css(_this._classNames.icon, className), imageProps: imageProps }, rest));\n }\n if (iconProps.iconName) {\n return React.createElement(FontIcon, __assign({ className: css(_this._classNames.icon, className) }, rest));\n }\n if (imageProps) {\n return React.createElement(ImageIcon, __assign({ className: css(_this._classNames.icon, className), imageProps: imageProps }, rest));\n }\n }\n return null;\n };\n _this._onRenderTextContents = function () {\n var _a = _this.props, text = _a.text, children = _a.children, \n // eslint-disable-next-line deprecation/deprecation\n _b = _a.secondaryText, \n // eslint-disable-next-line deprecation/deprecation\n secondaryText = _b === void 0 ? _this.props.description : _b, _c = _a.onRenderText, onRenderText = _c === void 0 ? _this._onRenderText : _c, _d = _a.onRenderDescription, onRenderDescription = _d === void 0 ? _this._onRenderDescription : _d;\n if (text || typeof children === 'string' || secondaryText) {\n return (React.createElement(\"span\", { className: _this._classNames.textContainer },\n onRenderText(_this.props, _this._onRenderText),\n onRenderDescription(_this.props, _this._onRenderDescription)));\n }\n return [onRenderText(_this.props, _this._onRenderText), onRenderDescription(_this.props, _this._onRenderDescription)];\n };\n _this._onRenderText = function () {\n var text = _this.props.text;\n var children = _this.props.children;\n // For backwards compat, we should continue to take in the text content from children.\n if (text === undefined && typeof children === 'string') {\n text = children;\n }\n if (_this._hasText()) {\n return (React.createElement(\"span\", { key: _this._labelId, className: _this._classNames.label, id: _this._labelId }, text));\n }\n return null;\n };\n _this._onRenderChildren = function () {\n var children = _this.props.children;\n // If children is just a string, either it or the text will be rendered via onRenderLabel\n // If children is another component, it will be rendered after text\n if (typeof children === 'string') {\n return null;\n }\n return children;\n };\n _this._onRenderDescription = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = props.secondaryText, secondaryText = _a === void 0 ? _this.props.description : _a;\n // ms-Button-description is only shown when the button type is compound.\n // In other cases it will not be displayed.\n return secondaryText ? (React.createElement(\"span\", { key: _this._descriptionId, className: _this._classNames.description, id: _this._descriptionId }, secondaryText)) : null;\n };\n _this._onRenderAriaDescription = function () {\n var ariaDescription = _this.props.ariaDescription;\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\n // otherwise it will be assigned to descriptionSpan.\n return ariaDescription ? (React.createElement(\"span\", { className: _this._classNames.screenReaderText, id: _this._ariaDescriptionId }, ariaDescription)) : null;\n };\n _this._onRenderMenuIcon = function (props) {\n var menuIconProps = _this.props.menuIconProps;\n return React.createElement(FontIcon, __assign({ iconName: \"ChevronDown\" }, menuIconProps, { className: _this._classNames.menuIcon }));\n };\n _this._onRenderMenu = function (menuProps) {\n var persistMenu = _this.props.persistMenu;\n var menuHidden = _this.state.menuHidden;\n var MenuType = _this.props.menuAs || ContextualMenu;\n // the accessible menu label (accessible name) has a relationship to the button.\n // If the menu props do not specify an explicit value for aria-label or aria-labelledBy,\n // AND the button has text, we'll set the menu aria-labelledBy to the text element id.\n if (!menuProps.ariaLabel && !menuProps.labelElementId && _this._hasText()) {\n menuProps = __assign(__assign({}, menuProps), { labelElementId: _this._labelId });\n }\n return (React.createElement(MenuType, __assign({ id: _this._labelId + '-menu', directionalHint: DirectionalHint.bottomLeftEdge }, menuProps, { shouldFocusOnContainer: _this._menuShouldFocusOnContainer, shouldFocusOnMount: _this._menuShouldFocusOnMount, hidden: persistMenu ? menuHidden : undefined, className: css('ms-BaseButton-menuhost', menuProps.className), target: _this._isSplitButton ? _this._splitButtonContainer.current : _this._buttonElement.current, onDismiss: _this._onDismissMenu })));\n };\n _this._onDismissMenu = function (ev) {\n var menuProps = _this.props.menuProps;\n if (menuProps && menuProps.onDismiss) {\n menuProps.onDismiss(ev);\n }\n if (!ev || !ev.defaultPrevented) {\n _this._dismissMenu();\n }\n };\n _this._dismissMenu = function () {\n _this._menuShouldFocusOnMount = undefined;\n _this._menuShouldFocusOnContainer = undefined;\n _this.setState({ menuHidden: true });\n };\n _this._openMenu = function (shouldFocusOnContainer, shouldFocusOnMount) {\n if (shouldFocusOnMount === void 0) { shouldFocusOnMount = true; }\n if (_this.props.menuProps) {\n _this._menuShouldFocusOnContainer = shouldFocusOnContainer;\n _this._menuShouldFocusOnMount = shouldFocusOnMount;\n _this._renderedVisibleMenu = true;\n _this.setState({ menuHidden: false });\n }\n };\n _this._onToggleMenu = function (shouldFocusOnContainer) {\n var shouldFocusOnMount = true;\n if (_this.props.menuProps && _this.props.menuProps.shouldFocusOnMount === false) {\n shouldFocusOnMount = false;\n }\n _this.state.menuHidden ? _this._openMenu(shouldFocusOnContainer, shouldFocusOnMount) : _this._dismissMenu();\n };\n _this._onSplitContainerFocusCapture = function (ev) {\n var container = _this._splitButtonContainer.current;\n // If the target is coming from the portal we do not need to set focus on the container.\n if (!container || (ev.target && portalContainsElement(ev.target, container))) {\n return;\n }\n // We should never be able to focus the individual buttons in a split button. Focus\n // should always remain on the container.\n container.focus();\n };\n _this._onSplitButtonPrimaryClick = function (ev) {\n if (!_this.state.menuHidden) {\n _this._dismissMenu();\n }\n if (!_this._processingTouch && _this.props.onClick) {\n _this.props.onClick(ev);\n }\n else if (_this._processingTouch) {\n _this._onMenuClick(ev);\n }\n };\n _this._onKeyDown = function (ev) {\n // explicity cancelling event so click won't fire after this\n if (_this.props.disabled && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (!_this.props.disabled) {\n if (_this.props.menuProps) {\n _this._onMenuKeyDown(ev);\n }\n else if (_this.props.onKeyDown !== undefined) {\n _this.props.onKeyDown(ev); // not cancelling event because it's not disabled\n }\n }\n };\n _this._onKeyUp = function (ev) {\n if (!_this.props.disabled && _this.props.onKeyUp !== undefined) {\n _this.props.onKeyUp(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onKeyPress = function (ev) {\n if (!_this.props.disabled && _this.props.onKeyPress !== undefined) {\n _this.props.onKeyPress(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onMouseUp = function (ev) {\n if (!_this.props.disabled && _this.props.onMouseUp !== undefined) {\n _this.props.onMouseUp(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onMouseDown = function (ev) {\n if (!_this.props.disabled && _this.props.onMouseDown !== undefined) {\n _this.props.onMouseDown(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onClick = function (ev) {\n if (!_this.props.disabled) {\n if (_this.props.menuProps) {\n _this._onMenuClick(ev);\n }\n else if (_this.props.onClick !== undefined) {\n _this.props.onClick(ev); // not cancelling event because it's not disabled\n }\n }\n };\n _this._onSplitButtonContainerKeyDown = function (ev) {\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n if (_this._buttonElement.current) {\n _this._buttonElement.current.click();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n else {\n _this._onMenuKeyDown(ev);\n }\n };\n _this._onMenuKeyDown = function (ev) {\n if (_this.props.disabled) {\n return;\n }\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n }\n var isUp = ev.which === KeyCodes.up;\n var isDown = ev.which === KeyCodes.down;\n if (!ev.defaultPrevented && _this._isValidMenuOpenKey(ev)) {\n var onMenuClick = _this.props.onMenuClick;\n if (onMenuClick) {\n onMenuClick(ev, _this.props);\n }\n _this._onToggleMenu(false);\n ev.preventDefault();\n ev.stopPropagation();\n }\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n // We manually set the focus visibility to true if opening via Enter or Space to account for the scenario where\n // a user clicks on the button, closes the menu and then opens it via keyboard. In this scenario our default logic\n // for setting focus visibility is not triggered since there is no keyboard navigation present beforehand.\n setFocusVisibility(true, ev.target);\n }\n if (!(ev.altKey || ev.metaKey) && (isUp || isDown)) {\n // Suppose a menu, with shouldFocusOnMount: false, is open, and user wants to keyboard to the menu items\n // We need to re-render the menu with shouldFocusOnMount as true.\n if (!_this.state.menuHidden && _this.props.menuProps) {\n var currentShouldFocusOnMount = _this._menuShouldFocusOnMount !== undefined\n ? _this._menuShouldFocusOnMount\n : _this.props.menuProps.shouldFocusOnMount;\n if (!currentShouldFocusOnMount) {\n ev.preventDefault();\n ev.stopPropagation();\n _this._menuShouldFocusOnMount = true;\n _this.forceUpdate();\n }\n }\n }\n };\n _this._onTouchStart = function () {\n if (_this._isSplitButton &&\n _this._splitButtonContainer.current &&\n !('onpointerdown' in _this._splitButtonContainer.current)) {\n _this._handleTouchAndPointerEvent();\n }\n };\n _this._onMenuClick = function (ev) {\n var onMenuClick = _this.props.onMenuClick;\n if (onMenuClick) {\n onMenuClick(ev, _this.props);\n }\n if (!ev.defaultPrevented) {\n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n var shouldFocusOnContainer = ev.nativeEvent.detail !== 0 || ev.nativeEvent.pointerType === 'mouse';\n _this._onToggleMenu(shouldFocusOnContainer);\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n warnConditionallyRequiredProps(COMPONENT_NAME, props, ['menuProps', 'onClick'], 'split', _this.props.split);\n warnDeprecations(COMPONENT_NAME, props, {\n rootProps: undefined,\n description: 'secondaryText',\n toggled: 'checked',\n });\n _this._labelId = getId();\n _this._descriptionId = getId();\n _this._ariaDescriptionId = getId();\n _this.state = {\n menuHidden: true,\n };\n return _this;\n }\n Object.defineProperty(BaseButton.prototype, \"_isSplitButton\", {\n get: function () {\n return !!this.props.menuProps && !!this.props.onClick && this.props.split === true;\n },\n enumerable: true,\n configurable: true\n });\n BaseButton.prototype.render = function () {\n var _a;\n var _b = this.props, ariaDescription = _b.ariaDescription, ariaLabel = _b.ariaLabel, ariaHidden = _b.ariaHidden, className = _b.className, disabled = _b.disabled, allowDisabledFocus = _b.allowDisabledFocus, primaryDisabled = _b.primaryDisabled, \n // eslint-disable-next-line deprecation/deprecation\n _c = _b.secondaryText, \n // eslint-disable-next-line deprecation/deprecation\n secondaryText = _c === void 0 ? this.props.description : _c, href = _b.href, iconProps = _b.iconProps, menuIconProps = _b.menuIconProps, styles = _b.styles, checked = _b.checked, variantClassName = _b.variantClassName, theme = _b.theme, toggle = _b.toggle, getClassNames = _b.getClassNames, role = _b.role;\n var menuHidden = this.state.menuHidden;\n // Button is disabled if the whole button (in case of splitButton is disabled) or if the primary action is disabled\n var isPrimaryButtonDisabled = disabled || primaryDisabled;\n this._classNames = getClassNames\n ? getClassNames(theme, className, variantClassName, iconProps && iconProps.className, menuIconProps && menuIconProps.className, isPrimaryButtonDisabled, checked, !menuHidden, !!this.props.menuProps, this.props.split, !!allowDisabledFocus)\n : getBaseButtonClassNames(theme, styles, className, variantClassName, iconProps && iconProps.className, menuIconProps && menuIconProps.className, isPrimaryButtonDisabled, !!this.props.menuProps, checked, !menuHidden, this.props.split);\n var _d = this, _ariaDescriptionId = _d._ariaDescriptionId, _labelId = _d._labelId, _descriptionId = _d._descriptionId;\n // Anchor tag cannot be disabled hence in disabled state rendering\n // anchor button as normal button\n var renderAsAnchor = !isPrimaryButtonDisabled && !!href;\n var tag = renderAsAnchor ? 'a' : 'button';\n var nativeProps = getNativeProps(\n // eslint-disable-next-line deprecation/deprecation\n assign(renderAsAnchor ? {} : { type: 'button' }, this.props.rootProps, this.props), renderAsAnchor ? anchorProperties : buttonProperties, [\n 'disabled',\n ]);\n // Check for ariaLabel passed in via Button props, and fall back to aria-label passed in via native props\n var resolvedAriaLabel = ariaLabel || nativeProps['aria-label'];\n // Check for ariaDescription, secondaryText or aria-describedby in the native props to determine source of\n // aria-describedby. Otherwise default to undefined so property does not appear in output.\n var ariaDescribedBy = undefined;\n if (ariaDescription) {\n ariaDescribedBy = _ariaDescriptionId;\n }\n else if (secondaryText && this.props.onRenderDescription !== nullRender) {\n // for buttons like CompoundButton with a valid onRenderDescription, we need to set an ariaDescribedBy\n // for buttons that do not render anything (via nullRender), we should not set an ariaDescribedBy\n ariaDescribedBy = _descriptionId;\n }\n else if (nativeProps['aria-describedby']) {\n ariaDescribedBy = nativeProps['aria-describedby'];\n }\n // If an explicit ariaLabel is given, use that as the label and we're done.\n // If an explicit aria-labelledby is given, use that and we're done.\n // If any kind of description is given (which will end up as an aria-describedby attribute),\n // set the labelledby element. Otherwise, the button is labeled implicitly by the descendent\n // text on the button (if it exists). Never set both aria-label and aria-labelledby.\n var ariaLabelledBy = undefined;\n if (!resolvedAriaLabel) {\n if (nativeProps['aria-labelledby']) {\n ariaLabelledBy = nativeProps['aria-labelledby'];\n }\n else if (ariaDescribedBy) {\n ariaLabelledBy = this._hasText() ? _labelId : undefined;\n }\n }\n var dataIsFocusable = this.props['data-is-focusable'] === false || (disabled && !allowDisabledFocus) || this._isSplitButton\n ? false\n : true;\n var isCheckboxTypeRole = role === 'menuitemcheckbox' || role === 'checkbox';\n // if isCheckboxTypeRole, always return a checked value.\n // Otherwise only return checked value if toggle is set to true.\n // This is because role=\"checkbox\" always needs to have an aria-checked value\n // but our checked prop only sets aria-pressed if we mark the button as a toggle=\"true\"\n var checkedOrPressedValue = isCheckboxTypeRole ? !!checked : toggle === true ? !!checked : undefined;\n var buttonProps = assign(nativeProps, (_a = {\n className: this._classNames.root,\n // eslint-disable-next-line deprecation/deprecation\n ref: this._mergedRef(this.props.elementRef, this._buttonElement),\n disabled: isPrimaryButtonDisabled && !allowDisabledFocus,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseDown: this._onMouseDown,\n onMouseUp: this._onMouseUp,\n onClick: this._onClick,\n 'aria-label': resolvedAriaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-disabled': isPrimaryButtonDisabled,\n 'data-is-focusable': dataIsFocusable\n },\n // aria-pressed attribute should only be present for toggle buttons\n // aria-checked attribute should only be present for toggle buttons with checkbox type role\n _a[isCheckboxTypeRole ? 'aria-checked' : 'aria-pressed'] = checkedOrPressedValue,\n _a));\n if (ariaHidden) {\n buttonProps['aria-hidden'] = true;\n }\n if (this._isSplitButton) {\n return this._onRenderSplitButtonContent(tag, buttonProps);\n }\n else if (this.props.menuProps) {\n assign(buttonProps, {\n 'aria-expanded': !menuHidden,\n 'aria-owns': !menuHidden ? this._labelId + '-menu' : null,\n 'aria-haspopup': true,\n });\n }\n return this._onRenderContent(tag, buttonProps);\n };\n BaseButton.prototype.componentDidMount = function () {\n // For split buttons, touching anywhere in the button should drop the dropdown, which should contain the\n // primary action. This gives more hit target space for touch environments. We're setting the onpointerdown here,\n // because React does not support Pointer events yet.\n if (this._isSplitButton && this._splitButtonContainer.current) {\n if ('onpointerdown' in this._splitButtonContainer.current) {\n this._events.on(this._splitButtonContainer.current, 'pointerdown', this._onPointerDown, true);\n }\n if ('onpointerup' in this._splitButtonContainer.current && this.props.onPointerUp) {\n this._events.on(this._splitButtonContainer.current, 'pointerup', this.props.onPointerUp, true);\n }\n }\n };\n BaseButton.prototype.componentDidUpdate = function (prevProps, prevState) {\n // If Button's menu was closed, run onAfterMenuDismiss.\n if (this.props.onAfterMenuDismiss && !prevState.menuHidden && this.state.menuHidden) {\n this.props.onAfterMenuDismiss();\n }\n };\n BaseButton.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n BaseButton.prototype.focus = function () {\n if (this._isSplitButton && this._splitButtonContainer.current) {\n setFocusVisibility(true);\n this._splitButtonContainer.current.focus();\n }\n else if (this._buttonElement.current) {\n setFocusVisibility(true);\n this._buttonElement.current.focus();\n }\n };\n BaseButton.prototype.dismissMenu = function () {\n this._dismissMenu();\n };\n BaseButton.prototype.openMenu = function (shouldFocusOnContainer, shouldFocusOnMount) {\n this._openMenu(shouldFocusOnContainer, shouldFocusOnMount);\n };\n BaseButton.prototype._onRenderContent = function (tag, buttonProps) {\n var _this = this;\n var props = this.props;\n var Tag = tag;\n var menuIconProps = props.menuIconProps, menuProps = props.menuProps, _a = props.onRenderIcon, onRenderIcon = _a === void 0 ? this._onRenderIcon : _a, _b = props.onRenderAriaDescription, onRenderAriaDescription = _b === void 0 ? this._onRenderAriaDescription : _b, _c = props.onRenderChildren, onRenderChildren = _c === void 0 ? this._onRenderChildren : _c, \n // eslint-disable-next-line deprecation/deprecation\n _d = props.onRenderMenu, \n // eslint-disable-next-line deprecation/deprecation\n onRenderMenu = _d === void 0 ? this._onRenderMenu : _d, _e = props.onRenderMenuIcon, onRenderMenuIcon = _e === void 0 ? this._onRenderMenuIcon : _e, disabled = props.disabled;\n var keytipProps = props.keytipProps;\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n var Button = function (keytipAttributes) { return (React.createElement(Tag, __assign({}, buttonProps, keytipAttributes),\n React.createElement(\"span\", { className: _this._classNames.flexContainer, \"data-automationid\": \"splitbuttonprimary\" },\n onRenderIcon(props, _this._onRenderIcon),\n _this._onRenderTextContents(),\n onRenderAriaDescription(props, _this._onRenderAriaDescription),\n onRenderChildren(props, _this._onRenderChildren),\n !_this._isSplitButton &&\n (menuProps || menuIconProps || _this.props.onRenderMenuIcon) &&\n onRenderMenuIcon(_this.props, _this._onRenderMenuIcon),\n menuProps &&\n !menuProps.doNotLayer &&\n _this._shouldRenderMenu() &&\n onRenderMenu(menuProps, _this._onRenderMenu)))); };\n var Content = keytipProps ? (\n // If we're making a split button, we won't put the keytip here\n React.createElement(KeytipData, { keytipProps: !this._isSplitButton ? keytipProps : undefined, ariaDescribedBy: buttonProps['aria-describedby'], disabled: disabled }, function (keytipAttributes) { return Button(keytipAttributes); })) : (Button());\n if (menuProps && menuProps.doNotLayer) {\n return (React.createElement(\"span\", { style: { display: 'inline-block' } },\n Content,\n this._shouldRenderMenu() && onRenderMenu(menuProps, this._onRenderMenu)));\n }\n return (React.createElement(React.Fragment, null,\n Content,\n React.createElement(FocusRects, null)));\n };\n /**\n * Method to help determine if the menu's component tree should\n * be rendered. It takes into account whether the menu is expanded,\n * whether it is a persisted menu and whether it has been shown to the user.\n */\n BaseButton.prototype._shouldRenderMenu = function () {\n var menuHidden = this.state.menuHidden;\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, persistMenu = _a.persistMenu, renderPersistedMenuHiddenOnMount = _a.renderPersistedMenuHiddenOnMount;\n if (!menuHidden) {\n // Always should render a menu when it is expanded\n return true;\n }\n else if (persistMenu && (this._renderedVisibleMenu || renderPersistedMenuHiddenOnMount)) {\n // _renderedVisibleMenu ensures that the first rendering of\n // the menu happens on-screen, as edge's scrollbar calculations are off if done while hidden.\n return true;\n }\n return false;\n };\n BaseButton.prototype._hasText = function () {\n // _onRenderTextContents and _onRenderText do not perform the same checks. Below is parity with what _onRenderText\n // used to have before the refactor that introduced this function. _onRenderTextContents does not require props.\n // text to be undefined in order for props.children to be used as a fallback.\n // Purely a code maintainability/reuse issue, but logged as Issue #4979.\n return this.props.text !== null && (this.props.text !== undefined || typeof this.props.children === 'string');\n };\n BaseButton.prototype._onRenderSplitButtonContent = function (tag, buttonProps) {\n var _this = this;\n var _a = this.props, _b = _a.styles, styles = _b === void 0 ? {} : _b, disabled = _a.disabled, allowDisabledFocus = _a.allowDisabledFocus, checked = _a.checked, getSplitButtonClassNames = _a.getSplitButtonClassNames, primaryDisabled = _a.primaryDisabled, menuProps = _a.menuProps, toggle = _a.toggle, role = _a.role, primaryActionButtonProps = _a.primaryActionButtonProps;\n var keytipProps = this.props.keytipProps;\n var menuHidden = this.state.menuHidden;\n var classNames = getSplitButtonClassNames\n ? getSplitButtonClassNames(!!disabled, !menuHidden, !!checked, !!allowDisabledFocus)\n : styles && getBaseSplitButtonClassNames(styles, !!disabled, !menuHidden, !!checked, !!primaryDisabled);\n assign(buttonProps, {\n onClick: undefined,\n onPointerDown: undefined,\n onPointerUp: undefined,\n tabIndex: -1,\n 'data-is-focusable': false,\n });\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n var containerProps = getNativeProps(buttonProps, [], ['disabled']);\n // Add additional props to apply on primary action button\n if (primaryActionButtonProps) {\n assign(buttonProps, primaryActionButtonProps);\n }\n var SplitButton = function (keytipAttributes) { return (React.createElement(\"div\", __assign({}, containerProps, { \"data-ktp-target\": keytipAttributes ? keytipAttributes['data-ktp-target'] : undefined, role: role ? role : 'button', \"aria-disabled\": disabled, \"aria-haspopup\": true, \"aria-expanded\": !menuHidden, \"aria-pressed\": toggle ? !!checked : undefined, \"aria-describedby\": mergeAriaAttributeValues(buttonProps['aria-describedby'], keytipAttributes ? keytipAttributes['aria-describedby'] : undefined), className: classNames && classNames.splitButtonContainer, onKeyDown: _this._onSplitButtonContainerKeyDown, onTouchStart: _this._onTouchStart, ref: _this._splitButtonContainer, \"data-is-focusable\": true, onClick: !disabled && !primaryDisabled ? _this._onSplitButtonPrimaryClick : undefined, tabIndex: (!disabled && !primaryDisabled) || allowDisabledFocus ? 0 : undefined, \"aria-roledescription\": buttonProps['aria-roledescription'], onFocusCapture: _this._onSplitContainerFocusCapture }),\n React.createElement(\"span\", { style: { display: 'flex' } },\n _this._onRenderContent(tag, buttonProps),\n _this._onRenderSplitButtonMenuButton(classNames, keytipAttributes),\n _this._onRenderSplitButtonDivider(classNames)))); };\n return keytipProps ? (React.createElement(KeytipData, { keytipProps: keytipProps, disabled: disabled }, function (keytipAttributes) { return SplitButton(keytipAttributes); })) : (SplitButton());\n };\n BaseButton.prototype._onRenderSplitButtonDivider = function (classNames) {\n if (classNames && classNames.divider) {\n var onClick = function (ev) {\n ev.stopPropagation();\n };\n return React.createElement(\"span\", { className: classNames.divider, \"aria-hidden\": true, onClick: onClick });\n }\n return null;\n };\n BaseButton.prototype._onRenderSplitButtonMenuButton = function (classNames, keytipAttributes) {\n var _a = this.props, allowDisabledFocus = _a.allowDisabledFocus, checked = _a.checked, disabled = _a.disabled, splitButtonMenuProps = _a.splitButtonMenuProps, splitButtonAriaLabel = _a.splitButtonAriaLabel, primaryDisabled = _a.primaryDisabled;\n var menuHidden = this.state.menuHidden;\n var menuIconProps = this.props.menuIconProps;\n if (menuIconProps === undefined) {\n menuIconProps = {\n iconName: 'ChevronDown',\n };\n }\n var splitButtonProps = __assign(__assign({}, splitButtonMenuProps), { styles: classNames, checked: checked, disabled: disabled, allowDisabledFocus: allowDisabledFocus, onClick: this._onMenuClick, menuProps: undefined, iconProps: __assign(__assign({}, menuIconProps), { className: this._classNames.menuIcon }), ariaLabel: splitButtonAriaLabel, 'aria-haspopup': true, 'aria-expanded': !menuHidden, 'data-is-focusable': false });\n // Add data-ktp-execute-target to the split button if the keytip is defined\n return (React.createElement(BaseButton, __assign({}, splitButtonProps, { \"data-ktp-execute-target\": keytipAttributes ? keytipAttributes['data-ktp-execute-target'] : keytipAttributes, onMouseDown: this._onMouseDown, tabIndex: primaryDisabled && !allowDisabledFocus ? 0 : -1 })));\n };\n BaseButton.prototype._onPointerDown = function (ev) {\n var onPointerDown = this.props.onPointerDown;\n if (onPointerDown) {\n onPointerDown(ev);\n }\n if (ev.pointerType === 'touch') {\n this._handleTouchAndPointerEvent();\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n BaseButton.prototype._handleTouchAndPointerEvent = function () {\n var _this = this;\n // If we already have an existing timeout from a previous touch and pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId !== undefined) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n // Touch and pointer events don't focus the button naturally,\n // so adding an imperative focus call to guarantee this behavior.\n _this.focus();\n }, TouchIdleDelay);\n };\n /**\n * Returns if the user hits a valid keyboard key to open the menu\n * @param ev - the keyboard event\n * @returns True if user clicks on custom trigger key if enabled or alt + down arrow if not. False otherwise.\n */\n BaseButton.prototype._isValidMenuOpenKey = function (ev) {\n if (this.props.menuTriggerKeyCode) {\n return ev.which === this.props.menuTriggerKeyCode;\n }\n else if (this.props.menuProps) {\n return ev.which === KeyCodes.down && (ev.altKey || ev.metaKey);\n }\n // Note: When enter is pressed, we will let the event continue to propagate\n // to trigger the onClick event on the button\n return false;\n };\n BaseButton.defaultProps = {\n baseClassName: 'ms-Button',\n styles: {},\n split: false,\n };\n return BaseButton;\n}(React.Component));\nexport { BaseButton };\n//# sourceMappingURL=BaseButton.js.map","var _a;\nimport { KeyCodes } from './KeyCodes';\nvar DirectionalKeyCodes = (_a = {},\n _a[KeyCodes.up] = 1,\n _a[KeyCodes.down] = 1,\n _a[KeyCodes.left] = 1,\n _a[KeyCodes.right] = 1,\n _a[KeyCodes.home] = 1,\n _a[KeyCodes.end] = 1,\n _a[KeyCodes.tab] = 1,\n _a[KeyCodes.pageUp] = 1,\n _a[KeyCodes.pageDown] = 1,\n _a);\n/**\n * Returns true if the keycode is a directional keyboard key.\n */\nexport function isDirectionalKeyCode(which) {\n return !!DirectionalKeyCodes[which];\n}\n/**\n * Adds a keycode to the list of keys that, when pressed, should cause the focus outlines to be visible.\n * This can be used to add global shortcut keys that directionally move from section to section within\n * an app or between focus trap zones.\n */\nexport function addDirectionalKeyCode(which) {\n DirectionalKeyCodes[which] = 1;\n}\n//# sourceMappingURL=keyboard.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Observable = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// === Symbol Support ===\nvar hasSymbols = function () {\n return typeof Symbol === 'function';\n};\n\nvar hasSymbol = function (name) {\n return hasSymbols() && Boolean(Symbol[name]);\n};\n\nvar getSymbol = function (name) {\n return hasSymbol(name) ? Symbol[name] : '@@' + name;\n};\n\nif (hasSymbols() && !hasSymbol('observable')) {\n Symbol.observable = Symbol('observable');\n}\n\nvar SymbolIterator = getSymbol('iterator');\nvar SymbolObservable = getSymbol('observable');\nvar SymbolSpecies = getSymbol('species'); // === Abstract Operations ===\n\nfunction getMethod(obj, key) {\n var value = obj[key];\n if (value == null) return undefined;\n if (typeof value !== 'function') throw new TypeError(value + ' is not a function');\n return value;\n}\n\nfunction getSpecies(obj) {\n var ctor = obj.constructor;\n\n if (ctor !== undefined) {\n ctor = ctor[SymbolSpecies];\n\n if (ctor === null) {\n ctor = undefined;\n }\n }\n\n return ctor !== undefined ? ctor : Observable;\n}\n\nfunction isObservable(x) {\n return x instanceof Observable; // SPEC: Brand check\n}\n\nfunction hostReportError(e) {\n if (hostReportError.log) {\n hostReportError.log(e);\n } else {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction enqueue(fn) {\n Promise.resolve().then(function () {\n try {\n fn();\n } catch (e) {\n hostReportError(e);\n }\n });\n}\n\nfunction cleanupSubscription(subscription) {\n var cleanup = subscription._cleanup;\n if (cleanup === undefined) return;\n subscription._cleanup = undefined;\n\n if (!cleanup) {\n return;\n }\n\n try {\n if (typeof cleanup === 'function') {\n cleanup();\n } else {\n var unsubscribe = getMethod(cleanup, 'unsubscribe');\n\n if (unsubscribe) {\n unsubscribe.call(cleanup);\n }\n }\n } catch (e) {\n hostReportError(e);\n }\n}\n\nfunction closeSubscription(subscription) {\n subscription._observer = undefined;\n subscription._queue = undefined;\n subscription._state = 'closed';\n}\n\nfunction flushSubscription(subscription) {\n var queue = subscription._queue;\n\n if (!queue) {\n return;\n }\n\n subscription._queue = undefined;\n subscription._state = 'ready';\n\n for (var i = 0; i < queue.length; ++i) {\n notifySubscription(subscription, queue[i].type, queue[i].value);\n if (subscription._state === 'closed') break;\n }\n}\n\nfunction notifySubscription(subscription, type, value) {\n subscription._state = 'running';\n var observer = subscription._observer;\n\n try {\n var m = getMethod(observer, type);\n\n switch (type) {\n case 'next':\n if (m) m.call(observer, value);\n break;\n\n case 'error':\n closeSubscription(subscription);\n if (m) m.call(observer, value);else throw value;\n break;\n\n case 'complete':\n closeSubscription(subscription);\n if (m) m.call(observer);\n break;\n }\n } catch (e) {\n hostReportError(e);\n }\n\n if (subscription._state === 'closed') cleanupSubscription(subscription);else if (subscription._state === 'running') subscription._state = 'ready';\n}\n\nfunction onNotify(subscription, type, value) {\n if (subscription._state === 'closed') return;\n\n if (subscription._state === 'buffering') {\n subscription._queue.push({\n type: type,\n value: value\n });\n\n return;\n }\n\n if (subscription._state !== 'ready') {\n subscription._state = 'buffering';\n subscription._queue = [{\n type: type,\n value: value\n }];\n enqueue(function () {\n return flushSubscription(subscription);\n });\n return;\n }\n\n notifySubscription(subscription, type, value);\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(observer, subscriber) {\n _classCallCheck(this, Subscription);\n\n // ASSERT: observer is an object\n // ASSERT: subscriber is callable\n this._cleanup = undefined;\n this._observer = observer;\n this._queue = undefined;\n this._state = 'initializing';\n var subscriptionObserver = new SubscriptionObserver(this);\n\n try {\n this._cleanup = subscriber.call(undefined, subscriptionObserver);\n } catch (e) {\n subscriptionObserver.error(e);\n }\n\n if (this._state === 'initializing') this._state = 'ready';\n }\n\n _createClass(Subscription, [{\n key: \"unsubscribe\",\n value: function unsubscribe() {\n if (this._state !== 'closed') {\n closeSubscription(this);\n cleanupSubscription(this);\n }\n }\n }, {\n key: \"closed\",\n get: function () {\n return this._state === 'closed';\n }\n }]);\n\n return Subscription;\n}();\n\nvar SubscriptionObserver =\n/*#__PURE__*/\nfunction () {\n function SubscriptionObserver(subscription) {\n _classCallCheck(this, SubscriptionObserver);\n\n this._subscription = subscription;\n }\n\n _createClass(SubscriptionObserver, [{\n key: \"next\",\n value: function next(value) {\n onNotify(this._subscription, 'next', value);\n }\n }, {\n key: \"error\",\n value: function error(value) {\n onNotify(this._subscription, 'error', value);\n }\n }, {\n key: \"complete\",\n value: function complete() {\n onNotify(this._subscription, 'complete');\n }\n }, {\n key: \"closed\",\n get: function () {\n return this._subscription._state === 'closed';\n }\n }]);\n\n return SubscriptionObserver;\n}();\n\nvar Observable =\n/*#__PURE__*/\nfunction () {\n function Observable(subscriber) {\n _classCallCheck(this, Observable);\n\n if (!(this instanceof Observable)) throw new TypeError('Observable cannot be called as a function');\n if (typeof subscriber !== 'function') throw new TypeError('Observable initializer must be a function');\n this._subscriber = subscriber;\n }\n\n _createClass(Observable, [{\n key: \"subscribe\",\n value: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n observer = {\n next: observer,\n error: arguments[1],\n complete: arguments[2]\n };\n }\n\n return new Subscription(observer, this._subscriber);\n }\n }, {\n key: \"forEach\",\n value: function forEach(fn) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n if (typeof fn !== 'function') {\n reject(new TypeError(fn + ' is not a function'));\n return;\n }\n\n function done() {\n subscription.unsubscribe();\n resolve();\n }\n\n var subscription = _this.subscribe({\n next: function (value) {\n try {\n fn(value, done);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n }, {\n key: \"map\",\n value: function map(fn) {\n var _this2 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this2.subscribe({\n next: function (value) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"filter\",\n value: function filter(fn) {\n var _this3 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this3.subscribe({\n next: function (value) {\n try {\n if (!fn(value)) return;\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"reduce\",\n value: function reduce(fn) {\n var _this4 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n var hasSeed = arguments.length > 1;\n var hasValue = false;\n var seed = arguments[1];\n var acc = seed;\n return new C(function (observer) {\n return _this4.subscribe({\n next: function (value) {\n var first = !hasValue;\n hasValue = true;\n\n if (!first || hasSeed) {\n try {\n acc = fn(acc, value);\n } catch (e) {\n return observer.error(e);\n }\n } else {\n acc = value;\n }\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (!hasValue && !hasSeed) return observer.error(new TypeError('Cannot reduce an empty sequence'));\n observer.next(acc);\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"concat\",\n value: function concat() {\n var _this5 = this;\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscription;\n var index = 0;\n\n function startNext(next) {\n subscription = next.subscribe({\n next: function (v) {\n observer.next(v);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (index === sources.length) {\n subscription = undefined;\n observer.complete();\n } else {\n startNext(C.from(sources[index++]));\n }\n }\n });\n }\n\n startNext(_this5);\n return function () {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n });\n }\n }, {\n key: \"flatMap\",\n value: function flatMap(fn) {\n var _this6 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscriptions = [];\n\n var outer = _this6.subscribe({\n next: function (value) {\n if (fn) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n }\n\n var inner = C.from(value).subscribe({\n next: function (value) {\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n var i = subscriptions.indexOf(inner);\n if (i >= 0) subscriptions.splice(i, 1);\n completeIfDone();\n }\n });\n subscriptions.push(inner);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n completeIfDone();\n }\n });\n\n function completeIfDone() {\n if (outer.closed && subscriptions.length === 0) observer.complete();\n }\n\n return function () {\n subscriptions.forEach(function (s) {\n return s.unsubscribe();\n });\n outer.unsubscribe();\n };\n });\n }\n }, {\n key: SymbolObservable,\n value: function () {\n return this;\n }\n }], [{\n key: \"from\",\n value: function from(x) {\n var C = typeof this === 'function' ? this : Observable;\n if (x == null) throw new TypeError(x + ' is not an object');\n var method = getMethod(x, SymbolObservable);\n\n if (method) {\n var observable = method.call(x);\n if (Object(observable) !== observable) throw new TypeError(observable + ' is not an object');\n if (isObservable(observable) && observable.constructor === C) return observable;\n return new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n\n if (hasSymbol('iterator')) {\n method = getMethod(x, SymbolIterator);\n\n if (method) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = method.call(x)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _item = _step.value;\n observer.next(_item);\n if (observer.closed) return;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n observer.complete();\n });\n });\n }\n }\n\n if (Array.isArray(x)) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < x.length; ++i) {\n observer.next(x[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n\n throw new TypeError(x + ' is not observable');\n }\n }, {\n key: \"of\",\n value: function of() {\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n\n var C = typeof this === 'function' ? this : Observable;\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < items.length; ++i) {\n observer.next(items[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n }, {\n key: SymbolSpecies,\n get: function () {\n return this;\n }\n }]);\n\n return Observable;\n}();\n\nexports.Observable = Observable;\n\nif (hasSymbols()) {\n Object.defineProperty(Observable, Symbol('extensions'), {\n value: {\n symbol: SymbolObservable,\n hostReportError: hostReportError\n },\n configurable: true\n });\n}","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar JSON = global.JSON;\nvar nativeJSONStringify = JSON && JSON.stringify;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nJSON && $({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return nativeJSONStringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || nativeJSONStringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || nativeJSONStringify(Object(symbol)) != '{}';\n}) }, {\n stringify: function stringify(it) {\n var args = [it];\n var index = 1;\n var replacer, $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return nativeJSONStringify.apply(JSON, args);\n }\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var defaultFunctionName = '';\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n//# sourceMappingURL=stacktrace.js.map"," \r\n export enum DisplayTestFrequency {\r\n None = 0,\r\n Minutes1 = 1,\r\n Minutes5 = 2,\r\n Minutes10 = 3,\r\n Minutes15 = 4,\r\n Minutes20 = 5,\r\n Minutes30 = 6,\r\n Minutes60 = 7,\r\n Hours2 = 8,\r\n Hours3 = 9,\r\n Hours4 = 10,\r\n Hours6 = 11,\r\n Hours8 = 12,\r\n Hours12 = 13,\r\n Hours24 = 14,\r\n Minutes4 = 15,\r\n Minutes2 = 16,\r\n Minutes3 = 17,\r\n }\r\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","/**\n * Returns true if and only if the user is on a iOS device.\n * Used to determine whether iOS-specific behavior should be applied.\n */\nexport var isIOS = function () {\n if (!window || !window.navigator || !window.navigator.userAgent) {\n return false;\n }\n return /iPad|iPhone|iPod/i.test(window.navigator.userAgent);\n};\n//# sourceMappingURL=mobileDetector.js.map","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","export const BGPApdexLowThreshold = 89;\r\nexport const BGPApdexHighhreshold = 99.999;\r\nexport const ComparativeTimeDimensionBaseIdentifier = 0;\r\nexport const ComparativeTimeDimensionComparativeIdentifier = 1;\r\nexport const DisplayValueForNull = 0;\r\nexport const FolderIdQueryString = 'folderId';\r\nexport const ProductIdQueryString = 'productId';\r\nexport const SonarUnmappedLocationId = 0;\r\nexport const AuthenticatedHawkUIBasePath = '/Content/';\r\nexport const NewUIHawkUIBasePath = 'Symphony';\r\nexport const UnAuthenticatedHawkUIBasePath = '/Entry/';\r\nexport const UnknownDisplay = '[Unknown]';\r\nexport const NoneDisplay = 'None';\r\nexport const MaxCertificatesForTest = 25;\r\nexport const MaxPasswordsForTest = 25;\r\nexport const MaxTokensForTest = 25;\r\nexport const MaxTracepointsForTest = 25;\r\nexport const MaxIndicatorsForTest = 25;\r\nexport const maxCustomDashboardWidgets: number = 10;\r\nexport const CoreNoDataExceptionText = 'No Report-Types with IDs were specified';\r\nexport const DashboardPermissionDeniedErrorText = 'You do not have permission to access this information';\r\nexport const ContactDeleteErrorText =\r\n 'Rollback: Associated information was found. Please remove all associations with the item before deleting.';\r\nexport const UniqueConstraintError = 'Failed to save. An item with the same name may already exist.';\r\nexport const RealUserFeatureDisableError =\r\n 'You do not have permission to access this information. Glimpse Feature not enabled.';\r\nexport const OperationTimeout = 'Operation timed out.';\r\n// tslint:disable-next-line: max-line-length\r\nexport const ReportCommunicationException =\r\n 'The chart data exceeded the amount of data allowed by the application. Please modify your chart criteria to reduce the amount of records.';\r\nexport const MaxIndicesForTest = 10;\r\n// We have a limit set on server side on how many items to get in analytics response.\r\n// This is optional for client to set since server will apply 50K limit by default.\r\nexport const MaxRecords = 50000;\r\n// This is the limit (30K) for scatterplot chart request since it impacts the performance.\r\nexport const ScatterplotMaxRecords = 30000;\r\nexport const MaxTestsPerPerfChart = 50;\r\nexport const INSTANT_TEST_MAX_DAILY_COUNT = 100;\r\nexport const UseNewInstantTestLink = true;\r\n\r\nexport const InternalUserEmailHost = 'catchpoint.com';\r\nexport const MaxSyntheticInstantTestNodes = 20;\r\nexport const NodesSuggestionsLimit = 30;\r\nexport const MaxRecipientsForNotificationGroup = 20;\r\n\r\nexport const FirstPartyZoneId = -2;\r\nexport const ThirdPartyZoneId = -3;\r\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","import { getWindow } from './dom/getWindow';\n/**\n * Fetches an item from session storage without throwing an exception\n * @param key The key of the item to fetch from session storage\n */\nexport function getItem(key) {\n var result = null;\n try {\n var win = getWindow();\n result = win ? win.sessionStorage.getItem(key) : null;\n }\n catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n/**\n * Inserts an item into session storage without throwing an exception\n * @param key The key of the item to add to session storage\n * @param data The data to put into session storage\n */\nexport function setItem(key, data) {\n var _a;\n try {\n (_a = getWindow()) === null || _a === void 0 ? void 0 : _a.sessionStorage.setItem(key, data);\n }\n catch (e) {\n /* Eat the exception */\n }\n}\n//# sourceMappingURL=sessionStorage.js.map","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var _a = Object.prototype, toString = _a.toString, hasOwnProperty = _a.hasOwnProperty;\r\nvar fnToStr = Function.prototype.toString;\r\nvar previousComparisons = new Map();\r\n/**\r\n * Performs a deep equality check on two JavaScript values, tolerating cycles.\r\n */\r\nfunction equal(a, b) {\r\n try {\r\n return check(a, b);\r\n }\r\n finally {\r\n previousComparisons.clear();\r\n }\r\n}\r\nfunction check(a, b) {\r\n // If the two values are strictly equal, our job is easy.\r\n if (a === b) {\r\n return true;\r\n }\r\n // Object.prototype.toString returns a representation of the runtime type of\r\n // the given value that is considerably more precise than typeof.\r\n var aTag = toString.call(a);\r\n var bTag = toString.call(b);\r\n // If the runtime types of a and b are different, they could maybe be equal\r\n // under some interpretation of equality, but for simplicity and performance\r\n // we just return false instead.\r\n if (aTag !== bTag) {\r\n return false;\r\n }\r\n switch (aTag) {\r\n case '[object Array]':\r\n // Arrays are a lot like other objects, but we can cheaply compare their\r\n // lengths as a short-cut before comparing their elements.\r\n if (a.length !== b.length)\r\n return false;\r\n // Fall through to object case...\r\n case '[object Object]': {\r\n if (previouslyCompared(a, b))\r\n return true;\r\n var aKeys = definedKeys(a);\r\n var bKeys = definedKeys(b);\r\n // If `a` and `b` have a different number of enumerable keys, they\r\n // must be different.\r\n var keyCount = aKeys.length;\r\n if (keyCount !== bKeys.length)\r\n return false;\r\n // Now make sure they have the same keys.\r\n for (var k = 0; k < keyCount; ++k) {\r\n if (!hasOwnProperty.call(b, aKeys[k])) {\r\n return false;\r\n }\r\n }\r\n // Finally, check deep equality of all child properties.\r\n for (var k = 0; k < keyCount; ++k) {\r\n var key = aKeys[k];\r\n if (!check(a[key], b[key])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n case '[object Error]':\r\n return a.name === b.name && a.message === b.message;\r\n case '[object Number]':\r\n // Handle NaN, which is !== itself.\r\n if (a !== a)\r\n return b !== b;\r\n // Fall through to shared +a === +b case...\r\n case '[object Boolean]':\r\n case '[object Date]':\r\n return +a === +b;\r\n case '[object RegExp]':\r\n case '[object String]':\r\n return a == \"\" + b;\r\n case '[object Map]':\r\n case '[object Set]': {\r\n if (a.size !== b.size)\r\n return false;\r\n if (previouslyCompared(a, b))\r\n return true;\r\n var aIterator = a.entries();\r\n var isMap = aTag === '[object Map]';\r\n while (true) {\r\n var info = aIterator.next();\r\n if (info.done)\r\n break;\r\n // If a instanceof Set, aValue === aKey.\r\n var _a = info.value, aKey = _a[0], aValue = _a[1];\r\n // So this works the same way for both Set and Map.\r\n if (!b.has(aKey)) {\r\n return false;\r\n }\r\n // However, we care about deep equality of values only when dealing\r\n // with Map structures.\r\n if (isMap && !check(aValue, b.get(aKey))) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n case '[object Uint16Array]':\r\n case '[object Uint8Array]': // Buffer, in Node.js.\r\n case '[object Uint32Array]':\r\n case '[object Int32Array]':\r\n case '[object Int8Array]':\r\n case '[object Int16Array]':\r\n case '[object ArrayBuffer]':\r\n // DataView doesn't need these conversions, but the equality check is\r\n // otherwise the same.\r\n a = new Uint8Array(a);\r\n b = new Uint8Array(b);\r\n // Fall through...\r\n case '[object DataView]': {\r\n var len = a.byteLength;\r\n if (len === b.byteLength) {\r\n while (len-- && a[len] === b[len]) {\r\n // Keep looping as long as the bytes are equal.\r\n }\r\n }\r\n return len === -1;\r\n }\r\n case '[object AsyncFunction]':\r\n case '[object GeneratorFunction]':\r\n case '[object AsyncGeneratorFunction]':\r\n case '[object Function]': {\r\n var aCode = fnToStr.call(a);\r\n if (aCode !== fnToStr.call(b)) {\r\n return false;\r\n }\r\n // We consider non-native functions equal if they have the same code\r\n // (native functions require === because their code is censored).\r\n // Note that this behavior is not entirely sound, since !== function\r\n // objects with the same code can behave differently depending on\r\n // their closure scope. However, any function can behave differently\r\n // depending on the values of its input arguments (including this)\r\n // and its calling context (including its closure scope), even\r\n // though the function object is === to itself; and it is entirely\r\n // possible for functions that are not === to behave exactly the\r\n // same under all conceivable circumstances. Because none of these\r\n // factors are statically decidable in JavaScript, JS function\r\n // equality is not well-defined. This ambiguity allows us to\r\n // consider the best possible heuristic among various imperfect\r\n // options, and equating non-native functions that have the same\r\n // code has enormous practical benefits, such as when comparing\r\n // functions that are repeatedly passed as fresh function\r\n // expressions within objects that are otherwise deeply equal. Since\r\n // any function created from the same syntactic expression (in the\r\n // same code location) will always stringify to the same code\r\n // according to fnToStr.call, we can reasonably expect these\r\n // repeatedly passed function expressions to have the same code, and\r\n // thus behave \"the same\" (with all the caveats mentioned above),\r\n // even though the runtime function objects are !== to one another.\r\n return !endsWith(aCode, nativeCodeSuffix);\r\n }\r\n }\r\n // Otherwise the values are not equal.\r\n return false;\r\n}\r\nfunction definedKeys(obj) {\r\n // Remember that the second argument to Array.prototype.filter will be\r\n // used as `this` within the callback function.\r\n return Object.keys(obj).filter(isDefinedKey, obj);\r\n}\r\nfunction isDefinedKey(key) {\r\n return this[key] !== void 0;\r\n}\r\nvar nativeCodeSuffix = \"{ [native code] }\";\r\nfunction endsWith(full, suffix) {\r\n var fromIndex = full.length - suffix.length;\r\n return fromIndex >= 0 &&\r\n full.indexOf(suffix, fromIndex) === fromIndex;\r\n}\r\nfunction previouslyCompared(a, b) {\r\n // Though cyclic references can make an object graph appear infinite from the\r\n // perspective of a depth-first traversal, the graph still contains a finite\r\n // number of distinct object references. We use the previousComparisons cache\r\n // to avoid comparing the same pair of object references more than once, which\r\n // guarantees termination (even if we end up comparing every object in one\r\n // graph to every object in the other graph, which is extremely unlikely),\r\n // while still allowing weird isomorphic structures (like rings with different\r\n // lengths) a chance to pass the equality test.\r\n var bSet = previousComparisons.get(a);\r\n if (bSet) {\r\n // Return true here because we can be sure false will be returned somewhere\r\n // else if the objects are not equivalent.\r\n if (bSet.has(b))\r\n return true;\r\n }\r\n else {\r\n previousComparisons.set(a, bSet = new Set);\r\n }\r\n bSet.add(b);\r\n return false;\r\n}\n\nexport default equal;\nexport { equal };\n//# sourceMappingURL=equality.esm.js.map\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","import { arraysEqual } from './array';\n/**\n * Set up a ref resolver function given internal state managed for the ref.\n * @param local Set\n */\nvar createResolver = function (local) { return function (newValue) {\n for (var _i = 0, _a = local.refs; _i < _a.length; _i++) {\n var ref = _a[_i];\n if (typeof ref === 'function') {\n ref(newValue);\n }\n else if (ref) {\n // work around the immutability of the React.Ref type\n ref.current = newValue;\n }\n }\n}; };\n/**\n * Helper to merge refs from within class components.\n */\nexport var createMergedRef = function (value) {\n var local = {\n refs: [],\n };\n return function () {\n var newRefs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newRefs[_i] = arguments[_i];\n }\n if (!local.resolver || !arraysEqual(local.refs, newRefs)) {\n local.resolver = createResolver(local);\n }\n local.refs = newRefs;\n return local.resolver;\n };\n};\n//# sourceMappingURL=createMergedRef.js.map","import { findElementRecursive } from './findElementRecursive';\nimport { DATA_PORTAL_ATTRIBUTE } from './setPortalAttribute';\n/**\n * Determine whether a target is within a portal from perspective of root or optional parent.\n * This function only works against portal components that use the setPortalAttribute function.\n * If both parent and child are within the same portal this function will return false.\n * @param target - Element to query portal containment status of.\n * @param parent - Optional parent perspective. Search for containing portal stops at parent\n * (or root if parent is undefined or invalid.)\n */\nexport function portalContainsElement(target, parent) {\n var elementMatch = findElementRecursive(target, function (testElement) { return parent === testElement || testElement.hasAttribute(DATA_PORTAL_ATTRIBUTE); });\n return elementMatch !== null && elementMatch.hasAttribute(DATA_PORTAL_ATTRIBUTE);\n}\n//# sourceMappingURL=portalContainsElement.js.map","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n *\n * @public\n */\nexport function getVirtualParent(child) {\n var parent;\n if (child && isVirtualElement(child)) {\n parent = child._virtual.parent;\n }\n return parent;\n}\n//# sourceMappingURL=getVirtualParent.js.map","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cont\":\"ChartStatus_cont_3nPZ7\",\"left\":\"ChartStatus_left_RgGSJ\",\"right\":\"ChartStatus_right_3VGSw\",\"center\":\"ChartStatus_center_FPBt7\",\"capitalize\":\"ChartStatus_capitalize_2lXDH\"};","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Customizer, getNativeProps, divProperties, classNamesFunction, getDocument, memoizeFunction, getRTL, FocusRects, } from '../../Utilities';\nimport { createTheme } from '../../Styling';\nvar getClassNames = classNamesFunction();\nvar getFabricTheme = memoizeFunction(function (theme, isRTL) { return createTheme(__assign(__assign({}, theme), { rtl: isRTL })); });\nvar getDir = function (theme, dir) {\n var contextDir = getRTL(theme) ? 'rtl' : 'ltr';\n var pageDir = getRTL() ? 'rtl' : 'ltr';\n var componentDir = dir ? dir : contextDir;\n return {\n // If Fabric dir !== contextDir\n // Or If contextDir !== pageDir\n // Then we need to set dir of the Fabric root\n rootDir: componentDir !== contextDir || componentDir !== pageDir ? componentDir : dir,\n // If dir !== contextDir || pageDir\n // then set contextual theme around content\n needsTheme: componentDir !== contextDir,\n };\n};\nvar FabricBase = /** @class */ (function (_super) {\n __extends(FabricBase, _super);\n function FabricBase() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._rootElement = React.createRef();\n _this._removeClassNameFromBody = undefined;\n return _this;\n }\n FabricBase.prototype.render = function () {\n var _a = this.props, _b = _a.as, Root = _b === void 0 ? 'div' : _b, theme = _a.theme, dir = _a.dir;\n var classNames = this._getClassNames();\n var divProps = getNativeProps(this.props, divProperties, ['dir']);\n var _c = getDir(theme, dir), rootDir = _c.rootDir, needsTheme = _c.needsTheme;\n var renderedContent = React.createElement(Root, __assign({ dir: rootDir }, divProps, { className: classNames.root, ref: this._rootElement }));\n if (needsTheme) {\n renderedContent = (React.createElement(Customizer, { settings: { theme: getFabricTheme(theme, dir === 'rtl') } }, renderedContent));\n }\n return (React.createElement(React.Fragment, null,\n renderedContent,\n React.createElement(FocusRects, { rootRef: this._rootElement })));\n };\n FabricBase.prototype.componentDidMount = function () {\n this._addClassNameToBody();\n };\n FabricBase.prototype.componentWillUnmount = function () {\n if (this._removeClassNameFromBody) {\n this._removeClassNameFromBody();\n }\n };\n FabricBase.prototype._getClassNames = function () {\n var _a = this.props, className = _a.className, theme = _a.theme, applyTheme = _a.applyTheme, styles = _a.styles;\n var classNames = getClassNames(styles, {\n theme: theme,\n applyTheme: applyTheme,\n className: className,\n });\n return classNames;\n };\n FabricBase.prototype._addClassNameToBody = function () {\n if (this.props.applyThemeToBody) {\n var classNames_1 = this._getClassNames();\n var currentDoc_1 = getDocument(this._rootElement.current);\n if (currentDoc_1) {\n currentDoc_1.body.classList.add(classNames_1.bodyThemed);\n this._removeClassNameFromBody = function () {\n currentDoc_1.body.classList.remove(classNames_1.bodyThemed);\n };\n }\n }\n };\n return FabricBase;\n}(React.Component));\nexport { FabricBase };\n//# sourceMappingURL=Fabric.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar inheritFont = { fontFamily: 'inherit' };\nvar GlobalClassNames = {\n root: 'ms-Fabric',\n bodyThemed: 'ms-Fabric-bodyThemed',\n};\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className, applyTheme = props.applyTheme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n color: theme.palette.neutralPrimary,\n selectors: {\n '& button': inheritFont,\n '& input': inheritFont,\n '& textarea': inheritFont,\n },\n },\n // apply theme to only if applyTheme is true\n applyTheme && {\n color: theme.semanticColors.bodyText,\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n className,\n ],\n bodyThemed: [\n {\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n ],\n };\n};\n//# sourceMappingURL=Fabric.styles.js.map","import { styled } from '../../Utilities';\nimport { FabricBase } from './Fabric.base';\nimport { getStyles } from './Fabric.styles';\nexport var Fabric = styled(FabricBase, getStyles, undefined, {\n scope: 'Fabric',\n});\n//# sourceMappingURL=Fabric.js.map","'use strict';\nvar classof = require('../internals/classof');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = String(test) !== '[object z]' ? function toString() {\n return '[object ' + classof(this) + ']';\n} : test.toString;\n","import { invariant, InvariantError } from 'ts-invariant';\nimport { valueToObjectRepresentation } from \"./storeUtils.js\";\nexport function checkDocument(doc) {\n process.env.NODE_ENV === \"production\" ? invariant(doc && doc.kind === 'Document', 45) : invariant(doc && doc.kind === 'Document', \"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\");\n var operations = doc.definitions\n .filter(function (d) { return d.kind !== 'FragmentDefinition'; })\n .map(function (definition) {\n if (definition.kind !== 'OperationDefinition') {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(46) : new InvariantError(\"Schema type definitions not allowed in queries. Found: \\\"\" + definition.kind + \"\\\"\");\n }\n return definition;\n });\n process.env.NODE_ENV === \"production\" ? invariant(operations.length <= 1, 47) : invariant(operations.length <= 1, \"Ambiguous GraphQL document: contains \" + operations.length + \" operations\");\n return doc;\n}\nexport function getOperationDefinition(doc) {\n checkDocument(doc);\n return doc.definitions.filter(function (definition) { return definition.kind === 'OperationDefinition'; })[0];\n}\nexport function getOperationName(doc) {\n return (doc.definitions\n .filter(function (definition) {\n return definition.kind === 'OperationDefinition' && definition.name;\n })\n .map(function (x) { return x.name.value; })[0] || null);\n}\nexport function getFragmentDefinitions(doc) {\n return doc.definitions.filter(function (definition) { return definition.kind === 'FragmentDefinition'; });\n}\nexport function getQueryDefinition(doc) {\n var queryDef = getOperationDefinition(doc);\n process.env.NODE_ENV === \"production\" ? invariant(queryDef && queryDef.operation === 'query', 48) : invariant(queryDef && queryDef.operation === 'query', 'Must contain a query definition.');\n return queryDef;\n}\nexport function getFragmentDefinition(doc) {\n process.env.NODE_ENV === \"production\" ? invariant(doc.kind === 'Document', 49) : invariant(doc.kind === 'Document', \"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\");\n process.env.NODE_ENV === \"production\" ? invariant(doc.definitions.length <= 1, 50) : invariant(doc.definitions.length <= 1, 'Fragment must have exactly one definition.');\n var fragmentDef = doc.definitions[0];\n process.env.NODE_ENV === \"production\" ? invariant(fragmentDef.kind === 'FragmentDefinition', 51) : invariant(fragmentDef.kind === 'FragmentDefinition', 'Must be a fragment definition.');\n return fragmentDef;\n}\nexport function getMainDefinition(queryDoc) {\n checkDocument(queryDoc);\n var fragmentDefinition;\n for (var _i = 0, _a = queryDoc.definitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n if (definition.kind === 'OperationDefinition') {\n var operation = definition.operation;\n if (operation === 'query' ||\n operation === 'mutation' ||\n operation === 'subscription') {\n return definition;\n }\n }\n if (definition.kind === 'FragmentDefinition' && !fragmentDefinition) {\n fragmentDefinition = definition;\n }\n }\n if (fragmentDefinition) {\n return fragmentDefinition;\n }\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(52) : new InvariantError('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.');\n}\nexport function getDefaultValues(definition) {\n var defaultValues = Object.create(null);\n var defs = definition && definition.variableDefinitions;\n if (defs && defs.length) {\n defs.forEach(function (def) {\n if (def.defaultValue) {\n valueToObjectRepresentation(defaultValues, def.variable.name, def.defaultValue);\n }\n });\n }\n return defaultValues;\n}\n//# sourceMappingURL=getFromAST.js.map","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\nimport { mergeCustomizations } from './mergeCustomizations';\n/**\n * The Customizer component allows for default props to be mixed into components which\n * are decorated with the customizable() decorator, or use the styled HOC. This enables\n * injection scenarios like:\n *\n * 1. render svg icons instead of the icon font within all buttons\n * 2. inject a custom theme object into a component\n *\n * Props are provided via the settings prop which should be one of the following:\n * - A json map which contains 1 or more name/value pairs representing injectable props.\n * - A function that receives the current settings and returns the new ones that apply to the scope\n *\n * @public\n */\nvar Customizer = /** @class */ (function (_super) {\n __extends(Customizer, _super);\n function Customizer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._onCustomizationChange = function () { return _this.forceUpdate(); };\n return _this;\n }\n Customizer.prototype.componentDidMount = function () {\n Customizations.observe(this._onCustomizationChange);\n };\n Customizer.prototype.componentWillUnmount = function () {\n Customizations.unobserve(this._onCustomizationChange);\n };\n Customizer.prototype.render = function () {\n var _this = this;\n var contextTransform = this.props.contextTransform;\n return (React.createElement(CustomizerContext.Consumer, null, function (parentContext) {\n var newContext = mergeCustomizations(_this.props, parentContext);\n if (contextTransform) {\n newContext = contextTransform(newContext);\n }\n return React.createElement(CustomizerContext.Provider, { value: newContext }, _this.props.children);\n }));\n };\n return Customizer;\n}(React.Component));\nexport { Customizer };\n//# sourceMappingURL=Customizer.js.map","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar userAgent = require('../internals/user-agent');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","import { InvariantError } from 'ts-invariant';\nexport var checkFetcher = function (fetcher) {\n if (!fetcher && typeof fetch === 'undefined') {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(22) : new InvariantError(\"\\n\\\"fetch\\\" has not been found globally and no fetcher has been configured. To fix this, install a fetch package (like https://www.npmjs.com/package/cross-fetch), instantiate the fetcher, and pass it into your HttpLink constructor. For example:\\n\\nimport fetch from 'cross-fetch';\\nimport { ApolloClient, HttpLink } from '@apollo/client';\\nconst client = new ApolloClient({\\n link: new HttpLink({ uri: '/graphql', fetch })\\n});\\n \");\n }\n};\n//# sourceMappingURL=checkFetcher.js.map","export enum MetricUnit {\r\n Millisecond,\r\n Count,\r\n Percentage,\r\n Second,\r\n None,\r\n Issue\r\n}\r\n\r\nexport enum AnalysisGroup {\r\n RequestComponents,\r\n Webpage,\r\n Requests,\r\n Ping,\r\n Availability,\r\n WiFi,\r\n Marks,\r\n Network,\r\n Engagement,\r\n Device,\r\n BGPReachability\r\n}\r\n\r\nexport enum KeyMetricType {\r\n None,\r\n Dns,\r\n Network,\r\n Webpage,\r\n DataTransfer,\r\n Message,\r\n ContentType,\r\n Default\r\n}\r\n","/**\n * Rectangle helper class.\n *\n * @public\n * {@docCategory Rectangle}\n */\nvar Rectangle = /** @class */ (function () {\n function Rectangle(left, right, top, bottom) {\n if (left === void 0) { left = 0; }\n if (right === void 0) { right = 0; }\n if (top === void 0) { top = 0; }\n if (bottom === void 0) { bottom = 0; }\n this.top = top;\n this.bottom = bottom;\n this.left = left;\n this.right = right;\n }\n Object.defineProperty(Rectangle.prototype, \"width\", {\n /**\n * Calculated automatically by subtracting the right from left\n */\n get: function () {\n return this.right - this.left;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Rectangle.prototype, \"height\", {\n /**\n * Calculated automatically by subtracting the bottom from top.\n */\n get: function () {\n return this.bottom - this.top;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Tests if another rect is approximately equal to this rect (within 4 decimal places.)\n */\n Rectangle.prototype.equals = function (rect) {\n // Fixing to 4 decimal places because it allows enough precision and will handle cases when something\n // should be rounded, like .999999 should round to 1.\n return (parseFloat(this.top.toFixed(4)) === parseFloat(rect.top.toFixed(4)) &&\n parseFloat(this.bottom.toFixed(4)) === parseFloat(rect.bottom.toFixed(4)) &&\n parseFloat(this.left.toFixed(4)) === parseFloat(rect.left.toFixed(4)) &&\n parseFloat(this.right.toFixed(4)) === parseFloat(rect.right.toFixed(4)));\n };\n return Rectangle;\n}());\nexport { Rectangle };\n//# sourceMappingURL=Rectangle.js.map","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nvar Symbol = global.Symbol;\nvar store = shared('wks');\n\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name]\n || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","import { mergeStyles } from '../MergeStyles';\n/**\n * Builds a class names object from a given map.\n *\n * @param styles - Map of unprocessed styles.\n * @returns Map of property name to class name.\n */\nexport function buildClassMap(styles) {\n var classes = {};\n var _loop_1 = function (styleName) {\n if (styles.hasOwnProperty(styleName)) {\n var className_1;\n Object.defineProperty(classes, styleName, {\n get: function () {\n if (className_1 === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n className_1 = mergeStyles(styles[styleName]).toString();\n }\n return className_1;\n },\n enumerable: true,\n configurable: true,\n });\n }\n };\n for (var styleName in styles) {\n _loop_1(styleName);\n }\n return classes;\n}\n//# sourceMappingURL=buildClassMap.js.map","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\nexport function keyframes(timeline) {\n var stylesheet = Stylesheet.getInstance();\n var name = stylesheet.getClassName();\n var rulesArray = [];\n for (var prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n var rules = rulesArray.join('');\n stylesheet.insertRule(\"@keyframes \" + name + \"{\" + rules + \"}\", true);\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n return name;\n}\n//# sourceMappingURL=keyframes.js.map","import { keyframes } from '@uifabric/merge-styles';\n/* Register the keyframes */\nvar EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';\nvar EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\nvar DURATION_1 = '0.167s';\nvar DURATION_2 = '0.267s';\nvar DURATION_3 = '0.367s';\nvar DURATION_4 = '0.467s';\nvar FADE_IN = keyframes({\n from: { opacity: 0 },\n to: { opacity: 1 },\n});\nvar FADE_OUT = keyframes({\n from: { opacity: 1 },\n to: { opacity: 0, visibility: 'hidden' },\n});\nvar SLIDE_RIGHT_IN10 = _createSlideInX(-10);\nvar SLIDE_RIGHT_IN20 = _createSlideInX(-20);\nvar SLIDE_RIGHT_IN40 = _createSlideInX(-40);\nvar SLIDE_RIGHT_IN400 = _createSlideInX(-400);\nvar SLIDE_LEFT_IN10 = _createSlideInX(10);\nvar SLIDE_LEFT_IN20 = _createSlideInX(20);\nvar SLIDE_LEFT_IN40 = _createSlideInX(40);\nvar SLIDE_LEFT_IN400 = _createSlideInX(400);\nvar SLIDE_UP_IN10 = _createSlideInY(10);\nvar SLIDE_UP_IN20 = _createSlideInY(20);\nvar SLIDE_DOWN_IN10 = _createSlideInY(-10);\nvar SLIDE_DOWN_IN20 = _createSlideInY(-20);\nvar SLIDE_RIGHT_OUT10 = _createSlideOutX(10);\nvar SLIDE_RIGHT_OUT20 = _createSlideOutX(20);\nvar SLIDE_RIGHT_OUT40 = _createSlideOutX(40);\nvar SLIDE_RIGHT_OUT400 = _createSlideOutX(400);\nvar SLIDE_LEFT_OUT10 = _createSlideOutX(-10);\nvar SLIDE_LEFT_OUT20 = _createSlideOutX(-20);\nvar SLIDE_LEFT_OUT40 = _createSlideOutX(-40);\nvar SLIDE_LEFT_OUT400 = _createSlideOutX(-400);\nvar SLIDE_UP_OUT10 = _createSlideOutY(-10);\nvar SLIDE_UP_OUT20 = _createSlideOutY(-20);\nvar SLIDE_DOWN_OUT10 = _createSlideOutY(10);\nvar SLIDE_DOWN_OUT20 = _createSlideOutY(20);\nvar SCALE_UP100 = keyframes({\n from: { transform: 'scale3d(.98,.98,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\nvar SCALE_DOWN98 = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(.98,.98,1)' },\n});\nvar SCALE_DOWN100 = keyframes({\n from: { transform: 'scale3d(1.03,1.03,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\nvar SCALE_UP103 = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(1.03,1.03,1)' },\n});\nvar ROTATE90 = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(90deg)' },\n});\nvar ROTATE_N90 = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(-90deg)' },\n});\n/**\n * Exporting raw duraction values and easing functions to be used in custom animations\n */\nexport var AnimationVariables = {\n easeFunction1: EASING_FUNCTION_1,\n easeFunction2: EASING_FUNCTION_2,\n durationValue1: DURATION_1,\n durationValue2: DURATION_2,\n durationValue3: DURATION_3,\n durationValue4: DURATION_4,\n};\n/**\n * All Fabric standard animations, exposed as json objects referencing predefined\n * keyframes. These objects can be mixed in with other class definitions.\n */\nexport var AnimationStyles = {\n slideRightIn10: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN10, DURATION_3, EASING_FUNCTION_1),\n slideRightIn20: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN20, DURATION_3, EASING_FUNCTION_1),\n slideRightIn40: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN40, DURATION_3, EASING_FUNCTION_1),\n slideRightIn400: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN400, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn10: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN10, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn20: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN20, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn40: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN40, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn400: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN400, DURATION_3, EASING_FUNCTION_1),\n slideUpIn10: _createAnimation(FADE_IN + \",\" + SLIDE_UP_IN10, DURATION_3, EASING_FUNCTION_1),\n slideUpIn20: _createAnimation(FADE_IN + \",\" + SLIDE_UP_IN20, DURATION_3, EASING_FUNCTION_1),\n slideDownIn10: _createAnimation(FADE_IN + \",\" + SLIDE_DOWN_IN10, DURATION_3, EASING_FUNCTION_1),\n slideDownIn20: _createAnimation(FADE_IN + \",\" + SLIDE_DOWN_IN20, DURATION_3, EASING_FUNCTION_1),\n slideRightOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideRightOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideRightOut40: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT40, DURATION_3, EASING_FUNCTION_1),\n slideRightOut400: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT400, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut40: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT40, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut400: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT400, DURATION_3, EASING_FUNCTION_1),\n slideUpOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_UP_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideUpOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_UP_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideDownOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_DOWN_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideDownOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_DOWN_OUT20, DURATION_3, EASING_FUNCTION_1),\n scaleUpIn100: _createAnimation(FADE_IN + \",\" + SCALE_UP100, DURATION_3, EASING_FUNCTION_1),\n scaleDownIn100: _createAnimation(FADE_IN + \",\" + SCALE_DOWN100, DURATION_3, EASING_FUNCTION_1),\n scaleUpOut103: _createAnimation(FADE_OUT + \",\" + SCALE_UP103, DURATION_1, EASING_FUNCTION_2),\n scaleDownOut98: _createAnimation(FADE_OUT + \",\" + SCALE_DOWN98, DURATION_1, EASING_FUNCTION_2),\n fadeIn100: _createAnimation(FADE_IN, DURATION_1, EASING_FUNCTION_2),\n fadeIn200: _createAnimation(FADE_IN, DURATION_2, EASING_FUNCTION_2),\n fadeIn400: _createAnimation(FADE_IN, DURATION_3, EASING_FUNCTION_2),\n fadeIn500: _createAnimation(FADE_IN, DURATION_4, EASING_FUNCTION_2),\n fadeOut100: _createAnimation(FADE_OUT, DURATION_1, EASING_FUNCTION_2),\n fadeOut200: _createAnimation(FADE_OUT, DURATION_2, EASING_FUNCTION_2),\n fadeOut400: _createAnimation(FADE_OUT, DURATION_3, EASING_FUNCTION_2),\n fadeOut500: _createAnimation(FADE_OUT, DURATION_4, EASING_FUNCTION_2),\n rotate90deg: _createAnimation(ROTATE90, '0.1s', EASING_FUNCTION_2),\n rotateN90deg: _createAnimation(ROTATE_N90, '0.1s', EASING_FUNCTION_2),\n};\nfunction _createAnimation(animationName, animationDuration, animationTimingFunction) {\n return {\n animationName: animationName,\n animationDuration: animationDuration,\n animationTimingFunction: animationTimingFunction,\n animationFillMode: 'both',\n };\n}\nfunction _createSlideInX(fromX) {\n return keyframes({\n from: { transform: \"translate3d(\" + fromX + \"px,0,0)\", pointerEvents: 'none' },\n to: { transform: \"translate3d(0,0,0)\", pointerEvents: 'auto' },\n });\n}\nfunction _createSlideInY(fromY) {\n return keyframes({\n from: { transform: \"translate3d(0,\" + fromY + \"px,0)\", pointerEvents: 'none' },\n to: { transform: \"translate3d(0,0,0)\", pointerEvents: 'auto' },\n });\n}\nfunction _createSlideOutX(toX) {\n return keyframes({\n from: { transform: \"translate3d(0,0,0)\" },\n to: { transform: \"translate3d(\" + toX + \"px,0,0)\" },\n });\n}\nfunction _createSlideOutY(toY) {\n return keyframes({\n from: { transform: \"translate3d(0,0,0)\" },\n to: { transform: \"translate3d(0,\" + toY + \"px,0)\" },\n });\n}\n//# sourceMappingURL=AnimationStyles.js.map","import { buildClassMap } from '../utilities/index';\nimport { AnimationStyles } from '../styles/index';\n/**\n * {@docCategory AnimationClassNames}\n */\nexport var AnimationClassNames = buildClassMap(AnimationStyles);\n//# sourceMappingURL=AnimationClassNames.js.map","// Font face names to be registered.\nexport var LocalizedFontNames;\n(function (LocalizedFontNames) {\n LocalizedFontNames.Arabic = 'Segoe UI Web (Arabic)';\n LocalizedFontNames.Cyrillic = 'Segoe UI Web (Cyrillic)';\n LocalizedFontNames.EastEuropean = 'Segoe UI Web (East European)';\n LocalizedFontNames.Greek = 'Segoe UI Web (Greek)';\n LocalizedFontNames.Hebrew = 'Segoe UI Web (Hebrew)';\n LocalizedFontNames.Thai = 'Leelawadee UI Web';\n LocalizedFontNames.Vietnamese = 'Segoe UI Web (Vietnamese)';\n LocalizedFontNames.WestEuropean = 'Segoe UI Web (West European)';\n LocalizedFontNames.Selawik = 'Selawik Web';\n LocalizedFontNames.Armenian = 'Segoe UI Web (Armenian)';\n LocalizedFontNames.Georgian = 'Segoe UI Web (Georgian)';\n})(LocalizedFontNames || (LocalizedFontNames = {}));\n// Font families with fallbacks, for the general regions.\nexport var LocalizedFontFamilies;\n(function (LocalizedFontFamilies) {\n LocalizedFontFamilies.Arabic = \"'\" + LocalizedFontNames.Arabic + \"'\";\n LocalizedFontFamilies.ChineseSimplified = \"'Microsoft Yahei UI', Verdana, Simsun\";\n LocalizedFontFamilies.ChineseTraditional = \"'Microsoft Jhenghei UI', Pmingliu\";\n LocalizedFontFamilies.Cyrillic = \"'\" + LocalizedFontNames.Cyrillic + \"'\";\n LocalizedFontFamilies.EastEuropean = \"'\" + LocalizedFontNames.EastEuropean + \"'\";\n LocalizedFontFamilies.Greek = \"'\" + LocalizedFontNames.Greek + \"'\";\n LocalizedFontFamilies.Hebrew = \"'\" + LocalizedFontNames.Hebrew + \"'\";\n LocalizedFontFamilies.Hindi = \"'Nirmala UI'\";\n LocalizedFontFamilies.Japanese = \"'Yu Gothic UI', 'Meiryo UI', Meiryo, 'MS Pgothic', Osaka\";\n LocalizedFontFamilies.Korean = \"'Malgun Gothic', Gulim\";\n LocalizedFontFamilies.Selawik = \"'\" + LocalizedFontNames.Selawik + \"'\";\n LocalizedFontFamilies.Thai = \"'Leelawadee UI Web', 'Kmer UI'\";\n LocalizedFontFamilies.Vietnamese = \"'\" + LocalizedFontNames.Vietnamese + \"'\";\n LocalizedFontFamilies.WestEuropean = \"'\" + LocalizedFontNames.WestEuropean + \"'\";\n LocalizedFontFamilies.Armenian = \"'\" + LocalizedFontNames.Armenian + \"'\";\n LocalizedFontFamilies.Georgian = \"'\" + LocalizedFontNames.Georgian + \"'\";\n})(LocalizedFontFamilies || (LocalizedFontFamilies = {}));\n// Standard font sizes.\nexport var FontSizes;\n(function (FontSizes) {\n FontSizes.size10 = '10px';\n FontSizes.size12 = '12px';\n FontSizes.size14 = '14px';\n FontSizes.size16 = '16px';\n FontSizes.size18 = '18px';\n FontSizes.size20 = '20px';\n FontSizes.size24 = '24px';\n FontSizes.size28 = '28px';\n FontSizes.size32 = '32px';\n FontSizes.size42 = '42px';\n FontSizes.size68 = '68px';\n FontSizes.mini = '10px';\n FontSizes.xSmall = '10px';\n FontSizes.small = '12px';\n FontSizes.smallPlus = '12px';\n FontSizes.medium = '14px';\n FontSizes.mediumPlus = '16px';\n FontSizes.icon = '16px';\n FontSizes.large = '18px';\n FontSizes.xLarge = '20px';\n FontSizes.xLargePlus = '24px';\n FontSizes.xxLarge = '28px';\n FontSizes.xxLargePlus = '32px';\n FontSizes.superLarge = '42px';\n FontSizes.mega = '68px';\n})(FontSizes || (FontSizes = {}));\n// Standard font weights.\nexport var FontWeights;\n(function (FontWeights) {\n FontWeights.light = 100;\n FontWeights.semilight = 300;\n FontWeights.regular = 400;\n FontWeights.semibold = 600;\n FontWeights.bold = 700;\n})(FontWeights || (FontWeights = {}));\n// Standard Icon Sizes.\nexport var IconFontSizes;\n(function (IconFontSizes) {\n IconFontSizes.xSmall = '10px';\n IconFontSizes.small = '12px';\n IconFontSizes.medium = '16px';\n IconFontSizes.large = '20px';\n})(IconFontSizes || (IconFontSizes = {}));\n//# sourceMappingURL=FluentFonts.js.map","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n/**\n * Registers a font face.\n * @public\n */\nexport function fontFace(font) {\n Stylesheet.getInstance().insertRule(\"@font-face{\" + serializeRuleEntries(getStyleOptions(), font) + \"}\", true);\n}\n//# sourceMappingURL=fontFace.js.map","import { FontSizes, FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './FluentFonts';\n// Fallback fonts, if specified system or web fonts are unavailable.\nvar FontFamilyFallbacks = \"'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif\";\n// By default, we favor system fonts for the default.\n// All localized fonts use a web font and never use the system font.\nvar defaultFontFamily = \"'Segoe UI', '\" + LocalizedFontNames.WestEuropean + \"'\";\n// Mapping of language prefix to to font family.\nvar LanguageToFontMap = {\n ar: LocalizedFontFamilies.Arabic,\n bg: LocalizedFontFamilies.Cyrillic,\n cs: LocalizedFontFamilies.EastEuropean,\n el: LocalizedFontFamilies.Greek,\n et: LocalizedFontFamilies.EastEuropean,\n he: LocalizedFontFamilies.Hebrew,\n hi: LocalizedFontFamilies.Hindi,\n hr: LocalizedFontFamilies.EastEuropean,\n hu: LocalizedFontFamilies.EastEuropean,\n ja: LocalizedFontFamilies.Japanese,\n kk: LocalizedFontFamilies.EastEuropean,\n ko: LocalizedFontFamilies.Korean,\n lt: LocalizedFontFamilies.EastEuropean,\n lv: LocalizedFontFamilies.EastEuropean,\n pl: LocalizedFontFamilies.EastEuropean,\n ru: LocalizedFontFamilies.Cyrillic,\n sk: LocalizedFontFamilies.EastEuropean,\n 'sr-latn': LocalizedFontFamilies.EastEuropean,\n th: LocalizedFontFamilies.Thai,\n tr: LocalizedFontFamilies.EastEuropean,\n uk: LocalizedFontFamilies.Cyrillic,\n vi: LocalizedFontFamilies.Vietnamese,\n 'zh-hans': LocalizedFontFamilies.ChineseSimplified,\n 'zh-hant': LocalizedFontFamilies.ChineseTraditional,\n hy: LocalizedFontFamilies.Armenian,\n ka: LocalizedFontFamilies.Georgian,\n};\nfunction _fontFamilyWithFallbacks(fontFamily) {\n return fontFamily + \", \" + FontFamilyFallbacks;\n}\n/**\n * If there is a localized font for this language, return that.\n * Returns undefined if there is no localized font for that language.\n */\nfunction _getLocalizedFontFamily(language) {\n for (var lang in LanguageToFontMap) {\n if (LanguageToFontMap.hasOwnProperty(lang) && language && lang.indexOf(language) === 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return LanguageToFontMap[lang];\n }\n }\n return defaultFontFamily;\n}\nfunction _createFont(size, weight, fontFamily) {\n return {\n fontFamily: fontFamily,\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontSize: size,\n fontWeight: weight,\n };\n}\nexport function createFontStyles(localeCode) {\n var localizedFont = _getLocalizedFontFamily(localeCode);\n var fontFamilyWithFallback = _fontFamilyWithFallbacks(localizedFont);\n var fontStyles = {\n tiny: _createFont(FontSizes.mini, FontWeights.regular, fontFamilyWithFallback),\n xSmall: _createFont(FontSizes.xSmall, FontWeights.regular, fontFamilyWithFallback),\n small: _createFont(FontSizes.small, FontWeights.regular, fontFamilyWithFallback),\n smallPlus: _createFont(FontSizes.smallPlus, FontWeights.regular, fontFamilyWithFallback),\n medium: _createFont(FontSizes.medium, FontWeights.regular, fontFamilyWithFallback),\n mediumPlus: _createFont(FontSizes.mediumPlus, FontWeights.regular, fontFamilyWithFallback),\n large: _createFont(FontSizes.large, FontWeights.regular, fontFamilyWithFallback),\n xLarge: _createFont(FontSizes.xLarge, FontWeights.semibold, fontFamilyWithFallback),\n xLargePlus: _createFont(FontSizes.xLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n xxLarge: _createFont(FontSizes.xxLarge, FontWeights.semibold, fontFamilyWithFallback),\n xxLargePlus: _createFont(FontSizes.xxLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n superLarge: _createFont(FontSizes.superLarge, FontWeights.semibold, fontFamilyWithFallback),\n mega: _createFont(FontSizes.mega, FontWeights.semibold, fontFamilyWithFallback),\n };\n return fontStyles;\n}\n//# sourceMappingURL=createFontStyles.js.map","import { fontFace } from '@uifabric/merge-styles';\nimport { FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './FluentFonts';\nimport { createFontStyles } from './createFontStyles';\nimport { getLanguage, getWindow } from '@uifabric/utilities';\n// Default urls.\nvar DefaultBaseUrl = 'https://static2.sharepointonline.com/files/fabric/assets';\n// Standard font styling.\nexport var DefaultFontStyles = createFontStyles(getLanguage('sessionStorage'));\nfunction _registerFontFace(fontFamily, url, fontWeight, localFontName) {\n fontFamily = \"'\" + fontFamily + \"'\";\n var localFontSrc = localFontName !== undefined ? \"local('\" + localFontName + \"'),\" : '';\n fontFace({\n fontFamily: fontFamily,\n src: localFontSrc + (\"url('\" + url + \".woff2') format('woff2'),\") + (\"url('\" + url + \".woff') format('woff')\"),\n fontWeight: fontWeight,\n fontStyle: 'normal',\n fontDisplay: 'swap',\n });\n}\nfunction _registerFontFaceSet(baseUrl, fontFamily, cdnFolder, cdnFontName, localFontName) {\n if (cdnFontName === void 0) { cdnFontName = 'segoeui'; }\n var urlBase = baseUrl + \"/\" + cdnFolder + \"/\" + cdnFontName;\n _registerFontFace(fontFamily, urlBase + '-light', FontWeights.light, localFontName && localFontName + ' Light');\n _registerFontFace(fontFamily, urlBase + '-semilight', FontWeights.semilight, localFontName && localFontName + ' SemiLight');\n _registerFontFace(fontFamily, urlBase + '-regular', FontWeights.regular, localFontName);\n _registerFontFace(fontFamily, urlBase + '-semibold', FontWeights.semibold, localFontName && localFontName + ' SemiBold');\n _registerFontFace(fontFamily, urlBase + '-bold', FontWeights.bold, localFontName && localFontName + ' Bold');\n}\nexport function registerDefaultFontFaces(baseUrl) {\n if (baseUrl) {\n var fontUrl = baseUrl + \"/fonts\";\n // Produce @font-face definitions for all supported web fonts.\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Thai, 'leelawadeeui-thai', 'leelawadeeui');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Arabic, 'segoeui-arabic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Cyrillic, 'segoeui-cyrillic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.EastEuropean, 'segoeui-easteuropean');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Greek, 'segoeui-greek');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Hebrew, 'segoeui-hebrew');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Vietnamese, 'segoeui-vietnamese');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.WestEuropean, 'segoeui-westeuropean', 'segoeui', 'Segoe UI');\n _registerFontFaceSet(fontUrl, LocalizedFontFamilies.Selawik, 'selawik', 'selawik');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Armenian, 'segoeui-armenian');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Georgian, 'segoeui-georgian');\n // Leelawadee UI (Thai) does not have a 'light' weight, so we override\n // the font-face generated above to use the 'semilight' weight instead.\n _registerFontFace('Leelawadee UI Web', fontUrl + \"/leelawadeeui-thai/leelawadeeui-semilight\", FontWeights.light);\n // Leelawadee UI (Thai) does not have a 'semibold' weight, so we override\n // the font-face generated above to use the 'bold' weight instead.\n _registerFontFace('Leelawadee UI Web', fontUrl + \"/leelawadeeui-thai/leelawadeeui-bold\", FontWeights.semibold);\n }\n}\n/**\n * Reads the fontBaseUrl from window.FabricConfig.fontBaseUrl or falls back to a default.\n */\nfunction _getFontBaseUrl() {\n var _a, _b, _c;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var fabricConfig = (_a = getWindow()) === null || _a === void 0 ? void 0 : _a.FabricConfig;\n return _c = (_b = fabricConfig) === null || _b === void 0 ? void 0 : _b.fontBaseUrl, (_c !== null && _c !== void 0 ? _c : DefaultBaseUrl);\n}\n/**\n * Register the font faces.\n */\nregisterDefaultFontFaces(_getFontBaseUrl());\n//# sourceMappingURL=DefaultFontStyles.js.map","import { buildClassMap } from '../utilities/buildClassMap';\nimport { DefaultFontStyles } from '../styles/DefaultFontStyles';\n/**\n * {@docCategory FontClassNames}\n */\nexport var FontClassNames = buildClassMap(DefaultFontStyles);\n//# sourceMappingURL=FontClassNames.js.map","export var Depths;\n(function (Depths) {\n Depths.depth0 = '0 0 0 0 transparent';\n Depths.depth4 = '0 1.6px 3.6px 0 rgba(0, 0, 0, 0.132), 0 0.3px 0.9px 0 rgba(0, 0, 0, 0.108)';\n Depths.depth8 = '0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108)';\n Depths.depth16 = '0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108)';\n Depths.depth64 = '0 25.6px 57.6px 0 rgba(0, 0, 0, 0.22), 0 4.8px 14.4px 0 rgba(0, 0, 0, 0.18)';\n})(Depths || (Depths = {}));\n//# sourceMappingURL=FluentDepths.js.map","// When adding or removing a color, make sure you keep this consistent with IColorClassNames\n// by adding the color variants.\nexport var DefaultPalette = {\n themeDarker: '#004578',\n themeDark: '#005a9e',\n themeDarkAlt: '#106ebe',\n themePrimary: '#0078d4',\n themeSecondary: '#2b88d8',\n themeTertiary: '#71afe5',\n themeLight: '#c7e0f4',\n themeLighter: '#deecf9',\n themeLighterAlt: '#eff6fc',\n black: '#000000',\n blackTranslucent40: 'rgba(0,0,0,.4)',\n neutralDark: '#201f1e',\n neutralPrimary: '#323130',\n neutralPrimaryAlt: '#3b3a39',\n neutralSecondary: '#605e5c',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#a19f9d',\n neutralTertiaryAlt: '#c8c6c4',\n neutralQuaternary: '#d2d0ce',\n neutralQuaternaryAlt: '#e1dfdd',\n neutralLight: '#edebe9',\n neutralLighter: '#f3f2f1',\n neutralLighterAlt: '#faf9f8',\n accent: '#0078d4',\n white: '#ffffff',\n whiteTranslucent40: 'rgba(255,255,255,.4)',\n yellowDark: '#d29200',\n yellow: '#ffb900',\n yellowLight: '#fff100',\n orange: '#d83b01',\n orangeLight: '#ea4300',\n orangeLighter: '#ff8c00',\n redDark: '#a4262c',\n red: '#e81123',\n magentaDark: '#5c005c',\n magenta: '#b4009e',\n magentaLight: '#e3008c',\n purpleDark: '#32145a',\n purple: '#5c2d91',\n purpleLight: '#b4a0ff',\n blueDark: '#002050',\n blueMid: '#00188f',\n blue: '#0078d4',\n blueLight: '#00bcf2',\n tealDark: '#004b50',\n teal: '#008272',\n tealLight: '#00b294',\n greenDark: '#004b1c',\n green: '#107c10',\n greenLight: '#bad80a',\n};\n//# sourceMappingURL=DefaultPalette.js.map","import { Depths } from './FluentDepths';\nexport var DefaultEffects = {\n elevation4: Depths.depth4,\n elevation8: Depths.depth8,\n elevation16: Depths.depth16,\n elevation64: Depths.depth64,\n roundedCorner2: '2px',\n roundedCorner4: '4px',\n roundedCorner6: '6px',\n};\n//# sourceMappingURL=DefaultEffects.js.map","import { __assign } from \"tslib\";\n/** Generates all the semantic slot colors based on the theme so far\n * We'll use these as fallbacks for semantic slots that the passed in theme did not define.\n * The caller must still mix in the customized semantic slots at the end.\n */\nexport function makeSemanticColors(p, e, s, isInverted, depComments) {\n if (depComments === void 0) { depComments = false; }\n var semanticColors = __assign({ primaryButtonBorder: 'transparent', errorText: !isInverted ? '#a4262c' : '#F1707B', messageText: !isInverted ? '#323130' : '#F3F2F1', messageLink: !isInverted ? '#005A9E' : '#6CB8F6', messageLinkHovered: !isInverted ? '#004578' : '#82C7FF', infoIcon: !isInverted ? '#605e5c' : '#C8C6C4', errorIcon: !isInverted ? '#A80000' : '#F1707B', blockingIcon: !isInverted ? '#FDE7E9' : '#442726', warningIcon: !isInverted ? '#797775' : '#C8C6C4', severeWarningIcon: !isInverted ? '#D83B01' : '#FCE100', successIcon: !isInverted ? '#107C10' : '#92C353', infoBackground: !isInverted ? '#f3f2f1' : '#323130', errorBackground: !isInverted ? '#FDE7E9' : '#442726', blockingBackground: !isInverted ? '#FDE7E9' : '#442726', warningBackground: !isInverted ? '#FFF4CE' : '#433519', severeWarningBackground: !isInverted ? '#FED9CC' : '#4F2A0F', successBackground: !isInverted ? '#DFF6DD' : '#393D1B', \n // deprecated\n warningHighlight: !isInverted ? '#ffb900' : '#fff100', successText: !isInverted ? '#107C10' : '#92c353' }, s);\n var fullSemanticColors = getSemanticColors(p, e, semanticColors, isInverted);\n return _fixDeprecatedSlots(fullSemanticColors, depComments);\n}\n/**\n * Map partial platte and effects to partial semantic colors.\n */\nexport function getSemanticColors(p, e, s, isInverted, depComments) {\n if (depComments === void 0) { depComments = false; }\n var _a, _b, _c;\n var result = {};\n // map palette\n var _d = p || {}, white = _d.white, black = _d.black, themePrimary = _d.themePrimary, themeDark = _d.themeDark, themeDarker = _d.themeDarker, themeDarkAlt = _d.themeDarkAlt, themeLighter = _d.themeLighter, neutralLight = _d.neutralLight, neutralLighter = _d.neutralLighter, neutralDark = _d.neutralDark, neutralQuaternary = _d.neutralQuaternary, neutralQuaternaryAlt = _d.neutralQuaternaryAlt, neutralPrimary = _d.neutralPrimary, neutralSecondary = _d.neutralSecondary, neutralSecondaryAlt = _d.neutralSecondaryAlt, neutralTertiary = _d.neutralTertiary, neutralTertiaryAlt = _d.neutralTertiaryAlt, neutralLighterAlt = _d.neutralLighterAlt, accent = _d.accent;\n if (white) {\n result.bodyBackground = white;\n result.bodyFrameBackground = white;\n result.accentButtonText = white;\n result.buttonBackground = white;\n result.primaryButtonText = white;\n result.primaryButtonTextHovered = white;\n result.primaryButtonTextPressed = white;\n result.inputBackground = white;\n result.inputForegroundChecked = white;\n result.listBackground = white;\n result.menuBackground = white;\n result.cardStandoutBackground = white;\n }\n if (black) {\n result.bodyTextChecked = black;\n result.buttonTextCheckedHovered = black;\n }\n if (themePrimary) {\n result.link = themePrimary;\n result.primaryButtonBackground = themePrimary;\n result.inputBackgroundChecked = themePrimary;\n result.inputIcon = themePrimary;\n result.inputFocusBorderAlt = themePrimary;\n result.menuIcon = themePrimary;\n result.menuHeader = themePrimary;\n result.accentButtonBackground = themePrimary;\n }\n if (themeDark) {\n result.primaryButtonBackgroundPressed = themeDark;\n result.inputBackgroundCheckedHovered = themeDark;\n result.inputIconHovered = themeDark;\n }\n if (themeDarker) {\n result.linkHovered = themeDarker;\n }\n if (themeDarkAlt) {\n result.primaryButtonBackgroundHovered = themeDarkAlt;\n }\n if (themeLighter) {\n result.inputPlaceholderBackgroundChecked = themeLighter;\n }\n if (neutralLight) {\n result.bodyBackgroundChecked = neutralLight;\n result.bodyFrameDivider = neutralLight;\n result.bodyDivider = neutralLight;\n result.variantBorder = neutralLight;\n result.buttonBackgroundCheckedHovered = neutralLight;\n result.buttonBackgroundPressed = neutralLight;\n result.listItemBackgroundChecked = neutralLight;\n result.listHeaderBackgroundPressed = neutralLight;\n result.menuItemBackgroundPressed = neutralLight;\n // eslint-disable-next-line deprecation/deprecation\n result.menuItemBackgroundChecked = neutralLight;\n }\n if (neutralLighter) {\n result.bodyBackgroundHovered = neutralLighter;\n result.buttonBackgroundHovered = neutralLighter;\n result.buttonBackgroundDisabled = neutralLighter;\n result.buttonBorderDisabled = neutralLighter;\n result.primaryButtonBackgroundDisabled = neutralLighter;\n result.disabledBackground = neutralLighter;\n result.listItemBackgroundHovered = neutralLighter;\n result.listHeaderBackgroundHovered = neutralLighter;\n result.menuItemBackgroundHovered = neutralLighter;\n }\n if (neutralQuaternary) {\n result.primaryButtonTextDisabled = neutralQuaternary;\n result.disabledSubtext = neutralQuaternary;\n }\n if (neutralQuaternaryAlt) {\n result.listItemBackgroundCheckedHovered = neutralQuaternaryAlt;\n }\n if (neutralTertiary) {\n result.disabledBodyText = neutralTertiary;\n result.variantBorderHovered = ((_a = s) === null || _a === void 0 ? void 0 : _a.variantBorderHovered) || neutralTertiary;\n result.buttonTextDisabled = neutralTertiary;\n result.inputIconDisabled = neutralTertiary;\n result.disabledText = neutralTertiary;\n }\n if (neutralPrimary) {\n result.bodyText = neutralPrimary;\n result.actionLink = neutralPrimary;\n result.buttonText = neutralPrimary;\n result.inputBorderHovered = neutralPrimary;\n result.inputText = neutralPrimary;\n result.listText = neutralPrimary;\n result.menuItemText = neutralPrimary;\n }\n if (neutralLighterAlt) {\n result.bodyStandoutBackground = neutralLighterAlt;\n result.defaultStateBackground = neutralLighterAlt;\n }\n if (neutralDark) {\n result.actionLinkHovered = neutralDark;\n result.buttonTextHovered = neutralDark;\n result.buttonTextChecked = neutralDark;\n result.buttonTextPressed = neutralDark;\n result.inputTextHovered = neutralDark;\n result.menuItemTextHovered = neutralDark;\n }\n if (neutralSecondary) {\n result.bodySubtext = neutralSecondary;\n result.focusBorder = neutralSecondary;\n result.inputBorder = neutralSecondary;\n result.smallInputBorder = neutralSecondary;\n result.inputPlaceholderText = neutralSecondary;\n }\n if (neutralSecondaryAlt) {\n result.buttonBorder = neutralSecondaryAlt;\n }\n if (neutralTertiaryAlt) {\n result.disabledBodySubtext = neutralTertiaryAlt;\n result.disabledBorder = neutralTertiaryAlt;\n result.buttonBackgroundChecked = neutralTertiaryAlt;\n result.menuDivider = neutralTertiaryAlt;\n }\n if (accent) {\n result.accentButtonBackground = accent;\n }\n // map effects\n if ((_b = e) === null || _b === void 0 ? void 0 : _b.elevation4) {\n result.cardShadow = e.elevation4;\n }\n if (!isInverted && ((_c = e) === null || _c === void 0 ? void 0 : _c.elevation8)) {\n result.cardShadowHovered = e.elevation8;\n }\n else if (result.variantBorderHovered) {\n result.cardShadowHovered = '0 0 1px ' + result.variantBorderHovered;\n }\n result = __assign(__assign({}, result), s);\n return result;\n}\nfunction _fixDeprecatedSlots(s, depComments) {\n // Add @deprecated tag as comment if enabled\n var dep = '';\n if (depComments === true) {\n dep = ' /* @deprecated */';\n }\n /* eslint-disable deprecation/deprecation */\n s.listTextColor = s.listText + dep;\n s.menuItemBackgroundChecked += dep;\n s.warningHighlight += dep;\n s.warningText = s.messageText + dep;\n s.successText += dep;\n /* eslint-enable deprecation/deprecation */\n return s;\n}\n//# sourceMappingURL=makeSemanticColors.js.map","export var DefaultSpacing = {\n s2: '4px',\n s1: '8px',\n m: '16px',\n l1: '20px',\n l2: '32px',\n};\n//# sourceMappingURL=DefaultSpacing.js.map","import { DefaultPalette } from './colors/index';\nimport { DefaultEffects } from './effects/index';\nimport { DefaultFontStyles } from './fonts/index';\nimport { mergeThemes } from './mergeThemes';\nimport { DefaultSpacing } from './spacing/index';\nimport { makeSemanticColors } from './utilities/makeSemanticColors';\n/**\n * Creates a custom theme definition.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function createTheme(theme, depComments) {\n if (theme === void 0) { theme = {}; }\n if (depComments === void 0) { depComments = false; }\n var isInverted = !!theme.isInverted;\n var baseTheme = {\n palette: DefaultPalette,\n effects: DefaultEffects,\n fonts: DefaultFontStyles,\n spacing: DefaultSpacing,\n isInverted: isInverted,\n disableGlobalClassNames: false,\n semanticColors: makeSemanticColors(DefaultPalette, DefaultEffects, undefined, isInverted, depComments),\n rtl: undefined,\n };\n return mergeThemes(baseTheme, theme);\n}\n//# sourceMappingURL=createTheme.js.map","import { merge } from '@uifabric/utilities';\nimport { getSemanticColors } from './utilities/makeSemanticColors';\n/**\n * Merge a partial/full theme into a full theme and returns a merged full theme.\n */\nexport function mergeThemes(theme, partialTheme) {\n if (partialTheme === void 0) { partialTheme = {}; }\n var _a, _b, _c, _d;\n var mergedTheme = merge({}, theme, partialTheme, {\n semanticColors: getSemanticColors(partialTheme.palette, partialTheme.effects, partialTheme.semanticColors, partialTheme.isInverted === undefined ? theme.isInverted : partialTheme.isInverted),\n });\n if (((_a = partialTheme.palette) === null || _a === void 0 ? void 0 : _a.themePrimary) && !((_b = partialTheme.palette) === null || _b === void 0 ? void 0 : _b.accent)) {\n mergedTheme.palette.accent = partialTheme.palette.themePrimary;\n }\n if (partialTheme.defaultFontStyle) {\n for (var _i = 0, _e = Object.keys(mergedTheme.fonts); _i < _e.length; _i++) {\n var fontStyle = _e[_i];\n mergedTheme.fonts[fontStyle] = merge(mergedTheme.fonts[fontStyle], partialTheme.defaultFontStyle, (_d = (_c = partialTheme) === null || _c === void 0 ? void 0 : _c.fonts) === null || _d === void 0 ? void 0 : _d[fontStyle]);\n }\n }\n if (partialTheme.stylesheets) {\n mergedTheme.stylesheets = (theme.stylesheets || []).concat(partialTheme.stylesheets);\n }\n return mergedTheme;\n}\n//# sourceMappingURL=mergeThemes.js.map","import { __assign } from \"tslib\";\nimport { Customizations, getWindow } from '@uifabric/utilities';\nimport { loadTheme as legacyLoadTheme } from '@microsoft/load-themed-styles';\nimport { createTheme } from '@fluentui/theme/lib/createTheme';\nexport { createTheme } from '@fluentui/theme/lib/createTheme';\nvar _theme = createTheme({});\nvar _onThemeChangeCallbacks = [];\nexport var ThemeSettingName = 'theme';\nexport function initializeThemeInCustomizations() {\n var _a;\n var _b, _c;\n if (!Customizations.getSettings([ThemeSettingName]).theme) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var win = getWindow();\n if ((_c = (_b = win) === null || _b === void 0 ? void 0 : _b.FabricConfig) === null || _c === void 0 ? void 0 : _c.theme) {\n _theme = createTheme(win.FabricConfig.theme);\n }\n // Set the default theme.\n Customizations.applySettings((_a = {}, _a[ThemeSettingName] = _theme, _a));\n }\n}\ninitializeThemeInCustomizations();\n/**\n * Gets the theme object\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function getTheme(depComments) {\n if (depComments === void 0) { depComments = false; }\n if (depComments === true) {\n _theme = createTheme({}, depComments);\n }\n return _theme;\n}\n/**\n * Registers a callback that gets called whenever the theme changes.\n * This should only be used when the component cannot automatically get theme changes through its state.\n * This will not register duplicate callbacks.\n */\nexport function registerOnThemeChangeCallback(callback) {\n if (_onThemeChangeCallbacks.indexOf(callback) === -1) {\n _onThemeChangeCallbacks.push(callback);\n }\n}\n/**\n * See registerOnThemeChangeCallback().\n * Removes previously registered callbacks.\n */\nexport function removeOnThemeChangeCallback(callback) {\n var i = _onThemeChangeCallbacks.indexOf(callback);\n if (i === -1) {\n return;\n }\n _onThemeChangeCallbacks.splice(i, 1);\n}\n/**\n * Applies the theme, while filling in missing slots.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function loadTheme(theme, depComments) {\n var _a;\n if (depComments === void 0) { depComments = false; }\n _theme = createTheme(theme, depComments);\n // Invoke the legacy method of theming the page as well.\n legacyLoadTheme(__assign(__assign(__assign(__assign({}, _theme.palette), _theme.semanticColors), _theme.effects), _loadFonts(_theme)));\n Customizations.applySettings((_a = {}, _a[ThemeSettingName] = _theme, _a));\n _onThemeChangeCallbacks.forEach(function (callback) {\n try {\n callback(_theme);\n }\n catch (e) {\n // don't let a bad callback break everything else\n }\n });\n return _theme;\n}\n/**\n * Loads font variables into a JSON object.\n * @param theme - The theme object\n */\nfunction _loadFonts(theme) {\n var lines = {};\n for (var _i = 0, _a = Object.keys(theme.fonts); _i < _a.length; _i++) {\n var fontName = _a[_i];\n var font = theme.fonts[fontName];\n for (var _b = 0, _c = Object.keys(font); _b < _c.length; _b++) {\n var propName = _c[_b];\n var name_1 = fontName + propName.charAt(0).toUpperCase() + propName.slice(1);\n var value = font[propName];\n if (propName === 'fontSize' && typeof value === 'number') {\n // if it's a number, convert it to px by default like our theming system does\n value = value + 'px';\n }\n lines[name_1] = value;\n }\n }\n return lines;\n}\n//# sourceMappingURL=theme.js.map","import { mergeStyles } from '@uifabric/merge-styles';\nimport { DefaultPalette } from '../styles/DefaultPalette';\nimport { getTheme } from '../styles/index';\nexport var ColorClassNames = {};\nfor (var colorName in DefaultPalette) {\n if (DefaultPalette.hasOwnProperty(colorName)) {\n // Foreground color\n _defineGetter(ColorClassNames, colorName, '', false, 'color');\n // Hover color\n _defineGetter(ColorClassNames, colorName, 'Hover', true, 'color');\n // Background color\n _defineGetter(ColorClassNames, colorName, 'Background', false, 'background');\n // Background hover\n _defineGetter(ColorClassNames, colorName, 'BackgroundHover', true, 'background');\n // Border color\n _defineGetter(ColorClassNames, colorName, 'Border', false, 'borderColor');\n // Border hover color\n _defineGetter(ColorClassNames, colorName, 'BorderHover', true, 'borderColor');\n }\n}\n/**\n * Defines a getter for the given class configuration.\n */\nfunction _defineGetter(obj, colorName, suffix, isHover, cssProperty) {\n Object.defineProperty(obj, colorName + suffix, {\n get: function () {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var style = (_a = {}, _a[cssProperty] = getTheme().palette[colorName], _a);\n return mergeStyles(isHover ? { selectors: { ':hover': style } } : style).toString();\n },\n enumerable: true,\n configurable: true,\n });\n}\n//# sourceMappingURL=ColorClassNames.js.map","export var HighContrastSelector = '@media screen and (-ms-high-contrast: active), (forced-colors: active)';\nexport var HighContrastSelectorWhite = '@media screen and (-ms-high-contrast: black-on-white), (forced-colors: black-on-white)';\nexport var HighContrastSelectorBlack = '@media screen and (-ms-high-contrast: white-on-black), (forced-colors: white-on-black)';\nexport var EdgeChromiumHighContrastSelector = '@media screen and (forced-colors: active)';\nexport var ScreenWidthMinSmall = 320;\nexport var ScreenWidthMinMedium = 480;\nexport var ScreenWidthMinLarge = 640;\nexport var ScreenWidthMinXLarge = 1024;\nexport var ScreenWidthMinXXLarge = 1366;\nexport var ScreenWidthMinXXXLarge = 1920;\nexport var ScreenWidthMaxSmall = ScreenWidthMinMedium - 1;\nexport var ScreenWidthMaxMedium = ScreenWidthMinLarge - 1;\nexport var ScreenWidthMaxLarge = ScreenWidthMinXLarge - 1;\nexport var ScreenWidthMaxXLarge = ScreenWidthMinXXLarge - 1;\nexport var ScreenWidthMaxXXLarge = ScreenWidthMinXXXLarge - 1;\nexport var ScreenWidthMinUhfMobile = 768;\nexport function getScreenSelector(min, max) {\n var minSelector = typeof min === 'number' ? \" and (min-width: \" + min + \"px)\" : '';\n var maxSelector = typeof max === 'number' ? \" and (max-width: \" + max + \"px)\" : '';\n return \"@media only screen\" + minSelector + maxSelector;\n}\n/**\n * The style which turns off high contrast adjustment in browsers.\n */\nexport function getHighContrastNoAdjustStyle() {\n return {\n forcedColorAdjust: 'none',\n MsHighContrastAdjust: 'none',\n };\n}\n/**\n * The style which turns off high contrast adjustment in (only) Edge Chromium browser.\n * @deprecated Use `getHighContrastNoAdjustStyle`\n */\nexport function getEdgeChromiumNoHighContrastAdjustSelector() {\n var _a;\n return _a = {},\n _a[EdgeChromiumHighContrastSelector] = {\n forcedColorAdjust: 'none',\n },\n _a;\n}\n//# sourceMappingURL=CommonStyles.js.map","export var ZIndexes;\n(function (ZIndexes) {\n ZIndexes.Nav = 1;\n /**\n * @deprecated ScrollablePane\n */\n ZIndexes.ScrollablePane = 1;\n ZIndexes.FocusStyle = 1;\n ZIndexes.Coachmark = 1000;\n ZIndexes.Layer = 1000000;\n ZIndexes.KeytipLayer = 1000001;\n})(ZIndexes || (ZIndexes = {}));\n//# sourceMappingURL=zIndexes.js.map","import { HighContrastSelector } from './CommonStyles';\nimport { IsFocusVisibleClassName } from '@uifabric/utilities';\nimport { ZIndexes } from './zIndexes';\nexport function getFocusStyle(theme, insetOrOptions, position, highContrastStyle, borderColor, outlineColor, isFocusedOnly) {\n if (typeof insetOrOptions === 'number' || !insetOrOptions) {\n return _getFocusStyleInternal(theme, {\n inset: insetOrOptions,\n position: position,\n highContrastStyle: highContrastStyle,\n borderColor: borderColor,\n outlineColor: outlineColor,\n isFocusedOnly: isFocusedOnly,\n });\n }\n else {\n return _getFocusStyleInternal(theme, insetOrOptions);\n }\n}\nfunction _getFocusStyleInternal(theme, options) {\n var _a, _b;\n if (options === void 0) { options = {}; }\n var _c = options.inset, inset = _c === void 0 ? 0 : _c, _d = options.width, width = _d === void 0 ? 1 : _d, _e = options.position, position = _e === void 0 ? 'relative' : _e, highContrastStyle = options.highContrastStyle, _f = options.borderColor, borderColor = _f === void 0 ? theme.palette.white : _f, _g = options.outlineColor, outlineColor = _g === void 0 ? theme.palette.neutralSecondary : _g, _h = options.isFocusedOnly, isFocusedOnly = _h === void 0 ? true : _h;\n return {\n // Clear browser-specific focus styles and use 'transparent' as placeholder for focus style.\n outline: 'transparent',\n // Requirement because pseudo-element is absolutely positioned.\n position: position,\n selectors: (_a = {\n // Clear the focus border in Firefox.\n // Reference: http://stackoverflow.com/a/199319/1436671\n '::-moz-focus-inner': {\n border: '0',\n }\n },\n // When the element that uses this mixin is in a :focus state, add a pseudo-element to\n // create a border.\n _a[\".\" + IsFocusVisibleClassName + \" &\" + (isFocusedOnly ? ':focus' : '') + \":after\"] = {\n content: '\"\"',\n position: 'absolute',\n left: inset + 1,\n top: inset + 1,\n bottom: inset + 1,\n right: inset + 1,\n border: width + \"px solid \" + borderColor,\n outline: width + \"px solid \" + outlineColor,\n zIndex: ZIndexes.FocusStyle,\n selectors: (_b = {},\n _b[HighContrastSelector] = highContrastStyle,\n _b),\n },\n _a),\n };\n}\n/**\n * Generates style to clear browser specific focus styles.\n */\nexport function focusClear() {\n return {\n selectors: {\n '&::-moz-focus-inner': {\n // Clear the focus border in Firefox. Reference: http://stackoverflow.com/a/199319/1436671\n border: 0,\n },\n '&': {\n // Clear browser specific focus styles and use transparent as placeholder for focus style\n outline: 'transparent',\n },\n },\n };\n}\n/**\n * Generates a style which can be used to set a border on focus.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border (default 0)\n * @param width - The border width in pixels (default 1)\n * @param color - Color of the outline (default `theme.palette.neutralSecondary`)\n * @returns The style object.\n */\nexport function getFocusOutlineStyle(theme, inset, width, color) {\n var _a;\n if (inset === void 0) { inset = 0; }\n if (width === void 0) { width = 1; }\n return {\n selectors: (_a = {},\n _a[\":global(\" + IsFocusVisibleClassName + \") &:focus\"] = {\n outline: width + \" solid \" + (color || theme.palette.neutralSecondary),\n outlineOffset: -inset + \"px\",\n },\n _a),\n };\n}\n/**\n * Generates text input border styles on focus.\n *\n * @param borderColor - Color of the border.\n * @param borderRadius - Radius of the border.\n * @param borderType - Type of the border.\n * @param borderPosition - Position of the border relative to the input element (default to -1\n * as it's the most common border width of the input element)\n * @returns The style object.\n */\nexport var getInputFocusStyle = function (borderColor, borderRadius, borderType, borderPosition) {\n var _a, _b, _c;\n if (borderType === void 0) { borderType = 'border'; }\n if (borderPosition === void 0) { borderPosition = -1; }\n var isBorderBottom = borderType === 'borderBottom';\n return {\n borderColor: borderColor,\n selectors: {\n ':after': (_a = {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: isBorderBottom ? 0 : borderPosition,\n top: borderPosition,\n bottom: borderPosition,\n right: isBorderBottom ? 0 : borderPosition\n },\n _a[borderType] = \"2px solid \" + borderColor,\n _a.borderRadius = borderRadius,\n _a.width = borderType === 'borderBottom' ? '100%' : undefined,\n _a.selectors = (_b = {},\n _b[HighContrastSelector] = (_c = {},\n _c[borderType === 'border' ? 'borderColor' : 'borderBottomColor'] = 'Highlight',\n _c),\n _b),\n _a),\n },\n };\n};\n//# sourceMappingURL=getFocusStyle.js.map","export var hiddenContentStyle = {\n position: 'absolute',\n width: 1,\n height: 1,\n margin: -1,\n padding: 0,\n border: 0,\n overflow: 'hidden',\n};\n//# sourceMappingURL=hiddenContentStyle.js.map","import { __assign } from \"tslib\";\nimport { keyframes } from '@uifabric/merge-styles';\nvar DEFAULT_DURATION = '14s';\nvar DEFAULT_DELAY = '2s';\nvar DEFAULT_ITERATION_COUNT = '1';\nfunction _continuousPulseStepOne(beaconColorOne, innerDimension) {\n return {\n borderColor: beaconColorOne,\n borderWidth: '0px',\n width: innerDimension,\n height: innerDimension,\n };\n}\nfunction _continuousPulseStepTwo(borderWidth) {\n return {\n opacity: 1,\n borderWidth: borderWidth,\n };\n}\nfunction _continuousPulseStepThree() {\n return {\n opacity: 1,\n };\n}\nfunction _continuousPulseStepFour(beaconColorTwo, outerDimension) {\n return {\n borderWidth: '0',\n width: outerDimension,\n height: outerDimension,\n opacity: 0,\n borderColor: beaconColorTwo,\n };\n}\nfunction _continuousPulseStepFive(beaconColorOne, innerDimension) {\n return __assign(__assign({}, _continuousPulseStepOne(beaconColorOne, innerDimension)), {\n opacity: 0,\n });\n}\nfunction _continuousPulseAnimationDouble(beaconColorOne, beaconColorTwo, innerDimension, outerDimension, borderWidth) {\n return keyframes({\n '0%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '1.42%': _continuousPulseStepTwo(borderWidth),\n '3.57%': _continuousPulseStepThree(),\n '7.14%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '8%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '29.99%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '30%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '31.42%': _continuousPulseStepTwo(borderWidth),\n '33.57%': _continuousPulseStepThree(),\n '37.14%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '38%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '79.42%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '79.43': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '81.85': _continuousPulseStepTwo(borderWidth),\n '83.42': _continuousPulseStepThree(),\n '87%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '100%': {},\n });\n}\nfunction _continuousPulseAnimationSingle(beaconColorOne, beaconColorTwo, innerDimension, outerDimension, borderWidth) {\n return keyframes({\n '0%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '14.2%': _continuousPulseStepTwo(borderWidth),\n '35.7%': _continuousPulseStepThree(),\n '71.4%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '100%': {},\n });\n}\nfunction _createDefaultAnimation(animationName, delayLength) {\n return {\n animationName: animationName,\n animationIterationCount: DEFAULT_ITERATION_COUNT,\n animationDuration: DEFAULT_DURATION,\n animationDelay: delayLength || DEFAULT_DELAY,\n };\n}\nexport var PulsingBeaconAnimationStyles = {\n continuousPulseAnimationDouble: _continuousPulseAnimationDouble,\n continuousPulseAnimationSingle: _continuousPulseAnimationSingle,\n createDefaultAnimation: _createDefaultAnimation,\n};\n//# sourceMappingURL=PulsingBeaconAnimationStyles.js.map","import { Stylesheet } from '@uifabric/merge-styles';\nimport { memoizeFunction } from '@uifabric/utilities';\n/**\n * Internal memoized function which simply takes in the class map and the\n * disable boolean. These immutable values can be memoized.\n */\nvar _getGlobalClassNames = memoizeFunction(function (classNames, disableGlobalClassNames) {\n var styleSheet = Stylesheet.getInstance();\n if (disableGlobalClassNames) {\n // disable global classnames\n return Object.keys(classNames).reduce(function (acc, className) {\n acc[className] = styleSheet.getClassName(classNames[className]);\n return acc;\n }, {});\n }\n // use global classnames\n return classNames;\n});\n/**\n * Checks for the `disableGlobalClassNames` property on the `theme` to determine if it should return `classNames`\n * Note that calls to this function are memoized.\n *\n * @param classNames - The collection of global class names that apply when the flag is false. Make sure to pass in\n * the same instance on each call to benefit from memoization.\n * @param theme - The theme to check the flag on\n * @param disableGlobalClassNames - Optional. Explicitly opt in/out of disabling global classnames. Defaults to false.\n */\nexport function getGlobalClassNames(classNames, theme, disableGlobalClassNames) {\n return _getGlobalClassNames(classNames, disableGlobalClassNames !== undefined ? disableGlobalClassNames : theme.disableGlobalClassNames);\n}\n//# sourceMappingURL=getGlobalClassNames.js.map","import { Customizations, mergeSettings } from '@uifabric/utilities';\n/**\n * @internal\n * This function is still in experimental phase in support of Foundation experimental development.\n * Its API signature and existence are subject to change.\n *\n * Modify context to activate the specified scheme or theme. For schemes, look in context (if available) and fall back\n * to global Customizations. If both scheme and theme are specified, scheme will be looked up in theme. In this case,\n * scheme must be present in theme arg, otherwise new context will default to theme arg (there is no fallback to\n * settings to look up scheme.)\n *\n * @param context - Context in which to get schemed customizations.\n * @param scheme - Scheme to get customizations for from theme arg (if supplied) OR from context and global settings.\n * @param theme - Theme to merge into context.\n * @returns modified schemed context if scheme is valid and not already applied, unmodified context otherwise.\n */\nexport function getThemedContext(context, scheme, theme) {\n var newContext = context;\n var newSettings;\n // Only fall back to context and customizations when theme arg is not provided.\n var schemeSource = theme || Customizations.getSettings(['theme'], undefined, context.customizations).theme;\n if (theme) {\n newSettings = { theme: theme };\n }\n var schemeTheme = scheme && schemeSource && schemeSource.schemes && schemeSource.schemes[scheme];\n // These first two checks are logically redundant but TS doesn't infer schemeSource.schemes is defined\n // when schemeTheme is defined.\n if (schemeSource && schemeTheme && schemeSource !== schemeTheme) {\n newSettings = { theme: schemeTheme };\n newSettings.theme.schemes = schemeSource.schemes;\n }\n if (newSettings) {\n newContext = {\n customizations: {\n settings: mergeSettings(context.customizations.settings, newSettings),\n scopedSettings: context.customizations.scopedSettings,\n },\n };\n }\n return newContext;\n}\n//# sourceMappingURL=scheme.js.map","// This file mimics styles and mixins from _General.Mixins.scss\nexport var normalize = {\n boxShadow: 'none',\n margin: 0,\n padding: 0,\n boxSizing: 'border-box',\n};\nexport var noWrap = {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n};\n//# sourceMappingURL=GeneralStyles.js.map","var DEFAULT_HEIGHT = '50%';\nvar DEFAULT_WIDTH = 20;\n/**\n * - Generates a style used to fade out an overflowing content by defining a style for an :after pseudo element.\n * - Apply it to the :after selector for all combination of states the parent of content might have (normal, hover,\n * selected, focus).\n * - Requires the target to have position set to relative and overflow set to hidden.\n *\n * @example\n * ```tsx\n * // Assuming the following DOM structure and the different background colors coming from\n * // the parent holding the content.\n *
\n * Overflown Content\n *
\n * ```\n * ```ts\n * // This is how the style set would look in Component.styles.ts\n * const { bodyBackground } = theme.semanticColors;\n * const { neutralLighter } = theme.palette;\n *\n * // The second argument of getFadedOverflowStyle function is a string representing a key of\n * // ISemanticColors or IPalette.\n *\n * const styles = {\n * parent: [\n * backgroundColor: bodyBackground,\n * selectors: {\n * '&:hover: {\n * backgroundColor: neutralLighter\n * },\n * '$content:after': {\n * ...getFadedOverflowStyle(theme, 'bodyBackground')\n * },\n * '&:hover $content:after': {\n * ...getFadedOverflowStyle(theme, 'neutralLighter')\n * }\n * }\n * ],\n * content: [\n * width: '100%',\n * display: 'inline-block',\n * position: 'relative',\n * overflow: 'hidden'\n * ]\n * }\n * ```\n * @param theme - The theme object to use.\n * @param color - The background color to fade out to. Accepts only keys of ISemanticColors or IPalette.\n * Defaults to 'bodyBackground'.\n * @param direction - The direction of the overflow. Defaults to horizontal.\n * @param width - The width of the fading overflow. Vertical direction defaults it to 100% vs 20px when horizontal.\n * @param height - The Height of the fading overflow. Vertical direction defaults it to 50% vs 100% when horizontal.\n * @returns The style object.\n */\nexport function getFadedOverflowStyle(theme, color, direction, width, height) {\n if (color === void 0) { color = 'bodyBackground'; }\n if (direction === void 0) { direction = 'horizontal'; }\n if (width === void 0) { width = getDefaultValue('width', direction); }\n if (height === void 0) { height = getDefaultValue('height', direction); }\n // Get the color value string from the theme semanticColors or palette.\n var colorValue = theme.semanticColors[color] || theme.palette[color];\n // Get the red, green, blue values of the colorValue.\n var rgbColor = color2rgb(colorValue);\n // Apply opacity 0 to serve as a start color of the gradient.\n var rgba = \"rgba(\" + rgbColor.r + \", \" + rgbColor.g + \", \" + rgbColor.b + \", 0)\";\n // Get the direction of the gradient. (mergeStyles takes care of RTL direction)\n var gradientDirection = direction === 'vertical' ? 'to bottom' : 'to right';\n return {\n content: '\"\"',\n position: 'absolute',\n right: 0,\n bottom: 0,\n width: width,\n height: height,\n pointerEvents: 'none',\n backgroundImage: \"linear-gradient(\" + gradientDirection + \", \" + rgba + \" 0%, \" + colorValue + \" 100%)\",\n };\n}\n// TODO consider moving this to a separate module along with some more color functions from OUFR/utilities.\n/**\n * Helper function to convert a string hex color to an RGB object.\n *\n * @param colorValue - Color to be converted from hex to rgba.\n */\nfunction color2rgb(colorValue) {\n if (colorValue[0] === '#') {\n // If it's a hex code\n return {\n r: parseInt(colorValue.slice(1, 3), 16),\n g: parseInt(colorValue.slice(3, 5), 16),\n b: parseInt(colorValue.slice(5, 7), 16),\n };\n }\n else if (colorValue.indexOf('rgba(') === 0) {\n // If it's an rgba color string\n colorValue = colorValue.match(/rgba\\(([^)]+)\\)/)[1];\n var parts = colorValue.split(/ *, */).map(Number);\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n };\n }\n // The only remaining possibility is transparent.\n return {\n r: 255,\n g: 255,\n b: 255,\n };\n}\n/**\n * Helper function to get the default values for parameters of main function.\n *\n * @param style - Which style to get the default value for.\n * @param direction - What direction to take into consideration.\n */\nfunction getDefaultValue(style, direction) {\n if (style === 'width') {\n return direction === 'horizontal' ? DEFAULT_WIDTH : '100%';\n }\n else {\n return direction === 'vertical' ? DEFAULT_HEIGHT : '100%';\n }\n}\n//# sourceMappingURL=getFadedOverflowStyle.js.map","/**\n * Generates placeholder style for each of the browsers supported by office-ui-fabric-react.\n * @param styles - The style to use.\n * @returns The placeholder style object for each browser depending on the placeholder directive it uses.\n */\nexport function getPlaceholderStyles(styles) {\n return {\n selectors: {\n '::placeholder': styles,\n ':-ms-input-placeholder': styles,\n '::-ms-input-placeholder': styles,\n },\n };\n}\n//# sourceMappingURL=getPlaceholderStyles.js.map","import { __assign } from \"tslib\";\nimport { GlobalSettings, warn } from '@uifabric/utilities';\nimport { fontFace, mergeStyles, Stylesheet } from '@uifabric/merge-styles';\nvar ICON_SETTING_NAME = 'icons';\nvar _iconSettings = GlobalSettings.getValue(ICON_SETTING_NAME, {\n __options: {\n disableWarnings: false,\n warnOnMissingIcons: true,\n },\n __remapped: {},\n});\n// Reset icon registration on stylesheet resets.\nvar stylesheet = Stylesheet.getInstance();\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(function () {\n for (var name_1 in _iconSettings) {\n if (_iconSettings.hasOwnProperty(name_1) && !!_iconSettings[name_1].subset) {\n _iconSettings[name_1].subset.className = undefined;\n }\n }\n });\n}\n/**\n * Normalizes an icon name for consistent mapping.\n * Current implementation is to convert the icon name to lower case.\n *\n * @param name - Icon name to normalize.\n * @returns {string} Normalized icon name to use for indexing and mapping.\n */\nvar normalizeIconName = function (name) { return name.toLowerCase(); };\n/**\n * Registers a given subset of icons.\n *\n * @param iconSubset - the icon subset definition.\n */\nexport function registerIcons(iconSubset, options) {\n var subset = __assign(__assign({}, iconSubset), { isRegistered: false, className: undefined });\n var icons = iconSubset.icons;\n // Grab options, optionally mix user provided ones on top.\n options = options ? __assign(__assign({}, _iconSettings.__options), options) : _iconSettings.__options;\n for (var iconName in icons) {\n if (icons.hasOwnProperty(iconName)) {\n var code = icons[iconName];\n var normalizedIconName = normalizeIconName(iconName);\n if (_iconSettings[normalizedIconName]) {\n _warnDuplicateIcon(iconName);\n }\n else {\n _iconSettings[normalizedIconName] = {\n code: code,\n subset: subset,\n };\n }\n }\n }\n}\n/**\n * Unregisters icons by name.\n *\n * @param iconNames - List of icons to unregister.\n */\nexport function unregisterIcons(iconNames) {\n var options = _iconSettings.__options;\n var _loop_1 = function (iconName) {\n var normalizedIconName = normalizeIconName(iconName);\n if (_iconSettings[normalizedIconName]) {\n delete _iconSettings[normalizedIconName];\n }\n else {\n // Warn that we are trying to delete an icon that doesn't exist\n if (!options.disableWarnings) {\n warn(\"The icon \\\"\" + iconName + \"\\\" tried to unregister but was not registered.\");\n }\n }\n // Delete any aliases for this iconName\n if (_iconSettings.__remapped[normalizedIconName]) {\n delete _iconSettings.__remapped[normalizedIconName];\n }\n // Delete any items that were an alias for this iconName\n Object.keys(_iconSettings.__remapped).forEach(function (key) {\n if (_iconSettings.__remapped[key] === normalizedIconName) {\n delete _iconSettings.__remapped[key];\n }\n });\n };\n for (var _i = 0, iconNames_1 = iconNames; _i < iconNames_1.length; _i++) {\n var iconName = iconNames_1[_i];\n _loop_1(iconName);\n }\n}\n/**\n * Remaps one icon name to another.\n */\nexport function registerIconAlias(iconName, mappedToName) {\n _iconSettings.__remapped[normalizeIconName(iconName)] = normalizeIconName(mappedToName);\n}\n/**\n * Gets an icon definition. If an icon is requested but the subset has yet to be registered,\n * it will get registered immediately.\n *\n * @public\n * @param name - Name of icon.\n */\nexport function getIcon(name) {\n var icon = undefined;\n var options = _iconSettings.__options;\n name = name ? normalizeIconName(name) : '';\n name = _iconSettings.__remapped[name] || name;\n if (name) {\n icon = _iconSettings[name];\n if (icon) {\n var subset = icon.subset;\n if (subset && subset.fontFace) {\n if (!subset.isRegistered) {\n fontFace(subset.fontFace);\n subset.isRegistered = true;\n }\n if (!subset.className) {\n subset.className = mergeStyles(subset.style, {\n fontFamily: subset.fontFace.fontFamily,\n fontWeight: subset.fontFace.fontWeight || 'normal',\n fontStyle: subset.fontFace.fontStyle || 'normal',\n });\n }\n }\n }\n else {\n // eslint-disable-next-line deprecation/deprecation\n if (!options.disableWarnings && options.warnOnMissingIcons) {\n warn(\"The icon \\\"\" + name + \"\\\" was used but not registered. See https://github.com/microsoft/fluentui/wiki/Using-icons for more information.\");\n }\n }\n }\n return icon;\n}\n/**\n * Sets the icon options.\n *\n * @public\n */\nexport function setIconOptions(options) {\n _iconSettings.__options = __assign(__assign({}, _iconSettings.__options), options);\n}\nvar _missingIcons = [];\nvar _missingIconsTimer = undefined;\nfunction _warnDuplicateIcon(iconName) {\n var options = _iconSettings.__options;\n var warningDelay = 2000;\n var maxIconsInMessage = 10;\n if (!options.disableWarnings) {\n _missingIcons.push(iconName);\n if (_missingIconsTimer === undefined) {\n _missingIconsTimer = setTimeout(function () {\n warn(\"Some icons were re-registered. Applications should only call registerIcons for any given \" +\n \"icon once. Redefining what an icon is may have unintended consequences. Duplicates \" +\n \"include: \\n\" +\n _missingIcons.slice(0, maxIconsInMessage).join(', ') +\n (_missingIcons.length > maxIconsInMessage ? \" (+ \" + (_missingIcons.length - maxIconsInMessage) + \" more)\" : ''));\n _missingIconsTimer = undefined;\n _missingIcons = [];\n }, warningDelay);\n }\n }\n}\n//# sourceMappingURL=icons.js.map","import { mergeStyles } from '@uifabric/merge-styles';\nimport { getIcon } from './icons';\nvar defaultIconStyles = {\n display: 'inline-block',\n};\n/**\n * Gets an icon classname. You should be able to add this classname to an I tag with no\n * additional classnames, and render the icon.\n *\n * @public\n */\nexport function getIconClassName(name) {\n var className = '';\n var icon = getIcon(name);\n if (icon) {\n className = mergeStyles(icon.subset.className, defaultIconStyles, {\n selectors: {\n '::before': {\n content: \"\\\"\" + icon.code + \"\\\"\",\n },\n },\n });\n }\n return className;\n}\n//# sourceMappingURL=getIconClassName.js.map","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@uifabric/set-version';\nsetVersion('@uifabric/styling', '7.19.0');\n//# sourceMappingURL=version.js.map","export * from './classNames/index';\nexport * from './styles/index';\nexport * from './utilities/index';\nexport * from './MergeStyles';\nimport './version';\n// Ensure theme is initialized when this package is referenced.\nimport { initializeThemeInCustomizations } from './styles/theme';\ninitializeThemeInCustomizations();\n//# sourceMappingURL=index.js.map","var bind = require('../internals/bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","import { Stylesheet } from './Stylesheet';\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var classes = [];\n var objects = [];\n var stylesheet = Stylesheet.getInstance();\n function _processArgs(argsList) {\n for (var _i = 0, argsList_1 = argsList; _i < argsList_1.length; _i++) {\n var arg = argsList_1[_i];\n if (arg) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n }\n else {\n var translatedArgs = stylesheet.argsFromClassName(arg);\n if (translatedArgs) {\n _processArgs(translatedArgs);\n }\n else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n }\n else if (Array.isArray(arg)) {\n _processArgs(arg);\n }\n else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n _processArgs(args);\n return {\n classes: classes,\n objects: objects,\n };\n}\n//# sourceMappingURL=extractStyleParts.js.map"," \r\n export enum AnalyticsRealUserMetric {\r\n None = 0,\r\n ExitToEntryTime = 1,\r\n ExitToOnLoadTime = 2,\r\n EntryToOnLoadTime = 3,\r\n RedirectRequestCount = 4,\r\n DnsLookupTime = 5,\r\n FullConnectTime = 6,\r\n ConnectTime = 7,\r\n SslTime = 8,\r\n WaitTime = 9,\r\n LoadTime = 10,\r\n ResponseTime = 11,\r\n DomInteractiveTime = 12,\r\n DomLoadedTime = 13,\r\n DocumentCompleteTime = 14,\r\n JSErrorsPerPageCount = 16,\r\n UniqueVisitCount = 17,\r\n PageViewsCount = 18,\r\n PagesPerVisitCount = 19,\r\n BounceCount = 20,\r\n BounceRate = 21,\r\n ContentLoadTime = 22,\r\n RedirectTime = 23,\r\n Revenue = 24,\r\n ConversionCount = 25,\r\n ItemsSoldCount = 26,\r\n ConversionRate = 27,\r\n BounceRatePerAverageDocumentCompleteTime = 28,\r\n ConversionRatePerAverageDocumentCompleteTime = 29,\r\n RevenueRatePerAverageDocumentCompleteTime = 30,\r\n PageViewRatePerAverageDocumentCompleteTime = 31,\r\n TimeToFirstByte = 32,\r\n ProcessTime = 33,\r\n AppearTime = 34,\r\n WireTime = 35,\r\n ClientTime = 36,\r\n CrashCount = 37,\r\n MemoryWarningCount = 38,\r\n ScreenViewsCount = 39,\r\n ScreenPerVisitCount = 40,\r\n RequestCount = 41,\r\n SublevelRequestCount = 42,\r\n TotalAjaxTime = 43,\r\n VisuallyCompleteTime = 44,\r\n WaterfallsCount = 45,\r\n DnsLookupTimeAvg = 46,\r\n ConnectTimeAvg = 47,\r\n SslTimeAvg = 48,\r\n WaitTimeAvg = 49,\r\n LoadTimeAvg = 50,\r\n ResponseTimeAvg = 51,\r\n NetworkErrors = 52,\r\n FirstPaint = 53,\r\n FirstContentfulPaint = 54,\r\n TimeToInteractive = 55,\r\n FirstInputDelay = 56,\r\n EngagementTime = 57,\r\n FirstEngagement = 58,\r\n PageAborts = 59,\r\n FullyLoadedMark = 60,\r\n FullyVisibleMark = 61,\r\n AboveTheFoldMark = 62,\r\n TimeToUserActionMark = 63,\r\n TimeonPage = 64,\r\n AverageFramesPerSecond = 65,\r\n TimeToFirstByteTimePage = 66,\r\n }\r\n","import { __assign, __extends } from \"tslib\";\nimport { equal } from '@wry/equality';\nimport { ApolloError } from \"../../errors/index.js\";\nimport { NetworkStatus } from \"../../core/index.js\";\nimport { DocumentType } from \"../parser/index.js\";\nimport { OperationData } from \"./OperationData.js\";\nvar QueryData = (function (_super) {\n __extends(QueryData, _super);\n function QueryData(_a) {\n var options = _a.options, context = _a.context, onNewData = _a.onNewData;\n var _this = _super.call(this, options, context) || this;\n _this.runLazy = false;\n _this.previous = Object.create(null);\n _this.runLazyQuery = function (options) {\n _this.cleanup();\n _this.runLazy = true;\n _this.lazyOptions = options;\n _this.onNewData();\n };\n _this.getQueryResult = function () {\n var result = _this.observableQueryFields();\n var options = _this.getOptions();\n if (options.skip) {\n result = __assign(__assign({}, result), { data: undefined, error: undefined, loading: false, networkStatus: NetworkStatus.ready, called: true });\n }\n else if (_this.currentObservable) {\n var currentResult = _this.currentObservable.getCurrentResult();\n var data = currentResult.data, loading = currentResult.loading, partial = currentResult.partial, networkStatus = currentResult.networkStatus, errors = currentResult.errors;\n var error = currentResult.error;\n if (errors && errors.length > 0) {\n error = new ApolloError({ graphQLErrors: errors });\n }\n result = __assign(__assign({}, result), { data: data,\n loading: loading,\n networkStatus: networkStatus,\n error: error, called: true });\n if (loading) {\n }\n else if (error) {\n Object.assign(result, {\n data: (_this.currentObservable.getLastResult() || {})\n .data\n });\n }\n else {\n var fetchPolicy = _this.currentObservable.options.fetchPolicy;\n var partialRefetch = options.partialRefetch;\n if (partialRefetch &&\n partial &&\n (!data || Object.keys(data).length === 0) &&\n fetchPolicy !== 'cache-only') {\n Object.assign(result, {\n loading: true,\n networkStatus: NetworkStatus.loading\n });\n result.refetch();\n return result;\n }\n }\n }\n result.client = _this.client;\n _this.setOptions(options, true);\n var previousResult = _this.previous.result;\n _this.previous.loading =\n previousResult && previousResult.loading || false;\n result.previousData = previousResult &&\n (previousResult.data || previousResult.previousData);\n _this.previous.result = result;\n _this.currentObservable && _this.currentObservable.resetQueryStoreErrors();\n return result;\n };\n _this.obsRefetch = function (variables) { var _a; return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.refetch(variables); };\n _this.obsFetchMore = function (fetchMoreOptions) { return _this.currentObservable.fetchMore(fetchMoreOptions); };\n _this.obsUpdateQuery = function (mapFn) { return _this.currentObservable.updateQuery(mapFn); };\n _this.obsStartPolling = function (pollInterval) {\n var _a;\n (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.startPolling(pollInterval);\n };\n _this.obsStopPolling = function () {\n var _a;\n (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.stopPolling();\n };\n _this.obsSubscribeToMore = function (options) { return _this.currentObservable.subscribeToMore(options); };\n _this.onNewData = onNewData;\n return _this;\n }\n QueryData.prototype.execute = function () {\n this.refreshClient();\n var _a = this.getOptions(), skip = _a.skip, query = _a.query;\n if (skip || query !== this.previous.query) {\n this.removeQuerySubscription();\n this.removeObservable(!skip);\n this.previous.query = query;\n }\n this.updateObservableQuery();\n if (this.isMounted)\n this.startQuerySubscription();\n return this.getExecuteSsrResult() || this.getExecuteResult();\n };\n QueryData.prototype.executeLazy = function () {\n return !this.runLazy\n ? [\n this.runLazyQuery,\n {\n loading: false,\n networkStatus: NetworkStatus.ready,\n called: false,\n data: undefined\n }\n ]\n : [this.runLazyQuery, this.execute()];\n };\n QueryData.prototype.fetchData = function () {\n var _this = this;\n var options = this.getOptions();\n if (options.skip || options.ssr === false)\n return false;\n return new Promise(function (resolve) { return _this.startQuerySubscription(resolve); });\n };\n QueryData.prototype.afterExecute = function (_a) {\n var _b = (_a === void 0 ? {} : _a).lazy, lazy = _b === void 0 ? false : _b;\n this.isMounted = true;\n if (!lazy || this.runLazy) {\n this.handleErrorOrCompleted();\n }\n this.previousOptions = this.getOptions();\n return this.unmount.bind(this);\n };\n QueryData.prototype.cleanup = function () {\n this.removeQuerySubscription();\n this.removeObservable(true);\n delete this.previous.result;\n };\n QueryData.prototype.getOptions = function () {\n var options = _super.prototype.getOptions.call(this);\n if (this.lazyOptions) {\n options.variables = __assign(__assign({}, options.variables), this.lazyOptions.variables);\n options.context = __assign(__assign({}, options.context), this.lazyOptions.context);\n }\n if (this.runLazy) {\n delete options.skip;\n }\n return options;\n };\n QueryData.prototype.ssrInitiated = function () {\n return this.context && this.context.renderPromises;\n };\n QueryData.prototype.getExecuteResult = function () {\n var result = this.getQueryResult();\n this.startQuerySubscription();\n return result;\n };\n ;\n QueryData.prototype.getExecuteSsrResult = function () {\n var _a = this.getOptions(), ssr = _a.ssr, skip = _a.skip;\n var ssrDisabled = ssr === false;\n var fetchDisabled = this.refreshClient().client.disableNetworkFetches;\n var ssrLoading = __assign({ loading: true, networkStatus: NetworkStatus.loading, called: true, data: undefined, stale: false, client: this.client }, this.observableQueryFields());\n if (ssrDisabled && (this.ssrInitiated() || fetchDisabled)) {\n this.previous.result = ssrLoading;\n return ssrLoading;\n }\n if (this.ssrInitiated()) {\n var result = this.getQueryResult() || ssrLoading;\n if (result.loading && !skip) {\n this.context.renderPromises.addQueryPromise(this, function () { return null; });\n }\n return result;\n }\n };\n QueryData.prototype.prepareObservableQueryOptions = function () {\n var options = this.getOptions();\n this.verifyDocumentType(options.query, DocumentType.Query);\n var displayName = options.displayName || 'Query';\n if (this.ssrInitiated() &&\n (options.fetchPolicy === 'network-only' ||\n options.fetchPolicy === 'cache-and-network')) {\n options.fetchPolicy = 'cache-first';\n }\n return __assign(__assign({}, options), { displayName: displayName, context: options.context });\n };\n QueryData.prototype.initializeObservableQuery = function () {\n if (this.ssrInitiated()) {\n this.currentObservable = this.context.renderPromises.getSSRObservable(this.getOptions());\n }\n if (!this.currentObservable) {\n var observableQueryOptions = this.prepareObservableQueryOptions();\n this.previous.observableQueryOptions = __assign(__assign({}, observableQueryOptions), { children: null });\n this.currentObservable = this.refreshClient().client.watchQuery(__assign({}, observableQueryOptions));\n if (this.ssrInitiated()) {\n this.context.renderPromises.registerSSRObservable(this.currentObservable, observableQueryOptions);\n }\n }\n };\n QueryData.prototype.updateObservableQuery = function () {\n if (!this.currentObservable) {\n this.initializeObservableQuery();\n return;\n }\n if (this.getOptions().skip)\n return;\n var newObservableQueryOptions = __assign(__assign({}, this.prepareObservableQueryOptions()), { children: null });\n if (!equal(newObservableQueryOptions, this.previous.observableQueryOptions)) {\n this.previous.observableQueryOptions = newObservableQueryOptions;\n this.currentObservable\n .setOptions(newObservableQueryOptions)\n .catch(function () { });\n }\n };\n QueryData.prototype.startQuerySubscription = function (onNewData) {\n var _this = this;\n if (onNewData === void 0) { onNewData = this.onNewData; }\n if (this.currentSubscription || this.getOptions().skip)\n return;\n this.currentSubscription = this.currentObservable.subscribe({\n next: function (_a) {\n var loading = _a.loading, networkStatus = _a.networkStatus, data = _a.data;\n var previousResult = _this.previous.result;\n if (previousResult &&\n previousResult.loading === loading &&\n previousResult.networkStatus === networkStatus &&\n equal(previousResult.data, data)) {\n return;\n }\n onNewData();\n },\n error: function (error) {\n _this.resubscribeToQuery();\n if (!error.hasOwnProperty('graphQLErrors'))\n throw error;\n var previousResult = _this.previous.result;\n if ((previousResult && previousResult.loading) ||\n !equal(error, _this.previous.error)) {\n _this.previous.error = error;\n onNewData();\n }\n }\n });\n };\n QueryData.prototype.resubscribeToQuery = function () {\n this.removeQuerySubscription();\n var currentObservable = this.currentObservable;\n if (currentObservable) {\n var lastError = currentObservable.getLastError();\n var lastResult = currentObservable.getLastResult();\n currentObservable.resetLastResults();\n this.startQuerySubscription();\n Object.assign(currentObservable, {\n lastError: lastError,\n lastResult: lastResult\n });\n }\n };\n QueryData.prototype.handleErrorOrCompleted = function () {\n if (!this.currentObservable || !this.previous.result)\n return;\n var _a = this.previous.result, data = _a.data, loading = _a.loading, error = _a.error;\n if (!loading) {\n var _b = this.getOptions(), query = _b.query, variables = _b.variables, onCompleted = _b.onCompleted, onError = _b.onError, skip = _b.skip;\n if (this.previousOptions &&\n !this.previous.loading &&\n equal(this.previousOptions.query, query) &&\n equal(this.previousOptions.variables, variables)) {\n return;\n }\n if (onCompleted && !error && !skip) {\n onCompleted(data);\n }\n else if (onError && error) {\n onError(error);\n }\n }\n };\n QueryData.prototype.removeQuerySubscription = function () {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe();\n delete this.currentSubscription;\n }\n };\n QueryData.prototype.removeObservable = function (andDelete) {\n if (this.currentObservable) {\n this.currentObservable[\"tearDownQuery\"]();\n if (andDelete) {\n delete this.currentObservable;\n }\n }\n };\n QueryData.prototype.observableQueryFields = function () {\n var _a;\n return {\n variables: (_a = this.currentObservable) === null || _a === void 0 ? void 0 : _a.variables,\n refetch: this.obsRefetch,\n fetchMore: this.obsFetchMore,\n updateQuery: this.obsUpdateQuery,\n startPolling: this.obsStartPolling,\n stopPolling: this.obsStopPolling,\n subscribeToMore: this.obsSubscribeToMore\n };\n };\n return QueryData;\n}(OperationData));\nexport { QueryData };\n//# sourceMappingURL=QueryData.js.map","import { __assign } from \"tslib\";\nimport { useContext, useEffect, useReducer, useRef } from 'react';\nimport { QueryData } from \"../../data/index.js\";\nimport { useDeepMemo } from \"./useDeepMemo.js\";\nimport { getApolloContext } from \"../../context/index.js\";\nexport function useBaseQuery(query, options, lazy) {\n if (lazy === void 0) { lazy = false; }\n var context = useContext(getApolloContext());\n var _a = useReducer(function (x) { return x + 1; }, 0), tick = _a[0], forceUpdate = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), { query: query }) : { query: query };\n var queryDataRef = useRef();\n var queryData = queryDataRef.current || (queryDataRef.current = new QueryData({\n options: updatedOptions,\n context: context,\n onNewData: function () {\n if (!queryData.ssrInitiated()) {\n Promise.resolve().then(function () { return queryDataRef.current && forceUpdate(); });\n }\n else {\n forceUpdate();\n }\n }\n }));\n queryData.setOptions(updatedOptions);\n queryData.context = context;\n var memo = {\n options: __assign(__assign({}, updatedOptions), { onError: undefined, onCompleted: undefined }),\n context: context,\n tick: tick\n };\n var result = useDeepMemo(function () { return (lazy ? queryData.executeLazy() : queryData.execute()); }, memo);\n var queryResult = lazy\n ? result[1]\n : result;\n useEffect(function () {\n return function () { return queryData.cleanup(); };\n }, []);\n useEffect(function () { return queryData.afterExecute({ lazy: lazy }); }, [\n queryResult.loading,\n queryResult.networkStatus,\n queryResult.error,\n queryResult.data,\n ]);\n return result;\n}\n//# sourceMappingURL=useBaseQuery.js.map","import { useRef } from 'react';\nimport { equal } from '@wry/equality';\nexport function useDeepMemo(memoFn, key) {\n var ref = useRef();\n if (!ref.current || !equal(key, ref.current.key)) {\n ref.current = { key: key, value: memoFn() };\n }\n return ref.current.value;\n}\n//# sourceMappingURL=useDeepMemo.js.map","import { dep } from \"optimism\";\nimport { Slot } from \"@wry/context\";\nexport var cacheSlot = new Slot();\nvar cacheInfoMap = new WeakMap();\nfunction getCacheInfo(cache) {\n var info = cacheInfoMap.get(cache);\n if (!info) {\n cacheInfoMap.set(cache, info = {\n vars: new Set,\n dep: dep(),\n });\n }\n return info;\n}\nexport function forgetCache(cache) {\n getCacheInfo(cache).vars.forEach(function (rv) { return rv.forgetCache(cache); });\n}\nexport function recallCache(cache) {\n getCacheInfo(cache).vars.forEach(function (rv) { return rv.attachCache(cache); });\n}\nexport function makeVar(value) {\n var caches = new Set();\n var listeners = new Set();\n var rv = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue;\n caches.forEach(function (cache) {\n getCacheInfo(cache).dep.dirty(rv);\n broadcast(cache);\n });\n var oldListeners = Array.from(listeners);\n listeners.clear();\n oldListeners.forEach(function (listener) { return listener(value); });\n }\n }\n else {\n var cache = cacheSlot.getValue();\n if (cache) {\n attach(cache);\n getCacheInfo(cache).dep(rv);\n }\n }\n return value;\n };\n rv.onNextChange = function (listener) {\n listeners.add(listener);\n return function () {\n listeners.delete(listener);\n };\n };\n var attach = rv.attachCache = function (cache) {\n caches.add(cache);\n getCacheInfo(cache).vars.add(rv);\n return rv;\n };\n rv.forgetCache = function (cache) { return caches.delete(cache); };\n return rv;\n}\nfunction broadcast(cache) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n//# sourceMappingURL=reactiveVars.js.map"," \r\n export enum DisplayTestType {\r\n Web = 0,\r\n Transaction = 1,\r\n HtmlCode = 2,\r\n Ftp = 3,\r\n Tcp = 4,\r\n Dns = 5,\r\n Ping = 6,\r\n Smtp = 7,\r\n Udp = 8,\r\n Api = 9,\r\n Streaming = 10,\r\n Ssh = 11,\r\n TraceRoute = 12,\r\n WebSocket = 13,\r\n Ntp = 14,\r\n Imap = 15,\r\n Mqtt = 16,\r\n Bulk = 17,\r\n Ssl = 18,\r\n Wifi = 19,\r\n Bgp = 20,\r\n NodeToNode = 21,\r\n Bandwidth = 22,\r\n WebPageTestWeb = 23,\r\n WebPageTestTransaction = 24,\r\n }\r\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","import { invariant } from 'ts-invariant';\nexport var DocumentType;\n(function (DocumentType) {\n DocumentType[DocumentType[\"Query\"] = 0] = \"Query\";\n DocumentType[DocumentType[\"Mutation\"] = 1] = \"Mutation\";\n DocumentType[DocumentType[\"Subscription\"] = 2] = \"Subscription\";\n})(DocumentType || (DocumentType = {}));\nvar cache = new Map();\nexport function operationName(type) {\n var name;\n switch (type) {\n case DocumentType.Query:\n name = 'Query';\n break;\n case DocumentType.Mutation:\n name = 'Mutation';\n break;\n case DocumentType.Subscription:\n name = 'Subscription';\n break;\n }\n return name;\n}\nexport function parser(document) {\n var cached = cache.get(document);\n if (cached)\n return cached;\n var variables, type, name;\n process.env.NODE_ENV === \"production\" ? invariant(!!document && !!document.kind, 34) : invariant(!!document && !!document.kind, \"Argument of \" + document + \" passed to parser was not a valid GraphQL \" +\n \"DocumentNode. You may need to use 'graphql-tag' or another method \" +\n \"to convert your operation into a document\");\n var fragments = document.definitions.filter(function (x) { return x.kind === 'FragmentDefinition'; });\n var queries = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'query';\n });\n var mutations = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'mutation';\n });\n var subscriptions = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'subscription';\n });\n process.env.NODE_ENV === \"production\" ? invariant(!fragments.length ||\n (queries.length || mutations.length || subscriptions.length), 35) : invariant(!fragments.length ||\n (queries.length || mutations.length || subscriptions.length), \"Passing only a fragment to 'graphql' is not yet supported. \" +\n \"You must include a query, subscription or mutation as well\");\n process.env.NODE_ENV === \"production\" ? invariant(queries.length + mutations.length + subscriptions.length <= 1, 36) : invariant(queries.length + mutations.length + subscriptions.length <= 1, \"react-apollo only supports a query, subscription, or a mutation per HOC. \" +\n (document + \" had \" + queries.length + \" queries, \" + subscriptions.length + \" \") +\n (\"subscriptions and \" + mutations.length + \" mutations. \") +\n \"You can use 'compose' to join multiple operation types to a component\");\n type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n if (!queries.length && !mutations.length)\n type = DocumentType.Subscription;\n var definitions = queries.length\n ? queries\n : mutations.length\n ? mutations\n : subscriptions;\n process.env.NODE_ENV === \"production\" ? invariant(definitions.length === 1, 37) : invariant(definitions.length === 1, \"react-apollo only supports one definition per HOC. \" + document + \" had \" +\n (definitions.length + \" definitions. \") +\n \"You can use 'compose' to join multiple operation types to a component\");\n var definition = definitions[0];\n variables = definition.variableDefinitions || [];\n if (definition.name && definition.name.kind === 'Name') {\n name = definition.name.value;\n }\n else {\n name = 'data';\n }\n var payload = { name: name, type: type, variables: variables };\n cache.set(document, payload);\n return payload;\n}\n//# sourceMappingURL=index.js.map","import { isString } from './is';\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem) {\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n var currentElem = elem;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n var height = 0;\n var len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n var nextStr = void 0;\n // eslint-disable-next-line no-plusplus\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n return out.reverse().join(separator);\n }\n catch (_oO) {\n return '';\n }\n}\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el) {\n var elem = el;\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push(\"#\" + elem.id);\n }\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(\".\" + classes[i]);\n }\n }\n var allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(\"[\" + key + \"=\\\"\" + attr + \"\\\"]\");\n }\n }\n return out.join('');\n}\n//# sourceMappingURL=browser.js.map","import { typeOf, isElement, isValidElementType } from 'react-is';\nimport React, { useState, useContext, useMemo, useEffect, useRef, createElement, useDebugValue } from 'react';\nimport shallowequal from 'shallowequal';\nimport Stylis from '@emotion/stylis';\nimport unitless from '@emotion/unitless';\nimport validAttr from '@emotion/is-prop-valid';\nimport hoist from 'hoist-non-react-statics';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\n// \nvar interleave = (function (strings, interpolations) {\n var result = [strings[0]];\n\n for (var i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n});\n\n// \nvar isPlainObject = (function (x) {\n return x !== null && typeof x === 'object' && (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' && !typeOf(x);\n});\n\n// \nvar EMPTY_ARRAY = Object.freeze([]);\nvar EMPTY_OBJECT = Object.freeze({});\n\n// \nfunction isFunction(test) {\n return typeof test === 'function';\n}\n\n// \nfunction getComponentName(target) {\n return (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) || // $FlowFixMe\n target.displayName || // $FlowFixMe\n target.name || 'Component';\n}\n\n// \nfunction isStatelessFunction(test) {\n return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent);\n}\n\n// \nfunction isStyledComponent(target) {\n return target && typeof target.styledComponentId === 'string';\n}\n\n// \nvar SC_ATTR = typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || 'data-styled';\nvar SC_ATTR_ACTIVE = 'active';\nvar SC_ATTR_VERSION = 'data-styled-version';\nvar SC_VERSION = \"5.1.0\";\nvar SPLITTER = '/*!sc*/\\n';\nvar IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\nvar DISABLE_SPEEDY = typeof SC_DISABLE_SPEEDY === 'boolean' && SC_DISABLE_SPEEDY || typeof process !== 'undefined' && (process.env.REACT_APP_SC_DISABLE_SPEEDY || process.env.SC_DISABLE_SPEEDY) || process.env.NODE_ENV !== 'production'; // Shared empty execution context when generating static styles\n\nvar STATIC_EXECUTION_CONTEXT = {};\n\n// \n\n/* eslint-disable camelcase, no-undef */\nvar getNonce = function getNonce() {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n};\n\nvar errorMap = {\n \"1\": \"Cannot create styled-component for component: %s.\\n\\n\",\n \"2\": \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n \"3\": \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n \"4\": \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n \"5\": \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n \"6\": \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n \"7\": \"ThemeProvider: Please return an object from your \\\"theme\\\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n\",\n \"8\": \"ThemeProvider: Please make your \\\"theme\\\" prop an object.\\n\\n\",\n \"9\": \"Missing document ``\\n\\n\",\n \"10\": \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n \"11\": \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n \"12\": \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n \"13\": \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",\n \"14\": \"ThemeProvider: \\\"theme\\\" prop is required.\\n\\n\",\n \"15\": \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n \"16\": \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n \"17\": \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n};\n\n// \nvar ERRORS = process.env.NODE_ENV !== 'production' ? errorMap : {};\n/**\n * super basic version of sprintf\n */\n\nfunction format() {\n var a = arguments.length <= 0 ? undefined : arguments[0];\n var b = [];\n\n for (var c = 1, len = arguments.length; c < len; c += 1) {\n b.push(c < 0 || arguments.length <= c ? undefined : arguments[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\n\n\nfunction throwStyledComponentsError(code) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n if (process.env.NODE_ENV === 'production') {\n throw new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/master/packages/styled-components/src/utils/errors.md#\" + code + \" for more information.\" + (interpolations.length > 0 ? \" Additional arguments: \" + interpolations.join(', ') : ''));\n } else {\n throw new Error(format.apply(void 0, [ERRORS[code]].concat(interpolations)).trim());\n }\n}\n\n// \nvar ELEMENT_TYPE = 1;\n/* Node.ELEMENT_TYPE */\n\n/** Find last style element if any inside target */\n\nvar findLastStyleTag = function findLastStyleTag(target) {\n var childNodes = target.childNodes;\n\n for (var i = childNodes.length; i >= 0; i--) {\n var child = childNodes[i];\n\n if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n return child;\n }\n }\n\n return undefined;\n};\n/** Create a style element inside `target` or after the last */\n\n\nvar makeStyleTag = function makeStyleTag(target) {\n var head = document.head;\n var parent = target || head;\n var style = document.createElement('style');\n var prevStyle = findLastStyleTag(parent);\n var nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n var nonce = getNonce();\n if (nonce) style.setAttribute('nonce', nonce);\n parent.insertBefore(style, nextSibling);\n return style;\n};\n/** Get the CSSStyleSheet instance for a given style element */\n\nvar getSheet = function getSheet(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // Avoid Firefox quirk where the style element might not have a sheet property\n\n\n var _document = document,\n styleSheets = _document.styleSheets;\n\n for (var i = 0, l = styleSheets.length; i < l; i++) {\n var sheet = styleSheets[i];\n\n if (sheet.ownerNode === tag) {\n return sheet;\n }\n }\n\n throwStyledComponentsError(17);\n return undefined;\n};\n\n// \n/** Create a CSSStyleSheet-like tag depending on the environment */\n\nvar makeTag = function makeTag(_ref) {\n var isServer = _ref.isServer,\n useCSSOMInjection = _ref.useCSSOMInjection,\n target = _ref.target;\n\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\nvar CSSOMTag = /*#__PURE__*/function () {\n function CSSOMTag(target) {\n var element = this.element = makeStyleTag(target); // Avoid Edge bug where empty style elements don't create sheets\n\n element.appendChild(document.createTextNode(''));\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n var _proto = CSSOMTag.prototype;\n\n _proto.insertRule = function insertRule(index, rule) {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n };\n\n _proto.deleteRule = function deleteRule(index) {\n this.sheet.deleteRule(index);\n this.length--;\n };\n\n _proto.getRule = function getRule(index) {\n var rule = this.sheet.cssRules[index]; // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n };\n\n return CSSOMTag;\n}();\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\n\nvar TextTag = /*#__PURE__*/function () {\n function TextTag(target) {\n var element = this.element = makeStyleTag(target);\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n var _proto2 = TextTag.prototype;\n\n _proto2.insertRule = function insertRule(index, rule) {\n if (index <= this.length && index >= 0) {\n var node = document.createTextNode(rule);\n var refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n };\n\n _proto2.deleteRule = function deleteRule(index) {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n };\n\n _proto2.getRule = function getRule(index) {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n };\n\n return TextTag;\n}();\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\n\nvar VirtualTag = /*#__PURE__*/function () {\n function VirtualTag(_target) {\n this.rules = [];\n this.length = 0;\n }\n\n var _proto3 = VirtualTag.prototype;\n\n _proto3.insertRule = function insertRule(index, rule) {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n };\n\n _proto3.deleteRule = function deleteRule(index) {\n this.rules.splice(index, 1);\n this.length--;\n };\n\n _proto3.getRule = function getRule(index) {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n };\n\n return VirtualTag;\n}();\n\n// \n/** Create a GroupedTag with an underlying Tag implementation */\n\nvar makeGroupedTag = function makeGroupedTag(tag) {\n return new DefaultGroupedTag(tag);\n};\nvar BASE_SIZE = 1 << 9;\n\nvar DefaultGroupedTag = /*#__PURE__*/function () {\n function DefaultGroupedTag(tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n var _proto = DefaultGroupedTag.prototype;\n\n _proto.indexOfGroup = function indexOfGroup(group) {\n var index = 0;\n\n for (var i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n };\n\n _proto.insertRules = function insertRules(group, rules) {\n if (group >= this.groupSizes.length) {\n var oldBuffer = this.groupSizes;\n var oldSize = oldBuffer.length;\n var newSize = oldSize;\n\n while (group >= newSize) {\n newSize <<= 1;\n\n if (newSize < 0) {\n throwStyledComponentsError(16, \"\" + group);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (var i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n var ruleIndex = this.indexOfGroup(group + 1);\n\n for (var _i = 0, l = rules.length; _i < l; _i++) {\n if (this.tag.insertRule(ruleIndex, rules[_i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n };\n\n _proto.clearGroup = function clearGroup(group) {\n if (group < this.length) {\n var length = this.groupSizes[group];\n var startIndex = this.indexOfGroup(group);\n var endIndex = startIndex + length;\n this.groupSizes[group] = 0;\n\n for (var i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n };\n\n _proto.getGroup = function getGroup(group) {\n var css = '';\n\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n var length = this.groupSizes[group];\n var startIndex = this.indexOfGroup(group);\n var endIndex = startIndex + length;\n\n for (var i = startIndex; i < endIndex; i++) {\n css += \"\" + this.tag.getRule(i) + SPLITTER;\n }\n\n return css;\n };\n\n return DefaultGroupedTag;\n}();\n\n// \nvar MAX_SMI = 1 << 31 - 1;\nvar groupIDRegister = new Map();\nvar reverseRegister = new Map();\nvar nextFreeGroup = 1;\nvar getGroupForId = function getGroupForId(id) {\n if (groupIDRegister.has(id)) {\n return groupIDRegister.get(id);\n }\n\n var group = nextFreeGroup++;\n\n if (process.env.NODE_ENV !== 'production' && ((group | 0) < 0 || group > MAX_SMI)) {\n throwStyledComponentsError(16, \"\" + group);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\nvar getIdForGroup = function getIdForGroup(group) {\n return reverseRegister.get(group);\n};\nvar setGroupForId = function setGroupForId(id, group) {\n if (group >= nextFreeGroup) {\n nextFreeGroup = group + 1;\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n\n// \nvar SELECTOR = \"style[\" + SC_ATTR + \"][\" + SC_ATTR_VERSION + \"=\\\"\" + SC_VERSION + \"\\\"]\";\nvar MARKER_RE = new RegExp(\"^\" + SC_ATTR + \"\\\\.g(\\\\d+)\\\\[id=\\\"([\\\\w\\\\d-]+)\\\"\\\\].*?\\\"([^\\\"]*)\");\nvar outputSheet = function outputSheet(sheet) {\n var tag = sheet.getTag();\n var length = tag.length;\n var css = '';\n\n for (var group = 0; group < length; group++) {\n var id = getIdForGroup(group);\n if (id === undefined) continue;\n var names = sheet.names.get(id);\n var rules = tag.getGroup(group);\n if (names === undefined || rules.length === 0) continue;\n var selector = SC_ATTR + \".g\" + group + \"[id=\\\"\" + id + \"\\\"]\";\n var content = '';\n\n if (names !== undefined) {\n names.forEach(function (name) {\n if (name.length > 0) {\n content += name + \",\";\n }\n });\n } // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n\n\n css += \"\" + rules + selector + \"{content:\\\"\" + content + \"\\\"}\" + SPLITTER;\n }\n\n return css;\n};\n\nvar rehydrateNamesFromContent = function rehydrateNamesFromContent(sheet, id, content) {\n var names = content.split(',');\n var name;\n\n for (var i = 0, l = names.length; i < l; i++) {\n // eslint-disable-next-line\n if (name = names[i]) {\n sheet.registerName(id, name);\n }\n }\n};\n\nvar rehydrateSheetFromTag = function rehydrateSheetFromTag(sheet, style) {\n var parts = style.innerHTML.split(SPLITTER);\n var rules = [];\n\n for (var i = 0, l = parts.length; i < l; i++) {\n var part = parts[i].trim();\n if (!part) continue;\n var marker = part.match(MARKER_RE);\n\n if (marker) {\n var group = parseInt(marker[1], 10) | 0;\n var id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group); // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nvar rehydrateSheet = function rehydrateSheet(sheet) {\n var nodes = document.querySelectorAll(SELECTOR);\n\n for (var i = 0, l = nodes.length; i < l; i++) {\n var node = nodes[i];\n\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n\nvar SHOULD_REHYDRATE = IS_BROWSER;\nvar defaultOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY\n};\n/** Contains the main stylesheet logic for stringification and caching */\n\nvar StyleSheet = /*#__PURE__*/function () {\n /** Register a group ID to give it an index */\n StyleSheet.registerId = function registerId(id) {\n return getGroupForId(id);\n };\n\n function StyleSheet(options, globalStyles, names) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n if (globalStyles === void 0) {\n globalStyles = {};\n }\n\n this.options = _extends({}, defaultOptions, {}, options);\n this.gs = globalStyles;\n this.names = new Map(names); // We rehydrate only once and use the sheet that is created first\n\n if (!this.options.isServer && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.reconstructWithOptions = function reconstructWithOptions(options) {\n return new StyleSheet(_extends({}, this.options, {}, options), this.gs, this.names);\n };\n\n _proto.allocateGSInstance = function allocateGSInstance(id) {\n return this.gs[id] = (this.gs[id] || 0) + 1;\n }\n /** Lazily initialises a GroupedTag for when it's actually needed */\n ;\n\n _proto.getTag = function getTag() {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n /** Check whether a name is known for caching */\n ;\n\n _proto.hasNameForId = function hasNameForId(id, name) {\n return this.names.has(id) && this.names.get(id).has(name);\n }\n /** Mark a group's name as known for caching */\n ;\n\n _proto.registerName = function registerName(id, name) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n var groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n this.names.get(id).add(name);\n }\n }\n /** Insert new rules which also marks the name as known */\n ;\n\n _proto.insertRules = function insertRules(id, name, rules) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n /** Clears all cached names for a given group ID */\n ;\n\n _proto.clearNames = function clearNames(id) {\n if (this.names.has(id)) {\n this.names.get(id).clear();\n }\n }\n /** Clears all rules for a given group ID */\n ;\n\n _proto.clearRules = function clearRules(id) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n /** Clears the entire tag which deletes all rules but not its names */\n ;\n\n _proto.clearTag = function clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n /** Outputs the current sheet as a CSS string with markers for SSR */\n ;\n\n _proto.toString = function toString() {\n return outputSheet(this);\n };\n\n return StyleSheet;\n}();\n\n// \n\n/* eslint-disable */\nvar SEED = 5381; // When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\n\nvar phash = function phash(h, x) {\n var i = x.length;\n\n while (i) {\n h = h * 33 ^ x.charCodeAt(--i);\n }\n\n return h;\n}; // This is a djb2 hashing function\n\nvar hash = function hash(x) {\n return phash(SEED, x);\n};\n\n/**\n * MIT License\n *\n * Copyright (c) 2016 Sultan Tarimo\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\n * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/* eslint-disable */\nfunction insertRulePlugin (insertRule) {\n var delimiter = '/*|*/';\n var needle = delimiter + \"}\";\n\n function toSheet(block) {\n if (block) {\n try {\n insertRule(block + \"}\");\n } catch (e) {}\n }\n }\n\n return function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n // @import\n if (depth === 0 && content.charCodeAt(0) === 64) return insertRule(content + \";\"), '';\n break;\n // selector\n\n case 2:\n if (ns === 0) return content + delimiter;\n break;\n // at-rule\n\n case 3:\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n return insertRule(selectors[0] + content), '';\n\n default:\n return content + (at === 0 ? delimiter : '');\n }\n\n case -2:\n content.split(needle).forEach(toSheet);\n }\n };\n}\n\nvar COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\nfunction createStylisInstance(_temp) {\n var _ref = _temp === void 0 ? EMPTY_OBJECT : _temp,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? EMPTY_OBJECT : _ref$options,\n _ref$plugins = _ref.plugins,\n plugins = _ref$plugins === void 0 ? EMPTY_ARRAY : _ref$plugins;\n\n var stylis = new Stylis(options); // Wrap `insertRulePlugin to build a list of rules,\n // and then make our own plugin to return the rules. This\n // makes it easier to hook into the existing SSR architecture\n\n var parsingRules = []; // eslint-disable-next-line consistent-return\n\n var returnRulesPlugin = function returnRulesPlugin(context) {\n if (context === -2) {\n var parsedRules = parsingRules;\n parsingRules = [];\n return parsedRules;\n }\n };\n\n var parseRulesPlugin = insertRulePlugin(function (rule) {\n parsingRules.push(rule);\n });\n\n var _componentId;\n\n var _selector;\n\n var _selectorRegexp;\n\n var selfReferenceReplacer = function selfReferenceReplacer(match, offset, string) {\n if ( // the first self-ref is always untouched\n offset > 0 && // there should be at least two self-refs to do a replacement (.b > .b)\n string.slice(0, offset).indexOf(_selector) !== -1 && // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n string.slice(offset - _selector.length, offset) !== _selector) {\n return \".\" + _componentId;\n }\n\n return match;\n };\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js#plugins <- more info about the context phase values\n * \"2\" means this plugin is taking effect at the very end after all other processing is complete\n */\n\n\n var selfReferenceReplacementPlugin = function selfReferenceReplacementPlugin(context, _, selectors) {\n if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n // eslint-disable-next-line no-param-reassign\n selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n stylis.use([].concat(plugins, [selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]));\n\n function stringifyRules(css, selector, prefix, componentId) {\n if (componentId === void 0) {\n componentId = '&';\n }\n\n var flatCSS = css.replace(COMMENT_REGEX, '');\n var cssStr = selector && prefix ? prefix + \" \" + selector + \" { \" + flatCSS + \" }\" : flatCSS; // stylis has no concept of state to be passed to plugins\n // but since JS is single=threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(\"\\\\\" + _selector + \"\\\\b\", 'g');\n return stylis(prefix || !selector ? '' : selector, cssStr);\n }\n\n stringifyRules.hash = plugins.length ? plugins.reduce(function (acc, plugin) {\n if (!plugin.name) {\n throwStyledComponentsError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED).toString() : '';\n return stringifyRules;\n}\n\n// \nvar StyleSheetContext = React.createContext();\nvar StyleSheetConsumer = StyleSheetContext.Consumer;\nvar StylisContext = React.createContext();\nvar StylisConsumer = StylisContext.Consumer;\nvar masterSheet = new StyleSheet();\nvar masterStylis = createStylisInstance();\nfunction useStyleSheet() {\n return useContext(StyleSheetContext) || masterSheet;\n}\nfunction useStylis() {\n return useContext(StylisContext) || masterStylis;\n}\nfunction StyleSheetManager(props) {\n var _useState = useState(props.stylisPlugins),\n plugins = _useState[0],\n setPlugins = _useState[1];\n\n var contextStyleSheet = useStyleSheet();\n var styleSheet = useMemo(function () {\n var sheet = contextStyleSheet;\n\n if (props.sheet) {\n // eslint-disable-next-line prefer-destructuring\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({\n target: props.target\n });\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({\n useCSSOMInjection: false\n });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target]);\n var stylis = useMemo(function () {\n return createStylisInstance({\n options: {\n prefix: !props.disableVendorPrefixes\n },\n plugins: plugins\n });\n }, [props.disableVendorPrefixes, plugins]);\n useEffect(function () {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n return /*#__PURE__*/React.createElement(StyleSheetContext.Provider, {\n value: styleSheet\n }, /*#__PURE__*/React.createElement(StylisContext.Provider, {\n value: stylis\n }, process.env.NODE_ENV !== 'production' ? React.Children.only(props.children) : props.children));\n}\n\n// \n\nvar Keyframes = /*#__PURE__*/function () {\n function Keyframes(name, stringifyArgs) {\n var _this = this;\n\n this.inject = function (styleSheet) {\n if (!styleSheet.hasNameForId(_this.id, _this.name)) {\n styleSheet.insertRules(_this.id, _this.name, masterStylis.apply(void 0, _this.stringifyArgs));\n }\n };\n\n this.toString = function () {\n return throwStyledComponentsError(12, String(_this.name));\n };\n\n this.name = name;\n this.id = \"sc-keyframes-\" + name;\n this.stringifyArgs = stringifyArgs;\n }\n\n var _proto = Keyframes.prototype;\n\n _proto.getName = function getName() {\n return this.name;\n };\n\n return Keyframes;\n}();\n\n// \n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction hyphenateStyleName(string) {\n return string.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\n// \n\nfunction addUnitIfNeeded(name, value) {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n // $FlowFixMe\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless)) {\n return value + \"px\"; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return String(value).trim();\n}\n\n// \n/**\n * It's falsish not falsy because 0 is allowed.\n */\n\nvar isFalsish = function isFalsish(chunk) {\n return chunk === undefined || chunk === null || chunk === false || chunk === '';\n};\n\nvar objToCssArray = function objToCssArray(obj, prevKey) {\n var rules = [];\n var keys = Object.keys(obj);\n keys.forEach(function (key) {\n if (!isFalsish(obj[key])) {\n if (isPlainObject(obj[key])) {\n rules.push.apply(rules, objToCssArray(obj[key], key));\n return rules;\n } else if (isFunction(obj[key])) {\n rules.push(hyphenateStyleName(key) + \":\", obj[key], ';');\n return rules;\n }\n\n rules.push(hyphenateStyleName(key) + \": \" + addUnitIfNeeded(key, obj[key]) + \";\");\n }\n\n return rules;\n });\n return prevKey ? [prevKey + \" {\"].concat(rules, ['}']) : rules;\n};\nfunction flatten(chunk, executionContext, styleSheet) {\n if (Array.isArray(chunk)) {\n var ruleSet = [];\n\n for (var i = 0, len = chunk.length, result; i < len; i += 1) {\n result = flatten(chunk[i], executionContext, styleSheet);\n if (result === '') continue;else if (Array.isArray(result)) ruleSet.push.apply(ruleSet, result);else ruleSet.push(result);\n }\n\n return ruleSet;\n }\n\n if (isFalsish(chunk)) {\n return '';\n }\n /* Handle other components */\n\n\n if (isStyledComponent(chunk)) {\n return \".\" + chunk.styledComponentId;\n }\n /* Either execute or defer the function */\n\n\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n var _result = chunk(executionContext);\n\n if (process.env.NODE_ENV !== 'production' && isElement(_result)) {\n // eslint-disable-next-line no-console\n console.warn(getComponentName(chunk) + \" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\");\n }\n\n return flatten(_result, executionContext, styleSheet);\n } else return chunk;\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet);\n return chunk.getName();\n } else return chunk;\n }\n /* Handle objects */\n\n\n return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n}\n\n// \nfunction css(styles) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n if (isFunction(styles) || isPlainObject(styles)) {\n // $FlowFixMe\n return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations)));\n }\n\n if (interpolations.length === 0 && styles.length === 1 && typeof styles[0] === \"string\") {\n // $FlowFixMe\n return styles;\n } // $FlowFixMe\n\n\n return flatten(interleave(styles, interpolations));\n}\n\nfunction constructWithOptions(componentConstructor, tag, options) {\n if (options === void 0) {\n options = EMPTY_OBJECT;\n }\n\n if (!isValidElementType(tag)) {\n return throwStyledComponentsError(1, String(tag));\n }\n /* This is callable directly as a template function */\n // $FlowFixMe: Not typed to avoid destructuring arguments\n\n\n var templateFunction = function templateFunction() {\n return componentConstructor(tag, options, css.apply(void 0, arguments));\n };\n /* If config methods are called, wrap up a new template function and merge options */\n\n\n templateFunction.withConfig = function (config) {\n return constructWithOptions(componentConstructor, tag, _extends({}, options, {}, config));\n };\n /* Modify/inject new props at runtime */\n\n\n templateFunction.attrs = function (attrs) {\n return constructWithOptions(componentConstructor, tag, _extends({}, options, {\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean)\n }));\n };\n\n return templateFunction;\n}\n\n/* eslint-disable */\n\n/**\n mixin-deep; https://github.com/jonschlinkert/mixin-deep\n Inlined such that it will be consistently transpiled to an IE-compatible syntax.\n\n The MIT License (MIT)\n\n Copyright (c) 2014-present, Jon Schlinkert.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n*/\nvar isObject = function isObject(val) {\n return typeof val === 'function' || typeof val === 'object' && val !== null && !Array.isArray(val);\n};\n\nvar isValidKey = function isValidKey(key) {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n};\n\nfunction mixin(target, val, key) {\n var obj = target[key];\n\n if (isObject(val) && isObject(obj)) {\n mixinDeep(obj, val);\n } else {\n target[key] = val;\n }\n}\n\nfunction mixinDeep(target) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n for (var _i = 0, _rest = rest; _i < _rest.length; _i++) {\n var obj = _rest[_i];\n\n if (isObject(obj)) {\n for (var key in obj) {\n if (isValidKey(key)) {\n mixin(target, obj[key], key);\n }\n }\n }\n }\n\n return target;\n}\n\n// \n\n/* eslint-disable no-bitwise */\nvar AD_REPLACER_R = /(a)(d)/gi;\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\n\nvar charsLength = 52;\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\n\nvar getAlphabeticChar = function getAlphabeticChar(code) {\n return String.fromCharCode(code + (code > 25 ? 39 : 97));\n};\n/* input a number, usually a hash and convert it to base-52 */\n\n\nfunction generateAlphabeticName(code) {\n var name = '';\n var x;\n /* get a char and divide by alphabet-length */\n\n for (x = Math.abs(code); x > charsLength; x = x / charsLength | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n\n// \nfunction isStaticRules(rules) {\n for (var i = 0; i < rules.length; i += 1) {\n var rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n\n// \n/*\n ComponentStyle is all the CSS-specific stuff, not\n the React-specific stuff.\n */\n\nvar ComponentStyle = /*#__PURE__*/function () {\n function ComponentStyle(rules, componentId) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic = process.env.NODE_ENV === 'production' && isStaticRules(rules);\n this.componentId = componentId;\n this.baseHash = hash(componentId); // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n\n StyleSheet.registerId(componentId);\n }\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n\n\n var _proto = ComponentStyle.prototype;\n\n _proto.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet, stylis) {\n var componentId = this.componentId; // force dynamic classnames if user-supplied stylis plugins are in use\n\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(componentId, this.staticRulesId)) {\n return this.staticRulesId;\n }\n\n var cssStatic = flatten(this.rules, executionContext, styleSheet).join('');\n var name = generateAlphabeticName(phash(this.baseHash, cssStatic.length) >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n var cssStaticFormatted = stylis(cssStatic, \".\" + name, undefined, componentId);\n styleSheet.insertRules(componentId, name, cssStaticFormatted);\n }\n\n this.staticRulesId = name;\n return name;\n } else {\n var length = this.rules.length;\n var dynamicHash = phash(this.baseHash, stylis.hash);\n var css = '';\n\n for (var i = 0; i < length; i++) {\n var partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule + i);\n } else {\n var partChunk = flatten(partRule, executionContext, styleSheet);\n var partString = Array.isArray(partChunk) ? partChunk.join('') : partChunk;\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n var _name = generateAlphabeticName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, _name)) {\n var cssFormatted = stylis(css, \".\" + _name, undefined, componentId);\n styleSheet.insertRules(componentId, _name, cssFormatted);\n }\n\n return _name;\n }\n };\n\n return ComponentStyle;\n}();\n\n// \nvar LIMIT = 200;\nvar createWarnTooManyClasses = (function (displayName, componentId) {\n var generatedClasses = {};\n var warningSeen = false;\n return function (className) {\n if (!warningSeen) {\n generatedClasses[className] = true;\n\n if (Object.keys(generatedClasses).length >= LIMIT) {\n // Unable to find latestRule in test environment.\n\n /* eslint-disable no-console, prefer-template */\n var parsedIdString = componentId ? \" with the id of \\\"\" + componentId + \"\\\"\" : '';\n console.warn(\"Over \" + LIMIT + \" classes were generated for component \" + displayName + parsedIdString + \".\\n\" + 'Consider using the attrs method, together with a style object for frequently changed styles.\\n' + 'Example:\\n' + ' const Component = styled.div.attrs(props => ({\\n' + ' style: {\\n' + ' background: props.background,\\n' + ' },\\n' + ' }))`width: 100%;`\\n\\n' + ' ');\n warningSeen = true;\n generatedClasses = {};\n }\n }\n };\n});\n\n// \nvar invalidHookCallRe = /invalid hook call/i;\nvar seen = new Set();\nvar checkDynamicCreation = function checkDynamicCreation(displayName, componentId) {\n if (process.env.NODE_ENV !== 'production') {\n var parsedIdString = componentId ? \" with the id of \\\"\" + componentId + \"\\\"\" : '';\n var message = \"The component \" + displayName + parsedIdString + \" has been created dynamically.\\n\" + 'You may see this warning because you\\'ve called styled inside another component.\\n' + 'To resolve this only create new StyledComponents outside of any render method and function component.';\n\n try {\n // We purposefully call `useRef` outside of a component and expect it to throw\n // If it doesn't, then we're inside another component.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useRef();\n\n if (!seen.has(message)) {\n // eslint-disable-next-line no-console\n console.warn(message);\n seen.add(message);\n }\n } catch (error) {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(error.message)) {\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen[\"delete\"](message);\n }\n }\n }\n};\n\n// \nvar determineTheme = (function (props, providedTheme, defaultProps) {\n if (defaultProps === void 0) {\n defaultProps = EMPTY_OBJECT;\n }\n\n return props.theme !== defaultProps.theme && props.theme || providedTheme || defaultProps.theme;\n});\n\n// \nvar escapeRegex = /[[\\].#*$><+~=|^:(),\"'`-]+/g;\nvar dashesAtEnds = /(^-|-$)/g;\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\n\nfunction escape(str) {\n return str // Replace all possible CSS selectors\n .replace(escapeRegex, '-') // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '');\n}\n\n// \nfunction isTag(target) {\n return typeof target === 'string' && (process.env.NODE_ENV !== 'production' ? target.charAt(0) === target.charAt(0).toLowerCase() : true);\n}\n\n// \nfunction generateDisplayName(target) {\n // $FlowFixMe\n return isTag(target) ? \"styled.\" + target : \"Styled(\" + getComponentName(target) + \")\";\n}\n\n// \nvar generateComponentId = (function (str) {\n return generateAlphabeticName(hash(str) >>> 0);\n});\n\n/**\n * Convenience function for joining strings to form className chains\n */\nfunction joinStrings(a, b) {\n return a && b ? a + \" \" + b : a || b;\n}\n\nvar ThemeContext = React.createContext();\nvar ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme, outerTheme) {\n if (!theme) {\n return throwStyledComponentsError(14);\n }\n\n if (isFunction(theme)) {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')) {\n return throwStyledComponentsError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n return throwStyledComponentsError(8);\n }\n\n return outerTheme ? _extends({}, outerTheme, {}, theme) : theme;\n}\n/**\n * Provide a theme to an entire react component tree via context\n */\n\n\nfunction ThemeProvider(props) {\n var outerTheme = useContext(ThemeContext);\n var themeContext = useMemo(function () {\n return mergeTheme(props.theme, outerTheme);\n }, [props.theme, outerTheme]);\n\n if (!props.children) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: themeContext\n }, props.children);\n}\n\n/* global $Call */\n\nvar identifiers = {};\n/* We depend on components having unique IDs */\n\nfunction generateId(displayName, parentComponentId) {\n var name = typeof displayName !== 'string' ? 'sc' : escape(displayName); // Ensure that no displayName can lead to duplicate componentIds\n\n identifiers[name] = (identifiers[name] || 0) + 1;\n var componentId = name + \"-\" + generateComponentId(name + identifiers[name]);\n return parentComponentId ? parentComponentId + \"-\" + componentId : componentId;\n}\n\nfunction useResolvedAttrs(theme, props, attrs) {\n if (theme === void 0) {\n theme = EMPTY_OBJECT;\n }\n\n // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n var context = _extends({}, props, {\n theme: theme\n });\n\n var resolvedAttrs = {};\n attrs.forEach(function (attrDef) {\n var resolvedAttrDef = attrDef;\n var key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n /* eslint-disable guard-for-in */\n\n\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] = key === 'className' ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key]) : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n\n });\n return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle(componentStyle, hasAttrs, resolvedAttrs, warnTooManyClasses) {\n var styleSheet = useStyleSheet();\n var stylis = useStylis(); // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n\n var isStatic = componentStyle.isStatic && !hasAttrs;\n var className = isStatic ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis) : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n useDebugValue(className);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(forwardedComponent, props, forwardedRef) {\n var componentAttrs = forwardedComponent.attrs,\n componentStyle = forwardedComponent.componentStyle,\n defaultProps = forwardedComponent.defaultProps,\n foldedComponentIds = forwardedComponent.foldedComponentIds,\n shouldForwardProp = forwardedComponent.shouldForwardProp,\n styledComponentId = forwardedComponent.styledComponentId,\n target = forwardedComponent.target;\n useDebugValue(styledComponentId); // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n\n var theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n var _useResolvedAttrs = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs),\n context = _useResolvedAttrs[0],\n attrs = _useResolvedAttrs[1];\n\n var generatedClassName = useInjectedStyle(componentStyle, componentAttrs.length > 0, context, process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined);\n var refToForward = forwardedRef;\n var elementToBeCreated = attrs.$as || props.$as || attrs.as || props.as || target;\n var isTargetTag = isTag(elementToBeCreated);\n var computedProps = attrs !== props ? _extends({}, props, {}, attrs) : props;\n var propFilterFn = shouldForwardProp || isTargetTag && validAttr;\n var propsForElement = {}; // eslint-disable-next-line guard-for-in\n\n for (var key in computedProps) {\n if (key[0] === '$' || key === 'as') continue;else if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (!propFilterFn || propFilterFn(key, validAttr)) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = _extends({}, props.style, {}, attrs.style);\n }\n\n propsForElement.className = Array.prototype.concat(foldedComponentIds, styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : null, props.className, attrs.className).filter(Boolean).join(' ');\n propsForElement.ref = refToForward;\n return createElement(elementToBeCreated, propsForElement);\n}\n\nfunction createStyledComponent(target, options, rules) {\n var isTargetStyledComp = isStyledComponent(target);\n var isCompositeComponent = !isTag(target);\n var _options$displayName = options.displayName,\n displayName = _options$displayName === void 0 ? generateDisplayName(target) : _options$displayName,\n _options$componentId = options.componentId,\n componentId = _options$componentId === void 0 ? generateId(options.displayName, options.parentComponentId) : _options$componentId,\n _options$attrs = options.attrs,\n attrs = _options$attrs === void 0 ? EMPTY_ARRAY : _options$attrs;\n var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + \"-\" + options.componentId : options.componentId || componentId; // fold the underlying StyledComponent attrs up (implicit extend)\n\n var finalAttrs = // $FlowFixMe\n isTargetStyledComp && target.attrs ? Array.prototype.concat(target.attrs, attrs).filter(Boolean) : attrs; // eslint-disable-next-line prefer-destructuring\n\n var shouldForwardProp = options.shouldForwardProp; // $FlowFixMe\n\n if (isTargetStyledComp && target.shouldForwardProp) {\n if (shouldForwardProp) {\n // compose nested shouldForwardProp calls\n shouldForwardProp = function shouldForwardProp(prop, filterFn) {\n return (// $FlowFixMe\n target.shouldForwardProp(prop, filterFn) && options.shouldForwardProp(prop, filterFn)\n );\n };\n } else {\n // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = target.shouldForwardProp;\n }\n }\n\n var componentStyle = new ComponentStyle(isTargetStyledComp ? // fold the underlying StyledComponent rules up (implicit extend)\n // $FlowFixMe\n target.componentStyle.rules.concat(rules) : rules, styledComponentId);\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n\n var WrappedStyledComponent; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n var forwardRef = function forwardRef(props, ref) {\n return useStyledComponentImpl(WrappedStyledComponent, props, ref);\n };\n\n forwardRef.displayName = displayName; // $FlowFixMe this is a forced cast to merge it StyledComponentWrapperProperties\n\n WrappedStyledComponent = React.forwardRef(forwardRef);\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp; // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp ? // $FlowFixMe\n Array.prototype.concat(target.foldedComponentIds, target.styledComponentId) : EMPTY_ARRAY;\n WrappedStyledComponent.styledComponentId = styledComponentId; // fold the underlying StyledComponent target up since we folded the styles\n\n WrappedStyledComponent.target = isTargetStyledComp ? // $FlowFixMe\n target.target : target; // $FlowFixMe\n\n WrappedStyledComponent.withComponent = function withComponent(tag) {\n var previousComponentId = options.componentId,\n optionsToCopy = _objectWithoutPropertiesLoose(options, [\"componentId\"]);\n\n var newComponentId = previousComponentId && previousComponentId + \"-\" + (isTag(tag) ? tag : escape(getComponentName(tag)));\n\n var newOptions = _extends({}, optionsToCopy, {\n attrs: finalAttrs,\n componentId: newComponentId\n });\n\n return createStyledComponent(tag, newOptions, rules);\n }; // $FlowFixMe\n\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get: function get() {\n return this._foldedDefaultProps;\n },\n set: function set(obj) {\n // $FlowFixMe\n this._foldedDefaultProps = isTargetStyledComp ? mixinDeep({}, target.defaultProps, obj) : obj;\n }\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(displayName, styledComponentId);\n } // $FlowFixMe\n\n\n WrappedStyledComponent.toString = function () {\n return \".\" + WrappedStyledComponent.styledComponentId;\n };\n\n if (isCompositeComponent) {\n hoist(WrappedStyledComponent, target, {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n self: true,\n styledComponentId: true,\n target: true,\n withComponent: true\n });\n }\n\n return WrappedStyledComponent;\n}\n\n// \n// Thanks to ReactDOMFactories for this handy list!\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'marker', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// \n\nvar styled = function styled(tag) {\n return constructWithOptions(createStyledComponent, tag);\n}; // Shorthands for all valid HTML Elements\n\n\ndomElements.forEach(function (domElement) {\n styled[domElement] = styled(domElement);\n});\n\n// \n\nvar GlobalStyle = /*#__PURE__*/function () {\n function GlobalStyle(rules, componentId) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n }\n\n var _proto = GlobalStyle.prototype;\n\n _proto.createStyles = function createStyles(instance, executionContext, styleSheet, stylis) {\n var flatCSS = flatten(this.rules, executionContext, styleSheet);\n var css = stylis(flatCSS.join(''), '');\n var id = this.componentId + instance; // NOTE: We use the id as a name as well, since these rules never change\n\n styleSheet.insertRules(id, id, css);\n };\n\n _proto.removeStyles = function removeStyles(instance, styleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n };\n\n _proto.renderStyles = function renderStyles(instance, executionContext, styleSheet, stylis) {\n StyleSheet.registerId(this.componentId + instance); // NOTE: Remove old styles, then inject the new ones\n\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n };\n\n return GlobalStyle;\n}();\n\nfunction createGlobalStyle(strings) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n var rules = css.apply(void 0, [strings].concat(interpolations));\n var styledComponentId = \"sc-global-\" + generateComponentId(JSON.stringify(rules));\n var globalStyle = new GlobalStyle(rules, styledComponentId);\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(styledComponentId);\n }\n\n function GlobalStyleComponent(props) {\n var styleSheet = useStyleSheet();\n var stylis = useStylis();\n var theme = useContext(ThemeContext);\n var instanceRef = useRef(null);\n\n if (instanceRef.current === null) {\n instanceRef.current = styleSheet.allocateGSInstance(styledComponentId);\n }\n\n var instance = instanceRef.current;\n\n if (process.env.NODE_ENV !== 'production' && React.Children.count(props.children)) {\n // eslint-disable-next-line no-console\n console.warn(\"The global style component \" + styledComponentId + \" was given child JSX. createGlobalStyle does not render children.\");\n }\n\n if (process.env.NODE_ENV !== 'production' && rules.some(function (rule) {\n return typeof rule === 'string' && rule.indexOf('@import') !== -1;\n })) {\n console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\");\n }\n\n if (globalStyle.isStatic) {\n globalStyle.renderStyles(instance, STATIC_EXECUTION_CONTEXT, styleSheet, stylis);\n } else {\n var context = _extends({}, props, {\n theme: determineTheme(props, theme, GlobalStyleComponent.defaultProps)\n });\n\n globalStyle.renderStyles(instance, context, styleSheet, stylis);\n }\n\n useEffect(function () {\n return function () {\n return globalStyle.removeStyles(instance, styleSheet);\n };\n }, EMPTY_ARRAY);\n return null;\n } // $FlowFixMe\n\n\n return React.memo(GlobalStyleComponent);\n}\n\n// \nfunction keyframes(strings) {\n /* Warning if you've used keyframes on React Native */\n if (process.env.NODE_ENV !== 'production' && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n // eslint-disable-next-line no-console\n console.warn('`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.');\n }\n\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n var rules = css.apply(void 0, [strings].concat(interpolations)).join('');\n var name = generateComponentId(rules);\n return new Keyframes(name, [rules, name, '@keyframes']);\n}\n\nvar ServerStyleSheet = /*#__PURE__*/function () {\n function ServerStyleSheet() {\n var _this = this;\n\n this._emitSheetCSS = function () {\n var css = _this.instance.toString();\n\n var nonce = getNonce();\n var attrs = [nonce && \"nonce=\\\"\" + nonce + \"\\\"\", SC_ATTR + \"=\\\"true\\\"\", SC_ATTR_VERSION + \"=\\\"\" + SC_VERSION + \"\\\"\"];\n var htmlAttr = attrs.filter(Boolean).join(' ');\n return \"\";\n };\n\n this.getStyleTags = function () {\n if (_this.sealed) {\n return throwStyledComponentsError(2);\n }\n\n return _this._emitSheetCSS();\n };\n\n this.getStyleElement = function () {\n var _props;\n\n if (_this.sealed) {\n return throwStyledComponentsError(2);\n }\n\n var props = (_props = {}, _props[SC_ATTR] = '', _props[SC_ATTR_VERSION] = SC_VERSION, _props.dangerouslySetInnerHTML = {\n __html: _this.instance.toString()\n }, _props);\n var nonce = getNonce();\n\n if (nonce) {\n props.nonce = nonce;\n } // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n\n\n return [/*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n key: \"sc-0-0\"\n }))];\n };\n\n this.seal = function () {\n _this.sealed = true;\n };\n\n this.instance = new StyleSheet({\n isServer: true\n });\n this.sealed = false;\n }\n\n var _proto = ServerStyleSheet.prototype;\n\n _proto.collectStyles = function collectStyles(children) {\n if (this.sealed) {\n return throwStyledComponentsError(2);\n }\n\n return /*#__PURE__*/React.createElement(StyleSheetManager, {\n sheet: this.instance\n }, children);\n };\n\n // eslint-disable-next-line consistent-return\n _proto.interleaveWithNodeStream = function interleaveWithNodeStream(input) {\n {\n return throwStyledComponentsError(3);\n }\n };\n\n return ServerStyleSheet;\n}();\n\n// export default (\n// Component: AbstractComponent\n// ): AbstractComponent<$Diff & { theme?: any }, Instance>\n//\n// but the old build system tooling doesn't support the syntax\n\nvar withTheme = (function (Component) {\n // $FlowFixMe This should be React.forwardRef\n var WithTheme = React.forwardRef(function (props, ref) {\n var theme = useContext(ThemeContext); // $FlowFixMe defaultProps isn't declared so it can be inferrable\n\n var defaultProps = Component.defaultProps;\n var themeProp = determineTheme(props, theme, defaultProps);\n\n if (process.env.NODE_ENV !== 'production' && themeProp === undefined) {\n // eslint-disable-next-line no-console\n console.warn(\"[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \\\"\" + getComponentName(Component) + \"\\\"\");\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n theme: themeProp,\n ref: ref\n }));\n });\n hoist(WithTheme, Component);\n WithTheme.displayName = \"WithTheme(\" + getComponentName(Component) + \")\";\n return WithTheme;\n});\n\n// \n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\n// \nvar __PRIVATE__ = {\n StyleSheet: StyleSheet,\n masterSheet: masterSheet\n};\n\n// \n/* Define bundle version for export */\n\nvar version = \"5.1.0\";\n/* Warning if you've imported this file on React Native */\n\nif (process.env.NODE_ENV !== 'production' && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n // eslint-disable-next-line no-console\n console.warn(\"It looks like you've imported 'styled-components' on React Native.\\n\" + \"Perhaps you're looking to import 'styled-components/native'?\\n\" + 'Read more about this at https://www.styled-components.com/docs/basics#react-native');\n}\n/* Warning if there are several instances of styled-components */\n\n\nif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && typeof window !== 'undefined') {\n window['__styled-components-init__'] = window['__styled-components-init__'] || 0;\n\n if (window['__styled-components-init__'] === 1) {\n // eslint-disable-next-line no-console\n console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. \" + 'This may cause dynamic styles not rendering properly, errors happening during rehydration process, ' + 'missing theme prop, and makes your application bigger without a good reason.\\n\\n' + 'See https://s-c.sh/2BAXzed for more info.');\n }\n\n window['__styled-components-init__'] += 1;\n}\n\nexport default styled;\nexport { ServerStyleSheet, StyleSheetConsumer, StyleSheetContext, StyleSheetManager, ThemeConsumer, ThemeContext, ThemeProvider, __PRIVATE__, createGlobalStyle, css, isStyledComponent, keyframes, useTheme, version, withTheme };\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","/**\n * The possible methods that can be used to fit the image.\n * {@docCategory Image}\n */\nexport var ImageFit;\n(function (ImageFit) {\n /**\n * The image is not scaled. The image is centered and cropped within the content box.\n */\n ImageFit[ImageFit[\"center\"] = 0] = \"center\";\n /**\n * The image is scaled to maintain its aspect ratio while being fully contained within the frame. The image will\n * be centered horizontally and vertically within the frame. The space in the top and bottom or in the sides of\n * the frame will be empty depending on the difference in aspect ratio between the image and the frame.\n */\n ImageFit[ImageFit[\"contain\"] = 1] = \"contain\";\n /**\n * The image is scaled to maintain its aspect ratio while filling the frame. Portions of the image will be cropped\n * from the top and bottom, or the sides, depending on the difference in aspect ratio between the image and the frame.\n */\n ImageFit[ImageFit[\"cover\"] = 2] = \"cover\";\n /**\n * Neither the image nor the frame are scaled. If their sizes do not match, the image will either be cropped or the\n * frame will have empty space.\n */\n ImageFit[ImageFit[\"none\"] = 3] = \"none\";\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height or width is less than the Image frame's height or width,\n * but if both natural height and width are larger than the frame it will behave as ImageFit.cover.\n */\n ImageFit[ImageFit[\"centerCover\"] = 4] = \"centerCover\";\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height and width is less than the Image frame's height and width,\n * but if either natural height or width are larger than the frame it will behave as ImageFit.contain.\n */\n ImageFit[ImageFit[\"centerContain\"] = 5] = \"centerContain\";\n})(ImageFit || (ImageFit = {}));\n/**\n * The cover style to be used on the image\n * {@docCategory Image}\n */\nexport var ImageCoverStyle;\n(function (ImageCoverStyle) {\n /**\n * The image will be shown at 100% height of container and the width will be scaled accordingly\n */\n ImageCoverStyle[ImageCoverStyle[\"landscape\"] = 0] = \"landscape\";\n /**\n * The image will be shown at 100% width of container and the height will be scaled accordingly\n */\n ImageCoverStyle[ImageCoverStyle[\"portrait\"] = 1] = \"portrait\";\n})(ImageCoverStyle || (ImageCoverStyle = {}));\n/**\n * {@docCategory Image}\n */\nexport var ImageLoadState;\n(function (ImageLoadState) {\n /**\n * The image has not yet been loaded, and there is no error yet.\n */\n ImageLoadState[ImageLoadState[\"notLoaded\"] = 0] = \"notLoaded\";\n /**\n * The image has been loaded successfully.\n */\n ImageLoadState[ImageLoadState[\"loaded\"] = 1] = \"loaded\";\n /**\n * An error has been encountered while loading the image.\n */\n ImageLoadState[ImageLoadState[\"error\"] = 2] = \"error\";\n /**\n * Deprecated at v1.3.6, to replace the src in case of errors, use `onLoadingStateChange` instead\n * and rerender the Image with a difference src.\n * @deprecated Use `onLoadingStateChange` instead\n * and rerender the Image with a difference src.\n */\n ImageLoadState[ImageLoadState[\"errorLoaded\"] = 3] = \"errorLoaded\";\n})(ImageLoadState || (ImageLoadState = {}));\n//# sourceMappingURL=Image.types.js.map","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * Memo class used for decycle json objects. Uses WeakSet if available otherwise array.\n */\nvar Memo = /** @class */ (function () {\n function Memo() {\n this._hasWeakSet = typeof WeakSet === 'function';\n this._inner = this._hasWeakSet ? new WeakSet() : [];\n }\n /**\n * Sets obj to remember.\n * @param obj Object to remember\n */\n Memo.prototype.memoize = function (obj) {\n if (this._hasWeakSet) {\n if (this._inner.has(obj)) {\n return true;\n }\n this._inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (var i = 0; i < this._inner.length; i++) {\n var value = this._inner[i];\n if (value === obj) {\n return true;\n }\n }\n this._inner.push(obj);\n return false;\n };\n /**\n * Removes object from internal storage.\n * @param obj Object to forget\n */\n Memo.prototype.unmemoize = function (obj) {\n if (this._hasWeakSet) {\n this._inner.delete(obj);\n }\n else {\n for (var i = 0; i < this._inner.length; i++) {\n if (this._inner[i] === obj) {\n this._inner.splice(i, 1);\n break;\n }\n }\n }\n };\n return Memo;\n}());\nexport { Memo };\n//# sourceMappingURL=memo.js.map","exports.f = require('../internals/well-known-symbol');\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","import { BillingCycle } from '../components/Plans/Plans.types';\r\n\r\nexport const About = 'About';\r\nexport const Active = 'Active';\r\nexport const ActivePlan = 'Active Plan:';\r\nexport const AddDevice = 'Add Device';\r\nexport const AddDevices = 'Add Devices';\r\nexport const AddDevicesS = 'Add Devices(s)';\r\nexport const AddDevicePlus = '+ Add device';\r\nexport const AddDevicesProfiles = 'Add Device profiles to test';\r\nexport const AddProduct = 'Add Product';\r\nexport const AddSubscription = 'Add Subscription';\r\nexport const AddTimes = 'Add Time(s)';\r\nexport const AllPlansInclude = 'All Plans Include';\r\nexport const Amount = 'Amount';\r\nexport const And = 'and';\r\nexport const Annual = 'Annual';\r\nexport const Annually = 'Annually';\r\nexport const AnnualPayment = 'Annual Payment';\r\nexport const Api = 'API';\r\nexport const APIConsumers = 'API Consumers';\r\nexport const APIKey = 'API Key';\r\nexport const ApiKeyHasBeenCreated = 'The API key has been created.';\r\nexport const ApiKeyHasBeenRegenerated = 'The API key has been regenerated.';\r\nexport const ApiKeysHaveBeenDeleted = 'The API key(s) have been deleted.';\r\nexport const ApiSubscriptionPlan = 'API Subscription Plan';\r\nexport const BillingHistory = 'Billing History';\r\nexport const Blog = 'Blog';\r\nexport const Browser = 'Browser';\r\nexport const Cancel = 'Cancel';\r\nexport const CancelSubscription = 'Cancel Subscription';\r\nexport const CancellationReasonQuestion = 'We are sad to see you go. What is the biggest reason you wish to cancel?';\r\nexport const CancellationReason1 = 'My Project has ended';\r\nexport const CancellationReason2 = 'Changing Subscription Plan';\r\nexport const CancellationReason3 = 'Subscription is too expensive';\r\nexport const CancellationReason4 = 'Product missing key features';\r\nexport const CardNumber = 'Card Number';\r\nexport const ChangeYourPassword = 'Change your password';\r\nexport const ChargesCount = '# Charges';\r\nexport const City = 'City';\r\nexport const ClickVerificationLink =\r\n 'Please click on the link that was sent to your email to complete your registration process.';\r\nexport const CompanyName = 'Company Name';\r\nexport const CompareTestLimitErrorMessage = 'You can compare at most 30 tests.';\r\nexport const PlotGraphTestLimitErrorMessage = 'You can plot Graph for at most 30 tests.';\r\nexport const Confirm = 'Confirm';\r\nexport const ConfirmCancellation = 'Confirm Cancellation';\r\nexport const ConfirmEmail = 'Confirm Email';\r\nexport const ConfirmPassword = 'Confirm Password';\r\nexport const Connection = 'Connection';\r\nexport const ContactInformation = 'Contact Information';\r\nexport const ContactInformationUpdated = 'Contact information has been updated.';\r\nexport const ContactSupport = 'Contact Support';\r\nexport const ContactUs = 'Contact Us';\r\nexport const Copy = 'Copy';\r\nexport const CreateDate = 'Create Date';\r\nexport const CreditCard = 'Credit Card';\r\nexport const Country = 'Country';\r\nexport const CustomEnterprisePlan = 'Custom Enterprise Plan';\r\nexport const DateTimeStamp = 'Date Time Stamp';\r\nexport const Delete = 'Delete';\r\nexport const Device = 'Device';\r\nexport const Devices = 'Devices';\r\nexport const DeviceEmulation = 'Device Emulation';\r\nexport const DeviceProfile = 'Device Profile';\r\nexport const DeviceSectionHelpText =\r\n 'Define the devices you would like to emulate your webpages on. Each URL and script will be run on each device.';\r\nexport const DidNotRecieveEmail = 'Didn’t receive an email?';\r\nexport const Docs = 'Docs';\r\nexport const EditProduct = 'Edit Product';\r\nexport const EditSchedule = 'Edit Schedule';\r\nexport const Email = 'Email';\r\nexport const EmailsMustMatch = 'Emails must match';\r\nexport const Expires = 'Expires:';\r\nexport const EnterApplicationName = 'Enter Application Name';\r\nexport const EnterpriseContactUsText = 'Looking to run more than 20,000 test runs a month?';\r\nexport const FeedbackQuestion = 'What can we do to make the service better for you?';\r\nexport const FirstName = 'First Name';\r\nexport const FreeAccountsInclude = 'Free Accounts Include';\r\nexport const Forums = 'Forums';\r\nexport const Hide = 'Hide';\r\nexport const HideTest = 'Hide Test';\r\nexport const HideTests = 'Hide Tests';\r\nexport const HideTestError = 'An error occurred while hiding your tests. Please try again.';\r\nexport const HideTestAndRemoveFromTestHistory =\r\n 'Once the following test has been hidden it will be removed from your test history.';\r\nexport const HideTestsAndRemoveFromTestHistory =\r\n 'Once the following tests have been hidden they will be removed from your test history.';\r\nexport const HideTestSuccess = 'test successfully hidden.';\r\nexport const HideTestsSuccess = 'tests successfully hidden.';\r\nexport const Home = 'Home';\r\nexport const Inactive = 'Inactive';\r\nexport const InvalidEmailMessage = 'Email is not valid.';\r\nexport const LastName = 'Last Name';\r\nexport const Label = 'Label';\r\nexport const LastUpdated = 'Last Updated';\r\nexport const LearnMore = 'Learn More';\r\nexport const Loading = 'Loading';\r\nexport const Location = 'Location';\r\nexport const Login = 'Login';\r\nexport const Logout = 'Logout';\r\nexport const Month = 'Month';\r\nexport const Monthly = 'Monthly';\r\nexport const MonthlyPayment = 'Monthly Payment';\r\nexport const MyAccount = 'My Account';\r\nexport const Name = 'Name';\r\nexport const NewApiKey = 'New API Key';\r\nexport const NA = 'N/A';\r\nexport const NewVerificationLinkSent = 'A new verification link was sent to your email';\r\nexport const NoDevicesSelected = 'No Devices Selected';\r\nexport const NoNodesSelected = 'No Nodes Selected';\r\nexport const NoPlansAvailable = 'No Plans Available';\r\nexport const NoSubscriptionToWptApi = \"No Subscription to WebPageTest's API Found.\";\r\nexport const NumberOfTestRuns = '# of Test Runs';\r\nexport const OneDay = '1 Day';\r\nexport const OneYear = '1 Year';\r\nexport const Other = 'Other';\r\nexport const Pages = 'Pages';\r\nexport const Password = 'Password';\r\nexport const PasswordChanged = 'Password Changed.';\r\nexport const PasswordsMustMatch = 'Passwords must match';\r\nexport const PasswordPlaceholder = '*************';\r\nexport const PasswordsDoNotMatch = 'Passwords do not match.';\r\nexport const PauseTesting = 'Pause Testing';\r\nexport const PauseTestingPopUpContent =\r\n 'Pausing testing for this product will prevent any further tests from running, reactivate the product to resume testing.';\r\nexport const PauseTestingPopupPrimaryButton = 'Pause Testing';\r\nexport const PauseTestingPopupTitle = 'Pause Testing for Catchpoint.com';\r\nexport const Payment = 'Payment:';\r\nexport const PaymentInformation = 'Payment Information';\r\nexport const Plan = 'Plan';\r\nexport const PlanFeature1 = 'Access to real browsers in real locations with the latest OS versions.';\r\nexport const PlanFeature2 = 'Test on real connection speeds.';\r\nexport const PlanFeature3 = 'Run page level and user journey tests including custom scripts.';\r\nexport const PlanFeature4 = 'Access to test history for 13 months.';\r\nexport const PlanFeature5 =\r\n 'Access to API integrations (Github Action, NodeJS wrapper, Slackbot and community-built integrations)';\r\nexport const PlanFeature6 = 'Access to support and expert documentation.';\r\nexport const PlanRenewal = 'Plan Renewal:';\r\nexport const PlanSelected = 'Plan has successfully been selected.';\r\nexport const Please = 'please';\r\nexport const PleaseSelectPlan = 'Please select a plan';\r\nexport const PleaseSelectCancellationReason = 'Please select a reason below:';\r\nexport const Price = 'Price:';\r\nexport const PrivacyPolicy = 'privacy policy';\r\nexport const Product = 'Product';\r\nexport const Products = 'Products';\r\nexport const PromoHeader =\r\n \"The WebPageTest API gives full access to the power and depth of WebPageTest's analysis, letting you pull performance data into your existing workflows and processes.\";\r\nexport const PurchaseSummary = 'Purchase Summary';\r\nexport const Provider = 'Provider';\r\nexport const Ratio = 'Ratio';\r\nexport const RegenerateApiKey = 'Regenerate API Key';\r\nexport const RegistrationSuccessfulMessage = 'User has been successfully registered.';\r\nexport const RemainingRuns = 'Remaining Runs';\r\nexport const RemoveDevice = 'Remove Device';\r\nexport const RemoveDevices = 'Remove Devices';\r\nexport const RemoveNode = 'Remove Node';\r\nexport const RemoveNodes = 'Remove Nodes';\r\nexport const RemoveNodeConfirmation = 'Are you sure you want remove the {0}-{1} from your test configuration?';\r\nexport const RemoveNodesConfirmation = 'Are you sure you want remove the selected nodes from your test configuration?';\r\nexport const RemoveProduct = 'Remove Product';\r\nexport const RemoveSubscription = 'Remove Subscription';\r\nexport const ResendVerificationLink = 'Resend Verification Link';\r\nexport const RunBy = 'Run By';\r\nexport const RunDate = 'Run Date';\r\nexport const RunFrom = 'Run From';\r\nexport const RunsRenewal = 'Runs Renewal';\r\nexport const Save = 'Save';\r\nexport const Search = 'Search';\r\nexport const SchedulingAndTestNodes = 'Scheduling and Test Nodes';\r\nexport const Scripts = 'Scripts';\r\nexport const Select = 'Select';\r\nexport const SelectACountry = 'Select a Country';\r\nexport const Selected = 'Selected';\r\nexport const SelectPageLoads = 'Select Page Loads';\r\nexport const SevenDays = '7 Days';\r\nexport const Signup = 'Sign Up';\r\nexport const SignupFeature1 = 'Access to your test history for 13 months from any browser';\r\nexport const SignupFeature2 = 'Easy view to past test results';\r\nexport const SignupFeature3 = 'Ability to analyze performance trends';\r\nexport const SignupFeature4 = 'Ability to contribute to the WebPageTest Forum discussions';\r\nexport const SixMonths = '6 Months';\r\nexport const Size = 'Size';\r\nexport const Slower = 'Slower';\r\nexport const Smaller = 'Smaller';\r\nexport const State = 'State';\r\nexport const Status = 'Status:';\r\nexport const StreetAddress = 'Street Address';\r\nexport const SorrySomethingWentWrong = 'Sorry, something went wrong.';\r\nexport const SubscriptionDetails = 'Subscription Details';\r\nexport const SubscriptionPlan = 'Subscription Plan';\r\nexport const SuccessfullyCanceledTheSubscription = 'Successfully canceled the subscription.';\r\nexport const SuccessfullyUpdatedThePaymentMethod = 'Successfully updated the payment method';\r\nexport const TermsAndConditionsLabel = 'By clicking \"Sign Up\" you are agreeing to our';\r\nexport const TermsOfService = 'terms of service';\r\nexport const TestHistory = 'Test History';\r\nexport const TestingNodes = 'Testing Nodes';\r\nexport const TestSchedule = 'Test Schedule';\r\nexport const TestScheduleInfoMessage =\r\n 'Tests run within the select hour, we will aim to run it approximately at the same minute of the hour.';\r\nexport const ThirtyDays = '30 Days';\r\nexport const ToLearnMoreAbout = 'To learn more about';\r\nexport const UpdateSchedule = 'Update Schedule';\r\nexport const Url = 'URL';\r\nexport const USD = '$';\r\nexport const VerificationLinkSent = 'A verification link was sent to your email';\r\nexport const View = 'View';\r\nexport const WptEnterprise = 'WPT Enterprise';\r\nexport const ViewPerformance = 'View Performance';\r\nexport const ZipCode = 'Zip Code';\r\nexport const Credentials = 'Credentials';\r\nexport const Remove = 'Remove';\r\n\r\nexport const getBillingFrequency = (billingCycle: BillingCycle): string => {\r\n switch (billingCycle) {\r\n case BillingCycle.Monthly:\r\n return Monthly;\r\n case BillingCycle.Annual:\r\n return Annually;\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nexport const localizeFormat = (format: string, ...arr: string[]): string => {\r\n for (let i = 0; i < arr.length; i++) {\r\n const str = arr[i];\r\n const regex = new RegExp('\\\\{' + i + '\\\\}', 'g');\r\n format = format.replace(regex, str);\r\n }\r\n\r\n return format;\r\n};\r\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","module.exports = false;\n","import { Stylesheet } from '@uifabric/merge-styles';\nvar _initializedStylesheetResets = false;\nvar _resetCounter = 0;\nvar _emptyObject = { empty: true };\nvar _dictionary = {};\nvar _weakMap = typeof WeakMap === 'undefined' ? null : WeakMap;\n/**\n * Test utility for providing a custom weakmap.\n *\n * @internal\n * */\nexport function setMemoizeWeakMap(weakMap) {\n _weakMap = weakMap;\n}\n/**\n * Reset memoizations.\n */\nexport function resetMemoizations() {\n _resetCounter++;\n}\n/**\n * Memoize decorator to be used on class methods. WARNING: the `this` reference\n * will be inaccessible within a memoized method, given that a cached method's `this`\n * would not be instance-specific.\n *\n * @public\n */\nexport function memoize(target, key, descriptor) {\n // We bind to \"null\" to prevent people from inadvertently pulling values from \"this\",\n // rather than passing them in as input values which can be memoized.\n var fn = memoizeFunction(descriptor.value && descriptor.value.bind(null));\n return {\n configurable: true,\n get: function () {\n return fn;\n },\n };\n}\n/**\n * Memoizes a function; when you pass in the same parameters multiple times, it returns a cached result.\n * Be careful when passing in objects, you need to pass in the same INSTANCE for caching to work. Otherwise\n * it will grow the cache unnecessarily. Also avoid using default values that evaluate functions; passing in\n * undefined for a value and relying on a default function will execute it the first time, but will not\n * re-evaluate subsequent times which may have been unexpected.\n *\n * By default, the cache will reset after 100 permutations, to avoid abuse cases where the function is\n * unintendedly called with unique objects. Without a reset, the cache could grow infinitely, so we safeguard\n * by resetting. To override this behavior, pass a value of 0 to the maxCacheSize parameter.\n *\n * @public\n * @param cb - The function to memoize.\n * @param maxCacheSize - Max results to cache. If the cache exceeds this value, it will reset on the next call.\n * @param ignoreNullOrUndefinedResult - Flag to decide whether to cache callback result if it is undefined/null.\n * If the flag is set to true, the callback result is recomputed every time till the callback result is\n * not undefined/null for the first time, and then the non-undefined/null version gets cached.\n * @returns A memoized version of the function.\n */\nexport function memoizeFunction(cb, maxCacheSize, ignoreNullOrUndefinedResult) {\n if (maxCacheSize === void 0) { maxCacheSize = 100; }\n if (ignoreNullOrUndefinedResult === void 0) { ignoreNullOrUndefinedResult = false; }\n // Avoid breaking scenarios which don't have weak map.\n if (!_weakMap) {\n return cb;\n }\n if (!_initializedStylesheetResets) {\n var stylesheet = Stylesheet.getInstance();\n if (stylesheet && stylesheet.onReset) {\n Stylesheet.getInstance().onReset(resetMemoizations);\n }\n _initializedStylesheetResets = true;\n }\n var rootNode;\n var cacheSize = 0;\n var localResetCounter = _resetCounter;\n return function memoizedFunction() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var currentNode = rootNode;\n if (rootNode === undefined ||\n localResetCounter !== _resetCounter ||\n (maxCacheSize > 0 && cacheSize > maxCacheSize)) {\n rootNode = _createNode();\n cacheSize = 0;\n localResetCounter = _resetCounter;\n }\n currentNode = rootNode;\n // Traverse the tree until we find the match.\n for (var i = 0; i < args.length; i++) {\n var arg = _normalizeArg(args[i]);\n if (!currentNode.map.has(arg)) {\n currentNode.map.set(arg, _createNode());\n }\n currentNode = currentNode.map.get(arg);\n }\n if (!currentNode.hasOwnProperty('value')) {\n currentNode.value = cb.apply(void 0, args);\n cacheSize++;\n }\n if (ignoreNullOrUndefinedResult && (currentNode.value === null || currentNode.value === undefined)) {\n currentNode.value = cb.apply(void 0, args);\n }\n return currentNode.value;\n };\n}\n/**\n * Creates a memoizer for a single-value function, backed by a WeakMap.\n * With a WeakMap, the memoized values are only kept as long as the source objects,\n * ensuring that there is no memory leak.\n *\n * This function assumes that the input values passed to the wrapped function will be\n * `function` or `object` types. To memoize functions which accept other inputs, use\n * `memoizeFunction`, which memoizes against arbitrary inputs using a lookup cache.\n *\n * @public\n */\nexport function createMemoizer(getValue) {\n if (!_weakMap) {\n // Without a `WeakMap` implementation, memoization is not possible.\n return getValue;\n }\n var cache = new _weakMap();\n function memoizedGetValue(input) {\n if (!input || (typeof input !== 'function' && typeof input !== 'object')) {\n // A WeakMap can only be used to test against reference values, i.e. 'function' and 'object'.\n // All other inputs cannot be memoized against in this manner.\n return getValue(input);\n }\n if (cache.has(input)) {\n return cache.get(input);\n }\n var value = getValue(input);\n cache.set(input, value);\n return value;\n }\n return memoizedGetValue;\n}\nfunction _normalizeArg(val) {\n if (!val) {\n return _emptyObject;\n }\n else if (typeof val === 'object' || typeof val === 'function') {\n return val;\n }\n else if (!_dictionary[val]) {\n _dictionary[val] = { val: val };\n }\n return _dictionary[val];\n}\nfunction _createNode() {\n return {\n map: _weakMap ? new _weakMap() : null,\n };\n}\n//# sourceMappingURL=memoize.js.map"," \r\n export enum RumMetricGroupType {\r\n RequestComponents = 1,\r\n Webpage = 2,\r\n Marks = 3,\r\n Engagement = 4,\r\n Insight = 5,\r\n }\r\n"," \r\n export enum WidgetSourceType {\r\n Test = 1,\r\n RumApp = 2,\r\n SonarApp = 3,\r\n SonarLocation = 4,\r\n SonarDevice = 5,\r\n SLA = 6,\r\n SyntheticAlert = 7,\r\n RumAlert = 8,\r\n SyntheticError = 9,\r\n RumError = 10,\r\n UserSentiment = 11,\r\n EndpointTest = 12,\r\n NodeToNode = 13,\r\n }\r\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import * as React from 'react';\nimport { getWindow } from './dom/getWindow';\nimport { isDirectionalKeyCode } from './keyboard';\nimport { setFocusVisibility } from './setFocusVisibility';\n/**\n * Counter for mounted component that uses focus rectangle.\n * We want to cleanup the listners before last component that uses focus rectangle unmounts.\n */\nvar mountCounters = new WeakMap();\nfunction setMountCounters(key, delta) {\n var newValue;\n var currValue = mountCounters.get(key);\n if (currValue) {\n newValue = currValue + delta;\n }\n else {\n newValue = 1;\n }\n mountCounters.set(key, newValue);\n return newValue;\n}\n/**\n * Initializes the logic which:\n *\n * 1. Subscribes keydown and mousedown events. (It will only do it once per window,\n * so it's safe to call this method multiple times.)\n * 2. When the user presses directional keyboard keys, adds the 'ms-Fabric--isFocusVisible' classname\n * to the document body, removes the 'ms-Fabric-isFocusHidden' classname.\n * 3. When the user clicks a mouse button, adds the 'ms-Fabric-isFocusHidden' classname to the\n * document body, removes the 'ms-Fabric--isFocusVisible' classname.\n *\n * This logic allows components on the page to conditionally render focus treatments based on\n * the existence of global classnames, which simplifies logic overall.\n *\n * @param rootRef - A Ref object. Focus rectangle can be applied on itself and all its children.\n */\nexport function useFocusRects(rootRef) {\n React.useEffect(function () {\n var _a, _b;\n var win = getWindow((_a = rootRef) === null || _a === void 0 ? void 0 : _a.current);\n if (!win || ((_b = win.FabricConfig) === null || _b === void 0 ? void 0 : _b.disableFocusRects) === true) {\n return undefined;\n }\n var count = setMountCounters(win, 1);\n if (count <= 1) {\n win.addEventListener('mousedown', _onMouseDown, true);\n win.addEventListener('pointerdown', _onPointerDown, true);\n win.addEventListener('keydown', _onKeyDown, true);\n }\n return function () {\n var _a;\n if (!win || ((_a = win.FabricConfig) === null || _a === void 0 ? void 0 : _a.disableFocusRects) === true) {\n return;\n }\n count = setMountCounters(win, -1);\n if (count === 0) {\n win.removeEventListener('mousedown', _onMouseDown, true);\n win.removeEventListener('pointerdown', _onPointerDown, true);\n win.removeEventListener('keydown', _onKeyDown, true);\n }\n };\n }, [rootRef]);\n}\n/**\n * Function Component wrapper which enables calling `useFocusRects` hook.\n * Renders nothing.\n */\nexport var FocusRects = function (props) {\n useFocusRects(props.rootRef);\n return null;\n};\nfunction _onMouseDown(ev) {\n setFocusVisibility(false, ev.target);\n}\nfunction _onPointerDown(ev) {\n if (ev.pointerType !== 'mouse') {\n setFocusVisibility(false, ev.target);\n }\n}\nfunction _onKeyDown(ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (isDirectionalKeyCode(ev.which)) {\n setFocusVisibility(true, ev.target);\n }\n}\n//# sourceMappingURL=useFocusRects.js.map","/**\n * Session Status\n */\nexport var SessionStatus;\n(function (SessionStatus) {\n /** JSDoc */\n SessionStatus[\"Ok\"] = \"ok\";\n /** JSDoc */\n SessionStatus[\"Exited\"] = \"exited\";\n /** JSDoc */\n SessionStatus[\"Crashed\"] = \"crashed\";\n /** JSDoc */\n SessionStatus[\"Abnormal\"] = \"abnormal\";\n})(SessionStatus || (SessionStatus = {}));\n//# sourceMappingURL=session.js.map","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","import React from 'react';\nimport { canUseWeakMap } from \"../../utilities/index.js\";\nvar cache = new (canUseWeakMap ? WeakMap : Map)();\nexport function getApolloContext() {\n var context = cache.get(React.createContext);\n if (!context) {\n context = React.createContext({});\n context.displayName = 'ApolloContext';\n cache.set(React.createContext, context);\n }\n return context;\n}\nexport { getApolloContext as resetApolloContext };\n//# sourceMappingURL=ApolloContext.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = __webpack_public_path__ + \"6ee440249136fa2dbcaa6dd8ce3d0740.svg\";","export function compact() {\n var objects = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n objects[_i] = arguments[_i];\n }\n var result = Object.create(null);\n objects.forEach(function (obj) {\n if (!obj)\n return;\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n if (value !== void 0) {\n result[key] = value;\n }\n });\n });\n return result;\n}\n//# sourceMappingURL=compact.js.map","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export function on(element, eventName, callback, options) {\n element.addEventListener(eventName, callback, options);\n return function () { return element.removeEventListener(eventName, callback, options); };\n}\n//# sourceMappingURL=on.js.map","import { dynamicRequire, fill, logger } from '@sentry/utils';\n/** Tracing integration for node-mysql package */\nvar Mysql = /** @class */ (function () {\n function Mysql() {\n /**\n * @inheritDoc\n */\n this.name = Mysql.id;\n }\n /**\n * @inheritDoc\n */\n Mysql.prototype.setupOnce = function (_, getCurrentHub) {\n var connection;\n try {\n // Unfortunatelly mysql is using some custom loading system and `Connection` is not exported directly.\n connection = dynamicRequire(module, 'mysql/lib/Connection.js');\n }\n catch (e) {\n logger.error('Mysql Integration was unable to require `mysql` package.');\n return;\n }\n // The original function will have one of these signatures:\n // function (callback) => void\n // function (options, callback) => void\n // function (options, values, callback) => void\n fill(connection.prototype, 'query', function (orig) {\n return function (options, values, callback) {\n var _a, _b;\n var scope = getCurrentHub().getScope();\n var parentSpan = (_a = scope) === null || _a === void 0 ? void 0 : _a.getSpan();\n var span = (_b = parentSpan) === null || _b === void 0 ? void 0 : _b.startChild({\n description: typeof options === 'string' ? options : options.sql,\n op: \"db\",\n });\n if (typeof callback === 'function') {\n return orig.call(this, options, values, function (err, result, fields) {\n var _a;\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n callback(err, result, fields);\n });\n }\n if (typeof values === 'function') {\n return orig.call(this, options, function (err, result, fields) {\n var _a;\n (_a = span) === null || _a === void 0 ? void 0 : _a.finish();\n values(err, result, fields);\n });\n }\n return orig.call(this, options, values, callback);\n };\n });\n };\n /**\n * @inheritDoc\n */\n Mysql.id = 'Mysql';\n return Mysql;\n}());\nexport { Mysql };\n//# sourceMappingURL=mysql.js.map","var _vendorSettings;\nexport function getVendorSettings() {\n if (!_vendorSettings) {\n var doc = typeof document !== 'undefined' ? document : undefined;\n var nav = typeof navigator !== 'undefined' ? navigator : undefined;\n var userAgent = nav ? nav.userAgent.toLowerCase() : undefined;\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true,\n };\n }\n else {\n _vendorSettings = {\n isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n };\n }\n }\n return _vendorSettings;\n}\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings) {\n _vendorSettings = vendorSettings;\n}\n//# sourceMappingURL=getVendorSettings.js.map","var rules = {};\nexport function kebabRules(rulePairs, index) {\n var rule = rulePairs[index];\n if (rule.charAt(0) !== '-') {\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n }\n}\n//# sourceMappingURL=kebabRules.js.map","import { getVendorSettings } from '../getVendorSettings';\nvar autoPrefixNames = {\n 'user-select': 1,\n};\nexport function prefixRules(rulePairs, index) {\n var vendorSettings = getVendorSettings();\n var name = rulePairs[index];\n if (autoPrefixNames[name]) {\n var value = rulePairs[index + 1];\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}\n//# sourceMappingURL=prefixRules.js.map","var NON_PIXEL_NUMBER_PROPS = [\n 'column-count',\n 'font-weight',\n 'flex',\n 'flex-grow',\n 'flex-shrink',\n 'fill-opacity',\n 'opacity',\n 'order',\n 'z-index',\n 'zoom',\n];\nexport function provideUnits(rulePairs, index) {\n var name = rulePairs[index];\n var value = rulePairs[index + 1];\n if (typeof value === 'number') {\n var isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name) > -1;\n var isVariableOrPrefixed = name.indexOf('--') > -1;\n var unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n rulePairs[index + 1] = \"\" + value + unit;\n }\n}\n//# sourceMappingURL=provideUnits.js.map","var _a;\nvar LEFT = 'left';\nvar RIGHT = 'right';\nvar NO_FLIP = '@noflip';\nvar NAME_REPLACEMENTS = (_a = {},\n _a[LEFT] = RIGHT,\n _a[RIGHT] = LEFT,\n _a);\nvar VALUE_REPLACEMENTS = {\n 'w-resize': 'e-resize',\n 'sw-resize': 'se-resize',\n 'nw-resize': 'ne-resize',\n};\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options, rulePairs, index) {\n if (options.rtl) {\n var name_1 = rulePairs[index];\n if (!name_1) {\n return;\n }\n var value = rulePairs[index + 1];\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n }\n else if (name_1.indexOf(LEFT) >= 0) {\n rulePairs[index] = name_1.replace(LEFT, RIGHT);\n }\n else if (name_1.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name_1.replace(RIGHT, LEFT);\n }\n else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n }\n else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n }\n else if (NAME_REPLACEMENTS[name_1]) {\n rulePairs[index] = NAME_REPLACEMENTS[name_1];\n }\n else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n }\n else {\n switch (name_1) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n case 'box-shadow':\n rulePairs[index + 1] = negateNum(value, 0);\n break;\n }\n }\n }\n}\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value, partIndex) {\n var parts = value.split(' ');\n var numberVal = parseInt(parts[partIndex], 10);\n parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n return parts.join(' ');\n}\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value) {\n if (typeof value === 'string') {\n var parts = value.split(' ');\n if (parts.length === 4) {\n return parts[0] + \" \" + parts[3] + \" \" + parts[2] + \" \" + parts[1];\n }\n }\n return value;\n}\n//# sourceMappingURL=rtlifyRules.js.map","import { __spreadArrays } from \"tslib\";\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nvar DISPLAY_NAME = 'displayName';\nfunction getDisplayName(rules) {\n var rootStyle = rules && rules['&'];\n return rootStyle ? rootStyle.displayName : undefined;\n}\nvar globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals) {\n // We the selector does not have a :global() we can shortcut\n if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n return selectorWithGlobals;\n }\n var replacementInfo = [];\n var findGlobal = /\\:global\\((.+?)\\)/g;\n var match = null;\n // Create a result list for global selectors so we can replace them.\n while ((match = findGlobal.exec(selectorWithGlobals))) {\n // Only if the found selector is a comma separated list we'll process it.\n if (match[1].indexOf(',') > -1) {\n replacementInfo.push([\n match.index,\n match.index + match[0].length,\n // Wrap each of the found selectors in :global()\n match[1]\n .split(',')\n .map(function (v) { return \":global(\" + v.trim() + \")\"; })\n .join(', '),\n ]);\n }\n }\n // Replace the found selectors with their wrapped variants in reverse order\n return replacementInfo\n .reverse()\n .reduce(function (selector, _a) {\n var matchIndex = _a[0], matchEndIndex = _a[1], replacement = _a[2];\n var prefix = selector.slice(0, matchIndex);\n var suffix = selector.slice(matchEndIndex);\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\nfunction expandSelector(newSelector, currentSelector) {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n }\n else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n }\n else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n return newSelector;\n}\nfunction extractSelector(currentSelector, rules, selector, value) {\n if (rules === void 0) { rules = { __order: [] }; }\n if (selector.indexOf('@') === 0) {\n selector = selector + '{' + currentSelector;\n extractRules([value], rules, selector);\n }\n else if (selector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(selector)\n .split(',')\n .map(function (s) { return s.trim(); })\n .forEach(function (separatedSelector) {\n return extractRules([value], rules, expandSelector(separatedSelector, currentSelector));\n });\n }\n else {\n extractRules([value], rules, expandSelector(selector, currentSelector));\n }\n}\nfunction extractRules(args, rules, currentSelector) {\n if (rules === void 0) { rules = { __order: [] }; }\n if (currentSelector === void 0) { currentSelector = '&'; }\n var stylesheet = Stylesheet.getInstance();\n var currentRules = rules[currentSelector];\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n rules.__order.push(currentSelector);\n }\n for (var _i = 0, args_1 = args; _i < args_1.length; _i++) {\n var arg = args_1[_i];\n // If the arg is a string, we need to look up the class map and merge.\n if (typeof arg === 'string') {\n var expandedRules = stylesheet.argsFromClassName(arg);\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector);\n }\n // Else if the arg is an array, we need to recurse in.\n }\n else if (Array.isArray(arg)) {\n extractRules(arg, rules, currentSelector);\n }\n else {\n for (var prop in arg) {\n if (arg.hasOwnProperty(prop)) {\n var propValue = arg[prop];\n if (prop === 'selectors') {\n // every child is a selector.\n var selectors = arg.selectors;\n for (var newSelector in selectors) {\n if (selectors.hasOwnProperty(newSelector)) {\n extractSelector(currentSelector, rules, newSelector, selectors[newSelector]);\n }\n }\n }\n else if (typeof propValue === 'object') {\n // prop is a selector.\n if (propValue !== null) {\n extractSelector(currentSelector, rules, prop, propValue);\n }\n }\n else {\n if (propValue !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n expandQuads(currentRules, prop, propValue);\n }\n else {\n currentRules[prop] = propValue;\n }\n }\n }\n }\n }\n }\n }\n return rules;\n}\nfunction expandQuads(currentRules, name, value) {\n var parts = typeof value === 'string' ? value.split(' ') : [value];\n currentRules[name + 'Top'] = parts[0];\n currentRules[name + 'Right'] = parts[1] || parts[0];\n currentRules[name + 'Bottom'] = parts[2] || parts[0];\n currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\nfunction getKeyForRules(options, rules) {\n var serialized = [options.rtl ? 'rtl' : 'ltr'];\n var hasProps = false;\n for (var _i = 0, _a = rules.__order; _i < _a.length; _i++) {\n var selector = _a[_i];\n serialized.push(selector);\n var rulesForSelector = rules[selector];\n for (var propName in rulesForSelector) {\n if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n hasProps = true;\n serialized.push(propName, rulesForSelector[propName]);\n }\n }\n }\n return hasProps ? serialized.join('') : undefined;\n}\nfunction repeatString(target, count) {\n if (count <= 0) {\n return '';\n }\n if (count === 1) {\n return target;\n }\n return target + repeatString(target, count - 1);\n}\nexport function serializeRuleEntries(options, ruleEntries) {\n if (!ruleEntries) {\n return '';\n }\n var allEntries = [];\n for (var entry in ruleEntries) {\n if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n allEntries.push(entry, ruleEntries[entry]);\n }\n }\n // Apply transforms.\n for (var i = 0; i < allEntries.length; i += 2) {\n kebabRules(allEntries, i);\n provideUnits(allEntries, i);\n rtlifyRules(options, allEntries, i);\n prefixRules(allEntries, i);\n }\n // Apply punctuation.\n for (var i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n return allEntries.join('');\n}\nexport function styleToRegistration(options) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var rules = extractRules(args);\n var key = getKeyForRules(options, rules);\n if (key) {\n var stylesheet = Stylesheet.getInstance();\n var registration = {\n className: stylesheet.classNameFromKey(key),\n key: key,\n args: args,\n };\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n var rulesToInsert = [];\n for (var _a = 0, _b = rules.__order; _a < _b.length; _a++) {\n var selector = _b[_a];\n rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n }\n registration.rulesToInsert = rulesToInsert;\n }\n return registration;\n }\n return undefined;\n}\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(registration, specificityMultiplier) {\n if (specificityMultiplier === void 0) { specificityMultiplier = 1; }\n var stylesheet = Stylesheet.getInstance();\n var className = registration.className, key = registration.key, args = registration.args, rulesToInsert = registration.rulesToInsert;\n if (rulesToInsert) {\n // rulesToInsert is an ordered array of selector/rule pairs.\n for (var i = 0; i < rulesToInsert.length; i += 2) {\n var rules = rulesToInsert[i + 1];\n if (rules) {\n var selector = rulesToInsert[i];\n selector = selector.replace(/&/g, repeatString(\".\" + registration.className, specificityMultiplier));\n // Insert. Note if a media query, we must close the query with a final bracket.\n var processedRule = selector + \"{\" + rules + \"}\" + (selector.indexOf('@') === 0 ? '}' : '');\n stylesheet.insertRule(processedRule);\n }\n }\n stylesheet.cacheClassName(className, key, args, rulesToInsert);\n }\n}\nexport function styleToClassName(options) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var registration = styleToRegistration.apply(void 0, __spreadArrays([options], args));\n if (registration) {\n applyRegistration(registration, options.specificityMultiplier);\n return registration.className;\n }\n return '';\n}\n//# sourceMappingURL=styleToClassName.js.map","export var canUseWeakMap = typeof WeakMap === 'function' && !(typeof navigator === 'object' &&\n navigator.product === 'ReactNative');\n//# sourceMappingURL=canUse.js.map","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","module.exports = window.fetch || (window.fetch = require('unfetch').default || require('unfetch'));\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n"],"sourceRoot":""}